X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e6cba65065d7002d181c3d440bfc5e04ba953783..29cdc13ed61e5a64ba30df1030029898a26b7947:/src/lisp.h diff --git a/src/lisp.h b/src/lisp.h index 06a8b672fb..c53ea1221e 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -254,7 +254,7 @@ enum Lisp_Fwd_Type #ifdef USE_LISP_UNION_TYPE -#ifndef WORDS_BIG_ENDIAN +#ifndef WORDS_BIGENDIAN /* Definition of Lisp_Object for little-endian machines. */ @@ -278,7 +278,7 @@ union Lisp_Object } Lisp_Object; -#else /* If WORDS_BIG_ENDIAN */ +#else /* If WORDS_BIGENDIAN */ typedef union Lisp_Object @@ -300,7 +300,7 @@ union Lisp_Object } Lisp_Object; -#endif /* WORDS_BIG_ENDIAN */ +#endif /* WORDS_BIGENDIAN */ #ifdef __GNUC__ static __inline__ Lisp_Object @@ -508,12 +508,6 @@ extern Lisp_Object make_number (EMACS_INT); #define EQ(x, y) (XHASH (x) == XHASH (y)) #ifndef XPNTR -#ifdef HAVE_SHM -/* In this representation, data is found in two widely separated segments. */ -extern size_t pure_size; -#define XPNTR(a) \ - (XUINT (a) | (XUINT (a) > pure_size ? DATA_SEG_BITS : PURE_SEG_BITS)) -#else /* not HAVE_SHM */ #ifdef DATA_SEG_BITS /* This case is used for the rt-pc. In the diffs I was given, it checked for ptr = 0 @@ -528,7 +522,6 @@ extern size_t pure_size; size. */ #define XPNTR(a) ((EMACS_INT) XUINT (a)) #endif -#endif /* not HAVE_SHM */ #endif /* no XPNTR */ /* Largest and smallest representable fixnum values. These are the C @@ -746,7 +739,7 @@ struct Lisp_Cons #ifdef GC_CHECK_STRING_BYTES struct Lisp_String; -extern int string_bytes (struct Lisp_String *); +extern EMACS_INT string_bytes (struct Lisp_String *); #define STRING_BYTES(S) string_bytes ((S)) #else /* not GC_CHECK_STRING_BYTES */ @@ -2270,7 +2263,7 @@ extern Lisp_Object Qend_of_file, Qarith_error, Qmark_inactive; extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only; extern Lisp_Object Qtext_read_only; extern Lisp_Object Qinteractive_form; - +extern Lisp_Object Qcircular_list; extern Lisp_Object Qintegerp, Qnatnump, Qwholenump, Qsymbolp, Qlistp, Qconsp; extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; @@ -2402,7 +2395,6 @@ EXFUN (Fcoding_system_p, 1); EXFUN (Fcoding_system_base, 1); EXFUN (Fcoding_system_eol_type, 1); EXFUN (Fcheck_coding_system, 1); -EXFUN (Fcheck_coding_system, 1); EXFUN (Fread_coding_system, 2); EXFUN (Fread_non_nil_coding_system, 1); EXFUN (Ffind_operation_coding_system, MANY); @@ -2449,6 +2441,7 @@ extern void init_syntax_once (void); extern void syms_of_syntax (void); /* Defined in fns.c */ +extern Lisp_Object QCrehash_size, QCrehash_threshold; extern int use_dialog_box; extern int use_file_dialog; extern int next_almost_prime (int); @@ -2457,7 +2450,7 @@ extern void sweep_weak_hash_tables (void); extern Lisp_Object Qcursor_in_echo_area; extern Lisp_Object Qstring_lessp; extern Lisp_Object Vfeatures; -extern Lisp_Object QCsize, QCtest, QCweakness, Qequal, Qeq; +extern Lisp_Object QCsize, QCtest, QCweakness, Qequal, Qeq, Qeql; unsigned sxhash (Lisp_Object, int); Lisp_Object make_hash_table (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, @@ -2523,7 +2516,6 @@ EXFUN (Ffillarray, 2); EXFUN (Fnconc, MANY); EXFUN (Fmapcar, 2); EXFUN (Fmapconcat, 3); -EXFUN (Fy_or_n_p, 1); extern Lisp_Object do_yes_or_no_p (Lisp_Object); EXFUN (Frequire, 3); EXFUN (Fprovide, 2); @@ -2554,6 +2546,7 @@ EXFUN (Ffloat, 1); EXFUN (Ftruncate, 2); extern void init_floatfns (void); extern void syms_of_floatfns (void); +extern Lisp_Object fmod_float (Lisp_Object x, Lisp_Object y); /* Defined in fringe.c */ extern void syms_of_fringe (void); @@ -2622,6 +2615,7 @@ extern void syms_of_insdel (void); /* Defined in dispnew.c */ extern Lisp_Object selected_frame; +extern Lisp_Object Vwindow_system_version; extern EMACS_INT baud_rate; EXFUN (Fding, 1); EXFUN (Fredraw_frame, 1); @@ -2637,12 +2631,21 @@ extern Lisp_Object Qinhibit_point_motion_hooks; extern Lisp_Object Qinhibit_redisplay, Qdisplay; extern Lisp_Object Qinhibit_eval_during_redisplay; extern Lisp_Object Qmessage_truncate_lines; +extern Lisp_Object Qmenu_bar_update_hook; +extern Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; +extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; extern Lisp_Object Qimage, Qtext, Qboth, Qboth_horiz, Qtext_image_horiz; extern Lisp_Object Qspace, Qcenter, QCalign_to; +extern Lisp_Object Qbar, Qhbar, Qbox, Qhollow; +extern Lisp_Object Qleft_margin, Qright_margin; extern Lisp_Object Vmessage_log_max; extern Lisp_Object QCdata, QCfile; +extern Lisp_Object QCmap; extern Lisp_Object Qrisky_local_variable; +extern Lisp_Object Vinhibit_redisplay; extern int message_enable_multibyte; +extern int noninteractive_need_newline; +extern EMACS_INT scroll_margin; extern Lisp_Object echo_area_buffer[2]; extern void add_to_log (const char *, Lisp_Object, Lisp_Object); extern void check_message_stack (void); @@ -2670,7 +2673,7 @@ extern void update_echo_area (void); extern void truncate_echo_area (int); extern void redisplay (void); extern int check_point_in_composition - (struct buffer *, int, struct buffer *, int); + (struct buffer *, EMACS_INT, struct buffer *, EMACS_INT); extern void redisplay_preserve_echo_area (int); extern void prepare_menu_bars (void); @@ -2689,7 +2692,7 @@ extern void memory_warnings (POINTER_TYPE *, void (*warnfun) (const char *)); /* Defined in alloc.c */ extern void check_pure_size (void); -extern void allocate_string_data (struct Lisp_String *, int, int); +extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT); extern void reset_malloc_hooks (void); extern void uninterrupt_malloc (void); extern void malloc_warning (const char *); @@ -2715,16 +2718,17 @@ EXFUN (Fmake_symbol, 1); EXFUN (Fmake_marker, 0); EXFUN (Fmake_string, 2); extern Lisp_Object build_string (const char *); -extern Lisp_Object make_string (const char *, int); -extern Lisp_Object make_unibyte_string (const char *, int); -extern Lisp_Object make_multibyte_string (const char *, int, int); +extern Lisp_Object make_string (const char *, EMACS_INT); +extern Lisp_Object make_unibyte_string (const char *, EMACS_INT); +extern Lisp_Object make_multibyte_string (const char *, EMACS_INT, EMACS_INT); extern Lisp_Object make_event_array (int, Lisp_Object *); -extern Lisp_Object make_uninit_string (int); -extern Lisp_Object make_uninit_multibyte_string (int, int); -extern Lisp_Object make_string_from_bytes (const char *, int, int); -extern Lisp_Object make_specified_string (const char *, int, int, int); +extern Lisp_Object make_uninit_string (EMACS_INT); +extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT); +extern Lisp_Object make_string_from_bytes (const char *, EMACS_INT, EMACS_INT); +extern Lisp_Object make_specified_string (const char *, + EMACS_INT, EMACS_INT, int); EXFUN (Fpurecopy, 1); -extern Lisp_Object make_pure_string (const char *, int, int, int); +extern Lisp_Object make_pure_string (const char *, EMACS_INT, EMACS_INT, int); extern Lisp_Object make_pure_c_string (const char *data); extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object); extern Lisp_Object make_pure_vector (EMACS_INT); @@ -2789,7 +2793,7 @@ extern void syms_of_chartab (void); /* Defined in print.c */ extern Lisp_Object Vprin1_to_string_buffer; -extern Lisp_Object Vprint_level; +extern Lisp_Object Vprint_level, Vprint_length; extern void debug_print (Lisp_Object); EXFUN (Fprin1, 2); EXFUN (Fprin1_to_string, 2); @@ -2815,9 +2819,11 @@ extern void syms_of_print (void); extern int doprnt (char *, int, const char *, const char *, va_list); /* Defined in lread.c */ +extern Lisp_Object Vafter_load_alist; extern Lisp_Object Qvariable_documentation, Qstandard_input; -extern Lisp_Object Qfunction; +extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; extern Lisp_Object Vobarray, initial_obarray, Vstandard_input; +extern int load_in_progress; EXFUN (Fread, 1); EXFUN (Fread_from_string, 3); EXFUN (Fintern, 2); @@ -2939,8 +2945,10 @@ extern void init_eval (void); extern void syms_of_eval (void); /* Defined in editfns.c */ +extern Lisp_Object last_nonmenu_event; extern Lisp_Object Qfield; extern Lisp_Object Vinhibit_field_text_motion; +extern Lisp_Object Vsystem_name; extern Lisp_Object Vuser_login_name; EXFUN (Fpropertize, MANY); EXFUN (Fcurrent_message, 0); @@ -2983,9 +2991,10 @@ EXFUN (Fwiden, 0); EXFUN (Fuser_login_name, 1); EXFUN (Fsystem_name, 0); EXFUN (Fcurrent_time, 0); -extern int clip_to_bounds (int, int, int); -extern Lisp_Object make_buffer_string (int, int, int); -extern Lisp_Object make_buffer_string_both (int, int, int, int, int); +extern int clip_to_bounds (EMACS_INT, EMACS_INT, EMACS_INT); +extern Lisp_Object make_buffer_string (EMACS_INT, EMACS_INT, int); +extern Lisp_Object make_buffer_string_both (EMACS_INT, EMACS_INT, EMACS_INT, + EMACS_INT, int); extern void init_editfns (void); extern void syms_of_editfns (void); EXFUN (Fconstrain_to_field, 5); @@ -2995,7 +3004,6 @@ EXFUN (Ffield_beginning, 3); EXFUN (Ffield_end, 3); EXFUN (Ffield_string_no_properties, 1); extern void set_time_zone_rule (const char *); -extern int lisp_time_argument (Lisp_Object, time_t *, int *); /* Defined in buffer.c */ extern int mouse_face_overlay_overlaps (Lisp_Object); @@ -3062,8 +3070,10 @@ extern void syms_of_marker (void); /* Defined in fileio.c */ extern Lisp_Object Qfile_error; +extern Lisp_Object Qfile_exists_p; extern Lisp_Object Qfile_directory_p; extern Lisp_Object Qinsert_file_contents; +extern Lisp_Object Vauto_save_list_file_name; EXFUN (Ffind_file_name_handler, 2); EXFUN (Ffile_name_as_directory, 1); EXFUN (Fmake_temp_name, 1); @@ -3123,10 +3133,10 @@ extern void clear_regexp_cache (void); /* Defined in minibuf.c */ -extern Lisp_Object Qcompletion_ignore_case; extern Lisp_Object Qcompletion_ignore_case; extern Lisp_Object Vcompletion_regexp_list; extern Lisp_Object Vhistory_length; +extern Lisp_Object Vminibuffer_list; extern Lisp_Object last_minibuf_string; extern int completion_ignore_case; extern int history_delete_duplicates; @@ -3149,6 +3159,7 @@ extern void syms_of_minibuf (void); /* Defined in callint.c */ extern Lisp_Object Qminus, Qplus, Vcurrent_prefix_arg; +extern Lisp_Object Qwhen; extern Lisp_Object Vcommand_history; extern Lisp_Object Vmark_even_if_inactive; extern Lisp_Object Qcall_interactively, Qmouse_leave_buffer_hook; @@ -3158,6 +3169,7 @@ extern void syms_of_callint (void); /* Defined in casefiddle.c */ +extern Lisp_Object Qidentity; EXFUN (Fdowncase, 1); EXFUN (Fupcase, 1); EXFUN (Fcapitalize, 1); @@ -3181,6 +3193,9 @@ extern Lisp_Object echo_message_buffer; extern struct kboard *echo_kboard; extern void cancel_echoing (void); extern Lisp_Object Qdisabled, QCfilter; +extern Lisp_Object Qabove_handle, Qhandle, Qbelow_handle; +extern Lisp_Object Qup, Qdown, Qbottom, Qend_scroll; +extern Lisp_Object Qtop, Qratio; extern Lisp_Object Vtty_erase_char, Vhelp_form, Vtop_level; extern Lisp_Object Vthrow_on_input; extern int input_pending; @@ -3272,6 +3287,8 @@ extern void frames_bury_buffer (Lisp_Object); extern void syms_of_frame (void); /* Defined in emacs.c */ +extern char **initial_argv; +extern int initial_argc; #if defined(HAVE_X_WINDOWS) || defined(HAVE_NS) extern int display_arg; #endif @@ -3281,6 +3298,7 @@ extern Lisp_Object Vbefore_init_time, Vafter_init_time; extern Lisp_Object Vinstallation_directory; extern Lisp_Object empty_unibyte_string, empty_multibyte_string; extern Lisp_Object Qfile_name_handler_alist; +extern void (*fatal_error_signal_hook) (void); EXFUN (Fkill_emacs, 1) NO_RETURN; #if HAVE_SETLOCALE void fixup_locale (void); @@ -3337,6 +3355,7 @@ extern void setup_process_coding_systems (Lisp_Object); extern Lisp_Object Vexec_path, Vexec_suffixes, Vexec_directory, Vdata_directory; extern Lisp_Object Vdoc_directory; +extern Lisp_Object Vshell_file_name; EXFUN (Fcall_process, MANY); extern int child_setup (int, int, int, char **, int, Lisp_Object); extern void init_callproc_1 (void); @@ -3345,6 +3364,7 @@ extern void set_initial_environment (void); extern void syms_of_callproc (void); /* Defined in doc.c */ +extern Lisp_Object Qfunction_documentation; extern Lisp_Object Vdoc_file_name; EXFUN (Fsubstitute_command_keys, 1); EXFUN (Fdocumentation, 2); @@ -3374,12 +3394,13 @@ extern Lisp_Object Qapply; extern Lisp_Object Qinhibit_read_only; EXFUN (Fundo_boundary, 0); extern void truncate_undo_list (struct buffer *); -extern void record_marker_adjustment (Lisp_Object, int); -extern void record_insert (int, int); -extern void record_delete (int, Lisp_Object); +extern void record_marker_adjustment (Lisp_Object, EMACS_INT); +extern void record_insert (EMACS_INT, EMACS_INT); +extern void record_delete (EMACS_INT, Lisp_Object); extern void record_first_change (void); -extern void record_change (int, int); -extern void record_property_change (int, int, Lisp_Object, Lisp_Object, +extern void record_change (EMACS_INT, EMACS_INT); +extern void record_property_change (EMACS_INT, EMACS_INT, + Lisp_Object, Lisp_Object, Lisp_Object); extern void syms_of_undo (void); extern Lisp_Object Vundo_outer_limit; @@ -3395,7 +3416,6 @@ EXFUN (Fnext_single_char_property_change, 4); EXFUN (Fprevious_single_property_change, 4); EXFUN (Fget_text_property, 3); EXFUN (Fput_text_property, 5); -EXFUN (Fget_text_property, 3); EXFUN (Fprevious_char_property_change, 2); EXFUN (Fnext_char_property_change, 2); extern void report_interval_modification (Lisp_Object, Lisp_Object); @@ -3505,16 +3525,26 @@ EXFUN (Fset_fontset_font, 5); EXFUN (Fnew_fontset, 2); /* Defined in xfns.c, w32fns.c, or macfns.c */ +extern Lisp_Object Qfont_param; +extern Lisp_Object Vx_no_window_manager; EXFUN (Fxw_display_color_p, 1); EXFUN (Fx_file_dialog, 5); EXFUN (Fx_focus_frame, 1); #endif /* Defined in xfaces.c */ +extern Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe; +extern Lisp_Object Qheader_line, Qscroll_bar, Qcursor, Qborder, Qmouse, Qmenu; +extern Lisp_Object Qmode_line_inactive, Qvertical_border; extern Lisp_Object Qface; extern Lisp_Object Qnormal; -extern Lisp_Object QCfamily, QCweight, QCslant, QCwidth; -extern Lisp_Object QCheight, QCsize, QCname, QCwidth, QCforeground, QCbackground; +extern Lisp_Object QCfamily, QCweight, QCslant; +extern Lisp_Object QCheight, QCname, QCwidth, QCforeground, QCbackground; +extern Lisp_Object Vface_alternative_font_family_alist; +extern Lisp_Object Vface_font_rescale_alist; +extern Lisp_Object Vface_ignored_fonts; +extern Lisp_Object Vface_alternative_font_registry_alist; +extern Lisp_Object Vscalable_fonts_allowed; EXFUN (Fclear_face_cache, 1); EXFUN (Fx_load_color_file, 1); extern void syms_of_xfaces (void); @@ -3549,6 +3579,11 @@ extern char *x_get_keysym_name (int); EXFUN (Fmsdos_downcase_filename, 1); #endif +#ifdef HAVE_LIBXML2 +/* Defined in xml.c */ +extern void syms_of_xml (void); +#endif + #ifdef HAVE_MENUS /* Defined in (x|w32)fns.c, nsfns.m... */ extern int have_menus_p (void); @@ -3560,6 +3595,11 @@ int xd_pending_messages (void); void xd_read_queued_messages (void); void syms_of_dbusbind (void); #endif + +#ifdef DOS_NT +/* Defined in msdos.c, w32.c */ +extern char *emacs_root_dir (void); +#endif /* DOS_NT */ /* Nonzero means Emacs has already been initialized. Used during startup to detect startup of dumped Emacs. */