aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorStefan Monnier2010-08-11 07:42:48 +0200
committerStefan Monnier2010-08-11 07:42:48 +0200
commitc566235d981eba73c88bbff00b6a1d88360b6e9f (patch)
treef8d653add3570fe750a83d1123ed35022e0bf4ef /src/lisp.h
parent0bfdb86f425a88fe43ebc88851c6f9a6418e1862 (diff)
parent490b89acab3e759426ede25c31c94268df55e925 (diff)
downloademacs-c566235d981eba73c88bbff00b6a1d88360b6e9f.tar.gz
emacs-c566235d981eba73c88bbff00b6a1d88360b6e9f.zip
Merge from trunk
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h125
1 files changed, 103 insertions, 22 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 0559503c890..94851d157d1 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -254,7 +254,7 @@ enum Lisp_Fwd_Type
254 254
255#ifdef USE_LISP_UNION_TYPE 255#ifdef USE_LISP_UNION_TYPE
256 256
257#ifndef WORDS_BIG_ENDIAN 257#ifndef WORDS_BIGENDIAN
258 258
259/* Definition of Lisp_Object for little-endian machines. */ 259/* Definition of Lisp_Object for little-endian machines. */
260 260
@@ -278,7 +278,7 @@ union Lisp_Object
278 } 278 }
279Lisp_Object; 279Lisp_Object;
280 280
281#else /* If WORDS_BIG_ENDIAN */ 281#else /* If WORDS_BIGENDIAN */
282 282
283typedef 283typedef
284union Lisp_Object 284union Lisp_Object
@@ -300,7 +300,7 @@ union Lisp_Object
300 } 300 }
301Lisp_Object; 301Lisp_Object;
302 302
303#endif /* WORDS_BIG_ENDIAN */ 303#endif /* WORDS_BIGENDIAN */
304 304
305#ifdef __GNUC__ 305#ifdef __GNUC__
306static __inline__ Lisp_Object 306static __inline__ Lisp_Object
@@ -508,12 +508,6 @@ extern Lisp_Object make_number (EMACS_INT);
508#define EQ(x, y) (XHASH (x) == XHASH (y)) 508#define EQ(x, y) (XHASH (x) == XHASH (y))
509 509
510#ifndef XPNTR 510#ifndef XPNTR
511#ifdef HAVE_SHM
512/* In this representation, data is found in two widely separated segments. */
513extern size_t pure_size;
514#define XPNTR(a) \
515 (XUINT (a) | (XUINT (a) > pure_size ? DATA_SEG_BITS : PURE_SEG_BITS))
516#else /* not HAVE_SHM */
517#ifdef DATA_SEG_BITS 511#ifdef DATA_SEG_BITS
518/* This case is used for the rt-pc. 512/* This case is used for the rt-pc.
519 In the diffs I was given, it checked for ptr = 0 513 In the diffs I was given, it checked for ptr = 0
@@ -528,7 +522,6 @@ extern size_t pure_size;
528 size. */ 522 size. */
529#define XPNTR(a) ((EMACS_INT) XUINT (a)) 523#define XPNTR(a) ((EMACS_INT) XUINT (a))
530#endif 524#endif
531#endif /* not HAVE_SHM */
532#endif /* no XPNTR */ 525#endif /* no XPNTR */
533 526
534/* Largest and smallest representable fixnum values. These are the C 527/* Largest and smallest representable fixnum values. These are the C
@@ -979,8 +972,8 @@ struct Lisp_Subr
979 } function; 972 } function;
980 short min_args, max_args; 973 short min_args, max_args;
981 const char *symbol_name; 974 const char *symbol_name;
982 char *intspec; 975 const char *intspec;
983 char *doc; 976 const char *doc;
984 }; 977 };
985 978
986 979
@@ -2295,7 +2288,8 @@ extern Lisp_Object Qinvalid_function, Qwrong_number_of_arguments, Qno_catch;
2295extern Lisp_Object Qend_of_file, Qarith_error, Qmark_inactive; 2288extern Lisp_Object Qend_of_file, Qarith_error, Qmark_inactive;
2296extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only; 2289extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only;
2297extern Lisp_Object Qtext_read_only; 2290extern Lisp_Object Qtext_read_only;
2298 2291extern Lisp_Object Qinteractive_form;
2292extern Lisp_Object Qcircular_list;
2299extern Lisp_Object Qintegerp, Qnatnump, Qwholenump, Qsymbolp, Qlistp, Qconsp; 2293extern Lisp_Object Qintegerp, Qnatnump, Qwholenump, Qsymbolp, Qlistp, Qconsp;
2300extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; 2294extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp;
2301extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; 2295extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp;
@@ -2419,7 +2413,6 @@ extern void swap_in_global_binding (struct Lisp_Symbol *);
2419EXFUN (Fend_of_line, 1); 2413EXFUN (Fend_of_line, 1);
2420EXFUN (Fforward_char, 1); 2414EXFUN (Fforward_char, 1);
2421EXFUN (Fforward_line, 1); 2415EXFUN (Fforward_line, 1);
2422extern int internal_self_insert (int, int);
2423extern void syms_of_cmds (void); 2416extern void syms_of_cmds (void);
2424extern void keys_of_cmds (void); 2417extern void keys_of_cmds (void);
2425 2418
@@ -2428,7 +2421,6 @@ EXFUN (Fcoding_system_p, 1);
2428EXFUN (Fcoding_system_base, 1); 2421EXFUN (Fcoding_system_base, 1);
2429EXFUN (Fcoding_system_eol_type, 1); 2422EXFUN (Fcoding_system_eol_type, 1);
2430EXFUN (Fcheck_coding_system, 1); 2423EXFUN (Fcheck_coding_system, 1);
2431EXFUN (Fcheck_coding_system, 1);
2432EXFUN (Fread_coding_system, 2); 2424EXFUN (Fread_coding_system, 2);
2433EXFUN (Fread_non_nil_coding_system, 1); 2425EXFUN (Fread_non_nil_coding_system, 1);
2434EXFUN (Ffind_operation_coding_system, MANY); 2426EXFUN (Ffind_operation_coding_system, MANY);
@@ -2475,13 +2467,16 @@ extern void init_syntax_once (void);
2475extern void syms_of_syntax (void); 2467extern void syms_of_syntax (void);
2476 2468
2477/* Defined in fns.c */ 2469/* Defined in fns.c */
2470extern Lisp_Object QCrehash_size, QCrehash_threshold;
2478extern int use_dialog_box; 2471extern int use_dialog_box;
2472extern int use_file_dialog;
2479extern int next_almost_prime (int); 2473extern int next_almost_prime (int);
2480extern Lisp_Object larger_vector (Lisp_Object, int, Lisp_Object); 2474extern Lisp_Object larger_vector (Lisp_Object, int, Lisp_Object);
2481extern void sweep_weak_hash_tables (void); 2475extern void sweep_weak_hash_tables (void);
2476extern Lisp_Object Qcursor_in_echo_area;
2482extern Lisp_Object Qstring_lessp; 2477extern Lisp_Object Qstring_lessp;
2483extern Lisp_Object Vfeatures; 2478extern Lisp_Object Vfeatures;
2484extern Lisp_Object QCtest, QCweakness, Qequal, Qeq; 2479extern Lisp_Object QCsize, QCtest, QCweakness, Qequal, Qeq, Qeql;
2485unsigned sxhash (Lisp_Object, int); 2480unsigned sxhash (Lisp_Object, int);
2486Lisp_Object make_hash_table (Lisp_Object, Lisp_Object, Lisp_Object, 2481Lisp_Object make_hash_table (Lisp_Object, Lisp_Object, Lisp_Object,
2487 Lisp_Object, Lisp_Object, Lisp_Object, 2482 Lisp_Object, Lisp_Object, Lisp_Object,
@@ -2578,6 +2573,7 @@ EXFUN (Ffloat, 1);
2578EXFUN (Ftruncate, 2); 2573EXFUN (Ftruncate, 2);
2579extern void init_floatfns (void); 2574extern void init_floatfns (void);
2580extern void syms_of_floatfns (void); 2575extern void syms_of_floatfns (void);
2576extern Lisp_Object fmod_float (Lisp_Object x, Lisp_Object y);
2581 2577
2582/* Defined in fringe.c */ 2578/* Defined in fringe.c */
2583extern void syms_of_fringe (void); 2579extern void syms_of_fringe (void);
@@ -2585,6 +2581,9 @@ extern void init_fringe (void);
2585extern void init_fringe_once (void); 2581extern void init_fringe_once (void);
2586 2582
2587/* Defined in image.c */ 2583/* Defined in image.c */
2584extern Lisp_Object QCascent, QCmargin, QCrelief, Qcount, Qextension_data;
2585extern Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask;
2586extern Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask;
2588EXFUN (Finit_image_library, 2); 2587EXFUN (Finit_image_library, 2);
2589extern void syms_of_image (void); 2588extern void syms_of_image (void);
2590extern void init_image (void); 2589extern void init_image (void);
@@ -2643,6 +2642,7 @@ extern void syms_of_insdel (void);
2643 2642
2644/* Defined in dispnew.c */ 2643/* Defined in dispnew.c */
2645extern Lisp_Object selected_frame; 2644extern Lisp_Object selected_frame;
2645extern Lisp_Object Vwindow_system_version;
2646extern EMACS_INT baud_rate; 2646extern EMACS_INT baud_rate;
2647EXFUN (Fding, 1); 2647EXFUN (Fding, 1);
2648EXFUN (Fredraw_frame, 1); 2648EXFUN (Fredraw_frame, 1);
@@ -2658,10 +2658,23 @@ extern Lisp_Object Qinhibit_point_motion_hooks;
2658extern Lisp_Object Qinhibit_redisplay, Qdisplay; 2658extern Lisp_Object Qinhibit_redisplay, Qdisplay;
2659extern Lisp_Object Qinhibit_eval_during_redisplay; 2659extern Lisp_Object Qinhibit_eval_during_redisplay;
2660extern Lisp_Object Qmessage_truncate_lines; 2660extern Lisp_Object Qmessage_truncate_lines;
2661extern Lisp_Object Qimage, Qtext, Qboth, Qboth_horiz; 2661extern Lisp_Object Qmenu_bar_update_hook;
2662extern Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
2663extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
2664extern Lisp_Object Qimage, Qtext, Qboth, Qboth_horiz, Qtext_image_horiz;
2665extern Lisp_Object Qspace, Qcenter, QCalign_to;
2666extern Lisp_Object Qbar, Qhbar, Qbox, Qhollow;
2667extern Lisp_Object Qleft_margin, Qright_margin;
2662extern Lisp_Object Vmessage_log_max; 2668extern Lisp_Object Vmessage_log_max;
2669extern Lisp_Object QCdata, QCfile;
2670extern Lisp_Object QCmap;
2671extern Lisp_Object Qrisky_local_variable;
2672extern Lisp_Object Vinhibit_redisplay;
2663extern int message_enable_multibyte; 2673extern int message_enable_multibyte;
2674extern int noninteractive_need_newline;
2675extern EMACS_INT scroll_margin;
2664extern Lisp_Object echo_area_buffer[2]; 2676extern Lisp_Object echo_area_buffer[2];
2677extern void add_to_log (const char *, Lisp_Object, Lisp_Object);
2665extern void check_message_stack (void); 2678extern void check_message_stack (void);
2666extern void setup_echo_area_for_printing (int); 2679extern void setup_echo_area_for_printing (int);
2667extern int push_message (void); 2680extern int push_message (void);
@@ -2716,6 +2729,7 @@ extern int survives_gc_p (Lisp_Object);
2716extern void mark_object (Lisp_Object); 2729extern void mark_object (Lisp_Object);
2717extern Lisp_Object Vpurify_flag; 2730extern Lisp_Object Vpurify_flag;
2718extern Lisp_Object Vmemory_full; 2731extern Lisp_Object Vmemory_full;
2732extern Lisp_Object *stack_base;
2719EXFUN (Fcons, 2); 2733EXFUN (Fcons, 2);
2720EXFUN (list1, 1); 2734EXFUN (list1, 1);
2721EXFUN (list2, 2); 2735EXFUN (list2, 2);
@@ -2799,10 +2813,15 @@ extern int char_table_translate (Lisp_Object, int);
2799extern void map_char_table (void (*) (Lisp_Object, Lisp_Object, 2813extern void map_char_table (void (*) (Lisp_Object, Lisp_Object,
2800 Lisp_Object), 2814 Lisp_Object),
2801 Lisp_Object, Lisp_Object, Lisp_Object); 2815 Lisp_Object, Lisp_Object, Lisp_Object);
2816extern void map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
2817 Lisp_Object, Lisp_Object,
2818 Lisp_Object, struct charset *,
2819 unsigned, unsigned);
2802extern void syms_of_chartab (void); 2820extern void syms_of_chartab (void);
2803 2821
2804/* Defined in print.c */ 2822/* Defined in print.c */
2805extern Lisp_Object Vprin1_to_string_buffer; 2823extern Lisp_Object Vprin1_to_string_buffer;
2824extern Lisp_Object Vprint_level, Vprint_length;
2806extern void debug_print (Lisp_Object); 2825extern void debug_print (Lisp_Object);
2807EXFUN (Fprin1, 2); 2826EXFUN (Fprin1, 2);
2808EXFUN (Fprin1_to_string, 2); 2827EXFUN (Fprin1_to_string, 2);
@@ -2828,8 +2847,11 @@ extern void syms_of_print (void);
2828extern int doprnt (char *, int, const char *, const char *, va_list); 2847extern int doprnt (char *, int, const char *, const char *, va_list);
2829 2848
2830/* Defined in lread.c */ 2849/* Defined in lread.c */
2850extern Lisp_Object Vafter_load_alist;
2831extern Lisp_Object Qvariable_documentation, Qstandard_input; 2851extern Lisp_Object Qvariable_documentation, Qstandard_input;
2852extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
2832extern Lisp_Object Vobarray, initial_obarray, Vstandard_input; 2853extern Lisp_Object Vobarray, initial_obarray, Vstandard_input;
2854extern int load_in_progress;
2833EXFUN (Fread, 1); 2855EXFUN (Fread, 1);
2834EXFUN (Fread_from_string, 3); 2856EXFUN (Fread_from_string, 3);
2835EXFUN (Fintern, 2); 2857EXFUN (Fintern, 2);
@@ -2870,6 +2892,7 @@ extern Lisp_Object Vautoload_queue;
2870extern Lisp_Object Vdebug_on_error; 2892extern Lisp_Object Vdebug_on_error;
2871extern Lisp_Object Vsignaling_function; 2893extern Lisp_Object Vsignaling_function;
2872extern int handling_signal; 2894extern int handling_signal;
2895extern int debug_on_next_call;
2873extern int interactive_p (int); 2896extern int interactive_p (int);
2874 2897
2875/* To run a normal hook, use the appropriate function from the list below. 2898/* To run a normal hook, use the appropriate function from the list below.
@@ -2950,6 +2973,11 @@ extern void init_eval (void);
2950extern void syms_of_eval (void); 2973extern void syms_of_eval (void);
2951 2974
2952/* Defined in editfns.c */ 2975/* Defined in editfns.c */
2976extern Lisp_Object last_nonmenu_event;
2977extern Lisp_Object Qfield;
2978extern Lisp_Object Vinhibit_field_text_motion;
2979extern Lisp_Object Vsystem_name;
2980extern Lisp_Object Vuser_login_name;
2953EXFUN (Fpropertize, MANY); 2981EXFUN (Fpropertize, MANY);
2954EXFUN (Fcurrent_message, 0); 2982EXFUN (Fcurrent_message, 0);
2955EXFUN (Fgoto_char, 1); 2983EXFUN (Fgoto_char, 1);
@@ -2996,7 +3024,6 @@ extern Lisp_Object make_buffer_string (int, int, int);
2996extern Lisp_Object make_buffer_string_both (int, int, int, int, int); 3024extern Lisp_Object make_buffer_string_both (int, int, int, int, int);
2997extern void init_editfns (void); 3025extern void init_editfns (void);
2998extern void syms_of_editfns (void); 3026extern void syms_of_editfns (void);
2999extern Lisp_Object Vinhibit_field_text_motion;
3000EXFUN (Fconstrain_to_field, 5); 3027EXFUN (Fconstrain_to_field, 5);
3001EXFUN (Ffield_string, 1); 3028EXFUN (Ffield_string, 1);
3002EXFUN (Fdelete_field, 1); 3029EXFUN (Fdelete_field, 1);
@@ -3038,7 +3065,7 @@ EXFUN (Fbuffer_disable_undo, 1);
3038EXFUN (Fbuffer_enable_undo, 1); 3065EXFUN (Fbuffer_enable_undo, 1);
3039EXFUN (Ferase_buffer, 0); 3066EXFUN (Ferase_buffer, 0);
3040extern Lisp_Object Qoverlayp; 3067extern Lisp_Object Qoverlayp;
3041extern Lisp_Object Qevaporate; 3068extern Lisp_Object Qpriority, Qwindow, Qevaporate, Qbefore_string, Qafter_string;
3042extern Lisp_Object get_truename_buffer (Lisp_Object); 3069extern Lisp_Object get_truename_buffer (Lisp_Object);
3043extern struct buffer *all_buffers; 3070extern struct buffer *all_buffers;
3044EXFUN (Fprevious_overlay_change, 1); 3071EXFUN (Fprevious_overlay_change, 1);
@@ -3070,6 +3097,10 @@ extern void syms_of_marker (void);
3070/* Defined in fileio.c */ 3097/* Defined in fileio.c */
3071 3098
3072extern Lisp_Object Qfile_error; 3099extern Lisp_Object Qfile_error;
3100extern Lisp_Object Qfile_exists_p;
3101extern Lisp_Object Qfile_directory_p;
3102extern Lisp_Object Qinsert_file_contents;
3103extern Lisp_Object Vauto_save_list_file_name;
3073EXFUN (Ffind_file_name_handler, 2); 3104EXFUN (Ffind_file_name_handler, 2);
3074EXFUN (Ffile_name_as_directory, 1); 3105EXFUN (Ffile_name_as_directory, 1);
3075EXFUN (Fmake_temp_name, 1); 3106EXFUN (Fmake_temp_name, 1);
@@ -3129,7 +3160,14 @@ extern void clear_regexp_cache (void);
3129 3160
3130/* Defined in minibuf.c */ 3161/* Defined in minibuf.c */
3131 3162
3163extern Lisp_Object Qcompletion_ignore_case;
3164extern Lisp_Object Vcompletion_regexp_list;
3165extern Lisp_Object Vhistory_length;
3166extern Lisp_Object Vminibuffer_list;
3132extern Lisp_Object last_minibuf_string; 3167extern Lisp_Object last_minibuf_string;
3168extern int completion_ignore_case;
3169extern int history_delete_duplicates;
3170extern int minibuffer_auto_raise;
3133extern void choose_minibuf_frame (void); 3171extern void choose_minibuf_frame (void);
3134EXFUN (Fcompleting_read, 8); 3172EXFUN (Fcompleting_read, 8);
3135EXFUN (Fread_from_minibuffer, 7); 3173EXFUN (Fread_from_minibuffer, 7);
@@ -3148,7 +3186,9 @@ extern void syms_of_minibuf (void);
3148/* Defined in callint.c */ 3186/* Defined in callint.c */
3149 3187
3150extern Lisp_Object Qminus, Qplus, Vcurrent_prefix_arg; 3188extern Lisp_Object Qminus, Qplus, Vcurrent_prefix_arg;
3189extern Lisp_Object Qwhen;
3151extern Lisp_Object Vcommand_history; 3190extern Lisp_Object Vcommand_history;
3191extern Lisp_Object Vmark_even_if_inactive;
3152extern Lisp_Object Qcall_interactively, Qmouse_leave_buffer_hook; 3192extern Lisp_Object Qcall_interactively, Qmouse_leave_buffer_hook;
3153EXFUN (Fcall_interactively, 3); 3193EXFUN (Fcall_interactively, 3);
3154EXFUN (Fprefix_numeric_value, 1); 3194EXFUN (Fprefix_numeric_value, 1);
@@ -3156,6 +3196,7 @@ extern void syms_of_callint (void);
3156 3196
3157/* Defined in casefiddle.c */ 3197/* Defined in casefiddle.c */
3158 3198
3199extern Lisp_Object Qidentity;
3159EXFUN (Fdowncase, 1); 3200EXFUN (Fdowncase, 1);
3160EXFUN (Fupcase, 1); 3201EXFUN (Fupcase, 1);
3161EXFUN (Fcapitalize, 1); 3202EXFUN (Fcapitalize, 1);
@@ -3179,12 +3220,17 @@ extern Lisp_Object echo_message_buffer;
3179extern struct kboard *echo_kboard; 3220extern struct kboard *echo_kboard;
3180extern void cancel_echoing (void); 3221extern void cancel_echoing (void);
3181extern Lisp_Object Qdisabled, QCfilter; 3222extern Lisp_Object Qdisabled, QCfilter;
3223extern Lisp_Object Qabove_handle, Qhandle, Qbelow_handle;
3224extern Lisp_Object Qup, Qdown, Qbottom, Qend_scroll;
3225extern Lisp_Object Qtop, Qratio;
3182extern Lisp_Object Vtty_erase_char, Vhelp_form, Vtop_level; 3226extern Lisp_Object Vtty_erase_char, Vhelp_form, Vtop_level;
3183extern Lisp_Object Vthrow_on_input; 3227extern Lisp_Object Vthrow_on_input;
3184extern int input_pending; 3228extern int input_pending;
3185EXFUN (Fdiscard_input, 0); 3229EXFUN (Fdiscard_input, 0);
3186EXFUN (Frecursive_edit, 0); 3230EXFUN (Frecursive_edit, 0);
3187EXFUN (Ftop_level, 0); 3231EXFUN (Ftop_level, 0) NO_RETURN;
3232EXFUN (Fexit_recursive_edit, 0) NO_RETURN;
3233EXFUN (Fabort_recursive_edit, 0) NO_RETURN;
3188EXFUN (Fcommand_execute, 4); 3234EXFUN (Fcommand_execute, 4);
3189EXFUN (Finput_pending_p, 0); 3235EXFUN (Finput_pending_p, 0);
3190extern Lisp_Object menu_bar_items (Lisp_Object); 3236extern Lisp_Object menu_bar_items (Lisp_Object);
@@ -3228,6 +3274,7 @@ extern void syms_of_indent (void);
3228extern Lisp_Object Vx_resource_name; 3274extern Lisp_Object Vx_resource_name;
3229extern Lisp_Object Vx_resource_class; 3275extern Lisp_Object Vx_resource_class;
3230#endif /* HAVE_WINDOW_SYSTEM */ 3276#endif /* HAVE_WINDOW_SYSTEM */
3277extern Lisp_Object Qonly;
3231extern Lisp_Object Qvisible; 3278extern Lisp_Object Qvisible;
3232extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object); 3279extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object);
3233extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object); 3280extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object);
@@ -3267,12 +3314,19 @@ extern void frames_bury_buffer (Lisp_Object);
3267extern void syms_of_frame (void); 3314extern void syms_of_frame (void);
3268 3315
3269/* Defined in emacs.c */ 3316/* Defined in emacs.c */
3317extern char **initial_argv;
3318extern int initial_argc;
3319#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
3320extern int display_arg;
3321#endif
3270extern Lisp_Object decode_env_path (const char *, const char *); 3322extern Lisp_Object decode_env_path (const char *, const char *);
3271extern Lisp_Object Vinvocation_name, Vinvocation_directory; 3323extern Lisp_Object Vinvocation_name, Vinvocation_directory;
3272extern Lisp_Object Vbefore_init_time, Vafter_init_time; 3324extern Lisp_Object Vbefore_init_time, Vafter_init_time;
3273extern Lisp_Object Vinstallation_directory; 3325extern Lisp_Object Vinstallation_directory;
3274extern Lisp_Object empty_unibyte_string, empty_multibyte_string; 3326extern Lisp_Object empty_unibyte_string, empty_multibyte_string;
3275EXFUN (Fkill_emacs, 1); 3327extern Lisp_Object Qfile_name_handler_alist;
3328extern void (*fatal_error_signal_hook) (void);
3329EXFUN (Fkill_emacs, 1) NO_RETURN;
3276#if HAVE_SETLOCALE 3330#if HAVE_SETLOCALE
3277void fixup_locale (void); 3331void fixup_locale (void);
3278void synchronize_system_messages_locale (void); 3332void synchronize_system_messages_locale (void);
@@ -3301,6 +3355,7 @@ extern int inhibit_window_system;
3301extern int running_asynch_code; 3355extern int running_asynch_code;
3302 3356
3303/* Defined in process.c */ 3357/* Defined in process.c */
3358extern Lisp_Object QCtype, Qlocal;
3304EXFUN (Fget_process, 1); 3359EXFUN (Fget_process, 1);
3305EXFUN (Fget_buffer_process, 1); 3360EXFUN (Fget_buffer_process, 1);
3306EXFUN (Fprocessp, 1); 3361EXFUN (Fprocessp, 1);
@@ -3327,6 +3382,7 @@ extern void setup_process_coding_systems (Lisp_Object);
3327extern Lisp_Object Vexec_path, Vexec_suffixes, 3382extern Lisp_Object Vexec_path, Vexec_suffixes,
3328 Vexec_directory, Vdata_directory; 3383 Vexec_directory, Vdata_directory;
3329extern Lisp_Object Vdoc_directory; 3384extern Lisp_Object Vdoc_directory;
3385extern Lisp_Object Vshell_file_name;
3330EXFUN (Fcall_process, MANY); 3386EXFUN (Fcall_process, MANY);
3331extern int child_setup (int, int, int, char **, int, Lisp_Object); 3387extern int child_setup (int, int, int, char **, int, Lisp_Object);
3332extern void init_callproc_1 (void); 3388extern void init_callproc_1 (void);
@@ -3335,6 +3391,7 @@ extern void set_initial_environment (void);
3335extern void syms_of_callproc (void); 3391extern void syms_of_callproc (void);
3336 3392
3337/* Defined in doc.c */ 3393/* Defined in doc.c */
3394extern Lisp_Object Qfunction_documentation;
3338extern Lisp_Object Vdoc_file_name; 3395extern Lisp_Object Vdoc_file_name;
3339EXFUN (Fsubstitute_command_keys, 1); 3396EXFUN (Fsubstitute_command_keys, 1);
3340EXFUN (Fdocumentation, 2); 3397EXFUN (Fdocumentation, 2);
@@ -3362,6 +3419,7 @@ extern void init_macros (void);
3362extern void syms_of_macros (void); 3419extern void syms_of_macros (void);
3363 3420
3364/* Defined in undo.c */ 3421/* Defined in undo.c */
3422extern Lisp_Object Qapply;
3365extern Lisp_Object Qinhibit_read_only; 3423extern Lisp_Object Qinhibit_read_only;
3366EXFUN (Fundo_boundary, 0); 3424EXFUN (Fundo_boundary, 0);
3367extern void truncate_undo_list (struct buffer *); 3425extern void truncate_undo_list (struct buffer *);
@@ -3378,12 +3436,14 @@ extern Lisp_Object Vundo_outer_limit;
3378/* Defined in textprop.c */ 3436/* Defined in textprop.c */
3379extern Lisp_Object Qfont, Qmouse_face; 3437extern Lisp_Object Qfont, Qmouse_face;
3380extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks; 3438extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks;
3439extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
3440extern Lisp_Object Qminibuffer_prompt;
3441
3381EXFUN (Fnext_single_property_change, 4); 3442EXFUN (Fnext_single_property_change, 4);
3382EXFUN (Fnext_single_char_property_change, 4); 3443EXFUN (Fnext_single_char_property_change, 4);
3383EXFUN (Fprevious_single_property_change, 4); 3444EXFUN (Fprevious_single_property_change, 4);
3384EXFUN (Fget_text_property, 3); 3445EXFUN (Fget_text_property, 3);
3385EXFUN (Fput_text_property, 5); 3446EXFUN (Fput_text_property, 5);
3386EXFUN (Fget_text_property, 3);
3387EXFUN (Fprevious_char_property_change, 2); 3447EXFUN (Fprevious_char_property_change, 2);
3388EXFUN (Fnext_char_property_change, 2); 3448EXFUN (Fnext_char_property_change, 2);
3389extern void report_interval_modification (Lisp_Object, Lisp_Object); 3449extern void report_interval_modification (Lisp_Object, Lisp_Object);
@@ -3443,6 +3503,7 @@ extern int memcmp (void *, void *, size_t);
3443#endif 3503#endif
3444 3504
3445/* Defined in filelock.c */ 3505/* Defined in filelock.c */
3506extern Lisp_Object Vtemporary_file_directory;
3446EXFUN (Funlock_buffer, 0); 3507EXFUN (Funlock_buffer, 0);
3447EXFUN (Ffile_locked_p, 1); 3508EXFUN (Ffile_locked_p, 1);
3448extern void unlock_all_files (void); 3509extern void unlock_all_files (void);
@@ -3472,6 +3533,7 @@ extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
3472 int, Lisp_Object); 3533 int, Lisp_Object);
3473 3534
3474/* Defined in term.c */ 3535/* Defined in term.c */
3536extern int *char_ins_del_vector;
3475extern void syms_of_term (void); 3537extern void syms_of_term (void);
3476extern void fatal (const char *msgid, ...) NO_RETURN; 3538extern void fatal (const char *msgid, ...) NO_RETURN;
3477 3539
@@ -3491,12 +3553,26 @@ EXFUN (Fset_fontset_font, 5);
3491EXFUN (Fnew_fontset, 2); 3553EXFUN (Fnew_fontset, 2);
3492 3554
3493/* Defined in xfns.c, w32fns.c, or macfns.c */ 3555/* Defined in xfns.c, w32fns.c, or macfns.c */
3556extern Lisp_Object Qfont_param;
3557extern Lisp_Object Vx_no_window_manager;
3494EXFUN (Fxw_display_color_p, 1); 3558EXFUN (Fxw_display_color_p, 1);
3495EXFUN (Fx_file_dialog, 5); 3559EXFUN (Fx_file_dialog, 5);
3496EXFUN (Fx_focus_frame, 1); 3560EXFUN (Fx_focus_frame, 1);
3497#endif 3561#endif
3498 3562
3499/* Defined in xfaces.c */ 3563/* Defined in xfaces.c */
3564extern Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe;
3565extern Lisp_Object Qheader_line, Qscroll_bar, Qcursor, Qborder, Qmouse, Qmenu;
3566extern Lisp_Object Qmode_line_inactive, Qvertical_border;
3567extern Lisp_Object Qface;
3568extern Lisp_Object Qnormal;
3569extern Lisp_Object QCfamily, QCweight, QCslant;
3570extern Lisp_Object QCheight, QCname, QCwidth, QCforeground, QCbackground;
3571extern Lisp_Object Vface_alternative_font_family_alist;
3572extern Lisp_Object Vface_font_rescale_alist;
3573extern Lisp_Object Vface_ignored_fonts;
3574extern Lisp_Object Vface_alternative_font_registry_alist;
3575extern Lisp_Object Vscalable_fonts_allowed;
3500EXFUN (Fclear_face_cache, 1); 3576EXFUN (Fclear_face_cache, 1);
3501EXFUN (Fx_load_color_file, 1); 3577EXFUN (Fx_load_color_file, 1);
3502extern void syms_of_xfaces (void); 3578extern void syms_of_xfaces (void);
@@ -3542,6 +3618,11 @@ int xd_pending_messages (void);
3542void xd_read_queued_messages (void); 3618void xd_read_queued_messages (void);
3543void syms_of_dbusbind (void); 3619void syms_of_dbusbind (void);
3544#endif 3620#endif
3621
3622#ifdef DOS_NT
3623/* Defined in msdos.c, w32.c */
3624extern char *emacs_root_dir (void);
3625#endif /* DOS_NT */
3545 3626
3546/* Nonzero means Emacs has already been initialized. 3627/* Nonzero means Emacs has already been initialized.
3547 Used during startup to detect startup of dumped Emacs. */ 3628 Used during startup to detect startup of dumped Emacs. */