2010-08-05 Dan Nicolaescu <dann@ics.uci.edu>
+ Remove extern declarations in .c files, .h files have them.
+ * data.c:
+ * dired.c:
+ * editfns.c:
+ * filelock.c:
+ * fns.c:
+ * font.c:
+ * fontset.c:
+ * frame.c:
+ * fringe.c:
+ * ftfont.c:
+ * gtkutil.c:
+ * indent.c:
+ * keyboard.c:
+ * keymap.c:
+ * lread.c:
+ * menu.c:
+ * print.c:
+ * search.c:
+ * sound.c:
+ * window.c:
+ * xdisp.c:
+ * xfaces.c:
+ * xfns.c:
+ * xfont.c:
+ * xftfont.c:
+ * xmenu.c:
+ * xterm.c: Remove declarations.
+
Cleanup syssignal.h.
* syssignal.h (sighold, sigrelse, RETSIGTYPE): Remove, unused.
(main_thread): Move down to remove #ifdef.
return definition;
}
-extern Lisp_Object Qfunction_documentation;
-
DEFUN ("defalias", Fdefalias, Sdefalias, 2, 3, 0,
doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION.
Associates the function with the current load file, if any.
static Lisp_Object float_arith_driver (double, int, enum arithop,
int, Lisp_Object *);
-extern Lisp_Object fmod_float (Lisp_Object, Lisp_Object);
-
Lisp_Object
arith_driver (enum arithop code, int nargs, register Lisp_Object *args)
{
#include "regex.h"
#include "blockinput.h"
-/* Returns a search buffer, with a fastmap allocated and ready to go. */
-extern struct re_pattern_buffer *compile_pattern (Lisp_Object, struct re_registers *, Lisp_Object, int, int);
-
/* From filemode.c. Can't go in Lisp.h because of `stat'. */
extern void filemodestring (struct stat *, char *);
return val;
}
}
-#ifdef HAVE_MENUS
-extern Lisp_Object last_nonmenu_event;
-#endif
DEFUN ("message-or-box", Fmessage_or_box, Smessage_or_box, 1, MANY, 0,
doc: /* Display a message in a dialog box or in the echo area.
static time_t boot_time;
static int boot_time_initialized;
-extern Lisp_Object Vshell_file_name;
-
#ifdef BOOT_TIME
static void get_boot_time_1 (char *, int);
#endif
questions asked by mouse commands. */
int use_file_dialog;
-extern Lisp_Object minibuf_window;
-extern Lisp_Object Vlocale_coding_system;
-extern int load_in_progress;
-
Lisp_Object Qstring_lessp, Qprovide, Qrequire;
Lisp_Object Qyes_or_no_p_history;
Lisp_Object Qcursor_in_echo_area;
Lisp_Object Qwidget_type;
Lisp_Object Qcodeset, Qdays, Qmonths, Qpaper;
-extern Lisp_Object Qinput_method_function;
-
static int internal_equal (Lisp_Object , Lisp_Object, int, int);
extern long get_random (void);
}
\f
Lisp_Object Vfeatures, Qsubfeatures;
-extern Lisp_Object Vafter_load_alist;
DEFUN ("featurep", Ffeaturep, Sfeaturep, 1, 2, 0,
doc: /* Returns t if FEATURE is present in this Emacs.
#include "nsterm.h"
#endif /* HAVE_NS */
-#ifdef HAVE_NS
-extern Lisp_Object Qfontsize;
-#endif
-
Lisp_Object Qopentype;
/* Important character set strings. */
return (for_face ? AREF (elt, 1) : AREF (elt, (i & 0xF) + 1));
}
-extern Lisp_Object Vface_alternative_font_family_alist;
-
-extern Lisp_Object find_font_encoding (Lisp_Object);
-
-
/* Return ENCODING or a cons of ENCODING and REPERTORY of the font
FONTNAME. ENCODING is a charset symbol that specifies the encoding
of the font. REPERTORY is a charset symbol or nil. */
/* Structure of known font property keys and validater of the
values. */
-struct
+static const struct
{
/* Pointer to the key symbol. */
Lisp_Object *key;
static Lisp_Object font_sort_entities (Lisp_Object, Lisp_Object,
Lisp_Object, int);
-/* Return a rescaling ratio of FONT_ENTITY. */
-extern Lisp_Object Vface_font_rescale_alist;
-
static double
font_rescale_ratio (Lisp_Object font_entity)
{
(2) doesn't match with any regexps in Vface_ignored_fonts (if non-nil).
*/
-extern Lisp_Object Vface_ignored_fonts;
-
Lisp_Object
font_delete_unmatched (Lisp_Object vec, Lisp_Object spec, int size)
{
ASET (Vfont_log_deferred, 2, result);
}
-extern void syms_of_ftfont (void);
-extern void syms_of_xfont (void);
-extern void syms_of_xftfont (void);
-extern void syms_of_ftxfont (void);
-extern void syms_of_bdffont (void);
-extern void syms_of_w32font (void);
-extern void syms_of_atmfont (void);
-extern void syms_of_nsfont (void);
-
void
syms_of_font (void)
{
/********** VARIABLES and FUNCTION PROTOTYPES **********/
-extern Lisp_Object Qfont;
static Lisp_Object Qfontset;
static Lisp_Object Qfontset_info;
static Lisp_Object Qprepend, Qappend;
If PREFERRED_FAMILY is not nil, that family has the higher priority
if the encoding charsets or languages in font-specs are the same. */
-extern Lisp_Object Fassoc_string (Lisp_Object, Lisp_Object, Lisp_Object);
-
static void
reorder_font_vector (Lisp_Object font_group, struct font *font)
{
ASET (arg, 4, script_range_list);
}
-extern Lisp_Object QCfamily, QCregistry;
static void update_auto_fontset_alist (Lisp_Object, Lisp_Object);
\f
Lisp_Object Vframe_list;
-extern Lisp_Object Vminibuffer_list;
-extern Lisp_Object get_minibuffer (int);
-extern Lisp_Object Fhandle_switch_frame (Lisp_Object event);
-extern Lisp_Object Fredirect_frame_focus (Lisp_Object frame, Lisp_Object focus_frame);
-extern Lisp_Object x_get_focus_frame (struct frame *frame);
-extern Lisp_Object QCname, Qfont_param;
-
\f
DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
doc: /* Return non-nil if OBJECT is a frame.
return 1;
}
-extern Lisp_Object Qrun_hook_with_args;
-
/* Delete FRAME. When FORCE equals Qnoelisp, delete FRAME
unconditionally. x_connection_closed and delete_terminal use
this. Any other value of FORCE implements the semantics
#ifdef HAVE_WINDOW_SYSTEM
-extern Lisp_Object Qbox;
-extern Lisp_Object Qtop;
-
/* Calculate fullscreen size. Return in *TOP_POS and *LEFT_POS the
wanted positions of the WM window (not Emacs window).
Return in *WIDTH and *HEIGHT the wanted width and height of Emacs
#ifdef HAVE_WINDOW_SYSTEM
-extern Lisp_Object Qfringe;
-extern Lisp_Object Qtop, Qbottom, Qcenter;
-extern Lisp_Object Qup, Qdown, Qleft, Qright;
-
/* Non-nil means that newline may flow into the right fringe. */
Lisp_Object Voverflow_newline_into_fringe;
must specify physical bitmap symbols.
*/
-extern Lisp_Object Qunknown;
Lisp_Object Qtruncation, Qcontinuation, Qoverlay_arrow;
Lisp_Object Qempty_line, Qtop_bottom;
-extern Lisp_Object Qbar, Qhbar, Qbox, Qhollow;
Lisp_Object Qhollow_small;
enum fringe_bitmap_align
{ NULL }
};
-extern Lisp_Object Qc, Qm, Qp, Qd;
-
/* Dirty hack for handing ADSTYLE property.
Fontconfig (actually the underlying FreeType) gives such ADSTYLE
ftfont_filter_properties, /* filter_properties */
};
-extern Lisp_Object QCname;
-
static Lisp_Object
ftfont_get_cache (FRAME_PTR f)
{
static int m17n_flt_initialized;
-extern Lisp_Object QCfamily;
-
static Lisp_Object
ftfont_shape_by_flt (Lisp_Object lgstring, struct font *font,
FT_Face ft_face, OTF *otf, FT_Matrix *matrix)
/* Update the tool bar for frame F. Add new buttons and remove old. */
-extern Lisp_Object Qx_gtk_map_stock;
-
void
update_frame_tool_bar (FRAME_PTR f)
{
return col;
}
\f
-extern Lisp_Object Qspace, QCwidth, QCalign_to;
/* Check the presence of a display property and compute its width.
If a property was found and its width was found as well, return
Lisp_Object Qselect_window;
Lisp_Object Qhelp_echo;
-extern Lisp_Object Qremap;
-
#if defined (HAVE_MOUSE) || defined (HAVE_GPM)
Lisp_Object Qmouse_fixup_help_message;
#endif
Lisp_Object Qvertical_line;
Lisp_Object Qvertical_scroll_bar;
Lisp_Object Qmenu_bar;
-extern Lisp_Object Qleft_margin, Qright_margin;
-extern Lisp_Object Qleft_fringe, Qright_fringe;
-extern Lisp_Object QCmap;
Lisp_Object recursive_edit_unwind (Lisp_Object buffer), command_loop (void);
Lisp_Object Fthis_command_keys (void);
/* Incremented whenever a timer is run. */
int timers_run;
-extern Lisp_Object Vprint_level, Vprint_length;
-
/* Address (if not 0) of EMACS_TIME to zero out if a SIGIO interrupt
happens. */
EMACS_TIME *input_available_clear_time;
to support it. */
static int cannot_suspend;
-extern Lisp_Object Qidentity, Qonly;
\f
/* Install the string STR as the beginning of the string of echoing,
so that it serves as a prompt for the next character.
`composition', `display' and `invisible' properties.
LAST_PT is the last position of point. */
-extern Lisp_Object get_pos_property (Lisp_Object, Lisp_Object, Lisp_Object);
-
static void
adjust_point_for_property (int last_pt, int modified)
{
...). Each element has the form (FUN . ARGS). */
Lisp_Object pending_funcalls;
-extern Lisp_Object Qapply;
-
/* Check whether a timer has fired. To prevent larger problems we simply
disregard elements that are not proper timers. Do not make a circular
timer list for the time being.
static int ntool_bar_items;
-/* The symbols `tool-bar', `:image' and `:rtl'. */
+/* The symbols `:image' and `:rtl'. */
-extern Lisp_Object Qtool_bar;
Lisp_Object QCimage;
Lisp_Object Qrtl;
register Lisp_Object final;
register Lisp_Object tem;
Lisp_Object prefixarg;
- extern int debug_on_next_call;
debug_on_next_call = 0;
/* Pre-allocated 2-element vector for Fcommand_remapping to use. */
static Lisp_Object command_remapping_vector;
-/* A char with the CHAR_META bit set in a vector or the 0200 bit set
- in a string key sequence is equivalent to prefixing with this
- character. */
-extern Lisp_Object meta_prefix_char;
-
/* 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. */
Lisp_Object Qweakness;
Lisp_Object Qrehash_size;
Lisp_Object Qrehash_threshold;
-extern Lisp_Object QCtest, QCsize, QCrehash_size, QCrehash_threshold, QCweakness;
Lisp_Object Qread_char, Qget_file_char, Qstandard_input, Qcurrent_load_list;
Lisp_Object Qvariable_documentation, Vvalues, Vstandard_input, Vafter_load_alist;
static Lisp_Object Qload_force_doc_strings;
-extern Lisp_Object Qevent_symbol_element_mask;
-extern Lisp_Object Qfile_exists_p;
-
/* non-zero if inside `load' */
int load_in_progress;
static Lisp_Object Qload_in_progress;
#define HAVE_BOXES 1
#endif
-/* The timestamp of the last input event Emacs received from the X server. */
-/* Defined in keyboard.c. */
-extern unsigned long last_event_timestamp;
-
-extern Lisp_Object QCtoggle, QCradio;
-
Lisp_Object menu_items;
/* If non-nil, means that the global vars defined here are already in use.
Lisp_Object Qtemp_buffer_setup_hook;
/* These are used to print like we read. */
-extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
Lisp_Object Vfloat_output_format, Qfloat_output_format;
#define PRINT_NUMBER_OBJECT(table,i) XVECTOR ((table))->contents[(i) * 2]
#define PRINT_NUMBER_STATUS(table,i) XVECTOR ((table))->contents[(i) * 2 + 1]
-/* Nonzero means print newline to stdout before next minibuffer message.
- Defined in xdisp.c */
-
-extern int noninteractive_need_newline;
-
void print_interval (INTERVAL interval, Lisp_Object printcharfun);
/* GDB resets this to zero on W32 to disable OutputDebugString calls. */
/* A flag to control printing of `charset' text property.
The default value is Qdefault. */
Lisp_Object Vprint_charset_text_property;
-extern Lisp_Object Qdefault;
static void print_check_string_charset_prop (INTERVAL interval, Lisp_Object string);
This does not clobber the match data.
We assume that STRING contains single-byte characters. */
-extern Lisp_Object Vascii_downcase_table;
-
int
fast_c_string_match_ignore_case (Lisp_Object regexp, const char *string)
{
/* Symbols. */
-extern Lisp_Object QCfile, QCdata;
Lisp_Object QCvolume, QCdevice;
Lisp_Object Qsound;
Lisp_Object Qplay_sound_functions;
Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command;
Lisp_Object Qwindow_size_fixed;
-extern Lisp_Object Qleft_margin, Qright_margin;
-
static int displayed_window_lines (struct window *);
static struct window *decode_window (Lisp_Object);
static int count_windows (struct window *);
static int inhibit_frame_unsplittable;
#endif /* 0 */
-extern EMACS_INT scroll_margin;
-
-extern Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
-
/* If non-nil, then the `recenter' command with a nil argument
the entire frame to be redrawn; the special value `tty' causes the
frame to be redrawn only if it is a tty frame. */
static Lisp_Object Vrecenter_redisplay;
-extern Lisp_Object Qtty;
\f
DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0,
#include "macros.h"
#include "disptab.h"
#include "termhooks.h"
+#include "termopts.h"
#include "intervals.h"
#include "coding.h"
#include "process.h"
#define INFINITY 10000000
-#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
- || defined(HAVE_NS) || defined (USE_GTK)
-extern void set_frame_menubar (struct frame *f, int, int);
-#endif
-
-extern int interrupt_input;
-extern int command_loop_level;
-
-extern Lisp_Object Vminibuffer_list;
-
-extern Lisp_Object Qface;
-extern Lisp_Object Qmode_line, Qmode_line_inactive, Qheader_line;
-
-extern Lisp_Object Qwhen;
-extern Lisp_Object Qhelp_echo;
-extern Lisp_Object Qbefore_string, Qafter_string;
-
Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
Lisp_Object Qwindow_text_change_functions, Vwindow_text_change_functions;
Lisp_Object Qcenter;
Lisp_Object Qmargin, Qpointer;
Lisp_Object Qline_height;
-extern Lisp_Object Qheight;
-extern Lisp_Object QCwidth, QCheight, QCascent;
-extern Lisp_Object Qscroll_bar;
-extern Lisp_Object Qcursor;
/* Non-nil means highlight trailing whitespace. */
Lisp_Object Vnobreak_char_display;
#ifdef HAVE_WINDOW_SYSTEM
-extern Lisp_Object Voverflow_newline_into_fringe;
/* Test if overflow newline into fringe. Called with iterator IT
at or past right window margin, and with IT->current_x set. */
Lisp_Object QCoverline, QCstrike_through, QCbox, QCinherit;
Lisp_Object QCfontset;
-/* Keywords symbols used for font properties. */
-extern Lisp_Object QCfoundry, QCadstyle, QCregistry;
-extern Lisp_Object QCspacing, QCsize, QCavgwidth;
-extern Lisp_Object Qp;
-
/* Symbols used for attribute values. */
Lisp_Object Qnormal, Qbold, Qultra_light, Qextra_light, Qlight;
Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe;
Lisp_Object Qheader_line, Qscroll_bar, Qcursor, Qborder, Qmouse, Qmenu;
Lisp_Object Qmode_line_inactive, Qvertical_border;
-extern Lisp_Object Qmode_line;
/* The symbol `face-alias'. A symbols having that property is an
alias for another face. Value of the property is the name of
Lisp_Object Qface_alias;
-extern Lisp_Object Qcircular_list;
-
/* Default stipple pattern used on monochrome displays. This stipple
pattern is used on monochrome displays instead of shades of gray
for a face background color. See `set-face-stipple' for possible
Lisp_Object Qcompound_text, Qcancel_timer;
Lisp_Object Qfont_param;
-/* In dispnew.c */
-
-extern Lisp_Object Vwindow_system_version;
-
-/* In editfns.c */
-
-extern Lisp_Object Vsystem_name;
-
-/* The below are defined in frame.c. */
-
-extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode;
-extern Lisp_Object Qtooltip;
-
#if GLYPH_DEBUG
int image_cache_refcount, dpyinfo_refcount;
#endif
NULL, /* filter_properties */
};
-extern Lisp_Object QCname;
-
static Lisp_Object
xfont_get_cache (FRAME_PTR f)
{
return (dpyinfo->name_list_element);
}
-extern Lisp_Object Vface_alternative_font_registry_alist;
-
static int
compare_font_names (const void *name1, const void *name2)
{
/* Re-usable vector to store characteristic font properites. */
static Lisp_Object xfont_scratch_props;
-extern Lisp_Object Qlatin;
-
/* Return a list of scripts supported by the font of FONTNAME whose
characteristic properties are in PROPS and whose encoding charset
is ENCODING. A caller must call BLOCK_INPUT in advance. */
return scripts;
}
-extern Lisp_Object Vscalable_fonts_allowed;
-
static Lisp_Object
xfont_list_pattern (Display *display, char *pattern,
Lisp_Object registry, Lisp_Object script)
return list;
}
-extern Lisp_Object QCavgwidth;
-
static Lisp_Object
xfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
{
return entity;
}
-extern Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object);
-extern FcCharSet *ftfont_get_fc_charset (Lisp_Object);
-extern Lisp_Object QCantialias;
-
static FcChar8 ascii_printable[95];
static void
}
}
-extern Lisp_Object Qja, Qko;
-
static int
xftfont_has_char (Lisp_Object font, int c)
{
Lisp_Object Qdebug_on_next_call;
-extern Lisp_Object Qmenu_bar;
-
-extern Lisp_Object QCtoggle, QCradio;
-
-extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
-
-extern Lisp_Object Qmenu_bar_update_hook;
-
-#ifdef USE_X_TOOLKIT
-extern void set_frame_menubar (FRAME_PTR, int, int);
-extern XtAppContext Xt_app_con;
-
-static Lisp_Object xdialog_show (FRAME_PTR, int, Lisp_Object, Lisp_Object,
- char **);
-static void popup_get_selection (XEvent *, struct x_display_info *,
- LWLIB_ID, int);
-#endif /* USE_X_TOOLKIT */
-
-#ifdef USE_GTK
-extern void set_frame_menubar (FRAME_PTR, int, int);
+#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
static Lisp_Object xdialog_show (FRAME_PTR, int, Lisp_Object, Lisp_Object,
char **);
#endif
static int next_menubar_widget_id;
-/* For NS and NTGUI, these prototypes are defined in keyboard.h. */
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
extern widget_value *xmalloc_widget_value (void);
extern widget_value *digest_single_submenu (int, int, int);
static int x_noop_count;
-/* Initial values of argv and argc. */
-
-extern char **initial_argv;
-extern int initial_argc;
-
-extern Lisp_Object Vcommand_line_args, Vsystem_name;
-
-/* Tells if a window manager is present or not. */
-
-extern Lisp_Object Vx_no_window_manager;
-
-extern Lisp_Object Qeql;
-
-/* A mask of extra modifier bits to put into every keyboard char. */
-
-extern EMACS_INT extra_keyboard_modifiers;
-
/* The keysyms to use for the various modifiers. */
Lisp_Object Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym, Vx_super_keysym;
/* Used in x_flush. */
-extern Lisp_Object Vinhibit_redisplay;
-
extern XrmDatabase x_load_resources (Display *, const char *, const char *,
const char *);
extern int x_bitmap_mask (FRAME_PTR, int);