aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2012-09-09 17:24:04 -0400
committerStefan Monnier2012-09-09 17:24:04 -0400
commite7032e7c6ce273720267070e97fb5567a128fc1f (patch)
tree93e3f4a077a23428dd260357120eef04cf3530e3 /src
parent70fe82368444ff578b519da75c3669b6b5cf12f0 (diff)
downloademacs-e7032e7c6ce273720267070e97fb5567a128fc1f.tar.gz
emacs-e7032e7c6ce273720267070e97fb5567a128fc1f.zip
* src/lisp.h (make_lisp_ptr): New macro to replace XSET.
(XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC): Use it.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/lisp.h136
2 files changed, 74 insertions, 68 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2537cd77fdc..fac2cb5ce70 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12012-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * lisp.h (make_lisp_ptr): New macro to replace XSET.
4 (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC):
5 Use it.
6
12012-09-09 Eli Zaretskii <eliz@gnu.org> 72012-09-09 Eli Zaretskii <eliz@gnu.org>
2 8
3 * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the 9 * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the
diff --git a/src/lisp.h b/src/lisp.h
index 95ea87a15d2..44c2b087caf 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -325,7 +325,7 @@ enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = 1 };
325typedef EMACS_INT Lisp_Object; 325typedef EMACS_INT Lisp_Object;
326#define XLI(o) (o) 326#define XLI(o) (o)
327#define XIL(i) (i) 327#define XIL(i) (i)
328#define LISP_MAKE_RVALUE(o) (0+(o)) 328#define LISP_MAKE_RVALUE(o) (0 + (o))
329#define LISP_INITIALLY_ZERO 0 329#define LISP_INITIALLY_ZERO 0
330enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = 0 }; 330enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = 0 };
331#endif /* CHECK_LISP_OBJECT_TYPE */ 331#endif /* CHECK_LISP_OBJECT_TYPE */
@@ -417,9 +417,9 @@ enum lsb_bits
417#define XINT(a) (XLI (a) >> INTTYPEBITS) 417#define XINT(a) (XLI (a) >> INTTYPEBITS)
418#define XUINT(a) ((EMACS_UINT) XLI (a) >> INTTYPEBITS) 418#define XUINT(a) ((EMACS_UINT) XLI (a) >> INTTYPEBITS)
419#define make_number(N) XIL ((EMACS_INT) (N) << INTTYPEBITS) 419#define make_number(N) XIL ((EMACS_INT) (N) << INTTYPEBITS)
420#define XSET(var, type, ptr) \ 420#define make_lisp_ptr(ptr, type) \
421 (eassert (XTYPE (XIL ((intptr_t) (ptr))) == 0), /* Check alignment. */ \ 421 (eassert (XTYPE (XIL ((intptr_t) (ptr))) == 0), /* Check alignment. */ \
422 (var) = XIL ((type) | (intptr_t) (ptr))) 422 XIL ((type) | (intptr_t) (ptr)))
423 423
424#define XPNTR(a) ((intptr_t) (XLI (a) & ~TYPEMASK)) 424#define XPNTR(a) ((intptr_t) (XLI (a) & ~TYPEMASK))
425#define XUNTAG(a, type) ((intptr_t) (XLI (a) - (type))) 425#define XUNTAG(a, type) ((intptr_t) (XLI (a) - (type)))
@@ -444,13 +444,13 @@ static EMACS_INT const VALMASK
444#define XUINT(a) ((EMACS_UINT) (XLI (a) & INTMASK)) 444#define XUINT(a) ((EMACS_UINT) (XLI (a) & INTMASK))
445#define make_number(N) XIL ((EMACS_INT) (N) & INTMASK) 445#define make_number(N) XIL ((EMACS_INT) (N) & INTMASK)
446 446
447#define XSET(var, type, ptr) \ 447#define make_lisp_ptr(ptr, type) \
448 ((var) = XIL ((EMACS_INT) ((EMACS_UINT) (type) << VALBITS) \ 448 (XIL ((EMACS_INT) ((EMACS_UINT) (type) << VALBITS) \
449 + ((intptr_t) (ptr) & VALMASK))) 449 + ((intptr_t) (ptr) & VALMASK)))
450 450
451#if DATA_SEG_BITS 451#if DATA_SEG_BITS
452/* DATA_SEG_BITS forces extra bits to be or'd in with any pointers 452/* DATA_SEG_BITS forces extra bits to be or'd in with any pointers
453 which were stored in a Lisp_Object */ 453 which were stored in a Lisp_Object. */
454#define XPNTR(a) ((uintptr_t) ((XLI (a) & VALMASK)) | DATA_SEG_BITS)) 454#define XPNTR(a) ((uintptr_t) ((XLI (a) & VALMASK)) | DATA_SEG_BITS))
455#else 455#else
456#define XPNTR(a) ((uintptr_t) (XLI (a) & VALMASK)) 456#define XPNTR(a) ((uintptr_t) (XLI (a) & VALMASK))
@@ -555,15 +555,15 @@ clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper)
555/* Construct a Lisp_Object from a value or address. */ 555/* Construct a Lisp_Object from a value or address. */
556 556
557#define XSETINT(a, b) (a) = make_number (b) 557#define XSETINT(a, b) (a) = make_number (b)
558#define XSETCONS(a, b) XSET (a, Lisp_Cons, b) 558#define XSETCONS(a, b) (a) = make_lisp_ptr (b, Lisp_Cons)
559#define XSETVECTOR(a, b) XSET (a, Lisp_Vectorlike, b) 559#define XSETVECTOR(a, b) (a) = make_lisp_ptr (b, Lisp_Vectorlike)
560#define XSETSTRING(a, b) XSET (a, Lisp_String, b) 560#define XSETSTRING(a, b) (a) = make_lisp_ptr (b, Lisp_String)
561#define XSETSYMBOL(a, b) XSET (a, Lisp_Symbol, b) 561#define XSETSYMBOL(a, b) (a) = make_lisp_ptr (b, Lisp_Symbol)
562#define XSETFLOAT(a, b) XSET (a, Lisp_Float, b) 562#define XSETFLOAT(a, b) (a) = make_lisp_ptr (b, Lisp_Float)
563 563
564/* Misc types. */ 564/* Misc types. */
565 565
566#define XSETMISC(a, b) XSET (a, Lisp_Misc, b) 566#define XSETMISC(a, b) (a) = make_lisp_ptr (b, Lisp_Misc)
567#define XSETMARKER(a, b) (XSETMISC (a, b), XMISCTYPE (a) = Lisp_Misc_Marker) 567#define XSETMARKER(a, b) (XSETMISC (a, b), XMISCTYPE (a) = Lisp_Misc_Marker)
568 568
569/* Pseudovector types. */ 569/* Pseudovector types. */
@@ -1619,7 +1619,7 @@ typedef struct {
1619 int mouse_face_image_state; 1619 int mouse_face_image_state;
1620} Mouse_HLInfo; 1620} Mouse_HLInfo;
1621 1621
1622/* Data type checking */ 1622/* Data type checking. */
1623 1623
1624#define NILP(x) EQ (x, Qnil) 1624#define NILP(x) EQ (x, Qnil)
1625 1625
@@ -1992,7 +1992,7 @@ struct specbinding
1992 { 1992 {
1993 Lisp_Object symbol, old_value; 1993 Lisp_Object symbol, old_value;
1994 specbinding_func func; 1994 specbinding_func func;
1995 Lisp_Object unused; /* Dividing by 16 is faster than by 12 */ 1995 Lisp_Object unused; /* Dividing by 16 is faster than by 12. */
1996 }; 1996 };
1997 1997
1998extern struct specbinding *specpdl; 1998extern struct specbinding *specpdl;
@@ -2571,10 +2571,10 @@ extern Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
2571 2571
2572EXFUN (Fbyteorder, 0) ATTRIBUTE_CONST; 2572EXFUN (Fbyteorder, 0) ATTRIBUTE_CONST;
2573 2573
2574/* Defined in frame.c */ 2574/* Defined in frame.c. */
2575extern Lisp_Object Qframep; 2575extern Lisp_Object Qframep;
2576 2576
2577/* Defined in data.c */ 2577/* Defined in data.c. */
2578extern Lisp_Object indirect_function (Lisp_Object); 2578extern Lisp_Object indirect_function (Lisp_Object);
2579extern Lisp_Object find_symbol_value (Lisp_Object); 2579extern Lisp_Object find_symbol_value (Lisp_Object);
2580 2580
@@ -2621,7 +2621,7 @@ extern void swap_in_global_binding (struct Lisp_Symbol *);
2621extern void syms_of_cmds (void); 2621extern void syms_of_cmds (void);
2622extern void keys_of_cmds (void); 2622extern void keys_of_cmds (void);
2623 2623
2624/* Defined in coding.c */ 2624/* Defined in coding.c. */
2625extern Lisp_Object Qcharset; 2625extern Lisp_Object Qcharset;
2626extern Lisp_Object detect_coding_system (const unsigned char *, ptrdiff_t, 2626extern Lisp_Object detect_coding_system (const unsigned char *, ptrdiff_t,
2627 ptrdiff_t, bool, bool, Lisp_Object); 2627 ptrdiff_t, bool, bool, Lisp_Object);
@@ -2629,7 +2629,7 @@ extern void init_coding (void);
2629extern void init_coding_once (void); 2629extern void init_coding_once (void);
2630extern void syms_of_coding (void); 2630extern void syms_of_coding (void);
2631 2631
2632/* Defined in character.c */ 2632/* Defined in character.c. */
2633EXFUN (Fmax_char, 0) ATTRIBUTE_CONST; 2633EXFUN (Fmax_char, 0) ATTRIBUTE_CONST;
2634extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t); 2634extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t);
2635extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t); 2635extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t);
@@ -2637,21 +2637,21 @@ extern int multibyte_char_to_unibyte (int) ATTRIBUTE_CONST;
2637extern int multibyte_char_to_unibyte_safe (int) ATTRIBUTE_CONST; 2637extern int multibyte_char_to_unibyte_safe (int) ATTRIBUTE_CONST;
2638extern void syms_of_character (void); 2638extern void syms_of_character (void);
2639 2639
2640/* Defined in charset.c */ 2640/* Defined in charset.c. */
2641extern void init_charset (void); 2641extern void init_charset (void);
2642extern void init_charset_once (void); 2642extern void init_charset_once (void);
2643extern void syms_of_charset (void); 2643extern void syms_of_charset (void);
2644/* Structure forward declarations. */ 2644/* Structure forward declarations. */
2645struct charset; 2645struct charset;
2646 2646
2647/* Defined in composite.c */ 2647/* Defined in composite.c. */
2648extern void syms_of_composite (void); 2648extern void syms_of_composite (void);
2649 2649
2650/* Defined in syntax.c */ 2650/* Defined in syntax.c. */
2651extern void init_syntax_once (void); 2651extern void init_syntax_once (void);
2652extern void syms_of_syntax (void); 2652extern void syms_of_syntax (void);
2653 2653
2654/* Defined in fns.c */ 2654/* Defined in fns.c. */
2655extern Lisp_Object QCrehash_size, QCrehash_threshold; 2655extern Lisp_Object QCrehash_size, QCrehash_threshold;
2656enum { NEXT_ALMOST_PRIME_LIMIT = 11 }; 2656enum { NEXT_ALMOST_PRIME_LIMIT = 11 };
2657EXFUN (Fidentity, 1) ATTRIBUTE_CONST; 2657EXFUN (Fidentity, 1) ATTRIBUTE_CONST;
@@ -2685,12 +2685,12 @@ extern Lisp_Object string_to_multibyte (Lisp_Object);
2685extern Lisp_Object string_make_unibyte (Lisp_Object); 2685extern Lisp_Object string_make_unibyte (Lisp_Object);
2686extern void syms_of_fns (void); 2686extern void syms_of_fns (void);
2687 2687
2688/* Defined in floatfns.c */ 2688/* Defined in floatfns.c. */
2689extern double extract_float (Lisp_Object); 2689extern double extract_float (Lisp_Object);
2690extern void syms_of_floatfns (void); 2690extern void syms_of_floatfns (void);
2691extern Lisp_Object fmod_float (Lisp_Object x, Lisp_Object y); 2691extern Lisp_Object fmod_float (Lisp_Object x, Lisp_Object y);
2692 2692
2693/* Defined in fringe.c */ 2693/* Defined in fringe.c. */
2694extern void syms_of_fringe (void); 2694extern void syms_of_fringe (void);
2695extern void init_fringe (void); 2695extern void init_fringe (void);
2696#ifdef HAVE_WINDOW_SYSTEM 2696#ifdef HAVE_WINDOW_SYSTEM
@@ -2698,13 +2698,13 @@ extern void mark_fringe_data (void);
2698extern void init_fringe_once (void); 2698extern void init_fringe_once (void);
2699#endif /* HAVE_WINDOW_SYSTEM */ 2699#endif /* HAVE_WINDOW_SYSTEM */
2700 2700
2701/* Defined in image.c */ 2701/* Defined in image.c. */
2702extern Lisp_Object QCascent, QCmargin, QCrelief; 2702extern Lisp_Object QCascent, QCmargin, QCrelief;
2703extern Lisp_Object QCconversion; 2703extern Lisp_Object QCconversion;
2704extern int x_bitmap_mask (struct frame *, ptrdiff_t); 2704extern int x_bitmap_mask (struct frame *, ptrdiff_t);
2705extern void syms_of_image (void); 2705extern void syms_of_image (void);
2706 2706
2707/* Defined in insdel.c */ 2707/* Defined in insdel.c. */
2708extern Lisp_Object Qinhibit_modification_hooks; 2708extern Lisp_Object Qinhibit_modification_hooks;
2709extern void move_gap (ptrdiff_t); 2709extern void move_gap (ptrdiff_t);
2710extern void move_gap_both (ptrdiff_t, ptrdiff_t); 2710extern void move_gap_both (ptrdiff_t, ptrdiff_t);
@@ -2750,7 +2750,7 @@ extern void replace_range_2 (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t,
2750 const char *, ptrdiff_t, ptrdiff_t, bool); 2750 const char *, ptrdiff_t, ptrdiff_t, bool);
2751extern void syms_of_insdel (void); 2751extern void syms_of_insdel (void);
2752 2752
2753/* Defined in dispnew.c */ 2753/* Defined in dispnew.c. */
2754#if (defined PROFILING \ 2754#if (defined PROFILING \
2755 && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__)) 2755 && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__))
2756_Noreturn void __executable_start (void); 2756_Noreturn void __executable_start (void);
@@ -2761,7 +2761,7 @@ extern Lisp_Object sit_for (Lisp_Object, bool, int);
2761extern void init_display (void); 2761extern void init_display (void);
2762extern void syms_of_display (void); 2762extern void syms_of_display (void);
2763 2763
2764/* Defined in xdisp.c */ 2764/* Defined in xdisp.c. */
2765extern Lisp_Object Qinhibit_point_motion_hooks; 2765extern Lisp_Object Qinhibit_point_motion_hooks;
2766extern Lisp_Object Qinhibit_redisplay, Qdisplay; 2766extern Lisp_Object Qinhibit_redisplay, Qdisplay;
2767extern Lisp_Object Qmenu_bar_update_hook; 2767extern Lisp_Object Qmenu_bar_update_hook;
@@ -2812,13 +2812,13 @@ extern Lisp_Object safe_eval (Lisp_Object);
2812extern int pos_visible_p (struct window *, ptrdiff_t, int *, 2812extern int pos_visible_p (struct window *, ptrdiff_t, int *,
2813 int *, int *, int *, int *, int *); 2813 int *, int *, int *, int *, int *);
2814 2814
2815/* Defined in xsettings.c */ 2815/* Defined in xsettings.c. */
2816extern void syms_of_xsettings (void); 2816extern void syms_of_xsettings (void);
2817 2817
2818/* Defined in vm-limit.c. */ 2818/* Defined in vm-limit.c. */
2819extern void memory_warnings (void *, void (*warnfun) (const char *)); 2819extern void memory_warnings (void *, void (*warnfun) (const char *));
2820 2820
2821/* Defined in alloc.c */ 2821/* Defined in alloc.c. */
2822extern void check_pure_size (void); 2822extern void check_pure_size (void);
2823extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT); 2823extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT);
2824extern void reset_malloc_hooks (void); 2824extern void reset_malloc_hooks (void);
@@ -2921,7 +2921,7 @@ extern void check_cons_list (void);
2921#endif 2921#endif
2922 2922
2923#ifdef REL_ALLOC 2923#ifdef REL_ALLOC
2924/* Defined in ralloc.c */ 2924/* Defined in ralloc.c. */
2925extern void *r_alloc (void **, size_t); 2925extern void *r_alloc (void **, size_t);
2926extern void r_alloc_free (void **); 2926extern void r_alloc_free (void **);
2927extern void *r_re_alloc (void **, size_t); 2927extern void *r_re_alloc (void **, size_t);
@@ -2929,7 +2929,7 @@ extern void r_alloc_reset_variable (void **, void **);
2929extern void r_alloc_inhibit_buffer_relocation (int); 2929extern void r_alloc_inhibit_buffer_relocation (int);
2930#endif 2930#endif
2931 2931
2932/* Defined in chartab.c */ 2932/* Defined in chartab.c. */
2933extern Lisp_Object copy_char_table (Lisp_Object); 2933extern Lisp_Object copy_char_table (Lisp_Object);
2934extern Lisp_Object char_table_ref (Lisp_Object, int); 2934extern Lisp_Object char_table_ref (Lisp_Object, int);
2935extern Lisp_Object char_table_ref_and_range (Lisp_Object, int, 2935extern Lisp_Object char_table_ref_and_range (Lisp_Object, int,
@@ -2947,7 +2947,7 @@ extern void map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Ob
2947extern Lisp_Object uniprop_table (Lisp_Object); 2947extern Lisp_Object uniprop_table (Lisp_Object);
2948extern void syms_of_chartab (void); 2948extern void syms_of_chartab (void);
2949 2949
2950/* Defined in print.c */ 2950/* Defined in print.c. */
2951extern Lisp_Object Vprin1_to_string_buffer; 2951extern Lisp_Object Vprin1_to_string_buffer;
2952extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE; 2952extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE;
2953extern Lisp_Object Qstandard_output; 2953extern Lisp_Object Qstandard_output;
@@ -2964,7 +2964,7 @@ enum FLOAT_TO_STRING_BUFSIZE { FLOAT_TO_STRING_BUFSIZE = 350 };
2964extern int float_to_string (char *, double); 2964extern int float_to_string (char *, double);
2965extern void syms_of_print (void); 2965extern void syms_of_print (void);
2966 2966
2967/* Defined in doprnt.c */ 2967/* Defined in doprnt.c. */
2968extern ptrdiff_t doprnt (char *, ptrdiff_t, const char *, const char *, 2968extern ptrdiff_t doprnt (char *, ptrdiff_t, const char *, const char *,
2969 va_list); 2969 va_list);
2970extern ptrdiff_t esprintf (char *, char const *, ...) 2970extern ptrdiff_t esprintf (char *, char const *, ...)
@@ -3130,7 +3130,7 @@ extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object,
3130extern Lisp_Object build_marker (struct buffer *, ptrdiff_t, ptrdiff_t); 3130extern Lisp_Object build_marker (struct buffer *, ptrdiff_t, ptrdiff_t);
3131extern void syms_of_marker (void); 3131extern void syms_of_marker (void);
3132 3132
3133/* Defined in fileio.c */ 3133/* Defined in fileio.c. */
3134 3134
3135extern Lisp_Object Qfile_error; 3135extern Lisp_Object Qfile_error;
3136extern Lisp_Object Qfile_exists_p; 3136extern Lisp_Object Qfile_exists_p;
@@ -3138,7 +3138,7 @@ extern Lisp_Object Qfile_directory_p;
3138extern Lisp_Object Qinsert_file_contents; 3138extern Lisp_Object Qinsert_file_contents;
3139extern Lisp_Object Qfile_name_history; 3139extern Lisp_Object Qfile_name_history;
3140extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object); 3140extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object);
3141EXFUN (Fread_file_name, 6); /* not a normal DEFUN */ 3141EXFUN (Fread_file_name, 6); /* Not a normal DEFUN. */
3142extern Lisp_Object close_file_unwind (Lisp_Object); 3142extern Lisp_Object close_file_unwind (Lisp_Object);
3143extern Lisp_Object restore_point_unwind (Lisp_Object); 3143extern Lisp_Object restore_point_unwind (Lisp_Object);
3144extern _Noreturn void report_file_error (const char *, Lisp_Object); 3144extern _Noreturn void report_file_error (const char *, Lisp_Object);
@@ -3147,7 +3147,7 @@ extern void syms_of_fileio (void);
3147extern Lisp_Object make_temp_name (Lisp_Object, bool); 3147extern Lisp_Object make_temp_name (Lisp_Object, bool);
3148extern Lisp_Object Qdelete_file; 3148extern Lisp_Object Qdelete_file;
3149 3149
3150/* Defined in search.c */ 3150/* Defined in search.c. */
3151extern void shrink_regexp_cache (void); 3151extern void shrink_regexp_cache (void);
3152extern void restore_search_regs (void); 3152extern void restore_search_regs (void);
3153extern void record_unwind_save_match_data (void); 3153extern void record_unwind_save_match_data (void);
@@ -3322,14 +3322,14 @@ extern void init_callproc (void);
3322extern void set_initial_environment (void); 3322extern void set_initial_environment (void);
3323extern void syms_of_callproc (void); 3323extern void syms_of_callproc (void);
3324 3324
3325/* Defined in doc.c */ 3325/* Defined in doc.c. */
3326extern Lisp_Object Qfunction_documentation; 3326extern Lisp_Object Qfunction_documentation;
3327extern Lisp_Object read_doc_string (Lisp_Object); 3327extern Lisp_Object read_doc_string (Lisp_Object);
3328extern Lisp_Object get_doc_string (Lisp_Object, bool, bool); 3328extern Lisp_Object get_doc_string (Lisp_Object, bool, bool);
3329extern void syms_of_doc (void); 3329extern void syms_of_doc (void);
3330extern int read_bytecode_char (bool); 3330extern int read_bytecode_char (bool);
3331 3331
3332/* Defined in bytecode.c */ 3332/* Defined in bytecode.c. */
3333extern Lisp_Object Qbytecode; 3333extern Lisp_Object Qbytecode;
3334extern void syms_of_bytecode (void); 3334extern void syms_of_bytecode (void);
3335extern struct byte_stack *byte_stack_list; 3335extern struct byte_stack *byte_stack_list;
@@ -3340,12 +3340,12 @@ extern void unmark_byte_stack (void);
3340extern Lisp_Object exec_byte_code (Lisp_Object, Lisp_Object, Lisp_Object, 3340extern Lisp_Object exec_byte_code (Lisp_Object, Lisp_Object, Lisp_Object,
3341 Lisp_Object, ptrdiff_t, Lisp_Object *); 3341 Lisp_Object, ptrdiff_t, Lisp_Object *);
3342 3342
3343/* Defined in macros.c */ 3343/* Defined in macros.c. */
3344extern Lisp_Object Qexecute_kbd_macro; 3344extern Lisp_Object Qexecute_kbd_macro;
3345extern void init_macros (void); 3345extern void init_macros (void);
3346extern void syms_of_macros (void); 3346extern void syms_of_macros (void);
3347 3347
3348/* Defined in undo.c */ 3348/* Defined in undo.c. */
3349extern Lisp_Object Qapply; 3349extern Lisp_Object Qapply;
3350extern Lisp_Object Qinhibit_read_only; 3350extern Lisp_Object Qinhibit_read_only;
3351extern void truncate_undo_list (struct buffer *); 3351extern void truncate_undo_list (struct buffer *);
@@ -3358,7 +3358,7 @@ extern void record_property_change (ptrdiff_t, ptrdiff_t,
3358 Lisp_Object, Lisp_Object, 3358 Lisp_Object, Lisp_Object,
3359 Lisp_Object); 3359 Lisp_Object);
3360extern void syms_of_undo (void); 3360extern void syms_of_undo (void);
3361/* Defined in textprop.c */ 3361/* Defined in textprop.c. */
3362extern Lisp_Object Qfont, Qmouse_face; 3362extern Lisp_Object Qfont, Qmouse_face;
3363extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks; 3363extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks;
3364extern Lisp_Object Qfront_sticky, Qrear_nonsticky; 3364extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
@@ -3366,19 +3366,19 @@ extern Lisp_Object Qminibuffer_prompt;
3366 3366
3367extern void report_interval_modification (Lisp_Object, Lisp_Object); 3367extern void report_interval_modification (Lisp_Object, Lisp_Object);
3368 3368
3369/* Defined in menu.c */ 3369/* Defined in menu.c. */
3370extern void syms_of_menu (void); 3370extern void syms_of_menu (void);
3371 3371
3372/* Defined in xmenu.c */ 3372/* Defined in xmenu.c. */
3373extern void syms_of_xmenu (void); 3373extern void syms_of_xmenu (void);
3374 3374
3375/* Defined in termchar.h */ 3375/* Defined in termchar.h. */
3376struct tty_display_info; 3376struct tty_display_info;
3377 3377
3378/* Defined in termhooks.h */ 3378/* Defined in termhooks.h. */
3379struct terminal; 3379struct terminal;
3380 3380
3381/* Defined in sysdep.c */ 3381/* Defined in sysdep.c. */
3382#ifndef HAVE_GET_CURRENT_DIR_NAME 3382#ifndef HAVE_GET_CURRENT_DIR_NAME
3383extern char *get_current_dir_name (void); 3383extern char *get_current_dir_name (void);
3384#endif 3384#endif
@@ -3415,45 +3415,45 @@ extern void unlock_file (Lisp_Object);
3415extern void unlock_buffer (struct buffer *); 3415extern void unlock_buffer (struct buffer *);
3416extern void syms_of_filelock (void); 3416extern void syms_of_filelock (void);
3417 3417
3418/* Defined in sound.c */ 3418/* Defined in sound.c. */
3419extern void syms_of_sound (void); 3419extern void syms_of_sound (void);
3420 3420
3421/* Defined in category.c */ 3421/* Defined in category.c. */
3422extern void init_category_once (void); 3422extern void init_category_once (void);
3423extern Lisp_Object char_category_set (int); 3423extern Lisp_Object char_category_set (int);
3424extern void syms_of_category (void); 3424extern void syms_of_category (void);
3425 3425
3426/* Defined in ccl.c */ 3426/* Defined in ccl.c. */
3427extern void syms_of_ccl (void); 3427extern void syms_of_ccl (void);
3428 3428
3429/* Defined in dired.c */ 3429/* Defined in dired.c. */
3430extern void syms_of_dired (void); 3430extern void syms_of_dired (void);
3431extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object, 3431extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
3432 Lisp_Object, Lisp_Object, 3432 Lisp_Object, Lisp_Object,
3433 bool, Lisp_Object); 3433 bool, Lisp_Object);
3434 3434
3435/* Defined in term.c */ 3435/* Defined in term.c. */
3436extern int *char_ins_del_vector; 3436extern int *char_ins_del_vector;
3437extern void syms_of_term (void); 3437extern void syms_of_term (void);
3438extern _Noreturn void fatal (const char *msgid, ...) 3438extern _Noreturn void fatal (const char *msgid, ...)
3439 ATTRIBUTE_FORMAT_PRINTF (1, 2); 3439 ATTRIBUTE_FORMAT_PRINTF (1, 2);
3440 3440
3441/* Defined in terminal.c */ 3441/* Defined in terminal.c. */
3442extern void syms_of_terminal (void); 3442extern void syms_of_terminal (void);
3443 3443
3444/* Defined in font.c */ 3444/* Defined in font.c. */
3445extern void syms_of_font (void); 3445extern void syms_of_font (void);
3446extern void init_font (void); 3446extern void init_font (void);
3447 3447
3448#ifdef HAVE_WINDOW_SYSTEM 3448#ifdef HAVE_WINDOW_SYSTEM
3449/* Defined in fontset.c */ 3449/* Defined in fontset.c. */
3450extern void syms_of_fontset (void); 3450extern void syms_of_fontset (void);
3451 3451
3452/* Defined in xfns.c, w32fns.c, or macfns.c */ 3452/* Defined in xfns.c, w32fns.c, or macfns.c. */
3453extern Lisp_Object Qfont_param; 3453extern Lisp_Object Qfont_param;
3454#endif 3454#endif
3455 3455
3456/* Defined in xfaces.c */ 3456/* Defined in xfaces.c. */
3457extern Lisp_Object Qdefault, Qtool_bar, Qfringe; 3457extern Lisp_Object Qdefault, Qtool_bar, Qfringe;
3458extern Lisp_Object Qheader_line, Qscroll_bar, Qcursor; 3458extern Lisp_Object Qheader_line, Qscroll_bar, Qcursor;
3459extern Lisp_Object Qmode_line_inactive; 3459extern Lisp_Object Qmode_line_inactive;
@@ -3469,26 +3469,26 @@ extern Lisp_Object Vface_alternative_font_registry_alist;
3469extern void syms_of_xfaces (void); 3469extern void syms_of_xfaces (void);
3470 3470
3471#ifdef HAVE_X_WINDOWS 3471#ifdef HAVE_X_WINDOWS
3472/* Defined in xfns.c */ 3472/* Defined in xfns.c. */
3473extern void syms_of_xfns (void); 3473extern void syms_of_xfns (void);
3474 3474
3475/* Defined in xsmfns.c */ 3475/* Defined in xsmfns.c. */
3476extern void syms_of_xsmfns (void); 3476extern void syms_of_xsmfns (void);
3477 3477
3478/* Defined in xselect.c */ 3478/* Defined in xselect.c. */
3479extern void syms_of_xselect (void); 3479extern void syms_of_xselect (void);
3480 3480
3481/* Defined in xterm.c */ 3481/* Defined in xterm.c. */
3482extern void syms_of_xterm (void); 3482extern void syms_of_xterm (void);
3483#endif /* HAVE_X_WINDOWS */ 3483#endif /* HAVE_X_WINDOWS */
3484 3484
3485#ifdef HAVE_WINDOW_SYSTEM 3485#ifdef HAVE_WINDOW_SYSTEM
3486/* Defined in xterm.c, nsterm.m, w32term.c */ 3486/* Defined in xterm.c, nsterm.m, w32term.c. */
3487extern char *x_get_keysym_name (int); 3487extern char *x_get_keysym_name (int);
3488#endif /* HAVE_WINDOW_SYSTEM */ 3488#endif /* HAVE_WINDOW_SYSTEM */
3489 3489
3490#ifdef HAVE_LIBXML2 3490#ifdef HAVE_LIBXML2
3491/* Defined in xml.c */ 3491/* Defined in xml.c. */
3492extern void syms_of_xml (void); 3492extern void syms_of_xml (void);
3493extern void xml_cleanup_parser (void); 3493extern void xml_cleanup_parser (void);
3494#endif 3494#endif
@@ -3499,12 +3499,12 @@ extern int have_menus_p (void);
3499#endif 3499#endif
3500 3500
3501#ifdef HAVE_DBUS 3501#ifdef HAVE_DBUS
3502/* Defined in dbusbind.c */ 3502/* Defined in dbusbind.c. */
3503void syms_of_dbusbind (void); 3503void syms_of_dbusbind (void);
3504#endif 3504#endif
3505 3505
3506#ifdef DOS_NT 3506#ifdef DOS_NT
3507/* Defined in msdos.c, w32.c */ 3507/* Defined in msdos.c, w32.c. */
3508extern char *emacs_root_dir (void); 3508extern char *emacs_root_dir (void);
3509#endif /* DOS_NT */ 3509#endif /* DOS_NT */
3510 3510
@@ -3512,7 +3512,7 @@ extern char *emacs_root_dir (void);
3512 Used during startup to detect startup of dumped Emacs. */ 3512 Used during startup to detect startup of dumped Emacs. */
3513extern bool initialized; 3513extern bool initialized;
3514 3514
3515extern int immediate_quit; /* Nonzero means ^G can quit instantly */ 3515extern int immediate_quit; /* Nonzero means ^G can quit instantly. */
3516 3516
3517extern void *xmalloc (size_t); 3517extern void *xmalloc (size_t);
3518extern void *xzalloc (size_t); 3518extern void *xzalloc (size_t);
@@ -3545,7 +3545,7 @@ extern void init_system_name (void);
3545/* SAFE_ALLOCA normally allocates memory on the stack, but if size is 3545/* SAFE_ALLOCA normally allocates memory on the stack, but if size is
3546 larger than MAX_ALLOCA, use xmalloc to avoid overflowing the stack. */ 3546 larger than MAX_ALLOCA, use xmalloc to avoid overflowing the stack. */
3547 3547
3548enum MAX_ALLOCA { MAX_ALLOCA = 16*1024 }; 3548enum MAX_ALLOCA { MAX_ALLOCA = 16 * 1024 };
3549 3549
3550extern Lisp_Object safe_alloca_unwind (Lisp_Object); 3550extern Lisp_Object safe_alloca_unwind (Lisp_Object);
3551extern void *record_xmalloc (size_t); 3551extern void *record_xmalloc (size_t);