Remove extern declarations from .c files, and them to .h files.
authorDan Nicolaescu <dann@ics.uci.edu>
Thu, 29 Jul 2010 05:48:06 +0000 (22:48 -0700)
committerDan Nicolaescu <dann@ics.uci.edu>
Thu, 29 Jul 2010 05:48:06 +0000 (22:48 -0700)
* src/xsmfns.c (Vuser_login_name):
* src/xrdb.c (Vdouble_click_time):
* src/xfaces.c (xic_create_fontsetname):
* src/w32select.c (waiting_for_input):
* src/print.c (minibuffer_auto_raise):
* src/msdos.c (Qhelp_echo):
* src/macros.c (real_this_command):
* src/keymap.c (Voverriding_local_map):
* src/xterm.c (poll_for_input_1, gray_bitmap_width)
(gray_bitmap_height, gray_bitmap_bits;
* src/xmenu.c ( Voverriding_local_map)
(Voverriding_local_map_menu_flag; Qmenu_item; use_dialog_box)
(use_file_dialog, Xt_app_con):
* src/xdisp.c (minibuffer_auto_raise, Voverriding_local_map)
(Voverriding_local_map_menu_flag, Qmenu_item, Qface, Qinvisible)
(Qwidth, Qinvisible, Qwindow, Qpriority, Qtool_bar_lines)
(Qtool_bar_lines, ignore_mouse_drag_p):
* src/minibuf.c (Voverriding_local_map, Qfield, Qfront_sticky)
(Qrear_nonsticky, nconc2):
* src/keyboard.c (current_global_map, minibuf_level, Qmenu_item)
(Vhistory_length, Vtranslation_table_for_input, Qcomposition)
(Qdisplay, Qafter_string, Qbefore_string, Qundefined):
* src/fileio.c (use_dialog_box, use_file_dialog, Vuser_login_name)
(minibuf_level, minibuffer_auto_raise, lisp_time_argument):
* src/eval.c (Qinteractive_form, Qrisky_local_variable, Qfunction)
(gc_in_progress):
* src/doc.c (Voverriding_local_map, Qremap):
* src/dired.c (completion_ignore_case, Qcompletion_ignore_case)
(Vcompletion_regexp_list):
* src/coding.c (Qmac, Qinsert_file_contents, Qwrite_region)
(Qcompletion_ignore_case):
* src/callint.c (Qcursor_in_echo_area, Qfile_directory_p, Qonly)
(Vhistory_length, Vthis_original_command, real_this_command)
(Qface, Qminibuffer_prompt, history_delete_duplicates):
* src/image.c (Qrisky_local_variable):
* src/fontset.c (QCname):
* src/fns.c (minibuffer_auto_raise, QCname):
* src/dispnew.c (char_ins_del_cost):
* src/composite.c (font_fill_lglyph_metrics):
* src/cmds.c (Qface, Vtranslation_table_for_input):
* src/charset.c (map_char_table_for_charset, Qfile_name_handler_alist):
* src/ccl.c (charset_unicode):
* src/callproc.c (Vtemporary_file_directory):
* src/buffer.c (emacs_strerror): Remove extern declarations.

Remove extern declarations from .c files, and them to .h files.
* src/keyboard.h (Qhelp_echo, waiting_for_input)
(input_available_clear_time, ignore_mouse_drag_p)
(Vdouble_click_time, real_this_command, Vthis_original_command):
* src/keymap.h (Qremap, Qmenu_item, Voverriding_local_map)
(Voverriding_local_map_menu_flag):
* src/lisp.h (Qinteractive_form, use_file_dialog)
(Qcursor_in_echo_area, QCascent, QCmargin, QCrelief, Qcount)
(Qextension_data, QCconversion, QCcolor_symbols, QCheuristic_mask)
(QCindex, QCmatrix, QCcolor_adjustment, QCmask)
(Qrisky_local_variable, map_char_table_for_charset, Vprint_level)
(Qfunction, debug_on_next_call, Qfield)
(Vinhibit_field_text_motion, Vuser_login_name, lisp_time_argument)
(Qpriority, Qwindow, Qevaporate, Qbefore_string, Qafter_string)
(Qfile_directory_p, Qinsert_file_contents)
(Qcompletion_ignore_case, Qcompletion_ignore_case)
(Vcompletion_regexp_list, Vhistory_length, completion_ignore_case)
(history_delete_duplicates, minibuffer_auto_raise, Qonly)
(Qfile_name_handler_alist, Qfront_sticky, Qrear_nonsticky)
(Qminibuffer_prompt)
(Vtemporary_file_directory,char_ins_del_vector, Qface):
* src/xterm.h (gray_bitmap_width, gray_bitmap_height)
(gray_bitmap_bits, xic_create_fontsetname):
* src/coding.h (Vtranslation_table_for_input): Add extern declarations.

* src/data.c (Qwindow): Make non-static, used from other files too.
* src/frame.c (validate_x_resource_name): Remove shadow definition for i.

39 files changed:
src/ChangeLog
src/buffer.c
src/callint.c
src/callproc.c
src/ccl.c
src/charset.c
src/cmds.c
src/coding.c
src/coding.h
src/composite.c
src/data.c
src/dired.c
src/dispnew.c
src/doc.c
src/eval.c
src/fileio.c
src/fns.c
src/fontset.c
src/frame.c
src/frame.h
src/image.c
src/keyboard.c
src/keyboard.h
src/keymap.c
src/keymap.h
src/lisp.h
src/macros.c
src/minibuf.c
src/msdos.c
src/print.c
src/w32select.c
src/xdisp.c
src/xfaces.c
src/xfns.c
src/xmenu.c
src/xrdb.c
src/xsmfns.c
src/xterm.c
src/xterm.h

index ab6f98e..3c1a543 100644 (file)
@@ -1,5 +1,78 @@
 2010-07-29  Dan Nicolaescu  <dann@ics.uci.edu>
 
+       Remove extern declarations from .c files, and them to .h files.
+       * keyboard.h (Qhelp_echo, waiting_for_input)
+       (input_available_clear_time, ignore_mouse_drag_p)
+       (Vdouble_click_time, real_this_command, Vthis_original_command):
+       * keymap.h (Qremap, Qmenu_item, Voverriding_local_map)
+       (Voverriding_local_map_menu_flag):
+       * lisp.h (Qinteractive_form, use_file_dialog)
+       (Qcursor_in_echo_area, QCascent, QCmargin, QCrelief, Qcount)
+       (Qextension_data, QCconversion, QCcolor_symbols, QCheuristic_mask)
+       (QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+       (Qrisky_local_variable, map_char_table_for_charset, Vprint_level)
+       (Qfunction, debug_on_next_call, Qfield)
+       (Vinhibit_field_text_motion, Vuser_login_name, lisp_time_argument)
+       (Qpriority, Qwindow, Qevaporate, Qbefore_string, Qafter_string)
+       (Qfile_directory_p, Qinsert_file_contents)
+       (Qcompletion_ignore_case, Qcompletion_ignore_case)
+       (Vcompletion_regexp_list, Vhistory_length, completion_ignore_case)
+       (history_delete_duplicates, minibuffer_auto_raise, Qonly)
+       (Qfile_name_handler_alist, Qfront_sticky, Qrear_nonsticky)
+       (Qminibuffer_prompt)
+       (Vtemporary_file_directory,char_ins_del_vector, Qface):
+       * xterm.h (gray_bitmap_width, gray_bitmap_height)
+       (gray_bitmap_bits, xic_create_fontsetname):
+       * coding.h (Vtranslation_table_for_input): Add extern declarations.
+
+       * xsmfns.c (Vuser_login_name):
+       * xrdb.c (Vdouble_click_time):
+       * xfaces.c (xic_create_fontsetname):
+       * w32select.c (waiting_for_input):
+       * print.c (minibuffer_auto_raise):
+       * msdos.c (Qhelp_echo):
+       * macros.c (real_this_command):
+       * keymap.c (Voverriding_local_map):
+       * xterm.c (poll_for_input_1, gray_bitmap_width)
+       (gray_bitmap_height, gray_bitmap_bits;
+       * xmenu.c ( Voverriding_local_map)
+       (Voverriding_local_map_menu_flag; Qmenu_item; use_dialog_box)
+       (use_file_dialog, Xt_app_con):
+       * xdisp.c (minibuffer_auto_raise, Voverriding_local_map)
+       (Voverriding_local_map_menu_flag, Qmenu_item, Qface, Qinvisible)
+       (Qwidth, Qinvisible, Qwindow, Qpriority, Qtool_bar_lines)
+       (Qtool_bar_lines, ignore_mouse_drag_p):
+       * minibuf.c (Voverriding_local_map, Qfield, Qfront_sticky)
+       (Qrear_nonsticky, nconc2):
+       * keyboard.c (current_global_map, minibuf_level, Qmenu_item)
+       (Vhistory_length, Vtranslation_table_for_input, Qcomposition)
+       (Qdisplay, Qafter_string, Qbefore_string, Qundefined):
+       * fileio.c (use_dialog_box, use_file_dialog, Vuser_login_name)
+       (minibuf_level, minibuffer_auto_raise, lisp_time_argument):
+       * eval.c (Qinteractive_form, Qrisky_local_variable, Qfunction)
+       (gc_in_progress):
+       * doc.c (Voverriding_local_map, Qremap):
+       * dired.c (completion_ignore_case, Qcompletion_ignore_case)
+       (Vcompletion_regexp_list):
+       * coding.c (Qmac, Qinsert_file_contents, Qwrite_region)
+       (Qcompletion_ignore_case):
+       * callint.c (Qcursor_in_echo_area, Qfile_directory_p, Qonly)
+       (Vhistory_length, Vthis_original_command, real_this_command)
+       (Qface, Qminibuffer_prompt, history_delete_duplicates):
+       * image.c (Qrisky_local_variable):
+       * fontset.c (QCname):
+       * fns.c (minibuffer_auto_raise, QCname):
+       * dispnew.c (char_ins_del_cost):
+       * composite.c (font_fill_lglyph_metrics):
+       * cmds.c (Qface, Vtranslation_table_for_input):
+       * charset.c (map_char_table_for_charset, Qfile_name_handler_alist):
+       * ccl.c (charset_unicode):
+       * callproc.c (Vtemporary_file_directory):
+       * buffer.c (emacs_strerror): Remove extern declarations.
+
+       * data.c (Qwindow): Make non-static, used from other files too.
+       * frame.c (validate_x_resource_name): Remove shadow definition for i.
+
        * unexec.c (make_hdr): Remove references to NO_REMAP, COFF,
        SEGMENT_MASK, SECTION_ALIGNMENT, ADJUST_EXEC_HEADER.
        * s/usg5-4.h (COFF):
index fe0d200..9dd396e 100644 (file)
@@ -174,8 +174,6 @@ static struct Lisp_Overlay * copy_overlays (struct buffer *, struct Lisp_Overlay
 static void modify_overlay (struct buffer *, EMACS_INT, EMACS_INT);
 static Lisp_Object buffer_lisp_local_variables (struct buffer *);
 
-extern char * emacs_strerror (int);
-
 /* For debugging; temporary.  See set_buffer_internal.  */
 /* Lisp_Object Qlisp_mode, Vcheck_symbol; */
 
index fa0be11..11473c3 100644 (file)
@@ -29,21 +29,12 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "window.h"
 #include "keymap.h"
 
-extern Lisp_Object Qcursor_in_echo_area;
-extern Lisp_Object Qfile_directory_p;
-extern Lisp_Object Qonly;
-
 Lisp_Object Vcurrent_prefix_arg, Qminus, Qplus;
 Lisp_Object Qcall_interactively;
 Lisp_Object Vcommand_history;
 
-extern Lisp_Object Vhistory_length;
-extern Lisp_Object Vthis_original_command, real_this_command;
-extern int history_delete_duplicates;
-
 Lisp_Object Vcommand_debug_status, Qcommand_debug_status;
 Lisp_Object Qenable_recursive_minibuffers;
-extern Lisp_Object Qface, Qminibuffer_prompt;
 
 /* Non-nil means treat the mark as active
    even if mark_active is 0.  */
index 7019d74..ca9ff93 100644 (file)
@@ -102,8 +102,6 @@ Lisp_Object Vconfigure_info_directory, Vshared_game_score_directory;
 /* Pattern used by call-process-region to make temp files.  */
 static Lisp_Object Vtemp_file_name_pattern;
 
-extern Lisp_Object Vtemporary_file_directory;
-
 Lisp_Object Vshell_file_name;
 
 Lisp_Object Vprocess_environment, Vinitial_environment;
index b5a4f26..f418c65 100644 (file)
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -72,8 +72,6 @@ Lisp_Object Vtranslation_hash_table_vector;
 #define GET_HASH_TABLE(id) \
   (XHASH_TABLE (XCDR(XVECTOR(Vtranslation_hash_table_vector)->contents[(id)])))
 
-extern int charset_unicode;
-
 /* CCL (Code Conversion Language) is a simple language which has
    operations on one input buffer, one output buffer, and 7 registers.
    The syntax of CCL is described in `ccl.el'.  Emacs Lisp function
index 578c05a..7aef84c 100644 (file)
@@ -127,13 +127,6 @@ int inhibit_load_charset_map;
 
 Lisp_Object Vcurrent_iso639_language;
 
-/* Defined in chartab.c */
-extern void
-map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
-                            Lisp_Object function, Lisp_Object table,
-                            Lisp_Object arg, struct charset *charset,
-                            unsigned from, unsigned to);
-
 #define CODE_POINT_TO_INDEX(charset, code)                             \
   ((charset)->code_linear_p                                            \
    ? (code) - (charset)->min_code                                      \
@@ -472,8 +465,6 @@ read_hex (FILE *fp, int *eof)
   return n;
 }
 
-extern Lisp_Object Qfile_name_handler_alist;
-
 /* Return a mapping vector for CHARSET loaded from MAPFILE.
    Each line of MAPFILE has this form
        0xAAAA 0xCCCC
index 2b686a4..7d54f46 100644 (file)
@@ -43,9 +43,6 @@ Lisp_Object Vself_insert_face;
 /* This is the command that set up Vself_insert_face.  */
 Lisp_Object Vself_insert_face_command;
 
-extern Lisp_Object Qface;
-extern Lisp_Object Vtranslation_table_for_input;
-
 static int internal_self_insert (int, int);
 \f
 DEFUN ("forward-point", Fforward_point, Sforward_point, 1, 1, 0,
index dcd31fe..32d1c64 100644 (file)
@@ -303,7 +303,6 @@ Lisp_Object Vcoding_system_hash_table;
 
 Lisp_Object Qcoding_system, Qcoding_aliases, Qeol_type;
 Lisp_Object Qunix, Qdos;
-extern Lisp_Object Qmac;       /* frame.c */
 Lisp_Object Qbuffer_file_coding_system;
 Lisp_Object Qpost_read_conversion, Qpre_write_conversion;
 Lisp_Object Qdefault_char;
@@ -317,7 +316,6 @@ Lisp_Object QCdecode_translation_table, QCencode_translation_table;
 Lisp_Object QCpost_read_conversion, QCpre_write_conversion;
 Lisp_Object QCascii_compatible_p;
 
-extern Lisp_Object Qinsert_file_contents, Qwrite_region;
 Lisp_Object Qcall_process, Qcall_process_region;
 Lisp_Object Qstart_process, Qopen_network_stream;
 Lisp_Object Qtarget_idx;
@@ -325,8 +323,6 @@ Lisp_Object Qtarget_idx;
 Lisp_Object Qinsufficient_source, Qinconsistent_eol, Qinvalid_source;
 Lisp_Object Qinterrupted, Qinsufficient_memory;
 
-extern Lisp_Object Qcompletion_ignore_case;
-
 /* If a symbol has this property, evaluate the value to define the
    symbol as a coding system.  */
 static Lisp_Object Qcoding_system_define_form;
index 75ed84b..0caa5b2 100644 (file)
@@ -802,6 +802,9 @@ extern struct coding_system safe_terminal_coding;
 /* Default coding systems used for process I/O.  */
 extern Lisp_Object Vdefault_process_coding_system;
 
+/* Char table for translating Quail and self-inserting input.  */
+extern Lisp_Object Vtranslation_table_for_input;
+
 /* Function to call to force a user to force select a propert coding
    system.  */
 extern Lisp_Object Vselect_safe_coding_system_function;
index dbd7e3d..392da1c 100644 (file)
@@ -848,8 +848,6 @@ fill_gstring_header (Lisp_Object header, Lisp_Object start, Lisp_Object end, Lis
   return header;
 }
 
-extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object);
-
 static void
 fill_gstring_body (Lisp_Object gstring)
 {
index 5c7a5de..69f6cc3 100644 (file)
@@ -82,7 +82,8 @@ Lisp_Object Qnumberp, Qnumber_or_marker_p;
 
 Lisp_Object Qinteger;
 static Lisp_Object Qsymbol, Qstring, Qcons, Qmarker, Qoverlay;
-static Lisp_Object Qfloat, Qwindow_configuration, Qwindow;
+Lisp_Object Qwindow;
+static Lisp_Object Qfloat, Qwindow_configuration;
 Lisp_Object Qprocess;
 static Lisp_Object Qcompiled_function, Qbuffer, Qframe, Qvector;
 static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
index 5006d60..aec64f9 100644 (file)
@@ -102,9 +102,6 @@ extern void filemodestring (struct stat *, char *);
 #define lstat stat
 #endif
 
-extern int completion_ignore_case;
-extern Lisp_Object Qcompletion_ignore_case;
-extern Lisp_Object Vcompletion_regexp_list;
 extern Lisp_Object Vw32_get_true_file_attributes;
 
 Lisp_Object Vcompletion_ignored_extensions;
index 0b332c1..52d5018 100644 (file)
@@ -5030,7 +5030,6 @@ count_match (struct glyph *str1, struct glyph *end1, struct glyph *str2, struct
 
 /* Char insertion/deletion cost vector, from term.c */
 
-extern int *char_ins_del_vector;
 #define char_ins_del_cost(f) (&char_ins_del_vector[FRAME_TOTAL_COLS((f))])
 
 
index fc3cbc1..9a7001e 100644 (file)
--- a/src/doc.c
+++ b/src/doc.c
@@ -52,10 +52,6 @@ Lisp_Object Qfunction_documentation;
 /* A list of files used to build this Emacs binary.  */
 static Lisp_Object Vbuild_files;
 
-extern Lisp_Object Voverriding_local_map;
-
-extern Lisp_Object Qremap;
-
 /* Buffer used for reading from documentation file.  */
 static char *get_doc_string_buffer;
 static int get_doc_string_buffer_size;
index 06888ca..467662a 100644 (file)
@@ -63,7 +63,6 @@ Lisp_Object Qand_rest, Qand_optional;
 Lisp_Object Qdebug_on_error;
 Lisp_Object Qdeclare;
 Lisp_Object Qdebug;
-extern Lisp_Object Qinteractive_form;
 
 /* This holds either the symbol `run-hooks' or nil.
    It is nil at an early stage of startup, and when Emacs
@@ -166,10 +165,6 @@ int handling_signal;
 
 Lisp_Object Vmacro_declaration_function;
 
-extern Lisp_Object Qrisky_local_variable;
-
-extern Lisp_Object Qfunction;
-
 static Lisp_Object funcall_lambda (Lisp_Object, int, Lisp_Object*);
 static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN;
 \f
@@ -1634,7 +1629,6 @@ See also the function `condition-case'.  */)
      That is a special case--don't do this in other situations.  */
   register struct handler *allhandlers = handlerlist;
   Lisp_Object conditions;
-  extern int gc_in_progress;
   extern int waiting_for_input;
   Lisp_Object string;
   Lisp_Object real_error_symbol;
index c942803..6d9ac16 100644 (file)
@@ -104,8 +104,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 
 #include "commands.h"
-extern int use_dialog_box;
-extern int use_file_dialog;
 
 #ifndef O_WRONLY
 #define O_WRONLY 1
@@ -214,16 +212,10 @@ Lisp_Object Qcopy_directory;
 /* Lisp function for recursively deleting directories.  */
 Lisp_Object Qdelete_directory;
 
-extern Lisp_Object Vuser_login_name;
-
 #ifdef WINDOWSNT
 extern Lisp_Object Vw32_get_true_file_attributes;
 #endif
 
-extern int minibuf_level;
-
-extern int minibuffer_auto_raise;
-
 /* These variables describe handlers that have "already" had a chance
    to handle the current operation.
 
@@ -3049,7 +3041,6 @@ The value is an integer.  */)
   return value;
 }
 \f
-extern int lisp_time_argument (Lisp_Object, time_t *, int *);
 
 DEFUN ("set-file-times", Fset_file_times, Sset_file_times, 1, 2, 0,
        doc: /* Set times of file FILENAME to TIME.
index 3d4c07a..63bcc9c 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -61,7 +61,6 @@ int use_dialog_box;
    questions asked by mouse commands.  */
 int use_file_dialog;
 
-extern int minibuffer_auto_raise;
 extern Lisp_Object minibuf_window;
 extern Lisp_Object Vlocale_coding_system;
 extern int load_in_progress;
index 9a27fc3..ebfbe7a 100644 (file)
@@ -1457,7 +1457,6 @@ appended.  By default, FONT-SPEC overrides the previous settings.  */)
   else if (STRINGP (font_spec))
     {
       Lisp_Object args[2];
-      extern Lisp_Object QCname;
 
       fontname = font_spec;
       args[0] = QCname;
index ea300bd..ae8fdff 100644 (file)
@@ -3670,7 +3670,6 @@ validate_x_resource_name (void)
   if (STRINGP (Vx_resource_name))
     {
       unsigned char *p = SDATA (Vx_resource_name);
-      int i;
 
       len = SBYTES (Vx_resource_name);
 
index 54b4c89..04b754d 100644 (file)
@@ -1063,7 +1063,6 @@ extern Lisp_Object Qalpha;
 extern Lisp_Object Qleft_fringe, Qright_fringe;
 extern Lisp_Object Qheight, Qwidth;
 extern Lisp_Object Qminibuffer, Qmodeline;
-extern Lisp_Object Qonly;
 extern Lisp_Object Qx, Qw32, Qmac, Qpc, Qns;
 extern Lisp_Object Qvisible;
 extern Lisp_Object Qdisplay_type;
index b628aab..f6282f6 100644 (file)
@@ -8130,8 +8130,6 @@ of `image-library-alist', which see).  */)
 void
 syms_of_image (void)
 {
-  extern Lisp_Object Qrisky_local_variable;   /* Syms_of_xdisp has already run.  */
-
   /* Initialize this only once, since that's what we do with Vimage_types
      and they are supposed to be in sync.  Initializing here gives correct
      operation on GNU/Linux of calling dump-emacs after loading some images.  */
index 7d6ada2..2cc7f40 100644 (file)
@@ -246,9 +246,6 @@ Lisp_Object Vminibuffer_message_timeout;
    ASCII character.  */
 int quit_char;
 
-extern Lisp_Object current_global_map;
-extern int minibuf_level;
-
 /* If non-nil, this is a map that overrides all other local maps.  */
 Lisp_Object Voverriding_local_map;
 
@@ -497,7 +494,6 @@ Lisp_Object Qevent_symbol_elements;
 Lisp_Object Qmenu_enable;
 Lisp_Object QCenable, QCvisible, QChelp, QCfilter, QCkeys, QCkey_sequence;
 Lisp_Object QCbutton, QCtoggle, QCradio, QClabel;
-extern Lisp_Object Qmenu_item;
 
 /* An event header symbol HEAD may have a property named
    Qevent_symbol_element_mask, which is of the form (BASE MODIFIERS);
@@ -526,8 +522,6 @@ Lisp_Object Fthis_command_keys (void);
 Lisp_Object Qextended_command_history;
 EMACS_TIME timer_check (int do_it_now);
 
-extern Lisp_Object Vhistory_length, Vtranslation_table_for_input;
-
 static void record_menu_key (Lisp_Object c);
 static int echo_length (void);
 
@@ -1836,14 +1830,11 @@ command_loop_1 (void)
     }
 }
 
-extern Lisp_Object Qcomposition, Qdisplay;
-
 /* Adjust point to a boundary of a region that has such a property
    that should be treated intangible.  For the moment, we check
    `composition', `display' and `invisible' properties.
    LAST_PT is the last position of point.  */
 
-extern Lisp_Object Qafter_string, Qbefore_string;
 extern Lisp_Object get_pos_property (Lisp_Object, Lisp_Object, Lisp_Object);
 
 static void
@@ -8116,7 +8107,6 @@ static void
 process_tool_bar_item (Lisp_Object key, Lisp_Object def, Lisp_Object data, void *args)
 {
   int i;
-  extern Lisp_Object Qundefined;
   struct gcpro gcpro1, gcpro2;
 
   /* Protect KEY and DEF from GC because parse_tool_bar_item may call
index 648b150..7a04cf0 100644 (file)
@@ -422,6 +422,8 @@ extern Lisp_Object Qevent_kind, Qevent_symbol_elements;
 extern Lisp_Object Qfunction_key, Qmouse_click, Qmouse_movement;
 extern Lisp_Object Qscroll_bar_movement;
 
+extern Lisp_Object Qhelp_echo;
+
 /* Getting the kind of an event head.  */
 #define EVENT_HEAD_KIND(event_head) \
   (Fget ((event_head), Qevent_kind))
@@ -429,6 +431,17 @@ extern Lisp_Object Qscroll_bar_movement;
 /* Symbols to use for non-text mouse positions.  */
 extern Lisp_Object Qmode_line, Qvertical_line, Qheader_line;
 
+/* True while doing kbd input.  */
+extern int waiting_for_input;
+
+/* Address (if not 0) of EMACS_TIME to zero out if a SIGIO interrupt
+   happens.  */
+extern EMACS_TIME *input_available_clear_time;
+
+extern int ignore_mouse_drag_p;
+
+extern Lisp_Object Vdouble_click_time;
+
 /* Forward declaration for prototypes.  */
 struct input_event;
 
@@ -445,6 +458,13 @@ extern Lisp_Object Vfunction_key_map;
 /* Keymap of key translations that can override keymaps.  */
 extern Lisp_Object Vkey_translation_map;
 
+/* This is like Vthis_command, except that commands never set it.  */
+extern Lisp_Object real_this_command;
+
+/* If the lookup of the command returns a binding, the original
+   command is stored in this-original-command.  It is nil otherwise.  */
+extern Lisp_Object Vthis_original_command;
+
 extern int parse_menu_item (Lisp_Object, int);
 
 extern void echo_now (void);
index 8a0c855..a92c085 100644 (file)
@@ -108,8 +108,6 @@ static Lisp_Object command_remapping_vector;
    character.  */
 extern Lisp_Object meta_prefix_char;
 
-extern Lisp_Object Voverriding_local_map;
-
 /* Hash table used to cache a reverse-map to speed up calls to where-is.  */
 static Lisp_Object where_is_cache;
 /* Which keymaps are reverse-stored in the cache.  */
index 024b03d..b8f8ec4 100644 (file)
@@ -22,6 +22,10 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define KEYMAPP(m) (!NILP (get_keymap (m, 0, 0)))
 extern Lisp_Object Qkeymap, Qmenu_bar;
+extern Lisp_Object Qremap;
+extern Lisp_Object Qmenu_item;
+extern Lisp_Object Voverriding_local_map;
+extern Lisp_Object Voverriding_local_map_menu_flag;
 extern Lisp_Object current_global_map;
 EXFUN (Fmake_sparse_keymap, 1);
 EXFUN (Fkeymap_prompt, 1);
index b9d67c4..06a8b67 100644 (file)
@@ -2269,6 +2269,7 @@ extern Lisp_Object Qinvalid_function, Qwrong_number_of_arguments, Qno_catch;
 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 Qintegerp, Qnatnump, Qwholenump, Qsymbolp, Qlistp, Qconsp;
 extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp;
@@ -2449,9 +2450,11 @@ extern void syms_of_syntax (void);
 
 /* Defined in fns.c */
 extern int use_dialog_box;
+extern int use_file_dialog;
 extern int next_almost_prime (int);
 extern Lisp_Object larger_vector (Lisp_Object, int, Lisp_Object);
 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;
@@ -2558,6 +2561,9 @@ extern void init_fringe (void);
 extern void init_fringe_once (void);
 
 /* Defined in image.c */
+extern Lisp_Object QCascent, QCmargin, QCrelief, Qcount, Qextension_data;
+extern Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask;
+extern Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask;
 EXFUN (Finit_image_library, 2);
 extern void syms_of_image (void);
 extern void init_image (void);
@@ -2635,6 +2641,7 @@ extern Lisp_Object Qimage, Qtext, Qboth, Qboth_horiz, Qtext_image_horiz;
 extern Lisp_Object Qspace, Qcenter, QCalign_to;
 extern Lisp_Object Vmessage_log_max;
 extern Lisp_Object QCdata, QCfile;
+extern Lisp_Object Qrisky_local_variable;
 extern int message_enable_multibyte;
 extern Lisp_Object echo_area_buffer[2];
 extern void add_to_log (const char *, Lisp_Object, Lisp_Object);
@@ -2774,10 +2781,15 @@ extern int char_table_translate (Lisp_Object, int);
 extern void map_char_table (void (*) (Lisp_Object, Lisp_Object,
                             Lisp_Object),
                             Lisp_Object, Lisp_Object, Lisp_Object);
+extern void map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
+                                       Lisp_Object, Lisp_Object,
+                                       Lisp_Object, struct charset *,
+                                       unsigned, unsigned);
 extern void syms_of_chartab (void);
 
 /* Defined in print.c */
 extern Lisp_Object Vprin1_to_string_buffer;
+extern Lisp_Object Vprint_level;
 extern void debug_print (Lisp_Object);
 EXFUN (Fprin1, 2);
 EXFUN (Fprin1_to_string, 2);
@@ -2804,6 +2816,7 @@ extern int doprnt (char *, int, const char *, const char *, va_list);
 
 /* Defined in lread.c */
 extern Lisp_Object Qvariable_documentation, Qstandard_input;
+extern Lisp_Object Qfunction;
 extern Lisp_Object Vobarray, initial_obarray, Vstandard_input;
 EXFUN (Fread, 1);
 EXFUN (Fread_from_string, 3);
@@ -2845,6 +2858,7 @@ extern Lisp_Object Vautoload_queue;
 extern Lisp_Object Vdebug_on_error;
 extern Lisp_Object Vsignaling_function;
 extern int handling_signal;
+extern int debug_on_next_call;
 extern int interactive_p (int);
 
 /* To run a normal hook, use the appropriate function from the list below.
@@ -2925,6 +2939,9 @@ extern void init_eval (void);
 extern void syms_of_eval (void);
 
 /* Defined in editfns.c */
+extern Lisp_Object Qfield;
+extern Lisp_Object Vinhibit_field_text_motion;
+extern Lisp_Object Vuser_login_name;
 EXFUN (Fpropertize, MANY);
 EXFUN (Fcurrent_message, 0);
 EXFUN (Fgoto_char, 1);
@@ -2971,7 +2988,6 @@ extern Lisp_Object make_buffer_string (int, int, int);
 extern Lisp_Object make_buffer_string_both (int, int, int, int, int);
 extern void init_editfns (void);
 extern void syms_of_editfns (void);
-extern Lisp_Object Vinhibit_field_text_motion;
 EXFUN (Fconstrain_to_field, 5);
 EXFUN (Ffield_string, 1);
 EXFUN (Fdelete_field, 1);
@@ -2979,6 +2995,7 @@ 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);
@@ -3013,7 +3030,7 @@ EXFUN (Fbuffer_disable_undo, 1);
 EXFUN (Fbuffer_enable_undo, 1);
 EXFUN (Ferase_buffer, 0);
 extern Lisp_Object Qoverlayp;
-extern Lisp_Object Qevaporate;
+extern Lisp_Object Qpriority, Qwindow, Qevaporate, Qbefore_string, Qafter_string;
 extern Lisp_Object get_truename_buffer (Lisp_Object);
 extern struct buffer *all_buffers;
 EXFUN (Fprevious_overlay_change, 1);
@@ -3045,6 +3062,8 @@ extern void syms_of_marker (void);
 /* Defined in fileio.c */
 
 extern Lisp_Object Qfile_error;
+extern Lisp_Object Qfile_directory_p;
+extern Lisp_Object Qinsert_file_contents;
 EXFUN (Ffind_file_name_handler, 2);
 EXFUN (Ffile_name_as_directory, 1);
 EXFUN (Fmake_temp_name, 1);
@@ -3104,7 +3123,14 @@ 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 last_minibuf_string;
+extern int completion_ignore_case;
+extern int history_delete_duplicates;
+extern int minibuffer_auto_raise;
 extern void choose_minibuf_frame (void);
 EXFUN (Fcompleting_read, 8);
 EXFUN (Fread_from_minibuffer, 7);
@@ -3206,6 +3232,7 @@ extern void syms_of_indent (void);
 extern Lisp_Object Vx_resource_name;
 extern Lisp_Object Vx_resource_class;
 #endif /* HAVE_WINDOW_SYSTEM */
+extern Lisp_Object Qonly;
 extern Lisp_Object Qvisible;
 extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object);
 extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object);
@@ -3253,6 +3280,7 @@ extern Lisp_Object Vinvocation_name, Vinvocation_directory;
 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;
 EXFUN (Fkill_emacs, 1) NO_RETURN;
 #if HAVE_SETLOCALE
 void fixup_locale (void);
@@ -3359,6 +3387,9 @@ extern Lisp_Object Vundo_outer_limit;
 /* Defined in textprop.c */
 extern Lisp_Object Qfont, Qmouse_face;
 extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks;
+extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
+extern Lisp_Object Qminibuffer_prompt;
+
 EXFUN (Fnext_single_property_change, 4);
 EXFUN (Fnext_single_char_property_change, 4);
 EXFUN (Fprevious_single_property_change, 4);
@@ -3424,6 +3455,7 @@ extern int memcmp (void *, void *, size_t);
 #endif
 
 /* Defined in filelock.c */
+extern Lisp_Object Vtemporary_file_directory;
 EXFUN (Funlock_buffer, 0);
 EXFUN (Ffile_locked_p, 1);
 extern void unlock_all_files (void);
@@ -3453,6 +3485,7 @@ extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
                                              int, Lisp_Object);
 
 /* Defined in term.c */
+extern int *char_ins_del_vector;
 extern void syms_of_term (void);
 extern void fatal (const char *msgid, ...) NO_RETURN;
 
@@ -3478,6 +3511,7 @@ EXFUN (Fx_focus_frame, 1);
 #endif
 
 /* Defined in xfaces.c */
+extern Lisp_Object Qface;
 extern Lisp_Object Qnormal;
 extern Lisp_Object QCfamily, QCweight, QCslant, QCwidth;
 extern Lisp_Object QCheight, QCsize, QCname, QCwidth, QCforeground, QCbackground;
index 0e0d3f3..c281c89 100644 (file)
@@ -51,8 +51,6 @@ int executing_kbd_macro_iterations;
 
 Lisp_Object executing_kbd_macro;
 
-extern Lisp_Object real_this_command;
-
 Lisp_Object Fexecute_kbd_macro (Lisp_Object macro, Lisp_Object count, Lisp_Object loopfunc);
 \f
 DEFUN ("start-kbd-macro", Fstart_kbd_macro, Sstart_kbd_macro, 1, 2, "P",
index d95af7d..863b7ae 100644 (file)
@@ -143,9 +143,6 @@ Lisp_Object Qcase_fold_search;
 
 Lisp_Object Qread_expression_history;
 
-extern Lisp_Object Voverriding_local_map;
-
-extern Lisp_Object Qfield;
 \f
 /* Put minibuf on currently selected frame's minibuffer.
    We do this whenever the user starts a new minibuffer
@@ -442,9 +439,6 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt,
   Lisp_Object empty_minibuf;
   Lisp_Object dummy, frame;
 
-  extern Lisp_Object Qfront_sticky;
-  extern Lisp_Object Qrear_nonsticky;
-
   specbind (Qminibuffer_default, defalt);
 
   /* If Vminibuffer_completing_file_name is `lambda' on entry, it was t
@@ -822,7 +816,6 @@ get_minibuffer (int depth)
 {
   Lisp_Object tail, num, buf;
   char name[24];
-  extern Lisp_Object nconc2 (Lisp_Object, Lisp_Object);
 
   XSETFASTINT (num, depth);
   tail = Fnthcdr (num, Vminibuffer_list);
index 6985002..dda24cc 100644 (file)
@@ -1191,7 +1191,6 @@ IT_note_mode_line_highlight (struct window *w, int x, int mode_line_p)
 
   if (row->enabled_p)
     {
-      extern Lisp_Object Qhelp_echo;
       struct glyph *glyph, *end;
       Lisp_Object help, map;
 
index 97f6494..7a90e6c 100644 (file)
@@ -166,8 +166,6 @@ Lisp_Object Vprint_number_table;
 
 extern int noninteractive_need_newline;
 
-extern int minibuffer_auto_raise;
-
 void print_interval (INTERVAL interval, Lisp_Object printcharfun);
 
 /* GDB resets this to zero on W32 to disable OutputDebugString calls.  */
index 8482d33..bd013a5 100644 (file)
@@ -398,7 +398,6 @@ run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg)
      with global variables and calling strange looking functions.  Is
      this really the right way to run Lisp callbacks?  */
 
-  extern int waiting_for_input;
   int owfi;
 
   BLOCK_INPUT;
index cd088f0..3274a48 100644 (file)
@@ -276,15 +276,11 @@ extern void set_frame_menubar (struct frame *f, int, int);
 extern int interrupt_input;
 extern int command_loop_level;
 
-extern int minibuffer_auto_raise;
 extern Lisp_Object Vminibuffer_list;
 
 extern Lisp_Object Qface;
 extern Lisp_Object Qmode_line, Qmode_line_inactive, Qheader_line;
 
-extern Lisp_Object Voverriding_local_map;
-extern Lisp_Object Voverriding_local_map_menu_flag;
-extern Lisp_Object Qmenu_item;
 extern Lisp_Object Qwhen;
 extern Lisp_Object Qhelp_echo;
 extern Lisp_Object Qbefore_string, Qafter_string;
@@ -379,7 +375,6 @@ int inhibit_eval_during_redisplay;
 /* Names of text properties relevant for redisplay.  */
 
 Lisp_Object Qdisplay;
-extern Lisp_Object Qface, Qinvisible, Qwidth;
 
 /* Symbols used in text property values.  */
 
@@ -3689,7 +3684,6 @@ handle_invisible_prop (struct it *it)
 
   if (STRINGP (it->string))
     {
-      extern Lisp_Object Qinvisible;
       Lisp_Object prop, end_charpos, limit, charpos;
 
       /* Get the value of the invisible text property at the
@@ -4873,7 +4867,6 @@ compare_overlay_entries (const void *e1, const void *e2)
 static void
 load_overlay_strings (struct it *it, int charpos)
 {
-  extern Lisp_Object Qwindow, Qpriority;
   Lisp_Object overlay, window, str, invisible;
   struct Lisp_Overlay *ov;
   int start, end;
@@ -10585,7 +10578,6 @@ redisplay_tool_bar (struct frame *f)
       if ((nlines = tool_bar_lines_needed (f, &f->n_tool_bar_rows),
           nlines != WINDOW_TOTAL_LINES (w)))
        {
-         extern Lisp_Object Qtool_bar_lines;
          Lisp_Object frame;
          int old_height = WINDOW_TOTAL_LINES (w);
 
@@ -10677,7 +10669,6 @@ redisplay_tool_bar (struct frame *f)
         frame parameter.  */
       if (change_height_p)
        {
-         extern Lisp_Object Qtool_bar_lines;
          Lisp_Object frame;
          int old_height = WINDOW_TOTAL_LINES (w);
          int nrows;
@@ -14485,7 +14476,6 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
 
           if (redisplay_tool_bar_p && redisplay_tool_bar (f))
            {
-             extern int ignore_mouse_drag_p;
              ignore_mouse_drag_p = 1;
            }
         }
index 259ee15..8d88281 100644 (file)
@@ -3666,8 +3666,6 @@ x_update_menu_appearance (struct frame *f)
          if (! NILP (xlfd))
            {
 #if defined HAVE_X_I18N
-             extern char *xic_create_fontsetname
-                (char *base_fontname, Bool motif);
              char *fontsetname = xic_create_fontsetname (SDATA (xlfd), motif);
 #else
              char *fontsetname = (char *) SDATA (xlfd);
index 0d468eb..f19498d 100644 (file)
@@ -1901,12 +1901,12 @@ static XIMStyle supported_xim_styles[] =
 
 /* Create an X fontset on frame F with base font name BASE_FONTNAME.  */
 
-char xic_defaut_fontset[] = "-*-*-*-r-normal--14-*-*-*-*-*-*-*";
+const char xic_defaut_fontset[] = "-*-*-*-r-normal--14-*-*-*-*-*-*-*";
 
 /* Create an Xt fontset spec from the name of a base font.
    If `motif' is True use the Motif syntax.  */
 char *
-xic_create_fontsetname (char *base_fontname, int motif)
+xic_create_fontsetname (const char *base_fontname, int motif)
 {
   const char *sep = motif ? ";" : ",";
   char *fontsetname;
@@ -1926,7 +1926,7 @@ xic_create_fontsetname (char *base_fontname, int motif)
         - the base font.
         - the base font where the charset spec is replaced by -*-*.
         - the same but with the family also replaced with -*-*-.  */
-      char *p = base_fontname;
+      const char *p = base_fontname;
       int i;
 
       for (i = 0; *p; p++)
@@ -1945,13 +1945,13 @@ xic_create_fontsetname (char *base_fontname, int motif)
       else
        {
          int len;
-         char *p1 = NULL, *p2 = NULL, *p3 = NULL;
+         const char *p1 = NULL, *p2 = NULL, *p3 = NULL;
          char *font_allcs = NULL;
          char *font_allfamilies = NULL;
          char *font_all = NULL;
-         char *allcs = "*-*-*-*-*-*-*";
-         char *allfamilies = "-*-*-";
-         char *all = "*-*-*-*-";
+         const char *allcs = "*-*-*-*-*-*-*";
+         const char *allfamilies = "-*-*-";
+         const char *all = "*-*-*-*-";
          char *base;
 
          for (i = 0, p = base_fontname; i < 8; p++)
@@ -2080,7 +2080,7 @@ xic_create_xfontset (struct frame *f)
       char **missing_list;
       int missing_count;
       char *def_string;
-      char *xlfd_format = "-*-*-medium-r-normal--%d-*-*-*-*-*";
+      const char *xlfd_format = "-*-*-medium-r-normal--%d-*-*-*-*-*";
 
       sprintf (buf, xlfd_format, pixel_size);
       missing_list = NULL;
@@ -5239,9 +5239,6 @@ DEFUN ("x-uses-old-gtk-dialog", Fx_uses_old_gtk_dialog,
   (void)
 {
 #ifdef USE_GTK
-  extern int use_dialog_box;
-  extern int use_file_dialog;
-
   if (use_dialog_box
       && use_file_dialog
       && have_menus_p ()
@@ -5312,7 +5309,6 @@ or directory must exist.  ONLY-DIR-P is ignored."  */)
   Widget dialog, text, help;
   Arg al[10];
   int ac = 0;
-  extern XtAppContext Xt_app_con;
   XmString dir_xmstring, pattern_xmstring;
   int count = SPECPDL_INDEX ();
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6;
index 9163f7c..a04eb25 100644 (file)
@@ -113,9 +113,6 @@ extern Lisp_Object Qmenu_bar;
 
 extern Lisp_Object QCtoggle, QCradio;
 
-extern Lisp_Object Voverriding_local_map;
-extern Lisp_Object Voverriding_local_map_menu_flag;
-
 extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
 
 extern Lisp_Object Qmenu_bar_update_hook;
@@ -2209,7 +2206,6 @@ static struct frame *menu_help_frame;
 static void
 menu_help_callback (char *help_string, int pane, int item)
 {
-  extern Lisp_Object Qmenu_item;
   Lisp_Object *first_item;
   Lisp_Object pane_name;
   Lisp_Object menu_object;
index 9c814b0..39637b0 100644 (file)
@@ -508,7 +508,6 @@ x_load_resources (Display *display, const char *xrm_string,
 
 #ifdef USE_MOTIF
   const char *courier = "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1";
-  extern Lisp_Object Vdouble_click_time;
 #endif
 
   x_rm_string = XrmStringToQuark (XrmStringType);
index cb3773f..0096110 100644 (file)
@@ -45,10 +45,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Avoid "differ in sign" warnings */
 #define SSDATA(x)  ((char *) SDATA (x))
 
-/* The user login name.  */
-
-extern Lisp_Object Vuser_login_name;
-
 /* This is the event used when SAVE_SESSION_EVENT occurs.  */
 
 static struct input_event emacs_event;
index d4a6885..e51c1fa 100644 (file)
@@ -9010,7 +9010,6 @@ x_make_frame_visible (struct frame *f)
            /* It could be confusing if a real alarm arrives while
               processing the fake one.  Turn it off and let the
               handler reset it.  */
-            extern void poll_for_input_1 (void);
            int old_poll_suppress_count = poll_suppress_count;
            poll_suppress_count = 1;
            poll_for_input_1 ();
@@ -10139,8 +10138,6 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
   dpyinfo->connection = connection;
 
   {
-    extern int gray_bitmap_width, gray_bitmap_height;
-    extern char *gray_bitmap_bits;
     dpyinfo->gray
       = XCreatePixmapFromBitmapData (dpyinfo->display, dpyinfo->root_window,
                                     gray_bitmap_bits,
index d9215d5..cfc7866 100644 (file)
@@ -933,6 +933,8 @@ struct frame *check_x_frame (Lisp_Object);
 EXFUN (Fx_display_color_p, 1);
 EXFUN (Fx_display_grayscale_p, 1);
 extern void x_free_gcs (struct frame *);
+extern int gray_bitmap_width, gray_bitmap_height;
+extern char *gray_bitmap_bits;
 
 /* From xrdb.c.  */
 
@@ -1053,6 +1055,7 @@ extern void x_sync (struct frame *);
 extern int x_defined_color (struct frame *, const char *, XColor *, int);
 #ifdef HAVE_X_I18N
 extern void free_frame_xic (struct frame *);
+extern char * xic_create_fontsetname (const char *base_fontname, int motif);
 #endif
 extern void x_set_tool_bar_lines (struct frame *, Lisp_Object, Lisp_Object);