_save_snapshot(gctx, pdf, filename); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2059,7 +2065,7 @@ struct Document + fz_drop_output(gctx, out); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2176,7 +2182,7 @@ struct Document + JM_merge_range(gctx, pdfout, pdfsrc, fp, tp, sa, rotate, links, annots, show_progress, (pdf_graft_map *) _gmap); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2239,7 +2245,7 @@ struct Document + pdf_drop_obj(gctx, resources); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + + Py_RETURN_NONE; +@@ -2279,7 +2285,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + + Py_RETURN_NONE; +@@ -2301,7 +2307,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2350,7 +2356,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + pdf_enable_journal(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2373,7 +2379,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2389,7 +2395,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + pdf_end_operation(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2406,7 +2412,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + rc = pdf_undoredo_state(gctx, pdf, &steps); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("ii", rc, steps); + } +@@ -2423,7 +2429,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + name = pdf_undoredo_step(gctx, pdf, step); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + if (name) { + return PyUnicode_FromString(name); +@@ -2445,7 +2451,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + redo = pdf_can_redo(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("{s:N,s:N}", "undo", JM_BOOL(undo), "redo", JM_BOOL(redo)); + } +@@ -2461,7 +2467,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + pdf_undo(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_TRUE; + } +@@ -2477,7 +2483,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + pdf_redo(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_TRUE; + } +@@ -2502,7 +2508,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + fz_drop_output(gctx, out); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2533,7 +2539,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + fz_drop_buffer(gctx, res); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -2549,7 +2555,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + enabled = pdf && pdf->journal; + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return JM_BOOL(enabled); + } +@@ -2609,7 +2615,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + fz_drop_font(gctx, font); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return wlist; + } +@@ -2633,7 +2639,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + xref = pdf_to_num(gctx, pdf_lookup_page_obj(gctx, pdf, n)); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("i", xref); + } +@@ -2657,7 +2663,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + annots = JM_get_annot_xref_list(gctx, pdf_lookup_page_obj(gctx, pdf, n)); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return annots; + } +@@ -2683,7 +2689,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + pageref = pdf_lookup_page_obj(gctx, pdf, n); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return JM_py_from_rect(JM_cropbox(gctx, pageref)); + } +@@ -2721,7 +2727,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + } + fz_catch(gctx) { + Py_CLEAR(liste); +- return NULL; ++ return _RETURN_VALUE; + } + return liste; + } +@@ -2736,7 +2742,7 @@ if len(pyliste) == 0 or min(pyliste) not in range(len( + ASSERT_PDF(pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + + fz_buffer *buffer = NULL; +@@ -3168,7 +3174,7 @@ if not self.is_form_pdf: + pdf_drop_obj(gctx, olroot2); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("i", ret); + } +@@ -3189,7 +3195,7 @@ if not self.is_form_pdf: + xref = pdf_create_object(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("i", xref); + } +@@ -3207,7 +3213,7 @@ if not self.is_form_pdf: + if (pdf) xreflen = pdf_xref_len(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("i", xreflen); + } +@@ -3279,7 +3285,7 @@ if not self.is_form_pdf: + if (root) pdf_dict_del(gctx, root, PDF_NAME(Metadata)); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + + Py_RETURN_NONE; +@@ -3315,7 +3321,7 @@ if not self.is_form_pdf: + fz_drop_buffer(gctx, res); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + + Py_RETURN_NONE; +@@ -3401,7 +3407,7 @@ if not self.is_form_pdf: + fz_catch(gctx) + { + Py_CLEAR(r); +- return NULL; ++ return _RETURN_VALUE; + } + if (!r) Py_RETURN_NONE; + return r; +@@ -3447,7 +3453,7 @@ if not self.is_form_pdf: + fz_catch(gctx) + { + Py_CLEAR(r); +- return NULL; ++ return _RETURN_VALUE; + } + return r; + } +@@ -3478,7 +3484,7 @@ if not self.is_form_pdf: + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + + Py_RETURN_NONE; +@@ -3519,7 +3525,7 @@ if not self.is_form_pdf: + pdf_drop_obj(gctx, obj); + } + fz_catch(gctx) +- return NULL; ++ return _RETURN_VALUE; + + Py_RETURN_NONE; + } +@@ -3539,7 +3545,7 @@ if not self.is_form_pdf: + pdf_load_page_tree(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("i", pdf->map_page_count); + } +@@ -3623,7 +3629,7 @@ if not self.is_form_pdf: + fz_drop_buffer(gctx, contents_buffer); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -3709,7 +3715,7 @@ if not self.is_form_pdf: + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -3735,7 +3741,7 @@ if not self.is_form_pdf: + pdf_drop_obj(gctx, item); + } + fz_catch(gctx){ +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -3784,7 +3790,7 @@ if not self.is_form_pdf: + pdf_drop_obj(gctx, item); + } + fz_catch(gctx){ +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -3850,7 +3856,7 @@ if not self.is_form_pdf: + } + fz_catch(gctx){ + Py_CLEAR(rc); +- return NULL; ++ return _RETURN_VALUE; + } + return rc; + } +@@ -3880,7 +3886,7 @@ if not self.is_form_pdf: + pdf_drop_obj(gctx, pagelabels); + } + fz_catch(gctx){ +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -3917,7 +3923,7 @@ if not self.is_form_pdf: + } + fz_catch(gctx) { + Py_CLEAR(rc); +- return NULL; ++ return _RETURN_VALUE; + } + return rc; + } +@@ -3946,7 +3952,7 @@ if not self.is_form_pdf: + finished:; + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -3982,7 +3988,7 @@ if not self.is_form_pdf: + fz_catch(gctx) { + Py_CLEAR(rc); + PyErr_Clear(); +- return NULL; ++ return _RETURN_VALUE; + } + return rc; + } +@@ -4061,7 +4067,7 @@ if basestate: + finished:; + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -4078,7 +4084,7 @@ if basestate: + pdf_read_ocg(gctx, pdf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -4125,7 +4131,7 @@ if basestate: + } + fz_catch(gctx) { + Py_CLEAR(rc); +- return NULL; ++ return _RETURN_VALUE; + } + return rc; + } +@@ -4162,7 +4168,7 @@ if basestate: + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -4224,7 +4230,7 @@ if basestate: + } + fz_catch(gctx) { + Py_CLEAR(rc); +- return NULL; ++ return _RETURN_VALUE; + } + return rc; + } +@@ -4332,7 +4338,7 @@ if basestate: + pdf_drop_obj(gctx, ci_name); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("i", xref); + } +@@ -5026,7 +5032,7 @@ struct Page { + fz_run_page(gctx, (fz_page *) $self, dw->device, JM_matrix_from_py(m), NULL); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -5054,7 +5060,7 @@ struct Page { + fz_drop_device(gctx, dev); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -5087,7 +5093,7 @@ struct Page { + fz_drop_device(gctx, dev); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct TextPage *) tpage; + } +@@ -5125,7 +5131,7 @@ struct Page { + textpage = JM_new_stext_page_ocr_from_page(gctx, (fz_page *) $self, rect, flags, language, tessdata); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct TextPage *) textpage; + } +@@ -5168,7 +5174,7 @@ struct Page { + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_TRUE; + } +@@ -5211,7 +5217,7 @@ struct Page { + fz_drop_buffer(gctx, res); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return text; + } +@@ -5262,7 +5268,7 @@ struct Page { + fz_always(gctx) { + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return Py_BuildValue("s", gstate); + } +@@ -5289,7 +5295,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5338,7 +5344,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5362,7 +5368,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5395,7 +5401,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5456,7 +5462,7 @@ struct Page { + fz_catch(gctx) { + Py_CLEAR(p); + Py_CLEAR(sublist); +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5498,7 +5504,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5554,7 +5560,7 @@ struct Page { + fz_drop_buffer(gctx, filebuf); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5607,7 +5613,7 @@ struct Page { + } + fz_catch(gctx) { + pdf_drop_annot(gctx, annot); +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5633,7 +5639,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5669,7 +5675,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -5747,7 +5753,7 @@ struct Page { + JM_add_annot_id(gctx, annot, "A"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -6025,7 +6031,7 @@ struct Page { + annot = JM_get_annot_by_xref(gctx, page, xref); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -6059,7 +6065,7 @@ struct Page { + annot = JM_get_widget_by_xref(gctx, page, xref); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -6079,7 +6085,7 @@ struct Page { + rc = JM_get_resource_properties(gctx, page->obj); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return rc; + } +@@ -6098,7 +6104,7 @@ struct Page { + JM_set_resource_property(gctx, page->obj, name, xref); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + Py_RETURN_NONE; + } +@@ -6238,7 +6244,7 @@ def get_oc_items(self) -> list: + JM_add_annot_id(gctx, annot, "W"); + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct Annot *) annot; + } +@@ -6266,7 +6272,7 @@ def get_oc_items(self) -> list: + } + } + fz_catch(gctx) { +- return NULL; ++ return _RETURN_VALUE; + } + return (struct DisplayList *) dl; + } +@@ -6497,7 +6503,7 @@ def get_oc_items(self) -> list: + } + fz_catch(gctx) { *** 1154 LINES SKIPPED ***