ptrdiff_t size;
} f_reloc_t;
-sigset_t saved_sigset;
-
static f_reloc_t freloc;
#define NUM_CAST_TYPES 15
static comp_t comp;
-FILE *logfile = NULL;
+static FILE *logfile;
/* This is used for serialized objects by the reload mechanism. */
typedef struct {
*/
void helper_unwind_protect (Lisp_Object handler);
-Lisp_Object helper_temp_output_buffer_setup (Lisp_Object x);
Lisp_Object helper_unbind_n (Lisp_Object n);
void helper_save_restriction (void);
bool helper_PSEUDOVECTOR_TYPEP_XUNTAG (Lisp_Object a, enum pvec_type code);
/* Note: helper_link_table must match the list created by
`declare_runtime_imported_funcs'. */
-void *helper_link_table[] =
+static void *helper_link_table[] =
{ wrong_type_argument,
helper_PSEUDOVECTOR_TYPEP_XUNTAG,
pure_write_error,
handler);
}
-Lisp_Object
-helper_temp_output_buffer_setup (Lisp_Object x)
-{
- CHECK_STRING (x);
- temp_output_buffer_setup (SSDATA (x));
- return Vstandard_output;
-}
-
Lisp_Object
helper_unbind_n (Lisp_Object n)
{
/* Ignore HT and return a hash code for KEY which uses 'equal' to compare keys.
The hash code is at most INTMASK. */
-Lisp_Object
+static Lisp_Object
hashfn_equal (Lisp_Object key, struct Lisp_Hash_Table *h)
{
return make_ufixnum (sxhash (key));
/* Ignore HT and return a hash code for KEY which uses 'eql' to compare keys.
The hash code is at most INTMASK. */
-Lisp_Object
+static Lisp_Object
hashfn_eql (Lisp_Object key, struct Lisp_Hash_Table *h)
{
return (FLOATP (key) || BIGNUMP (key) ? hashfn_equal : hashfn_eq) (key, h);
* additionally limit the minimum frame height to a value large enough
* to support menu bar, tab bar, mode line and echo area.
*/
-int
+static int
frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal,
Lisp_Object ignore, Lisp_Object pixelwise)
{
extern void adjust_frame_size (struct frame *, int, int, int, bool,
Lisp_Object);
extern Lisp_Object mouse_position (bool);
-extern int frame_windows_min_size (Lisp_Object, Lisp_Object, Lisp_Object,
- Lisp_Object);
extern void frame_size_history_plain (struct frame *, Lisp_Object);
extern void frame_size_history_extra (struct frame *, Lisp_Object,
int, int, int, int, int, int);
/* Initialize global GnuTLS state to defaults.
Call 'gnutls-global-deinit' when GnuTLS usage is no longer needed.
Return zero on success. */
-Lisp_Object
+static Lisp_Object
emacs_gnutls_global_init (void)
{
int ret = GNUTLS_E_SUCCESS;
extern int w32_gnutls_rnd (gnutls_rnd_level_t, void *, size_t);
#endif
extern Lisp_Object emacs_gnutls_deinit (Lisp_Object);
-extern Lisp_Object emacs_gnutls_global_init (void);
extern int gnutls_try_handshake (struct Lisp_Process *p);
extern Lisp_Object gnutls_verify_boot (Lisp_Object proc, Lisp_Object proplist);
extern char *extract_data_from_object (Lisp_Object, ptrdiff_t *, ptrdiff_t *);
EMACS_UINT hash_string (char const *, ptrdiff_t);
EMACS_UINT sxhash (Lisp_Object);
-Lisp_Object hashfn_eql (Lisp_Object, struct Lisp_Hash_Table *);
-Lisp_Object hashfn_equal (Lisp_Object, struct Lisp_Hash_Table *);
Lisp_Object hashfn_user_defined (Lisp_Object, struct Lisp_Hash_Table *);
Lisp_Object make_hash_table (struct hash_table_test, EMACS_INT, float, float,
Lisp_Object, bool);
minibuffer recursions are encountered. */
Lisp_Object Vminibuffer_list;
-Lisp_Object Vcommand_loop_level_list;
+static Lisp_Object Vcommand_loop_level_list;
/* Data to remember during recursive minibuffer invocations. */
/* Indexed by syntax code, give the letter that describes it. */
-char const syntax_code_spec[16] =
+static char const syntax_code_spec[16] =
{
' ', '.', 'w', '_', '(', ')', '\'', '\"', '$', '\\', '/', '<', '>', '@',
'!', '|'
extern unsigned char const syntax_spec_code[0400];
-/* Indexed by syntax code, give the letter that describes it. */
-
-extern char const syntax_code_spec[16];
-
/* Convert the byte offset BYTEPOS into a character position,
for the object recorded in gl_state with SETUP_SYNTAX_TABLE_FOR_OBJECT.
extern bool list4_to_timespec (Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object, struct timespec *);
extern struct timespec lisp_time_argument (Lisp_Object);
-extern AVOID time_overflow (void);
extern double float_time (Lisp_Object);
extern void init_timefns (void);
extern void syms_of_timefns (void);
}
/* Report that a time value is out of range for Emacs. */
-void
+static AVOID
time_overflow (void)
{
error ("Specified time is not representable");
#endif
}
+#ifdef HAVE_XRENDER
+# if !defined USE_CAIRO && (RENDER_MAJOR > 0 || RENDER_MINOR >= 2)
+static void
+x_xrender_color_from_gc_foreground (struct frame *f, GC gc, XRenderColor *color,
+ bool apply_alpha_background)
+{
+ XGCValues xgcv;
+ XColor xc;
+
+ XGetGCValues (FRAME_X_DISPLAY (f), gc, GCForeground, &xgcv);
+ xc.pixel = xgcv.foreground;
+ x_query_colors (f, &xc, 1);
+
+ color->alpha = (apply_alpha_background
+ ? 65535 * f->alpha_background
+ : 65535);
+
+ if (color->alpha == 65535)
+ {
+ color->red = xc.red;
+ color->blue = xc.blue;
+ color->green = xc.green;
+ }
+ else
+ {
+ color->red = (xc.red * color->alpha) / 65535;
+ color->blue = (xc.blue * color->alpha) / 65535;
+ color->green = (xc.green * color->alpha) / 65535;
+ }
+}
+# endif
+
+void
+x_xrender_color_from_gc_background (struct frame *f, GC gc, XRenderColor *color,
+ bool apply_alpha_background)
+{
+ XGCValues xgcv;
+ XColor xc;
+
+ XGetGCValues (FRAME_X_DISPLAY (f), gc, GCBackground, &xgcv);
+ xc.pixel = xgcv.background;
+ x_query_colors (f, &xc, 1);
+
+ color->alpha = (apply_alpha_background
+ ? 65535 * f->alpha_background
+ : 65535);
+
+ if (color->alpha == 65535)
+ {
+ color->red = xc.red;
+ color->blue = xc.blue;
+ color->green = xc.green;
+ }
+ else
+ {
+ color->red = (xc.red * color->alpha) / 65535;
+ color->blue = (xc.blue * color->alpha) / 65535;
+ color->green = (xc.green * color->alpha) / 65535;
+ }
+}
+#endif
+
static void
x_fill_rectangle (struct frame *f, GC gc, int x, int y, int width, int height,
bool respect_alpha_background)
static void x_check_font (struct frame *, struct font *);
#endif
-void
+static void
x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time)
{
#ifndef USE_GTK
}
#endif
-#ifdef HAVE_XRENDER
-void
-x_xrender_color_from_gc_foreground (struct frame *f, GC gc, XRenderColor *color,
- bool apply_alpha_background)
-{
- XGCValues xgcv;
- XColor xc;
-
- XGetGCValues (FRAME_X_DISPLAY (f), gc, GCForeground, &xgcv);
- xc.pixel = xgcv.foreground;
- x_query_colors (f, &xc, 1);
-
- color->alpha = (apply_alpha_background
- ? 65535 * f->alpha_background
- : 65535);
-
- if (color->alpha == 65535)
- {
- color->red = xc.red;
- color->blue = xc.blue;
- color->green = xc.green;
- }
- else
- {
- color->red = (xc.red * color->alpha) / 65535;
- color->blue = (xc.blue * color->alpha) / 65535;
- color->green = (xc.green * color->alpha) / 65535;
- }
-}
-
-void
-x_xrender_color_from_gc_background (struct frame *f, GC gc, XRenderColor *color,
- bool apply_alpha_background)
-{
- XGCValues xgcv;
- XColor xc;
-
- XGetGCValues (FRAME_X_DISPLAY (f), gc, GCBackground, &xgcv);
- xc.pixel = xgcv.background;
- x_query_colors (f, &xc, 1);
-
- color->alpha = (apply_alpha_background
- ? 65535 * f->alpha_background
- : 65535);
-
- if (color->alpha == 65535)
- {
- color->red = xc.red;
- color->blue = xc.blue;
- color->green = xc.green;
- }
- else
- {
- color->red = (xc.red * color->alpha) / 65535;
- color->blue = (xc.blue * color->alpha) / 65535;
- color->green = (xc.green * color->alpha) / 65535;
- }
-}
-#endif
-
void
syms_of_xterm (void)
{
#endif
#ifdef HAVE_XRENDER
-extern void x_xrender_color_from_gc_foreground (struct frame *, GC,
- XRenderColor *, bool);
extern void x_xrender_color_from_gc_background (struct frame *, GC,
XRenderColor *, bool);
extern void x_xr_ensure_picture (struct frame *f);
extern void x_scroll_bar_configure (GdkEvent *);
#endif
-extern void x_display_set_last_user_time (struct x_display_info *, Time);
-
extern Lisp_Object x_dnd_begin_drag_and_drop (struct frame *, Time, Atom,
bool);
extern void x_set_dnd_targets (Atom *, int);