aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2023-03-12 10:37:18 +0800
committerPo Lu2023-03-12 10:37:18 +0800
commit6c68d9bd3a18c74384fc764179fd92a024d6c35d (patch)
tree4ab812fdff3d0909ca84fa592da8f4d4a135bf90 /src
parentb83324d1bd5fcab98c6fed71f65424f7017a9a82 (diff)
downloademacs-6c68d9bd3a18c74384fc764179fd92a024d6c35d.tar.gz
emacs-6c68d9bd3a18c74384fc764179fd92a024d6c35d.zip
Clean up emacs-module.c
* src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT) (module_make_global_ref, module_free_global_ref) (module_make_function, module_get_function_finalizer) (module_set_function_finalizer, module_make_interactive) (module_funcall, module_intern, module_type_of) (module_extract_integer, module_make_integer, module_extract_float) (module_make_float, module_copy_string_contents) (module_make_string, module_make_unibyte_string) (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr) (module_get_user_finalizer, module_set_user_finalizer) (module_vec_set, module_vec_get, module_vec_size) (module_process_input, module_extract_time, module_make_time) (module_extract_big_integer, module_make_big_integer) (module_open_channel, module_reset_handlerlist): Adjust as recommended by Paul Eggert <eggert@cs.ucla.edu>.
Diffstat (limited to 'src')
-rw-r--r--src/emacs-module.c93
1 files changed, 47 insertions, 46 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 4719b15c992..133a06f35b7 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -206,7 +206,7 @@ static void module_non_local_exit_signal_1 (emacs_env *,
206static void module_non_local_exit_throw_1 (emacs_env *, 206static void module_non_local_exit_throw_1 (emacs_env *,
207 Lisp_Object, Lisp_Object); 207 Lisp_Object, Lisp_Object);
208static void module_out_of_memory (emacs_env *); 208static void module_out_of_memory (emacs_env *);
209static void module_reset_handlerlist (struct handler **); 209static void module_reset_handlerlist (struct handler *);
210static bool value_storage_contains_p (const struct emacs_value_storage *, 210static bool value_storage_contains_p (const struct emacs_value_storage *,
211 emacs_value, ptrdiff_t *); 211 emacs_value, ptrdiff_t *);
212 212
@@ -280,13 +280,13 @@ module_decode_utf_8 (const char *str, ptrdiff_t len)
280 module_handle_nonlocal_exit (env, \ 280 module_handle_nonlocal_exit (env, \
281 internal_cleanup->nonlocal_exit, \ 281 internal_cleanup->nonlocal_exit, \
282 internal_cleanup->val); \ 282 internal_cleanup->val); \
283 module_reset_handlerlist (&internal_cleanup); \ 283 module_reset_handlerlist (internal_cleanup); \
284 return retval; \ 284 return retval; \
285 } \ 285 } \
286 do { } while (false) 286 do { } while (false)
287 287
288#define MODULE_INTERNAL_CLEANUP \ 288#define MODULE_INTERNAL_CLEANUP() \
289 module_reset_handlerlist (&internal_cleanup) 289 module_reset_handlerlist (internal_cleanup)
290 290
291 291
292/* Implementation of runtime and environment functions. 292/* Implementation of runtime and environment functions.
@@ -440,7 +440,7 @@ module_make_global_ref (emacs_env *env, emacs_value value)
440 bool overflow = INT_ADD_WRAPV (ref->refcount, 1, &ref->refcount); 440 bool overflow = INT_ADD_WRAPV (ref->refcount, 1, &ref->refcount);
441 if (overflow) 441 if (overflow)
442 overflow_error (); 442 overflow_error ();
443 MODULE_INTERNAL_CLEANUP; 443 MODULE_INTERNAL_CLEANUP ();
444 return &ref->value; 444 return &ref->value;
445 } 445 }
446 else 446 else
@@ -453,7 +453,7 @@ module_make_global_ref (emacs_env *env, emacs_value value)
453 Lisp_Object value; 453 Lisp_Object value;
454 XSETPSEUDOVECTOR (value, ref, PVEC_OTHER); 454 XSETPSEUDOVECTOR (value, ref, PVEC_OTHER);
455 hash_put (h, new_obj, value, hashcode); 455 hash_put (h, new_obj, value, hashcode);
456 MODULE_INTERNAL_CLEANUP; 456 MODULE_INTERNAL_CLEANUP ();
457 return &ref->value; 457 return &ref->value;
458 } 458 }
459} 459}
@@ -486,7 +486,7 @@ module_free_global_ref (emacs_env *env, emacs_value global_value)
486 hash_remove_from_table (h, obj); 486 hash_remove_from_table (h, obj);
487 } 487 }
488 488
489 MODULE_INTERNAL_CLEANUP; 489 MODULE_INTERNAL_CLEANUP ();
490} 490}
491 491
492static enum emacs_funcall_exit 492static enum emacs_funcall_exit
@@ -607,7 +607,7 @@ module_make_function (emacs_env *env, ptrdiff_t min_arity, ptrdiff_t max_arity,
607 eassert (MODULE_FUNCTIONP (result)); 607 eassert (MODULE_FUNCTIONP (result));
608 608
609 value = lisp_to_value (env, result); 609 value = lisp_to_value (env, result);
610 MODULE_INTERNAL_CLEANUP; 610 MODULE_INTERNAL_CLEANUP ();
611 return value; 611 return value;
612} 612}
613 613
@@ -617,7 +617,7 @@ module_get_function_finalizer (emacs_env *env, emacs_value arg)
617 MODULE_FUNCTION_BEGIN (NULL); 617 MODULE_FUNCTION_BEGIN (NULL);
618 Lisp_Object lisp = value_to_lisp (arg); 618 Lisp_Object lisp = value_to_lisp (arg);
619 CHECK_MODULE_FUNCTION (lisp); 619 CHECK_MODULE_FUNCTION (lisp);
620 MODULE_INTERNAL_CLEANUP; 620 MODULE_INTERNAL_CLEANUP ();
621 return XMODULE_FUNCTION (lisp)->finalizer; 621 return XMODULE_FUNCTION (lisp)->finalizer;
622} 622}
623 623
@@ -629,7 +629,7 @@ module_set_function_finalizer (emacs_env *env, emacs_value arg,
629 Lisp_Object lisp = value_to_lisp (arg); 629 Lisp_Object lisp = value_to_lisp (arg);
630 CHECK_MODULE_FUNCTION (lisp); 630 CHECK_MODULE_FUNCTION (lisp);
631 XMODULE_FUNCTION (lisp)->finalizer = fin; 631 XMODULE_FUNCTION (lisp)->finalizer = fin;
632 MODULE_INTERNAL_CLEANUP; 632 MODULE_INTERNAL_CLEANUP ();
633} 633}
634 634
635void 635void
@@ -649,7 +649,7 @@ module_make_interactive (emacs_env *env, emacs_value function, emacs_value spec)
649 /* Normalize (interactive nil) to (interactive). */ 649 /* Normalize (interactive nil) to (interactive). */
650 XMODULE_FUNCTION (lisp_fun)->interactive_form 650 XMODULE_FUNCTION (lisp_fun)->interactive_form
651 = NILP (lisp_spec) ? list1 (Qinteractive) : list2 (Qinteractive, lisp_spec); 651 = NILP (lisp_spec) ? list1 (Qinteractive) : list2 (Qinteractive, lisp_spec);
652 MODULE_INTERNAL_CLEANUP; 652 MODULE_INTERNAL_CLEANUP ();
653} 653}
654 654
655Lisp_Object 655Lisp_Object
@@ -683,7 +683,7 @@ module_funcall (emacs_env *env, emacs_value func, ptrdiff_t nargs,
683 newargs[1 + i] = value_to_lisp (args[i]); 683 newargs[1 + i] = value_to_lisp (args[i]);
684 emacs_value result = lisp_to_value (env, Ffuncall (nargs1, newargs)); 684 emacs_value result = lisp_to_value (env, Ffuncall (nargs1, newargs));
685 SAFE_FREE (); 685 SAFE_FREE ();
686 MODULE_INTERNAL_CLEANUP; 686 MODULE_INTERNAL_CLEANUP ();
687 return result; 687 return result;
688} 688}
689 689
@@ -694,7 +694,7 @@ module_intern (emacs_env *env, const char *name)
694 694
695 MODULE_FUNCTION_BEGIN (NULL); 695 MODULE_FUNCTION_BEGIN (NULL);
696 tem = lisp_to_value (env, intern (name)); 696 tem = lisp_to_value (env, intern (name));
697 MODULE_INTERNAL_CLEANUP; 697 MODULE_INTERNAL_CLEANUP ();
698 return tem; 698 return tem;
699} 699}
700 700
@@ -705,7 +705,7 @@ module_type_of (emacs_env *env, emacs_value arg)
705 705
706 MODULE_FUNCTION_BEGIN (NULL); 706 MODULE_FUNCTION_BEGIN (NULL);
707 tem = lisp_to_value (env, Ftype_of (value_to_lisp (arg))); 707 tem = lisp_to_value (env, Ftype_of (value_to_lisp (arg)));
708 MODULE_INTERNAL_CLEANUP; 708 MODULE_INTERNAL_CLEANUP ();
709 return tem; 709 return tem;
710} 710}
711 711
@@ -732,7 +732,7 @@ module_extract_integer (emacs_env *env, emacs_value arg)
732 intmax_t i; 732 intmax_t i;
733 if (! integer_to_intmax (lisp, &i)) 733 if (! integer_to_intmax (lisp, &i))
734 xsignal1 (Qoverflow_error, lisp); 734 xsignal1 (Qoverflow_error, lisp);
735 MODULE_INTERNAL_CLEANUP; 735 MODULE_INTERNAL_CLEANUP ();
736 return i; 736 return i;
737} 737}
738 738
@@ -743,7 +743,7 @@ module_make_integer (emacs_env *env, intmax_t n)
743 743
744 MODULE_FUNCTION_BEGIN (NULL); 744 MODULE_FUNCTION_BEGIN (NULL);
745 value = lisp_to_value (env, make_int (n)); 745 value = lisp_to_value (env, make_int (n));
746 MODULE_INTERNAL_CLEANUP; 746 MODULE_INTERNAL_CLEANUP ();
747 747
748 return value; 748 return value;
749} 749}
@@ -754,7 +754,7 @@ module_extract_float (emacs_env *env, emacs_value arg)
754 MODULE_FUNCTION_BEGIN (0); 754 MODULE_FUNCTION_BEGIN (0);
755 Lisp_Object lisp = value_to_lisp (arg); 755 Lisp_Object lisp = value_to_lisp (arg);
756 CHECK_TYPE (FLOATP (lisp), Qfloatp, lisp); 756 CHECK_TYPE (FLOATP (lisp), Qfloatp, lisp);
757 MODULE_INTERNAL_CLEANUP; 757 MODULE_INTERNAL_CLEANUP ();
758 758
759 return XFLOAT_DATA (lisp); 759 return XFLOAT_DATA (lisp);
760} 760}
@@ -766,7 +766,7 @@ module_make_float (emacs_env *env, double d)
766 766
767 MODULE_FUNCTION_BEGIN (NULL); 767 MODULE_FUNCTION_BEGIN (NULL);
768 value = lisp_to_value (env, make_float (d)); 768 value = lisp_to_value (env, make_float (d));
769 MODULE_INTERNAL_CLEANUP; 769 MODULE_INTERNAL_CLEANUP ();
770 770
771 return value; 771 return value;
772} 772}
@@ -800,7 +800,7 @@ module_copy_string_contents (emacs_env *env, emacs_value value, char *buf,
800 if (buf == NULL) 800 if (buf == NULL)
801 { 801 {
802 *len = required_buf_size; 802 *len = required_buf_size;
803 MODULE_INTERNAL_CLEANUP; 803 MODULE_INTERNAL_CLEANUP ();
804 return true; 804 return true;
805 } 805 }
806 806
@@ -816,7 +816,7 @@ module_copy_string_contents (emacs_env *env, emacs_value value, char *buf,
816 *len = required_buf_size; 816 *len = required_buf_size;
817 memcpy (buf, SDATA (lisp_str_utf8), raw_size + 1); 817 memcpy (buf, SDATA (lisp_str_utf8), raw_size + 1);
818 818
819 MODULE_INTERNAL_CLEANUP; 819 MODULE_INTERNAL_CLEANUP ();
820 return true; 820 return true;
821} 821}
822 822
@@ -831,7 +831,7 @@ module_make_string (emacs_env *env, const char *str, ptrdiff_t len)
831 Lisp_Object lstr 831 Lisp_Object lstr
832 = len == 0 ? empty_multibyte_string : module_decode_utf_8 (str, len); 832 = len == 0 ? empty_multibyte_string : module_decode_utf_8 (str, len);
833 value = lisp_to_value (env, lstr); 833 value = lisp_to_value (env, lstr);
834 MODULE_INTERNAL_CLEANUP; 834 MODULE_INTERNAL_CLEANUP ();
835 return value; 835 return value;
836} 836}
837 837
@@ -846,7 +846,7 @@ module_make_unibyte_string (emacs_env *env, const char *str, ptrdiff_t length)
846 Lisp_Object lstr 846 Lisp_Object lstr
847 = length == 0 ? empty_unibyte_string : make_unibyte_string (str, length); 847 = length == 0 ? empty_unibyte_string : make_unibyte_string (str, length);
848 value = lisp_to_value (env, lstr); 848 value = lisp_to_value (env, lstr);
849 MODULE_INTERNAL_CLEANUP; 849 MODULE_INTERNAL_CLEANUP ();
850 850
851 return value; 851 return value;
852} 852}
@@ -858,7 +858,7 @@ module_make_user_ptr (emacs_env *env, emacs_finalizer fin, void *ptr)
858 858
859 MODULE_FUNCTION_BEGIN (NULL); 859 MODULE_FUNCTION_BEGIN (NULL);
860 value = lisp_to_value (env, make_user_ptr (fin, ptr)); 860 value = lisp_to_value (env, make_user_ptr (fin, ptr));
861 MODULE_INTERNAL_CLEANUP; 861 MODULE_INTERNAL_CLEANUP ();
862 862
863 return value; 863 return value;
864} 864}
@@ -869,7 +869,7 @@ module_get_user_ptr (emacs_env *env, emacs_value arg)
869 MODULE_FUNCTION_BEGIN (NULL); 869 MODULE_FUNCTION_BEGIN (NULL);
870 Lisp_Object lisp = value_to_lisp (arg); 870 Lisp_Object lisp = value_to_lisp (arg);
871 CHECK_USER_PTR (lisp); 871 CHECK_USER_PTR (lisp);
872 MODULE_INTERNAL_CLEANUP; 872 MODULE_INTERNAL_CLEANUP ();
873 873
874 return XUSER_PTR (lisp)->p; 874 return XUSER_PTR (lisp)->p;
875} 875}
@@ -881,7 +881,7 @@ module_set_user_ptr (emacs_env *env, emacs_value arg, void *ptr)
881 Lisp_Object lisp = value_to_lisp (arg); 881 Lisp_Object lisp = value_to_lisp (arg);
882 CHECK_USER_PTR (lisp); 882 CHECK_USER_PTR (lisp);
883 XUSER_PTR (lisp)->p = ptr; 883 XUSER_PTR (lisp)->p = ptr;
884 MODULE_INTERNAL_CLEANUP; 884 MODULE_INTERNAL_CLEANUP ();
885} 885}
886 886
887static emacs_finalizer 887static emacs_finalizer
@@ -890,7 +890,7 @@ module_get_user_finalizer (emacs_env *env, emacs_value arg)
890 MODULE_FUNCTION_BEGIN (NULL); 890 MODULE_FUNCTION_BEGIN (NULL);
891 Lisp_Object lisp = value_to_lisp (arg); 891 Lisp_Object lisp = value_to_lisp (arg);
892 CHECK_USER_PTR (lisp); 892 CHECK_USER_PTR (lisp);
893 MODULE_INTERNAL_CLEANUP; 893 MODULE_INTERNAL_CLEANUP ();
894 return XUSER_PTR (lisp)->finalizer; 894 return XUSER_PTR (lisp)->finalizer;
895} 895}
896 896
@@ -902,7 +902,7 @@ module_set_user_finalizer (emacs_env *env, emacs_value arg,
902 Lisp_Object lisp = value_to_lisp (arg); 902 Lisp_Object lisp = value_to_lisp (arg);
903 CHECK_USER_PTR (lisp); 903 CHECK_USER_PTR (lisp);
904 XUSER_PTR (lisp)->finalizer = fin; 904 XUSER_PTR (lisp)->finalizer = fin;
905 MODULE_INTERNAL_CLEANUP; 905 MODULE_INTERNAL_CLEANUP ();
906} 906}
907 907
908static void 908static void
@@ -922,7 +922,7 @@ module_vec_set (emacs_env *env, emacs_value vector, ptrdiff_t index,
922 Lisp_Object lisp = value_to_lisp (vector); 922 Lisp_Object lisp = value_to_lisp (vector);
923 check_vec_index (lisp, index); 923 check_vec_index (lisp, index);
924 ASET (lisp, index, value_to_lisp (value)); 924 ASET (lisp, index, value_to_lisp (value));
925 MODULE_INTERNAL_CLEANUP; 925 MODULE_INTERNAL_CLEANUP ();
926} 926}
927 927
928static emacs_value 928static emacs_value
@@ -934,7 +934,7 @@ module_vec_get (emacs_env *env, emacs_value vector, ptrdiff_t index)
934 Lisp_Object lisp = value_to_lisp (vector); 934 Lisp_Object lisp = value_to_lisp (vector);
935 check_vec_index (lisp, index); 935 check_vec_index (lisp, index);
936 value = lisp_to_value (env, AREF (lisp, index)); 936 value = lisp_to_value (env, AREF (lisp, index));
937 MODULE_INTERNAL_CLEANUP; 937 MODULE_INTERNAL_CLEANUP ();
938 938
939 return value; 939 return value;
940} 940}
@@ -945,7 +945,7 @@ module_vec_size (emacs_env *env, emacs_value vector)
945 MODULE_FUNCTION_BEGIN (0); 945 MODULE_FUNCTION_BEGIN (0);
946 Lisp_Object lisp = value_to_lisp (vector); 946 Lisp_Object lisp = value_to_lisp (vector);
947 CHECK_VECTOR (lisp); 947 CHECK_VECTOR (lisp);
948 MODULE_INTERNAL_CLEANUP; 948 MODULE_INTERNAL_CLEANUP ();
949 949
950 return ASIZE (lisp); 950 return ASIZE (lisp);
951} 951}
@@ -967,7 +967,7 @@ module_process_input (emacs_env *env)
967 MODULE_FUNCTION_BEGIN (emacs_process_input_quit); 967 MODULE_FUNCTION_BEGIN (emacs_process_input_quit);
968 maybe_quit (); 968 maybe_quit ();
969 rc = emacs_process_input_continue; 969 rc = emacs_process_input_continue;
970 MODULE_INTERNAL_CLEANUP; 970 MODULE_INTERNAL_CLEANUP ();
971 return rc; 971 return rc;
972} 972}
973 973
@@ -978,7 +978,7 @@ module_extract_time (emacs_env *env, emacs_value arg)
978 978
979 MODULE_FUNCTION_BEGIN ((struct timespec) {0}); 979 MODULE_FUNCTION_BEGIN ((struct timespec) {0});
980 value = lisp_time_argument (value_to_lisp (arg)); 980 value = lisp_time_argument (value_to_lisp (arg));
981 MODULE_INTERNAL_CLEANUP; 981 MODULE_INTERNAL_CLEANUP ();
982 982
983 return value; 983 return value;
984} 984}
@@ -990,7 +990,7 @@ module_make_time (emacs_env *env, struct timespec time)
990 990
991 MODULE_FUNCTION_BEGIN (NULL); 991 MODULE_FUNCTION_BEGIN (NULL);
992 value = lisp_to_value (env, timespec_to_lisp (time)); 992 value = lisp_to_value (env, timespec_to_lisp (time));
993 MODULE_INTERNAL_CLEANUP; 993 MODULE_INTERNAL_CLEANUP ();
994 994
995 return value; 995 return value;
996} 996}
@@ -1070,7 +1070,7 @@ module_extract_big_integer (emacs_env *env, emacs_value arg, int *sign,
1070 *sign = (0 < x) - (x < 0); 1070 *sign = (0 < x) - (x < 0);
1071 if (x == 0 || count == NULL) 1071 if (x == 0 || count == NULL)
1072 { 1072 {
1073 MODULE_INTERNAL_CLEANUP; 1073 MODULE_INTERNAL_CLEANUP ();
1074 return true; 1074 return true;
1075 } 1075 }
1076 /* As a simplification we don't check how many array elements 1076 /* As a simplification we don't check how many array elements
@@ -1083,7 +1083,7 @@ module_extract_big_integer (emacs_env *env, emacs_value arg, int *sign,
1083 if (magnitude == NULL) 1083 if (magnitude == NULL)
1084 { 1084 {
1085 *count = required; 1085 *count = required;
1086 MODULE_INTERNAL_CLEANUP; 1086 MODULE_INTERNAL_CLEANUP ();
1087 return true; 1087 return true;
1088 } 1088 }
1089 if (*count < required) 1089 if (*count < required)
@@ -1102,14 +1102,14 @@ module_extract_big_integer (emacs_env *env, emacs_value arg, int *sign,
1102 verify (required * bits < PTRDIFF_MAX); 1102 verify (required * bits < PTRDIFF_MAX);
1103 for (ptrdiff_t i = 0; i < required; ++i) 1103 for (ptrdiff_t i = 0; i < required; ++i)
1104 magnitude[i] = (emacs_limb_t) (u >> (i * bits)); 1104 magnitude[i] = (emacs_limb_t) (u >> (i * bits));
1105 MODULE_INTERNAL_CLEANUP; 1105 MODULE_INTERNAL_CLEANUP ();
1106 return true; 1106 return true;
1107 } 1107 }
1108 const mpz_t *x = xbignum_val (o); 1108 const mpz_t *x = xbignum_val (o);
1109 *sign = mpz_sgn (*x); 1109 *sign = mpz_sgn (*x);
1110 if (count == NULL) 1110 if (count == NULL)
1111 { 1111 {
1112 MODULE_INTERNAL_CLEANUP; 1112 MODULE_INTERNAL_CLEANUP ();
1113 return true; 1113 return true;
1114 } 1114 }
1115 size_t required_size = (mpz_sizeinbase (*x, 2) + numb - 1) / numb; 1115 size_t required_size = (mpz_sizeinbase (*x, 2) + numb - 1) / numb;
@@ -1119,7 +1119,7 @@ module_extract_big_integer (emacs_env *env, emacs_value arg, int *sign,
1119 if (magnitude == NULL) 1119 if (magnitude == NULL)
1120 { 1120 {
1121 *count = required; 1121 *count = required;
1122 MODULE_INTERNAL_CLEANUP; 1122 MODULE_INTERNAL_CLEANUP ();
1123 return true; 1123 return true;
1124 } 1124 }
1125 if (*count < required) 1125 if (*count < required)
@@ -1132,7 +1132,7 @@ module_extract_big_integer (emacs_env *env, emacs_value arg, int *sign,
1132 size_t written; 1132 size_t written;
1133 mpz_export (magnitude, &written, order, size, endian, nails, *x); 1133 mpz_export (magnitude, &written, order, size, endian, nails, *x);
1134 eassert (written == required_size); 1134 eassert (written == required_size);
1135 MODULE_INTERNAL_CLEANUP; 1135 MODULE_INTERNAL_CLEANUP ();
1136 return true; 1136 return true;
1137} 1137}
1138 1138
@@ -1146,7 +1146,7 @@ module_make_big_integer (emacs_env *env, int sign,
1146 if (sign == 0) 1146 if (sign == 0)
1147 { 1147 {
1148 value = lisp_to_value (env, make_fixed_natnum (0)); 1148 value = lisp_to_value (env, make_fixed_natnum (0));
1149 MODULE_INTERNAL_CLEANUP; 1149 MODULE_INTERNAL_CLEANUP ();
1150 return value; 1150 return value;
1151 } 1151 }
1152 enum { order = -1, size = sizeof *magnitude, endian = 0, nails = 0 }; 1152 enum { order = -1, size = sizeof *magnitude, endian = 0, nails = 0 };
@@ -1154,7 +1154,7 @@ module_make_big_integer (emacs_env *env, int sign,
1154 if (sign < 0) 1154 if (sign < 0)
1155 mpz_neg (mpz[0], mpz[0]); 1155 mpz_neg (mpz[0], mpz[0]);
1156 value = lisp_to_value (env, make_integer_mpz ()); 1156 value = lisp_to_value (env, make_integer_mpz ());
1157 MODULE_INTERNAL_CLEANUP; 1157 MODULE_INTERNAL_CLEANUP ();
1158 return value; 1158 return value;
1159} 1159}
1160 1160
@@ -1165,7 +1165,7 @@ module_open_channel (emacs_env *env, emacs_value pipe_process)
1165 1165
1166 MODULE_FUNCTION_BEGIN (-1); 1166 MODULE_FUNCTION_BEGIN (-1);
1167 rc = open_channel_for_module (value_to_lisp (pipe_process)); 1167 rc = open_channel_for_module (value_to_lisp (pipe_process));
1168 MODULE_INTERNAL_CLEANUP; 1168 MODULE_INTERNAL_CLEANUP ();
1169 1169
1170 return rc; 1170 return rc;
1171} 1171}
@@ -1620,12 +1620,13 @@ finalize_runtime_unwind (void *raw_ert)
1620/* Must be called after setting up a handler immediately before 1620/* Must be called after setting up a handler immediately before
1621 returning from the function. See the comments in lisp.h and the 1621 returning from the function. See the comments in lisp.h and the
1622 code in eval.c for details. The macros below arrange for this 1622 code in eval.c for details. The macros below arrange for this
1623 function to be called automatically. PHANDLERLIST points to a word 1623 function to be called automatically. HANDLERLIST points to the
1624 containing the handler list, for sanity checking. */ 1624 handler list. */
1625
1625static void 1626static void
1626module_reset_handlerlist (struct handler **phandlerlist) 1627module_reset_handlerlist (struct handler *handlerlist)
1627{ 1628{
1628 eassert (handlerlist == *phandlerlist); 1629 eassert (handlerlist == handlerlist);
1629 handlerlist = handlerlist->next; 1630 handlerlist = handlerlist->next;
1630} 1631}
1631 1632