diff options
| author | Andrea Corallo | 2019-11-09 11:43:16 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-01-01 11:38:01 +0100 |
| commit | 6761e69a2bce255bbd78e08b5c592f4de19253f5 (patch) | |
| tree | 0a5bafd537d9e5c003c40cb396d30b780f189589 /src | |
| parent | 93aeb781e1da3cab6ae90c90cd3668862155ab85 (diff) | |
| download | emacs-6761e69a2bce255bbd78e08b5c592f4de19253f5.tar.gz emacs-6761e69a2bce255bbd78e08b5c592f4de19253f5.zip | |
fix missing byte-save-restriction op
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/comp.c b/src/comp.c index 1aa0636c5b7..4afba1183f3 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -183,6 +183,7 @@ Lisp_Object helper_save_window_excursion (Lisp_Object v1); | |||
| 183 | void helper_unwind_protect (Lisp_Object handler); | 183 | void helper_unwind_protect (Lisp_Object handler); |
| 184 | Lisp_Object helper_temp_output_buffer_setup (Lisp_Object x); | 184 | Lisp_Object helper_temp_output_buffer_setup (Lisp_Object x); |
| 185 | Lisp_Object helper_unbind_n (Lisp_Object n); | 185 | Lisp_Object helper_unbind_n (Lisp_Object n); |
| 186 | void helper_save_restriction (void); | ||
| 186 | bool helper_PSEUDOVECTOR_TYPEP_XUNTAG (Lisp_Object a, enum pvec_type code); | 187 | bool helper_PSEUDOVECTOR_TYPEP_XUNTAG (Lisp_Object a, enum pvec_type code); |
| 187 | 188 | ||
| 188 | 189 | ||
| @@ -1695,6 +1696,8 @@ declare_runtime_imported_funcs (void) | |||
| 1695 | args[0] = comp.lisp_obj_type; | 1696 | args[0] = comp.lisp_obj_type; |
| 1696 | ADD_IMPORTED ("helper_unbind_n", comp.lisp_obj_type, 1, args); | 1697 | ADD_IMPORTED ("helper_unbind_n", comp.lisp_obj_type, 1, args); |
| 1697 | 1698 | ||
| 1699 | ADD_IMPORTED ("helper_save_restriction", comp.void_type, 0, NULL); | ||
| 1700 | |||
| 1698 | ADD_IMPORTED ("record_unwind_current_buffer", comp.void_type, 0, NULL); | 1701 | ADD_IMPORTED ("record_unwind_current_buffer", comp.void_type, 0, NULL); |
| 1699 | 1702 | ||
| 1700 | args[0] = args[1] = args[2] = comp.lisp_obj_type; | 1703 | args[0] = args[1] = args[2] = comp.lisp_obj_type; |
| @@ -3109,6 +3112,13 @@ helper_unbind_n (Lisp_Object n) | |||
| 3109 | return unbind_to (SPECPDL_INDEX () - XFIXNUM (n), Qnil); | 3112 | return unbind_to (SPECPDL_INDEX () - XFIXNUM (n), Qnil); |
| 3110 | } | 3113 | } |
| 3111 | 3114 | ||
| 3115 | void | ||
| 3116 | helper_save_restriction (void) | ||
| 3117 | { | ||
| 3118 | record_unwind_protect (save_restriction_restore, | ||
| 3119 | save_restriction_save ()); | ||
| 3120 | } | ||
| 3121 | |||
| 3112 | bool | 3122 | bool |
| 3113 | helper_PSEUDOVECTOR_TYPEP_XUNTAG (Lisp_Object a, enum pvec_type code) | 3123 | helper_PSEUDOVECTOR_TYPEP_XUNTAG (Lisp_Object a, enum pvec_type code) |
| 3114 | { | 3124 | { |
| @@ -3194,6 +3204,9 @@ load_comp_unit (dynlib_handle_ptr handle) | |||
| 3194 | } else if (!strcmp (f_str, "helper_unbind_n")) | 3204 | } else if (!strcmp (f_str, "helper_unbind_n")) |
| 3195 | { | 3205 | { |
| 3196 | f_relocs[i] = (void *) helper_unbind_n; | 3206 | f_relocs[i] = (void *) helper_unbind_n; |
| 3207 | } else if (!strcmp (f_str, "helper_save_restriction")) | ||
| 3208 | { | ||
| 3209 | f_relocs[i] = (void *) helper_save_restriction; | ||
| 3197 | } else if (!strcmp (f_str, "record_unwind_current_buffer")) | 3210 | } else if (!strcmp (f_str, "record_unwind_current_buffer")) |
| 3198 | { | 3211 | { |
| 3199 | f_relocs[i] = (void *) record_unwind_current_buffer; | 3212 | f_relocs[i] = (void *) record_unwind_current_buffer; |