+2010-07-05 Dan Nicolaescu <dann@ics.uci.edu>
+ Juanma Barranquero <lekktu@gmail.com>
+
+ * buffer.c, cm.c, eval.c, keyboard.c, process.c, term.c, vm-limit.c,
+ * xdisp.c: Convert function definitions to standard C.
+
+ * cm.c (cmputc): Arg C is now int, not char.
+ * process.c (Fmake_network_process): Cast sockaddr_in* to sockaddr*.
+
2010-07-05 James Cloos <cloos@jhcloos.com>
* xterm.h (Xatom_net_wm_name, Xatom_net_wm_icon_name): New.
/* Lisp_Object Qlisp_mode, Vcheck_symbol; */
void
-nsberror (spec)
- Lisp_Object spec;
+nsberror (Lisp_Object spec)
{
if (STRINGP (spec))
error ("No buffer named %s", SDATA (spec));
and don't ever QUIT. */
static Lisp_Object
-assoc_ignore_text_properties (key, list)
- register Lisp_Object key;
- Lisp_Object list;
+assoc_ignore_text_properties (register Lisp_Object key, Lisp_Object list)
{
register Lisp_Object tail;
for (tail = list; CONSP (tail); tail = XCDR (tail))
}
Lisp_Object
-get_truename_buffer (filename)
- register Lisp_Object filename;
+get_truename_buffer (register Lisp_Object filename)
{
register Lisp_Object tail, buf, tem;
LIST, but for buffer B. */
static struct Lisp_Overlay *
-copy_overlays (b, list)
- struct buffer *b;
- struct Lisp_Overlay *list;
+copy_overlays (struct buffer *b, struct Lisp_Overlay *list)
{
Lisp_Object buffer;
struct Lisp_Overlay *result = NULL, *tail = NULL;
copied. */
static void
-clone_per_buffer_values (from, to)
- struct buffer *from, *to;
+clone_per_buffer_values (struct buffer *from, struct buffer *to)
{
Lisp_Object to_buffer;
int offset;
}
void
-delete_all_overlays (b)
- struct buffer *b;
+delete_all_overlays (struct buffer *b)
{
Lisp_Object overlay;
claims it doesn't belong to it. */
void
-reset_buffer (b)
- register struct buffer *b;
+reset_buffer (register struct buffer *b)
{
b->filename = Qnil;
b->file_truename = Qnil;
we preserve those. */
static void
-reset_buffer_local_variables (b, permanent_too)
- register struct buffer *b;
- int permanent_too;
+reset_buffer_local_variables (register struct buffer *b, int permanent_too)
{
register int offset;
int i;
in special slots in the buffer object. */
static Lisp_Object
-buffer_lisp_local_variables (buf)
- struct buffer *buf;
+buffer_lisp_local_variables (struct buffer *buf)
{
Lisp_Object result = Qnil;
register Lisp_Object tail;
(buffer, visible_ok, frame)
register Lisp_Object buffer, visible_ok, frame;
{
- Lisp_Object Fset_buffer_major_mode ();
+ Lisp_Object Fset_buffer_major_mode (Lisp_Object buffer);
register Lisp_Object tail, buf, notsogood, tem, pred, add_ons;
notsogood = Qnil;
means that other_buffer is more likely to choose a relevant buffer. */
void
-record_buffer (buf)
- Lisp_Object buf;
+record_buffer (Lisp_Object buf)
{
register Lisp_Object link, prev;
Lisp_Object frame;
If NORECORD is non-nil, don't call record_buffer. */
Lisp_Object
-switch_to_buffer_1 (buffer_or_name, norecord)
- Lisp_Object buffer_or_name, norecord;
+switch_to_buffer_1 (Lisp_Object buffer_or_name, Lisp_Object norecord)
{
register Lisp_Object buffer;
time, and that increments windows_or_buffers_changed. */
void
-set_buffer_internal (b)
- register struct buffer *b;
+set_buffer_internal (register struct buffer *b)
{
if (current_buffer != b)
set_buffer_internal_1 (b);
This is used by redisplay. */
void
-set_buffer_internal_1 (b)
- register struct buffer *b;
+set_buffer_internal_1 (register struct buffer *b)
{
register struct buffer *old_buf;
register Lisp_Object tail;
This avoids certain things that don't need to be done within redisplay. */
void
-set_buffer_temp (b)
- struct buffer *b;
+set_buffer_temp (struct buffer *b)
{
register struct buffer *old_buf;
/* Set the current buffer to BUFFER provided it is alive. */
Lisp_Object
-set_buffer_if_live (buffer)
- Lisp_Object buffer;
+set_buffer_if_live (Lisp_Object buffer)
{
if (! NILP (XBUFFER (buffer)->name))
Fset_buffer (buffer);
}
void
-validate_region (b, e)
- register Lisp_Object *b, *e;
+validate_region (register Lisp_Object *b, register Lisp_Object *e)
{
CHECK_NUMBER_COERCE_MARKER (*b);
CHECK_NUMBER_COERCE_MARKER (*e);
and return the adjusted position. */
static int
-advance_to_char_boundary (byte_pos)
- int byte_pos;
+advance_to_char_boundary (int byte_pos)
{
int c;
for their current values. */
static void
-swap_out_buffer_local_variables (b)
- struct buffer *b;
+swap_out_buffer_local_variables (struct buffer *b)
{
Lisp_Object oalist, alist, buffer;
default (BEGV or ZV). */
int
-overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr, change_req)
- EMACS_INT pos;
- int extend;
- Lisp_Object **vec_ptr;
- int *len_ptr;
- EMACS_INT *next_ptr;
- EMACS_INT *prev_ptr;
- int change_req;
+overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, int *len_ptr,
+ EMACS_INT *next_ptr, EMACS_INT *prev_ptr, int change_req)
{
Lisp_Object overlay, start, end;
struct Lisp_Overlay *tail;
But we still return the total number of overlays. */
static int
-overlays_in (beg, end, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
- int beg, end;
- int extend;
- Lisp_Object **vec_ptr;
- int *len_ptr;
- int *next_ptr;
- int *prev_ptr;
+overlays_in (int beg, int end, int extend, Lisp_Object **vec_ptr, int *len_ptr,
+ int *next_ptr, int *prev_ptr)
{
Lisp_Object overlay, ostart, oend;
struct Lisp_Overlay *tail;
`mouse-face' property overlapping OVERLAY. */
int
-mouse_face_overlay_overlaps (overlay)
- Lisp_Object overlay;
+mouse_face_overlay_overlaps (Lisp_Object overlay)
{
int start = OVERLAY_POSITION (OVERLAY_START (overlay));
int end = OVERLAY_POSITION (OVERLAY_END (overlay));
\f
/* Fast function to just test if we're at an overlay boundary. */
int
-overlay_touches_p (pos)
- int pos;
+overlay_touches_p (int pos)
{
Lisp_Object overlay;
struct Lisp_Overlay *tail;
};
static int
-compare_overlays (v1, v2)
- const void *v1, *v2;
+compare_overlays (const void *v1, const void *v2)
{
const struct sortvec *s1 = (const struct sortvec *) v1;
const struct sortvec *s2 = (const struct sortvec *) v2;
The return value is the new size; this may be smaller than the original
size if some of the overlays were invalid or were window-specific. */
int
-sort_overlays (overlay_vec, noverlays, w)
- Lisp_Object *overlay_vec;
- int noverlays;
- struct window *w;
+sort_overlays (Lisp_Object *overlay_vec, int noverlays, struct window *w)
{
int i, j;
struct sortvec *sortvec;
/* A comparison function suitable for passing to qsort. */
static int
-cmp_for_strings (as1, as2)
- char *as1, *as2;
+cmp_for_strings (const void *as1, const void *as2)
{
struct sortstr *s1 = (struct sortstr *)as1;
struct sortstr *s2 = (struct sortstr *)as2;
}
static void
-record_overlay_string (ssl, str, str2, pri, size)
- struct sortstrlist *ssl;
- Lisp_Object str, str2, pri;
- int size;
+record_overlay_string (struct sortstrlist *ssl, Lisp_Object str, Lisp_Object str2, Lisp_Object pri, int size)
{
int nbytes;
subsequent calls. */
int
-overlay_strings (pos, w, pstr)
- EMACS_INT pos;
- struct window *w;
- unsigned char **pstr;
+overlay_strings (EMACS_INT pos, struct window *w, unsigned char **pstr)
{
Lisp_Object overlay, window, str;
struct Lisp_Overlay *ov;
/* Shift overlays in BUF's overlay lists, to center the lists at POS. */
void
-recenter_overlay_lists (buf, pos)
- struct buffer *buf;
- EMACS_INT pos;
+recenter_overlay_lists (struct buffer *buf, EMACS_INT pos)
{
Lisp_Object overlay, beg, end;
struct Lisp_Overlay *prev, *tail, *next;
}
void
-adjust_overlays_for_insert (pos, length)
- EMACS_INT pos;
- EMACS_INT length;
+adjust_overlays_for_insert (EMACS_INT pos, EMACS_INT length)
{
/* After an insertion, the lists are still sorted properly,
but we may need to update the value of the overlay center. */
}
void
-adjust_overlays_for_delete (pos, length)
- EMACS_INT pos;
- EMACS_INT length;
+adjust_overlays_for_delete (EMACS_INT pos, EMACS_INT length)
{
if (current_buffer->overlay_center < pos)
/* The deletion was to our right. No change needed; the before- and
Such an overlay might even have negative size at this point.
If so, we'll make the overlay empty. */
void
-fix_start_end_in_overlays (start, end)
- register int start, end;
+fix_start_end_in_overlays (register int start, register int end)
{
Lisp_Object overlay;
struct Lisp_Overlay *before_list, *after_list;
was at PREV, and now is at POS. */
void
-fix_overlays_before (bp, prev, pos)
- struct buffer *bp;
- EMACS_INT prev, pos;
+fix_overlays_before (struct buffer *bp, EMACS_INT prev, EMACS_INT pos)
{
/* If parent is nil, replace overlays_before; otherwise, parent->next. */
struct Lisp_Overlay *tail = bp->overlays_before, *parent = NULL, *right_pair;
/* Mark a section of BUF as needing redisplay because of overlays changes. */
static void
-modify_overlay (buf, start, end)
- struct buffer *buf;
- EMACS_INT start, end;
+modify_overlay (struct buffer *buf, EMACS_INT start, EMACS_INT end)
{
if (start > end)
{
}
\f
-Lisp_Object Fdelete_overlay ();
+Lisp_Object Fdelete_overlay (Lisp_Object overlay);
static struct Lisp_Overlay *
-unchain_overlay (list, overlay)
- struct Lisp_Overlay *list, *overlay;
+unchain_overlay (struct Lisp_Overlay *list, struct Lisp_Overlay *overlay)
{
struct Lisp_Overlay *tmp, *prev;
for (tmp = list, prev = NULL; tmp; prev = tmp, tmp = tmp->next)
to the end of last_overlay_modification_hooks. */
static void
-add_overlay_mod_hooklist (functionlist, overlay)
- Lisp_Object functionlist, overlay;
+add_overlay_mod_hooklist (Lisp_Object functionlist, Lisp_Object overlay)
{
int oldsize = XVECTOR (last_overlay_modification_hooks)->size;
and the length of deleted or replaced old text. */
void
-report_overlay_modification (start, end, after, arg1, arg2, arg3)
- Lisp_Object start, end;
- int after;
- Lisp_Object arg1, arg2, arg3;
+report_overlay_modification (Lisp_Object start, Lisp_Object end, int after,
+ Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3)
{
Lisp_Object prop, overlay;
struct Lisp_Overlay *tail;
}
static void
-call_overlay_mod_hooks (list, overlay, after, arg1, arg2, arg3)
- Lisp_Object list, overlay;
- int after;
- Lisp_Object arg1, arg2, arg3;
+call_overlay_mod_hooks (Lisp_Object list, Lisp_Object overlay, int after,
+ Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3)
{
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
/* Delete any zero-sized overlays at position POS, if the `evaporate'
property is set. */
void
-evaporate_overlays (pos)
- EMACS_INT pos;
+evaporate_overlays (EMACS_INT pos)
{
Lisp_Object overlay, hit_list;
struct Lisp_Overlay *tail;
in the slot with offset OFFSET. */
void
-buffer_slot_type_mismatch (newval, type)
- Lisp_Object newval;
- int type;
+buffer_slot_type_mismatch (Lisp_Object newval, int type)
{
Lisp_Object predicate;
/* Allocate NBYTES bytes for buffer B's text buffer. */
static void
-alloc_buffer_text (b, nbytes)
- struct buffer *b;
- size_t nbytes;
+alloc_buffer_text (struct buffer *b, size_t nbytes)
{
POINTER_TYPE *p;
/* Free buffer B's text buffer. */
static void
-free_buffer_text (b)
- struct buffer *b;
+free_buffer_text (struct buffer *b)
{
BLOCK_INPUT;
***********************************************************************/
void
-init_buffer_once ()
+init_buffer_once (void)
{
int idx;
}
void
-init_buffer ()
+init_buffer (void)
{
char *pwd;
Lisp_Object temp;
} while (0)
static void
-defvar_per_buffer (bo_fwd, namestring, address, type, doc)
- struct Lisp_Buffer_Objfwd *bo_fwd;
- char *namestring;
- Lisp_Object *address;
- Lisp_Object type;
- char *doc;
+defvar_per_buffer (struct Lisp_Buffer_Objfwd *bo_fwd, char *namestring,
+ Lisp_Object *address, Lisp_Object type, char *doc)
{
struct Lisp_Symbol *sym;
int offset;
/* initialize the buffer routines */
void
-syms_of_buffer ()
+syms_of_buffer (void)
{
staticpro (&last_overlay_modification_hooks);
last_overlay_modification_hooks
}
void
-keys_of_buffer ()
+keys_of_buffer (void)
{
initial_define_key (control_x_map, 'b', "switch-to-buffer");
initial_define_key (control_x_map, 'k', "kill-buffer");
/* ARGSUSED */
int
-evalcost (c)
- int c;
+evalcost (int c)
{
cost++;
return c;
struct tty_display_info *current_tty;
int
-cmputc (c)
- char c;
+cmputc (int c)
{
if (current_tty->termscript)
putc (c & 0177, current_tty->termscript);
#define USECR 3
void
-cmgoto (tty, row, col)
- struct tty_display_info *tty;
- int row, col;
+cmgoto (struct tty_display_info *tty, int row, int col)
{
int homecost,
crcost,
/* "gcc -O3" enables automatic function inlining, which optimizes out
the arguments for the invocations of these functions, whereas they
expect these values on the stack. */
-Lisp_Object apply1 () __attribute__((noinline));
-Lisp_Object call2 () __attribute__((noinline));
+Lisp_Object apply1 (Lisp_Object fn, Lisp_Object arg) __attribute__((noinline));
+Lisp_Object call2 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2) __attribute__((noinline));
#endif
\f
void
-init_eval_once ()
+init_eval_once (void)
{
specpdl_size = 50;
specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct specbinding));
}
void
-init_eval ()
+init_eval (void)
{
specpdl_ptr = specpdl;
catchlist = 0;
/* unwind-protect function used by call_debugger. */
static Lisp_Object
-restore_stack_limits (data)
- Lisp_Object data;
+restore_stack_limits (Lisp_Object data)
{
max_specpdl_size = XINT (XCAR (data));
max_lisp_eval_depth = XINT (XCDR (data));
/* Call the Lisp debugger, giving it argument ARG. */
Lisp_Object
-call_debugger (arg)
- Lisp_Object arg;
+call_debugger (Lisp_Object arg)
{
int debug_while_redisplaying;
int count = SPECPDL_INDEX ();
}
void
-do_debug_on_call (code)
- Lisp_Object code;
+do_debug_on_call (Lisp_Object code)
{
debug_on_next_call = 0;
backtrace_list->debug_on_exit = 1;
called is a built-in. */
int
-interactive_p (exclude_subrs_p)
- int exclude_subrs_p;
+interactive_p (int exclude_subrs_p)
{
struct backtrace *btp;
Lisp_Object fun;
/* Error handler used in Fuser_variable_p. */
static Lisp_Object
-user_variable_p_eh (ignore)
- Lisp_Object ignore;
+user_variable_p_eh (Lisp_Object ignore)
{
return Qnil;
}
This is how catches are done from within C code. */
Lisp_Object
-internal_catch (tag, func, arg)
- Lisp_Object tag;
- Lisp_Object (*func) ();
- Lisp_Object arg;
+internal_catch (Lisp_Object tag, Lisp_Object (*func) (Lisp_Object), Lisp_Object arg)
{
/* This structure is made part of the chain `catchlist'. */
struct catchtag c;
This is used for correct unwinding in Fthrow and Fsignal. */
static void
-unwind_to_catch (catch, value)
- struct catchtag *catch;
- Lisp_Object value;
+unwind_to_catch (struct catchtag *catch, Lisp_Object value)
{
register int last_time;
rather than passed in a list. Used by Fbyte_code. */
Lisp_Object
-internal_lisp_condition_case (var, bodyform, handlers)
- volatile Lisp_Object var;
- Lisp_Object bodyform, handlers;
+internal_lisp_condition_case (volatile Lisp_Object var, Lisp_Object bodyform,
+ Lisp_Object handlers)
{
Lisp_Object val;
struct catchtag c;
but allow the debugger to run if that is enabled. */
Lisp_Object
-internal_condition_case (bfun, handlers, hfun)
- Lisp_Object (*bfun) ();
- Lisp_Object handlers;
- Lisp_Object (*hfun) ();
+internal_condition_case (Lisp_Object (*bfun) (void), Lisp_Object handlers,
+ Lisp_Object (*hfun) (Lisp_Object))
{
Lisp_Object val;
struct catchtag c;
/* Like internal_condition_case but call BFUN with ARG as its argument. */
Lisp_Object
-internal_condition_case_1 (bfun, arg, handlers, hfun)
- Lisp_Object (*bfun) ();
- Lisp_Object arg;
- Lisp_Object handlers;
- Lisp_Object (*hfun) ();
+internal_condition_case_1 (Lisp_Object (*bfun) (Lisp_Object), Lisp_Object arg,
+ Lisp_Object handlers, Lisp_Object (*hfun) (Lisp_Object))
{
Lisp_Object val;
struct catchtag c;
Used for anything but Qquit (which can return from Fsignal). */
void
-xsignal (error_symbol, data)
- Lisp_Object error_symbol, data;
+xsignal (Lisp_Object error_symbol, Lisp_Object data)
{
Fsignal (error_symbol, data);
abort ();
/* Like xsignal, but takes 0, 1, 2, or 3 args instead of a list. */
void
-xsignal0 (error_symbol)
- Lisp_Object error_symbol;
+xsignal0 (Lisp_Object error_symbol)
{
xsignal (error_symbol, Qnil);
}
void
-xsignal1 (error_symbol, arg)
- Lisp_Object error_symbol, arg;
+xsignal1 (Lisp_Object error_symbol, Lisp_Object arg)
{
xsignal (error_symbol, list1 (arg));
}
void
-xsignal2 (error_symbol, arg1, arg2)
- Lisp_Object error_symbol, arg1, arg2;
+xsignal2 (Lisp_Object error_symbol, Lisp_Object arg1, Lisp_Object arg2)
{
xsignal (error_symbol, list2 (arg1, arg2));
}
void
-xsignal3 (error_symbol, arg1, arg2, arg3)
- Lisp_Object error_symbol, arg1, arg2, arg3;
+xsignal3 (Lisp_Object error_symbol, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3)
{
xsignal (error_symbol, list3 (arg1, arg2, arg3));
}
If ARG is not a genuine list, make it a one-element list. */
void
-signal_error (s, arg)
- char *s;
- Lisp_Object arg;
+signal_error (char *s, Lisp_Object arg)
{
Lisp_Object tortoise, hare;
a list containing one of CONDITIONS. */
static int
-wants_debugger (list, conditions)
- Lisp_Object list, conditions;
+wants_debugger (Lisp_Object list, Lisp_Object conditions)
{
if (NILP (list))
return 0;
according to debugger-ignored-errors. */
static int
-skip_debugger (conditions, data)
- Lisp_Object conditions, data;
+skip_debugger (Lisp_Object conditions, Lisp_Object data)
{
Lisp_Object tail;
int first_string = 1;
SIG and DATA describe the signal, as in find_handler_clause. */
static int
-maybe_call_debugger (conditions, sig, data)
- Lisp_Object conditions, sig, data;
+maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data)
{
Lisp_Object combined_data;
a second error here in case we're handling specpdl overflow. */
static Lisp_Object
-find_handler_clause (handlers, conditions, sig, data)
- Lisp_Object handlers, conditions, sig, data;
+find_handler_clause (Lisp_Object handlers, Lisp_Object conditions,
+ Lisp_Object sig, Lisp_Object data)
{
register Lisp_Object h;
register Lisp_Object tem;
}
Lisp_Object
-un_autoload (oldqueue)
- Lisp_Object oldqueue;
+un_autoload (Lisp_Object oldqueue)
{
register Lisp_Object queue, first, second;
FUNDEF is the autoload definition (a list). */
void
-do_autoload (fundef, funname)
- Lisp_Object fundef, funname;
+do_autoload (Lisp_Object fundef, Lisp_Object funname)
{
int count = SPECPDL_INDEX ();
Lisp_Object fun;
the function. We do this in the specific case of autoloading
because autoloading is not an explicit request "load this file",
but rather a request to "call this function".
-
+
The value saved here is to be restored into Vautoload_queue. */
record_unwind_protect (un_autoload, Vautoload_queue);
Vautoload_queue = Qt;
except that it isn't necessary to gcpro ARGS[0]. */
static Lisp_Object
-run_hook_with_args (nargs, args, cond)
- int nargs;
- Lisp_Object *args;
- enum run_hooks_condition cond;
+run_hook_with_args (int nargs, Lisp_Object *args, enum run_hooks_condition cond)
{
Lisp_Object sym, val, ret;
struct gcpro gcpro1, gcpro2, gcpro3;
except that it isn't necessary to gcpro ARGS[0]. */
Lisp_Object
-run_hook_list_with_args (funlist, nargs, args)
- Lisp_Object funlist;
- int nargs;
- Lisp_Object *args;
+run_hook_list_with_args (Lisp_Object funlist, int nargs, Lisp_Object *args)
{
Lisp_Object sym;
Lisp_Object val;
/* Run the hook HOOK, giving each function the two args ARG1 and ARG2. */
void
-run_hook_with_args_2 (hook, arg1, arg2)
- Lisp_Object hook, arg1, arg2;
+run_hook_with_args_2 (Lisp_Object hook, Lisp_Object arg1, Lisp_Object arg2)
{
Lisp_Object temp[3];
temp[0] = hook;
\f
/* Apply fn to arg */
Lisp_Object
-apply1 (fn, arg)
- Lisp_Object fn, arg;
+apply1 (Lisp_Object fn, Lisp_Object arg)
{
struct gcpro gcpro1;
/* Call function fn on no arguments */
Lisp_Object
-call0 (fn)
- Lisp_Object fn;
+call0 (Lisp_Object fn)
{
struct gcpro gcpro1;
/* Call function fn with 1 argument arg1 */
/* ARGSUSED */
Lisp_Object
-call1 (fn, arg1)
- Lisp_Object fn, arg1;
+call1 (Lisp_Object fn, Lisp_Object arg1)
{
struct gcpro gcpro1;
Lisp_Object args[2];
/* Call function fn with 2 arguments arg1, arg2 */
/* ARGSUSED */
Lisp_Object
-call2 (fn, arg1, arg2)
- Lisp_Object fn, arg1, arg2;
+call2 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2)
{
struct gcpro gcpro1;
Lisp_Object args[3];
/* Call function fn with 3 arguments arg1, arg2, arg3 */
/* ARGSUSED */
Lisp_Object
-call3 (fn, arg1, arg2, arg3)
- Lisp_Object fn, arg1, arg2, arg3;
+call3 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3)
{
struct gcpro gcpro1;
Lisp_Object args[4];
/* Call function fn with 4 arguments arg1, arg2, arg3, arg4 */
/* ARGSUSED */
Lisp_Object
-call4 (fn, arg1, arg2, arg3, arg4)
- Lisp_Object fn, arg1, arg2, arg3, arg4;
+call4 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3,
+ Lisp_Object arg4)
{
struct gcpro gcpro1;
Lisp_Object args[5];
/* Call function fn with 5 arguments arg1, arg2, arg3, arg4, arg5 */
/* ARGSUSED */
Lisp_Object
-call5 (fn, arg1, arg2, arg3, arg4, arg5)
- Lisp_Object fn, arg1, arg2, arg3, arg4, arg5;
+call5 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3,
+ Lisp_Object arg4, Lisp_Object arg5)
{
struct gcpro gcpro1;
Lisp_Object args[6];
/* Call function fn with 6 arguments arg1, arg2, arg3, arg4, arg5, arg6 */
/* ARGSUSED */
Lisp_Object
-call6 (fn, arg1, arg2, arg3, arg4, arg5, arg6)
- Lisp_Object fn, arg1, arg2, arg3, arg4, arg5, arg6;
+call6 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3,
+ Lisp_Object arg4, Lisp_Object arg5, Lisp_Object arg6)
{
struct gcpro gcpro1;
Lisp_Object args[7];
/* Call function fn with 7 arguments arg1, arg2, arg3, arg4, arg5, arg6, arg7 */
/* ARGSUSED */
Lisp_Object
-call7 (fn, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
- Lisp_Object fn, arg1, arg2, arg3, arg4, arg5, arg6, arg7;
+call7 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3,
+ Lisp_Object arg4, Lisp_Object arg5, Lisp_Object arg6, Lisp_Object arg7)
{
struct gcpro gcpro1;
Lisp_Object args[8];
}
\f
Lisp_Object
-apply_lambda (fun, args, eval_flag)
- Lisp_Object fun, args;
- int eval_flag;
+apply_lambda (Lisp_Object fun, Lisp_Object args, int eval_flag)
{
Lisp_Object args_left;
Lisp_Object numargs;
FUN must be either a lambda-expression or a compiled-code object. */
static Lisp_Object
-funcall_lambda (fun, nargs, arg_vector)
- Lisp_Object fun;
- int nargs;
- register Lisp_Object *arg_vector;
+funcall_lambda (Lisp_Object fun, int nargs, register Lisp_Object *arg_vector)
{
Lisp_Object val, syms_left, next;
int count = SPECPDL_INDEX ();
}
\f
void
-grow_specpdl ()
+grow_specpdl (void)
{
register int count = SPECPDL_INDEX ();
if (specpdl_size >= max_specpdl_size)
BUFFER did not yet have a buffer-local value). */
void
-specbind (symbol, value)
- Lisp_Object symbol, value;
+specbind (Lisp_Object symbol, Lisp_Object value)
{
struct Lisp_Symbol *sym;
}
void
-record_unwind_protect (function, arg)
- Lisp_Object (*function) (Lisp_Object);
- Lisp_Object arg;
+record_unwind_protect (Lisp_Object (*function) (Lisp_Object), Lisp_Object arg)
{
eassert (!handling_signal);
}
Lisp_Object
-unbind_to (count, value)
- int count;
- Lisp_Object value;
+unbind_to (int count, Lisp_Object value)
{
Lisp_Object quitf = Vquit_flag;
struct gcpro gcpro1, gcpro2;
\f
void
-mark_backtrace ()
+mark_backtrace (void)
{
register struct backtrace *backlist;
register int i;
}
void
-syms_of_eval ()
+syms_of_eval (void)
{
DEFVAR_INT ("max-specpdl-size", &max_specpdl_size,
doc: /* *Limit on number of Lisp variable bindings and `unwind-protect's.
/* Functions to access the contents of a bitmap, given an id. */
int
-x_bitmap_height (f, id)
- FRAME_PTR f;
- int id;
+x_bitmap_height (FRAME_PTR f, int id)
{
return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].height;
}
int
-x_bitmap_width (f, id)
- FRAME_PTR f;
- int id;
+x_bitmap_width (FRAME_PTR f, int id)
{
return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].width;
}
#if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI)
int
-x_bitmap_pixmap (f, id)
- FRAME_PTR f;
- int id;
+x_bitmap_pixmap (FRAME_PTR f, int id)
{
return (int) FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].pixmap;
}
#ifdef HAVE_X_WINDOWS
int
-x_bitmap_mask (f, id)
- FRAME_PTR f;
- int id;
+x_bitmap_mask (FRAME_PTR f, int id)
{
return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].mask;
}
/* Allocate a new bitmap record. Returns index of new record. */
static int
-x_allocate_bitmap_record (f)
- FRAME_PTR f;
+x_allocate_bitmap_record (FRAME_PTR f)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
int i;
/* Add one reference to the reference count of the bitmap with id ID. */
void
-x_reference_bitmap (f, id)
- FRAME_PTR f;
- int id;
+x_reference_bitmap (FRAME_PTR f, int id)
{
++FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].refcount;
}
/* Create a bitmap for frame F from a HEIGHT x WIDTH array of bits at BITS. */
int
-x_create_bitmap_from_data (f, bits, width, height)
- struct frame *f;
- char *bits;
- unsigned int width, height;
+x_create_bitmap_from_data (struct frame *f, char *bits, unsigned int width, unsigned int height)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
int id;
/* Create bitmap from file FILE for frame F. */
int
-x_create_bitmap_from_file (f, file)
- struct frame *f;
- Lisp_Object file;
+x_create_bitmap_from_file (struct frame *f, Lisp_Object file)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
/* Free bitmap B. */
static void
-free_bitmap_record (dpyinfo, bm)
- Display_Info *dpyinfo;
- Bitmap_Record *bm;
+free_bitmap_record (Display_Info *dpyinfo, Bitmap_Record *bm)
{
#ifdef HAVE_X_WINDOWS
XFreePixmap (dpyinfo->display, bm->pixmap);
/* Remove reference to bitmap with id number ID. */
void
-x_destroy_bitmap (f, id)
- FRAME_PTR f;
- int id;
+x_destroy_bitmap (FRAME_PTR f, int id)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
/* Free all the bitmaps for the display specified by DPYINFO. */
void
-x_destroy_all_bitmaps (dpyinfo)
- Display_Info *dpyinfo;
+x_destroy_all_bitmaps (Display_Info *dpyinfo)
{
int i;
Bitmap_Record *bm = dpyinfo->bitmaps;
It's nicer with some borders in this context */
int
-x_create_bitmap_mask (f, id)
- struct frame *f;
- int id;
+x_create_bitmap_mask (struct frame *f, int id)
{
Pixmap pixmap, mask;
XImagePtr ximg, mask_img;
image_types and caches the loading status of TYPE. */
static Lisp_Object
-define_image_type (type, loaded)
- struct image_type *type;
- int loaded;
+define_image_type (struct image_type *type, int loaded)
{
Lisp_Object success;
structure. Value is null if SYMBOL is not a known image type. */
static INLINE struct image_type *
-lookup_image_type (symbol)
- Lisp_Object symbol;
+lookup_image_type (Lisp_Object symbol)
{
struct image_type *type;
image type. */
int
-valid_image_p (object)
- Lisp_Object object;
+valid_image_p (Lisp_Object object)
{
int valid_p = 0;
therefore simply displays a message. */
static void
-image_error (format, arg1, arg2)
- char *format;
- Lisp_Object arg1, arg2;
+image_error (char *format, Lisp_Object arg1, Lisp_Object arg2)
{
add_to_log (format, arg1, arg2);
}
allowed keyword/value pairs. Value is non-zero if SPEC is valid. */
static int
-parse_image_spec (spec, keywords, nkeywords, type)
- Lisp_Object spec;
- struct image_keyword *keywords;
- int nkeywords;
- Lisp_Object type;
+parse_image_spec (Lisp_Object spec, struct image_keyword *keywords,
+ int nkeywords, Lisp_Object type)
{
int i;
Lisp_Object plist;
to 1 if KEY was found in SPEC, set it to 0 otherwise. */
static Lisp_Object
-image_spec_value (spec, key, found)
- Lisp_Object spec, key;
- int *found;
+image_spec_value (Lisp_Object spec, Lisp_Object key, int *found)
{
Lisp_Object tail;
SPEC. SPEC has a hash value of HASH. */
static struct image *
-make_image (spec, hash)
- Lisp_Object spec;
- unsigned hash;
+make_image (Lisp_Object spec, unsigned int hash)
{
struct image *img = (struct image *) xmalloc (sizeof *img);
Lisp_Object file = image_spec_value (spec, QCfile, NULL);
/* Free image IMG which was used on frame F, including its resources. */
static void
-free_image (f, img)
- struct frame *f;
- struct image *img;
+free_image (struct frame *f, struct image *img)
{
if (img)
{
otherwise, return 0. */
int
-check_image_size (f, width, height)
- struct frame *f;
- int width;
- int height;
+check_image_size (struct frame *f, int width, int height)
{
int w, h;
drawing an image. */
void
-prepare_image_for_display (f, img)
- struct frame *f;
- struct image *img;
+prepare_image_for_display (struct frame *f, struct image *img)
{
EMACS_TIME t;
drawn in face FACE. */
int
-image_ascent (img, face, slice)
- struct image *img;
- struct face *face;
- struct glyph_slice *slice;
+image_ascent (struct image *img, struct face *face, struct glyph_slice *slice)
{
int height;
int ascent;
On W32, XIMG is assumed to a device context with the bitmap selected. */
static RGB_PIXEL_COLOR
-four_corners_best (ximg, corners, width, height)
- XImagePtr_or_DC ximg;
- int *corners;
- unsigned long width, height;
+four_corners_best (XImagePtr_or_DC ximg, int *corners,
+ unsigned long width, unsigned long height)
{
RGB_PIXEL_COLOR corner_pixels[4], best;
int i, best_count;
use for the heuristic. */
RGB_PIXEL_COLOR
-image_background (img, f, ximg)
- struct image *img;
- struct frame *f;
- XImagePtr_or_DC ximg;
+image_background (struct image *img, struct frame *f, XImagePtr_or_DC ximg)
{
if (! img->background_valid)
/* IMG doesn't have a background yet, try to guess a reasonable value. */
existing XImage object to use for the heuristic. */
int
-image_background_transparent (img, f, mask)
- struct image *img;
- struct frame *f;
- XImagePtr_or_DC mask;
+image_background_transparent (struct image *img, struct frame *f, XImagePtr_or_DC mask)
{
if (! img->background_transparent_valid)
/* IMG doesn't have a background yet, try to guess a reasonable value. */
the image, if any. */
static void
-x_clear_image_1 (f, img, pixmap_p, mask_p, colors_p)
- struct frame *f;
- struct image *img;
- int pixmap_p, mask_p, colors_p;
+x_clear_image_1 (struct frame *f, struct image *img, int pixmap_p, int mask_p,
+ int colors_p)
{
if (pixmap_p && img->pixmap)
{
/* Free X resources of image IMG which is used on frame F. */
static void
-x_clear_image (f, img)
- struct frame *f;
- struct image *img;
+x_clear_image (struct frame *f, struct image *img)
{
BLOCK_INPUT;
x_clear_image_1 (f, img, 1, 1, 1);
color. */
static unsigned long
-x_alloc_image_color (f, img, color_name, dflt)
- struct frame *f;
- struct image *img;
- Lisp_Object color_name;
- unsigned long dflt;
+x_alloc_image_color (struct frame *f, struct image *img, Lisp_Object color_name,
+ unsigned long dflt)
{
XColor color;
unsigned long result;
heap. Call free_image_cache to free an image cache. */
struct image_cache *
-make_image_cache ()
+make_image_cache (void)
{
struct image_cache *c = (struct image_cache *) xmalloc (sizeof *c);
int size;
/* Find an image matching SPEC in the cache, and return it. If no
image is found, return NULL. */
static struct image *
-search_image_cache (f, spec, hash)
- struct frame *f;
- Lisp_Object spec;
- unsigned hash;
+search_image_cache (struct frame *f, Lisp_Object spec, unsigned int hash)
{
struct image *img;
struct image_cache *c = FRAME_IMAGE_CACHE (f);
/* Search frame F for an image with spec SPEC, and free it. */
static void
-uncache_image (f, spec)
- struct frame *f;
- Lisp_Object spec;
+uncache_image (struct frame *f, Lisp_Object spec)
{
struct image *img = search_image_cache (f, spec, sxhash (spec, 0));
if (img)
caches. */
void
-free_image_cache (f)
- struct frame *f;
+free_image_cache (struct frame *f)
{
struct image_cache *c = FRAME_IMAGE_CACHE (f);
if (c)
by the image's specification, */
static void
-postprocess_image (f, img)
- struct frame *f;
- struct image *img;
+postprocess_image (struct frame *f, struct image *img)
{
/* Manipulation of the image's mask. */
if (img->pixmap)
SPEC must be a valid Lisp image specification (see valid_image_p). */
int
-lookup_image (f, spec)
- struct frame *f;
- Lisp_Object spec;
+lookup_image (struct frame *f, Lisp_Object spec)
{
struct image_cache *c;
struct image *img;
/* Cache image IMG in the image cache of frame F. */
static void
-cache_image (f, img)
- struct frame *f;
- struct image *img;
+cache_image (struct frame *f, struct image *img)
{
struct image_cache *c = FRAME_IMAGE_CACHE (f);
int i;
/* Mark Lisp objects in image IMG. */
static void
-mark_image (img)
- struct image *img;
+mark_image (struct image *img)
{
mark_object (img->spec);
mark_object (img->dependencies);
should indicate the bit depth of the image. */
static int
-x_create_x_image_and_pixmap (f, width, height, depth, ximg, pixmap)
- struct frame *f;
- int width, height, depth;
- XImagePtr *ximg;
- Pixmap *pixmap;
+x_create_x_image_and_pixmap (struct frame *f, int width, int height, int depth,
+ XImagePtr *ximg, Pixmap *pixmap)
{
#ifdef HAVE_X_WINDOWS
Display *display = FRAME_X_DISPLAY (f);
/* Destroy XImage XIMG. Free XIMG->data. */
static void
-x_destroy_x_image (ximg)
- XImagePtr ximg;
+x_destroy_x_image (XImagePtr ximg)
{
xassert (interrupt_input_blocked);
if (ximg)
are width and height of both the image and pixmap. */
static void
-x_put_x_image (f, ximg, pixmap, width, height)
- struct frame *f;
- XImagePtr ximg;
- Pixmap pixmap;
- int width, height;
+x_put_x_image (struct frame *f, XImagePtr ximg, Pixmap pixmap, int width, int height)
{
#ifdef HAVE_X_WINDOWS
GC gc;
found, or nil if not found. */
Lisp_Object
-x_find_image_file (file)
- Lisp_Object file;
+x_find_image_file (Lisp_Object file)
{
Lisp_Object file_found, search_path;
struct gcpro gcpro1, gcpro2;
occurred. *SIZE is set to the size of the file. */
static unsigned char *
-slurp_file (file, size)
- char *file;
- int *size;
+slurp_file (char *file, int *size)
{
FILE *fp = NULL;
unsigned char *buf = NULL;
displayed is used. */
static int
-xbm_image_p (object)
- Lisp_Object object;
+xbm_image_p (Lisp_Object object)
{
struct image_keyword kw[XBM_LAST];
scanning a number, store its value in *IVAL. */
static int
-xbm_scan (s, end, sval, ival)
- unsigned char **s, *end;
- char *sval;
- int *ival;
+xbm_scan (unsigned char **s, unsigned char *end, char *sval, int *ival)
{
unsigned int c;
static void
-Create_Pixmap_From_Bitmap_Data (f, img, data, fg, bg, non_default_colors)
- struct frame *f;
- struct image *img;
- char *data;
- RGB_PIXEL_COLOR fg, bg;
- int non_default_colors;
+Create_Pixmap_From_Bitmap_Data (struct frame *f, struct image *img, char *data,
+ RGB_PIXEL_COLOR fg, RGB_PIXEL_COLOR bg,
+ int non_default_colors)
{
#ifdef HAVE_NTGUI
img->pixmap
invalid (the bitmap remains unread). */
static int
-xbm_read_bitmap_data (f, contents, end, width, height, data, inhibit_image_error)
- struct frame *f;
- unsigned char *contents, *end;
- int *width, *height;
- unsigned char **data;
- int inhibit_image_error;
+xbm_read_bitmap_data (struct frame *f, unsigned char *contents, unsigned char *end,
+ int *width, int *height, unsigned char **data,
+ int inhibit_image_error)
{
unsigned char *s = contents;
char buffer[BUFSIZ];
successful. */
static int
-xbm_load_image (f, img, contents, end)
- struct frame *f;
- struct image *img;
- unsigned char *contents, *end;
+xbm_load_image (struct frame *f, struct image *img, unsigned char *contents,
+ unsigned char *end)
{
int rc;
unsigned char *data;
/* Value is non-zero if DATA looks like an in-memory XBM file. */
static int
-xbm_file_p (data)
- Lisp_Object data;
+xbm_file_p (Lisp_Object data)
{
int w, h;
return (STRINGP (data)
non-zero if successful. */
static int
-xbm_load (f, img)
- struct frame *f;
- struct image *img;
+xbm_load (struct frame *f, struct image *img)
{
int success_p = 0;
Lisp_Object file_name;
/* Initialize the color cache. */
static void
-xpm_init_color_cache (f, attrs)
- struct frame *f;
- XpmAttributes *attrs;
+xpm_init_color_cache (struct frame *f, XpmAttributes *attrs)
{
size_t nbytes = XPM_COLOR_CACHE_BUCKETS * sizeof *xpm_color_cache;
xpm_color_cache = (struct xpm_cached_color **) xmalloc (nbytes);
/* Free the color cache. */
static void
-xpm_free_color_cache ()
+xpm_free_color_cache (void)
{
struct xpm_cached_color *p, *next;
int i;
cache. */
static int
-xpm_color_bucket (color_name)
- char *color_name;
+xpm_color_bucket (char *color_name)
{
unsigned h = 0;
char *s;
entry added. */
static struct xpm_cached_color *
-xpm_cache_color (f, color_name, color, bucket)
- struct frame *f;
- char *color_name;
- XColor *color;
- int bucket;
+xpm_cache_color (struct frame *f, char *color_name, XColor *color, int bucket)
{
size_t nbytes;
struct xpm_cached_color *p;
allocation failed. */
static int
-xpm_lookup_color (f, color_name, color)
- struct frame *f;
- char *color_name;
- XColor *color;
+xpm_lookup_color (struct frame *f, char *color_name, XColor *color)
{
struct xpm_cached_color *p;
int h = xpm_color_bucket (color_name);
if successful. */
static int
-xpm_alloc_color (dpy, cmap, color_name, color, closure)
- Display *dpy;
- Colormap cmap;
- char *color_name;
- XColor *color;
- void *closure;
+xpm_alloc_color (Display *dpy, Colormap cmap, char *color_name, XColor *color,
+ void *closure)
{
return xpm_lookup_color ((struct frame *) closure, color_name, color);
}
non-zero if successful. */
static int
-xpm_free_colors (dpy, cmap, pixels, npixels, closure)
- Display *dpy;
- Colormap cmap;
- Pixel *pixels;
- int npixels;
- void *closure;
+xpm_free_colors (Display *dpy, Colormap cmap, Pixel *pixels, int npixels, void *closure)
{
return 1;
}
cdr are strings. */
static int
-xpm_valid_color_symbols_p (color_symbols)
- Lisp_Object color_symbols;
+xpm_valid_color_symbols_p (Lisp_Object color_symbols)
{
while (CONSP (color_symbols))
{
/* Value is non-zero if OBJECT is a valid XPM image specification. */
static int
-xpm_image_p (object)
- Lisp_Object object;
+xpm_image_p (Lisp_Object object)
{
struct image_keyword fmt[XPM_LAST];
bcopy (xpm_format, fmt, sizeof fmt);
#if defined (HAVE_XPM) && defined (HAVE_X_WINDOWS)
int
-x_create_bitmap_from_xpm_data (f, bits)
- struct frame *f;
- char **bits;
+x_create_bitmap_from_xpm_data (struct frame *f, char **bits)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
int id, rc;
#ifdef HAVE_XPM
static int
-xpm_load (f, img)
- struct frame *f;
- struct image *img;
+xpm_load (struct frame *f, struct image *img)
{
int rc;
XpmAttributes attrs;
/* Initialize the color table. */
static void
-init_color_table ()
+init_color_table (void)
{
int size = CT_SIZE * sizeof (*ct_table);
ct_table = (struct ct_color **) xmalloc (size);
/* Free memory associated with the color table. */
static void
-free_color_table ()
+free_color_table (void)
{
int i;
struct ct_color *p, *next;
G, B, and make an entry in the color table. */
static unsigned long
-lookup_rgb_color (f, r, g, b)
- struct frame *f;
- int r, g, b;
+lookup_rgb_color (struct frame *f, int r, int g, int b)
{
unsigned hash = CT_HASH_RGB (r, g, b);
int i = hash % CT_SIZE;
table. If not already present, allocate it. Value is PIXEL. */
static unsigned long
-lookup_pixel_color (f, pixel)
- struct frame *f;
- unsigned long pixel;
+lookup_pixel_color (struct frame *f, unsigned long pixel)
{
int i = pixel % CT_SIZE;
struct ct_color *p;
allocated via xmalloc. Set *N to the number of colors. */
static unsigned long *
-colors_in_color_table (n)
- int *n;
+colors_in_color_table (int *n)
{
int i, j;
struct ct_color *p;
allocated with xmalloc; it must be freed by the caller. */
static XColor *
-x_to_xcolors (f, img, rgb_p)
- struct frame *f;
- struct image *img;
- int rgb_p;
+x_to_xcolors (struct frame *f, struct image *img, int rgb_p)
{
int x, y;
XColor *colors, *p;
COLORS will be freed; an existing IMG->pixmap will be freed, too. */
static void
-x_from_xcolors (f, img, colors)
- struct frame *f;
- struct image *img;
- XColor *colors;
+x_from_xcolors (struct frame *f, struct image *img, XColor *colors)
{
int x, y;
XImagePtr oimg = NULL;
outgoing image. */
static void
-x_detect_edges (f, img, matrix, color_adjust)
- struct frame *f;
- struct image *img;
- int matrix[9], color_adjust;
+x_detect_edges (struct frame *f, struct image *img, int *matrix, int color_adjust)
{
XColor *colors = x_to_xcolors (f, img, 1);
XColor *new, *p;
on frame F. */
static void
-x_emboss (f, img)
- struct frame *f;
- struct image *img;
+x_emboss (struct frame *f, struct image *img)
{
x_detect_edges (f, img, emboss_matrix, 0xffff / 2);
}
to draw disabled buttons, for example. */
static void
-x_laplace (f, img)
- struct frame *f;
- struct image *img;
+x_laplace (struct frame *f, struct image *img)
{
x_detect_edges (f, img, laplace_matrix, 45000);
}
number. */
static void
-x_edge_detection (f, img, matrix, color_adjust)
- struct frame *f;
- struct image *img;
- Lisp_Object matrix, color_adjust;
+x_edge_detection (struct frame *f, struct image *img, Lisp_Object matrix,
+ Lisp_Object color_adjust)
{
int i = 0;
int trans[9];
/* Transform image IMG on frame F so that it looks disabled. */
static void
-x_disable_image (f, img)
- struct frame *f;
- struct image *img;
+x_disable_image (struct frame *f, struct image *img)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
#ifdef HAVE_NTGUI
heuristically. Value is non-zero if successful. */
static int
-x_build_heuristic_mask (f, img, how)
- struct frame *f;
- struct image *img;
- Lisp_Object how;
+x_build_heuristic_mask (struct frame *f, struct image *img, Lisp_Object how)
{
XImagePtr_or_DC ximg;
#ifndef HAVE_NTGUI
/* Return non-zero if OBJECT is a valid PBM image specification. */
static int
-pbm_image_p (object)
- Lisp_Object object;
+pbm_image_p (Lisp_Object object)
{
struct image_keyword fmt[PBM_LAST];
end of input. */
static int
-pbm_scan_number (s, end)
- unsigned char **s, *end;
+pbm_scan_number (unsigned char **s, unsigned char *end)
{
int c = 0, val = -1;
/* Load PBM image IMG for use on frame F. */
static int
-pbm_load (f, img)
- struct frame *f;
- struct image *img;
+pbm_load (struct frame *f, struct image *img)
{
int raw_p, x, y;
int width, height, max_color_idx = 0;
/* Return non-zero if OBJECT is a valid PNG image specification. */
static int
-png_image_p (object)
- Lisp_Object object;
+png_image_p (Lisp_Object object)
{
struct image_keyword fmt[PNG_LAST];
bcopy (png_format, fmt, sizeof fmt);
is initialized. */
static void
-my_png_error (png_ptr, msg)
- png_struct *png_ptr;
- char *msg;
+my_png_error (png_struct *png_ptr, const char *msg)
{
xassert (png_ptr != NULL);
image_error ("PNG error: %s", build_string (msg), Qnil);
static void
-my_png_warning (png_ptr, msg)
- png_struct *png_ptr;
- char *msg;
+my_png_warning (png_struct *png_ptr, const char *msg)
{
xassert (png_ptr != NULL);
image_error ("PNG warning: %s", build_string (msg), Qnil);
bytes from the input to DATA. */
static void
-png_read_from_memory (png_ptr, data, length)
- png_structp png_ptr;
- png_bytep data;
- png_size_t length;
+png_read_from_memory (png_structp png_ptr, png_bytep data, png_size_t length)
{
struct png_memory_storage *tbr
= (struct png_memory_storage *) fn_png_get_io_ptr (png_ptr);
bytes from the input to DATA. */
static void
-png_read_from_file (png_ptr, data, length)
- png_structp png_ptr;
- png_bytep data;
- png_size_t length;
+png_read_from_file (png_structp png_ptr, png_bytep data, png_size_t length)
{
FILE *fp = (FILE *) fn_png_get_io_ptr (png_ptr);
successful. */
static int
-png_load (f, img)
- struct frame *f;
- struct image *img;
+png_load (struct frame *f, struct image *img)
{
Lisp_Object file, specified_file;
Lisp_Object specified_data;
/* Return non-zero if OBJECT is a valid JPEG image specification. */
static int
-jpeg_image_p (object)
- Lisp_Object object;
+jpeg_image_p (Lisp_Object object)
{
struct image_keyword fmt[JPEG_LAST];
static void
-my_error_exit (cinfo)
- j_common_ptr cinfo;
+my_error_exit (j_common_ptr cinfo)
{
struct my_jpeg_error_mgr *mgr = (struct my_jpeg_error_mgr *) cinfo->err;
longjmp (mgr->setjmp_buffer, 1);
libjpeg.doc from the JPEG lib distribution. */
static void
-our_common_init_source (cinfo)
- j_decompress_ptr cinfo;
+our_common_init_source (j_decompress_ptr cinfo)
{
}
jpeg_finish_decompress() after all data has been processed. */
static void
-our_common_term_source (cinfo)
- j_decompress_ptr cinfo;
+our_common_term_source (j_decompress_ptr cinfo)
{
}
static JOCTET our_memory_buffer[2];
static boolean
-our_memory_fill_input_buffer (cinfo)
- j_decompress_ptr cinfo;
+our_memory_fill_input_buffer (j_decompress_ptr cinfo)
{
/* Insert a fake EOI marker. */
struct jpeg_source_mgr *src = cinfo->src;
is the JPEG data source manager. */
static void
-our_memory_skip_input_data (cinfo, num_bytes)
- j_decompress_ptr cinfo;
- long num_bytes;
+our_memory_skip_input_data (j_decompress_ptr cinfo, long int num_bytes)
{
struct jpeg_source_mgr *src = (struct jpeg_source_mgr *) cinfo->src;
reading the image. */
static void
-jpeg_memory_src (cinfo, data, len)
- j_decompress_ptr cinfo;
- JOCTET *data;
- unsigned int len;
+jpeg_memory_src (j_decompress_ptr cinfo, JOCTET *data, unsigned int len)
{
struct jpeg_source_mgr *src;
whenever more data is needed. The data is read from a FILE *. */
static boolean
-our_stdio_fill_input_buffer (cinfo)
- j_decompress_ptr cinfo;
+our_stdio_fill_input_buffer (j_decompress_ptr cinfo)
{
struct jpeg_stdio_mgr *src;
is the JPEG data source manager. */
static void
-our_stdio_skip_input_data (cinfo, num_bytes)
- j_decompress_ptr cinfo;
- long num_bytes;
+our_stdio_skip_input_data (j_decompress_ptr cinfo, long int num_bytes)
{
struct jpeg_stdio_mgr *src;
src = (struct jpeg_stdio_mgr *) cinfo->src;
reading the image. */
static void
-jpeg_file_src (cinfo, fp)
- j_decompress_ptr cinfo;
- FILE *fp;
+jpeg_file_src (j_decompress_ptr cinfo, FILE *fp)
{
struct jpeg_stdio_mgr *src;
from the JPEG lib. */
static int
-jpeg_load (f, img)
- struct frame *f;
- struct image *img;
+jpeg_load (struct frame *f, struct image *img)
{
struct jpeg_decompress_struct cinfo;
struct my_jpeg_error_mgr mgr;
/* Return non-zero if OBJECT is a valid TIFF image specification. */
static int
-tiff_image_p (object)
- Lisp_Object object;
+tiff_image_p (Lisp_Object object)
{
struct image_keyword fmt[TIFF_LAST];
bcopy (tiff_format, fmt, sizeof fmt);
tiff_memory_source;
static size_t
-tiff_read_from_memory (data, buf, size)
- thandle_t data;
- tdata_t buf;
- tsize_t size;
+tiff_read_from_memory (thandle_t data, tdata_t buf, tsize_t size)
{
tiff_memory_source *src = (tiff_memory_source *) data;
}
static size_t
-tiff_write_from_memory (data, buf, size)
- thandle_t data;
- tdata_t buf;
- tsize_t size;
+tiff_write_from_memory (thandle_t data, tdata_t buf, tsize_t size)
{
return (size_t) -1;
}
static toff_t
-tiff_seek_in_memory (data, off, whence)
- thandle_t data;
- toff_t off;
- int whence;
+tiff_seek_in_memory (thandle_t data, toff_t off, int whence)
{
tiff_memory_source *src = (tiff_memory_source *) data;
int idx;
}
static int
-tiff_close_memory (data)
- thandle_t data;
+tiff_close_memory (thandle_t data)
{
/* NOOP */
return 0;
}
static int
-tiff_mmap_memory (data, pbase, psize)
- thandle_t data;
- tdata_t *pbase;
- toff_t *psize;
+tiff_mmap_memory (thandle_t data, tdata_t *pbase, toff_t *psize)
{
/* It is already _IN_ memory. */
return 0;
}
static void
-tiff_unmap_memory (data, base, size)
- thandle_t data;
- tdata_t base;
- toff_t size;
+tiff_unmap_memory (thandle_t data, tdata_t base, toff_t size)
{
/* We don't need to do this. */
}
static toff_t
-tiff_size_of_memory (data)
- thandle_t data;
+tiff_size_of_memory (thandle_t data)
{
return ((tiff_memory_source *) data)->len;
}
static void
-tiff_error_handler (title, format, ap)
- const char *title, *format;
- va_list ap;
+tiff_error_handler (const char *title, const char *format, va_list ap)
{
char buf[512];
int len;
static void
-tiff_warning_handler (title, format, ap)
- const char *title, *format;
- va_list ap;
+tiff_warning_handler (const char *title, const char *format, va_list ap)
{
char buf[512];
int len;
successful. */
static int
-tiff_load (f, img)
- struct frame *f;
- struct image *img;
+tiff_load (struct frame *f, struct image *img)
{
Lisp_Object file, specified_file;
Lisp_Object specified_data;
/* Free X resources of GIF image IMG which is used on frame F. */
static void
-gif_clear_image (f, img)
- struct frame *f;
- struct image *img;
+gif_clear_image (struct frame *f, struct image *img)
{
/* IMG->data.ptr_val may contain metadata with extension data. */
img->data.lisp_val = Qnil;
/* Return non-zero if OBJECT is a valid GIF image specification. */
static int
-gif_image_p (object)
- Lisp_Object object;
+gif_image_p (Lisp_Object object)
{
struct image_keyword fmt[GIF_LAST];
bcopy (gif_format, fmt, sizeof fmt);
static gif_memory_source *current_gif_memory_src;
static int
-gif_read_from_memory (file, buf, len)
- GifFileType *file;
- GifByteType *buf;
- int len;
+gif_read_from_memory (GifFileType *file, GifByteType *buf, int len)
{
gif_memory_source *src = current_gif_memory_src;
static const int interlace_increment[] = {8, 8, 4, 2};
static int
-gif_load (f, img)
- struct frame *f;
- struct image *img;
+gif_load (struct frame *f, struct image *img)
{
Lisp_Object file, specified_file;
Lisp_Object specified_data;
identify the SVG format. */
static int
-svg_image_p (object)
- Lisp_Object object;
+svg_image_p (Lisp_Object object)
{
struct image_keyword fmt[SVG_LAST];
bcopy (svg_format, fmt, sizeof fmt);
the prototype thus needs to be compatible with that structure. */
static int
-svg_load (f, img)
- struct frame *f;
- struct image *img;
+svg_load (struct frame *f, struct image *img)
{
int success_p = 0;
Lisp_Object file_name;
Returns non-zero when successful. */
static int
-svg_load_image (f, img, contents, size)
- /* Pointer to emacs frame structure. */
- struct frame *f;
- /* Pointer to emacs image structure. */
- struct image *img;
- /* String containing the SVG XML data to be parsed. */
- unsigned char *contents;
- /* Size of data in bytes. */
- unsigned int size;
+svg_load_image (struct frame *f, /* Pointer to emacs frame structure. */
+ struct image *img, /* Pointer to emacs image structure. */
+ unsigned char *contents, /* String containing the SVG XML data to be parsed. */
+ unsigned int size) /* Size of data in bytes. */
{
RsvgHandle *rsvg_handle;
RsvgDimensionData dimension_data;
/* Free X resources of Ghostscript image IMG which is used on frame F. */
static void
-gs_clear_image (f, img)
- struct frame *f;
- struct image *img;
+gs_clear_image (struct frame *f, struct image *img)
{
/* IMG->data.ptr_val may contain a recorded colormap. */
xfree (img->data.ptr_val);
specification. */
static int
-gs_image_p (object)
- Lisp_Object object;
+gs_image_p (Lisp_Object object)
{
struct image_keyword fmt[GS_LAST];
Lisp_Object tem;
if successful. */
static int
-gs_load (f, img)
- struct frame *f;
- struct image *img;
+gs_load (struct frame *f, struct image *img)
{
char buffer[100];
Lisp_Object window_and_pixmap_id = Qnil, loader, pt_height, pt_width;
telling Emacs that Ghostscript has finished drawing. */
void
-x_kill_gs_process (pixmap, f)
- Pixmap pixmap;
- struct frame *f;
+x_kill_gs_process (Pixmap pixmap, struct frame *f)
{
struct image_cache *c = FRAME_IMAGE_CACHE (f);
int class, i;
}
void
-syms_of_image ()
+syms_of_image (void)
{
extern Lisp_Object Qrisky_local_variable; /* Syms_of_xdisp has already run. */
}
void
-init_image ()
+init_image (void)
{
}
extern Lisp_Object Qleft_fringe, Qright_fringe;
extern Lisp_Object QCmap;
-Lisp_Object recursive_edit_unwind (), command_loop ();
-Lisp_Object Fthis_command_keys ();
+Lisp_Object recursive_edit_unwind (Lisp_Object buffer), command_loop (void);
+Lisp_Object Fthis_command_keys (void);
Lisp_Object Qextended_command_history;
-EMACS_TIME timer_check ();
+EMACS_TIME timer_check (int do_it_now);
extern Lisp_Object Vhistory_length, Vtranslation_table_for_input;
extern char *x_get_keysym_name ();
-static void record_menu_key ();
-static int echo_length ();
+static void record_menu_key (Lisp_Object c);
+static int echo_length (void);
Lisp_Object Qpolling_period;
static int readable_events (int);
static Lisp_Object read_char_x_menu_prompt (int, Lisp_Object *,
Lisp_Object, int *);
-static Lisp_Object read_char_x_menu_prompt ();
static Lisp_Object read_char_minibuf_menu_prompt (int, int,
Lisp_Object *);
static Lisp_Object make_lispy_event (struct input_event *);
Lisp_Object *, unsigned);
static Lisp_Object make_lispy_switch_frame (Lisp_Object);
static void save_getcjmp (jmp_buf);
-static void save_getcjmp ();
static void restore_getcjmp (jmp_buf);
static Lisp_Object apply_modifiers (int, Lisp_Object);
static void clear_event (struct input_event *);
Also start echoing. */
void
-echo_prompt (str)
- Lisp_Object str;
+echo_prompt (Lisp_Object str)
{
current_kboard->echo_string = str;
current_kboard->echo_after_prompt = SCHARS (str);
jazz), or a symbol, whose name is printed. */
void
-echo_char (c)
- Lisp_Object c;
+echo_char (Lisp_Object c)
{
if (current_kboard->immediate_echo)
{
empty, so that it serves as a mini-prompt for the very next character. */
void
-echo_dash ()
+echo_dash (void)
{
/* Do nothing if not echoing at all. */
if (NILP (current_kboard->echo_string))
doing so. */
void
-echo_now ()
+echo_now (void)
{
if (!current_kboard->immediate_echo)
{
/* Turn off echoing, for the start of a new command. */
void
-cancel_echoing ()
+cancel_echoing (void)
{
current_kboard->immediate_echo = 0;
current_kboard->echo_after_prompt = -1;
/* Return the length of the current echo string. */
static int
-echo_length ()
+echo_length (void)
{
return (STRINGP (current_kboard->echo_string)
? SCHARS (current_kboard->echo_string)
switches frames while entering a key sequence. */
static void
-echo_truncate (nchars)
- int nchars;
+echo_truncate (int nchars)
{
if (STRINGP (current_kboard->echo_string))
current_kboard->echo_string
\f
/* Functions for manipulating this_command_keys. */
static void
-add_command_key (key)
- Lisp_Object key;
+add_command_key (Lisp_Object key)
{
#if 0 /* Not needed after we made Freset_this_command_lengths
do the job immediately. */
\f
Lisp_Object
-recursive_edit_1 ()
+recursive_edit_1 (void)
{
int count = SPECPDL_INDEX ();
Lisp_Object val;
/* When an auto-save happens, record the "time", and don't do again soon. */
void
-record_auto_save ()
+record_auto_save (void)
{
last_auto_save = num_nonmacro_input_events;
}
/* Make an auto save happen as soon as possible at command level. */
void
-force_auto_save_soon ()
+force_auto_save_soon (void)
{
last_auto_save = - auto_save_interval - 1;
}
Lisp_Object
-recursive_edit_unwind (buffer)
- Lisp_Object buffer;
+recursive_edit_unwind (Lisp_Object buffer)
{
if (BUFFERP (buffer))
Fset_buffer (buffer);
get out of it. */
void
-not_single_kboard_state (kboard)
- KBOARD *kboard;
+not_single_kboard_state (KBOARD *kboard)
{
if (kboard == current_kboard)
single_kboard = 0;
static struct kboard_stack *kboard_stack;
void
-push_kboard (k)
- struct kboard *k;
+push_kboard (struct kboard *k)
{
struct kboard_stack *p
= (struct kboard_stack *) xmalloc (sizeof (struct kboard_stack));
}
void
-pop_kboard ()
+pop_kboard (void)
{
struct terminal *t;
struct kboard_stack *p = kboard_stack;
locked, then this function will throw an errow. */
void
-temporarily_switch_to_single_kboard (f)
- struct frame *f;
+temporarily_switch_to_single_kboard (struct frame *f)
{
int was_locked = single_kboard;
if (was_locked)
#endif
static Lisp_Object
-restore_kboard_configuration (was_locked)
- Lisp_Object was_locked;
+restore_kboard_configuration (Lisp_Object was_locked)
{
if (NILP (was_locked))
single_kboard = 0;
by printing an error message and returning to the editor command loop. */
Lisp_Object
-cmd_error (data)
- Lisp_Object data;
+cmd_error (Lisp_Object data)
{
Lisp_Object old_level, old_length;
char macroerror[50];
string. */
void
-cmd_error_internal (data, context)
- Lisp_Object data;
- char *context;
+cmd_error_internal (Lisp_Object data, char *context)
{
struct frame *sf = SELECTED_FRAME ();
Vsignaling_function = Qnil;
}
\f
-Lisp_Object command_loop_1 ();
-Lisp_Object command_loop_2 ();
-Lisp_Object top_level_1 ();
+Lisp_Object command_loop_1 (void);
+Lisp_Object command_loop_2 (Lisp_Object);
+Lisp_Object top_level_1 (Lisp_Object);
/* Entry to editor-command-loop.
This level has the catches for exiting/returning to editor command loop.
It returns nil to exit recursive edit, t to abort it. */
Lisp_Object
-command_loop ()
+command_loop (void)
{
if (command_loop_level > 0 || minibuf_level > 0)
{
returned due to end of file (or end of kbd macro). */
Lisp_Object
-command_loop_2 ()
+command_loop_2 (Lisp_Object ignore)
{
register Lisp_Object val;
}
Lisp_Object
-top_level_2 ()
+top_level_2 (void)
{
return Feval (Vtop_level);
}
Lisp_Object
-top_level_1 ()
+top_level_1 (Lisp_Object ignore)
{
/* On entry to the outer level, run the startup file */
if (!NILP (Vtop_level))
of this function. */
static Lisp_Object
-tracking_off (old_value)
- Lisp_Object old_value;
+tracking_off (Lisp_Object old_value)
{
do_mouse_tracking = old_value;
if (NILP (old_value))
int ignore_mouse_drag_p;
static FRAME_PTR
-some_mouse_moved ()
+some_mouse_moved (void)
{
Lisp_Object tail, frame;
ARG is not used. */
#ifdef HAVE_WINDOW_SYSTEM
static Lisp_Object
-cancel_hourglass_unwind (arg)
- Lisp_Object arg;
+cancel_hourglass_unwind (Lisp_Object arg)
{
cancel_hourglass ();
return Qnil;
#endif
Lisp_Object
-command_loop_1 ()
+command_loop_1 (void)
{
Lisp_Object cmd;
Lisp_Object keybuf[30];
extern Lisp_Object get_pos_property (Lisp_Object, Lisp_Object, Lisp_Object);
static void
-adjust_point_for_property (last_pt, modified)
- int last_pt;
- int modified;
+adjust_point_for_property (int last_pt, int modified)
{
EMACS_INT beg, end;
Lisp_Object val, overlay, tmp;
/* Subroutine for safe_run_hooks: run the hook HOOK. */
static Lisp_Object
-safe_run_hooks_1 (hook)
- Lisp_Object hook;
+safe_run_hooks_1 (void)
{
if (NILP (Vrun_hooks))
return Qnil;
/* Subroutine for safe_run_hooks: handle an error by clearing out the hook. */
static Lisp_Object
-safe_run_hooks_error (data)
- Lisp_Object data;
+safe_run_hooks_error (Lisp_Object data)
{
Lisp_Object args[3];
args[0] = build_string ("Error in %s: %s");
to mysteriously evaporate. */
void
-safe_run_hooks (hook)
- Lisp_Object hook;
+safe_run_hooks (Lisp_Object hook)
{
int count = SPECPDL_INDEX ();
specbind (Qinhibit_quit, hook);
there. */
void
-poll_for_input_1 ()
+poll_for_input_1 (void)
{
/* Tell ns_read_socket() it is being called asynchronously so it can avoid
doing anything dangerous. */
poll_timer. */
void
-poll_for_input (timer)
- struct atimer *timer;
+poll_for_input (struct atimer *timer)
{
if (poll_suppress_count == 0)
{
This function is called unconditionally from various places. */
void
-start_polling ()
+start_polling (void)
{
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
/* Nonzero if we are using polling to handle input asynchronously. */
int
-input_polling_used ()
+input_polling_used (void)
{
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
/* Turn off polling. */
void
-stop_polling ()
+stop_polling (void)
{
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
and start or stop polling accordingly. */
void
-set_poll_suppress_count (count)
- int count;
+set_poll_suppress_count (int count)
{
#ifdef POLL_FOR_INPUT
if (count == 0 && poll_suppress_count != 0)
But don't decrease it. */
void
-bind_polling_period (n)
- int n;
+bind_polling_period (int n)
{
#ifdef POLL_FOR_INPUT
int new = polling_period;
/* Apply the control modifier to CHARACTER. */
int
-make_ctrl_char (c)
- int c;
+make_ctrl_char (int c)
{
/* Save the upper bits here. */
int upper = c & ~0177;
from X code running asynchronously. */
void
-show_help_echo (help, window, object, pos, ok_to_overwrite_keystroke_echo)
- Lisp_Object help, window, object, pos;
- int ok_to_overwrite_keystroke_echo;
+show_help_echo (Lisp_Object help, Lisp_Object window, Lisp_Object object,
+ Lisp_Object pos, int ok_to_overwrite_keystroke_echo)
{
if (!NILP (help) && !STRINGP (help))
{
\f
/* Input of single characters from keyboard */
-Lisp_Object print_help ();
-static Lisp_Object kbd_buffer_get_event ();
-static void record_char ();
+Lisp_Object print_help (Lisp_Object object);
+static Lisp_Object kbd_buffer_get_event (KBOARD **kbp, int *used_mouse_menu,
+ struct timeval *end_time);
+static void record_char (Lisp_Object c);
static Lisp_Object help_form_saved_window_configs;
static Lisp_Object
Value is t if we showed a menu and the user rejected it. */
Lisp_Object
-read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time)
- int commandflag;
- int nmaps;
- Lisp_Object *maps;
- Lisp_Object prev_event;
- int *used_mouse_menu;
- EMACS_TIME *end_time;
+read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event,
+ int *used_mouse_menu, struct timeval *end_time)
{
volatile Lisp_Object c;
int count, jmpcount;
Record it for echoing, for this-command-keys, and so on. */
static void
-record_menu_key (c)
- Lisp_Object c;
+record_menu_key (Lisp_Object c)
{
/* Wipe the echo area. */
clear_message (1, 0);
/* Return 1 if should recognize C as "the help character". */
int
-help_char_p (c)
- Lisp_Object c;
+help_char_p (Lisp_Object c)
{
Lisp_Object tail;
/* Record the input event C in various ways. */
static void
-record_char (c)
- Lisp_Object c;
+record_char (Lisp_Object c)
{
int recorded = 0;
}
Lisp_Object
-print_help (object)
- Lisp_Object object;
+print_help (Lisp_Object object)
{
struct buffer *old = current_buffer;
Fprinc (object, Qnil);
See read_process_output. */
static void
-save_getcjmp (temp)
- jmp_buf temp;
+save_getcjmp (jmp_buf temp)
{
bcopy (getcjmp, temp, sizeof getcjmp);
}
static void
-restore_getcjmp (temp)
- jmp_buf temp;
+restore_getcjmp (jmp_buf temp)
{
bcopy (temp, getcjmp, sizeof getcjmp);
}
/* Return true if there are any events in the queue that read-char
would return. If this returns false, a read-char would block. */
static int
-readable_events (flags)
- int flags;
+readable_events (int flags)
{
#ifdef HAVE_DBUS
/* Check whether a D-Bus message has arrived. */
int stop_character;
static KBOARD *
-event_to_kboard (event)
- struct input_event *event;
+event_to_kboard (struct input_event *event)
{
Lisp_Object frame;
frame = event->frame_or_window;
/* Store an event obtained at interrupt level into kbd_buffer, fifo */
void
-kbd_buffer_store_event (event)
- register struct input_event *event;
+kbd_buffer_store_event (register struct input_event *event)
{
kbd_buffer_store_event_hold (event, 0);
}
*/
void
-kbd_buffer_store_event_hold (event, hold_quit)
- register struct input_event *event;
- struct input_event *hold_quit;
+kbd_buffer_store_event_hold (register struct input_event *event,
+ struct input_event *hold_quit)
{
if (event->kind == NO_EVENT)
abort ();
/* Put an input event back in the head of the event queue. */
void
-kbd_buffer_unget_event (event)
- register struct input_event *event;
+kbd_buffer_unget_event (register struct input_event *event)
{
if (kbd_fetch_ptr == kbd_buffer)
kbd_fetch_ptr = kbd_buffer + KBD_BUFFER_SIZE;
Value is the number of input_events generated. */
void
-gen_help_event (help, frame, window, object, pos)
- Lisp_Object help, frame, object, window;
- int pos;
+gen_help_event (Lisp_Object help, Lisp_Object frame, Lisp_Object window,
+ Lisp_Object object, int pos)
{
struct input_event event;
/* Store HELP_EVENTs for HELP on FRAME in the input queue. */
void
-kbd_buffer_store_help_event (frame, help)
- Lisp_Object frame, help;
+kbd_buffer_store_help_event (Lisp_Object frame, Lisp_Object help)
{
struct input_event event;
/* Discard any mouse events in the event buffer by setting them to
NO_EVENT. */
void
-discard_mouse_events ()
+discard_mouse_events (void)
{
struct input_event *sp;
for (sp = kbd_fetch_ptr; sp != kbd_store_ptr; sp++)
are no real input events. */
int
-kbd_buffer_events_waiting (discard)
- int discard;
+kbd_buffer_events_waiting (int discard)
{
struct input_event *sp;
/* Clear input event EVENT. */
static INLINE void
-clear_event (event)
- struct input_event *event;
+clear_event (struct input_event *event)
{
event->kind = NO_EVENT;
}
We always read and discard one event. */
static Lisp_Object
-kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
- KBOARD **kbp;
- int *used_mouse_menu;
- EMACS_TIME *end_time;
+kbd_buffer_get_event (KBOARD **kbp, int *used_mouse_menu, struct timeval *end_time)
{
register int c;
Lisp_Object obj;
then return, without reading any user-visible events. */
void
-swallow_events (do_display)
- int do_display;
+swallow_events (int do_display)
{
int old_timers_run;
for the sake of running idle-time timers. */
static void
-timer_start_idle ()
+timer_start_idle (void)
{
Lisp_Object timers;
/* Record that Emacs is no longer idle, so stop running idle-time timers. */
static void
-timer_stop_idle ()
+timer_stop_idle (void)
{
EMACS_SET_SECS_USECS (timer_idleness_start_time, -1, -1);
}
/* Resume idle timer from last idle start time. */
static void
-timer_resume_idle ()
+timer_resume_idle (void)
{
if (! EMACS_TIME_NEG_P (timer_idleness_start_time))
return;
should be done. */
static EMACS_TIME
-timer_check_2 ()
+timer_check_2 (void)
{
EMACS_TIME nexttime;
EMACS_TIME now, idleness_now;
Now we always run timers directly. */
EMACS_TIME
-timer_check (do_it_now)
- int do_it_now;
+timer_check (int do_it_now)
{
EMACS_TIME nexttime;
- do
+ do
{
nexttime = timer_check_2 ();
}
/* Return position of a mouse click or wheel event */
static Lisp_Object
-make_lispy_position (f, x, y, time)
- struct frame *f;
- Lisp_Object *x, *y;
- unsigned long time;
+make_lispy_position (struct frame *f, Lisp_Object *x, Lisp_Object *y,
+ unsigned long time)
{
Lisp_Object window;
enum window_part part;
in order to build drag events when the button is released. */
static Lisp_Object
-make_lispy_event (event)
- struct input_event *event;
+make_lispy_event (struct input_event *event)
{
int i;
#if defined(HAVE_MOUSE) || defined(HAVE_GPM)
static Lisp_Object
-make_lispy_movement (frame, bar_window, part, x, y, time)
- FRAME_PTR frame;
- Lisp_Object bar_window;
- enum scroll_bar_part part;
- Lisp_Object x, y;
- unsigned long time;
+make_lispy_movement (FRAME_PTR frame, Lisp_Object bar_window, enum scroll_bar_part part,
+ Lisp_Object x, Lisp_Object y, unsigned long time)
{
/* Is it a scroll bar movement? */
if (frame && ! NILP (bar_window))
/* Construct a switch frame event. */
static Lisp_Object
-make_lispy_switch_frame (frame)
- Lisp_Object frame;
+make_lispy_switch_frame (Lisp_Object frame)
{
return Fcons (Qswitch_frame, Fcons (frame, Qnil));
}
This doesn't use any caches. */
static int
-parse_modifiers_uncached (symbol, modifier_end)
- Lisp_Object symbol;
- int *modifier_end;
+parse_modifiers_uncached (Lisp_Object symbol, int *modifier_end)
{
Lisp_Object name;
int i;
prepended to the string BASE[0..BASE_LEN-1].
This doesn't use any caches. */
static Lisp_Object
-apply_modifiers_uncached (modifiers, base, base_len, base_len_byte)
- int modifiers;
- char *base;
- int base_len, base_len_byte;
+apply_modifiers_uncached (int modifiers, char *base, int base_len, int base_len_byte)
{
/* Since BASE could contain nulls, we can't use intern here; we have
to use Fintern, which expects a genuine Lisp_String, and keeps a
/* Return the list of modifier symbols corresponding to the mask MODIFIERS. */
static Lisp_Object
-lispy_modifier_list (modifiers)
- int modifiers;
+lispy_modifier_list (int modifiers)
{
Lisp_Object modifier_list;
int i;
#define KEY_TO_CHAR(k) (XINT (k) & ((1 << CHARACTERBITS) - 1))
Lisp_Object
-parse_modifiers (symbol)
- Lisp_Object symbol;
+parse_modifiers (Lisp_Object symbol)
{
Lisp_Object elements;
apply_modifiers copies the value of BASE's Qevent_kind property to
the modified symbol. */
static Lisp_Object
-apply_modifiers (modifiers, base)
- int modifiers;
- Lisp_Object base;
+apply_modifiers (int modifiers, Lisp_Object base)
{
Lisp_Object cache, index, entry, new_symbol;
and M-C-foo end up being equivalent in the keymap. */
Lisp_Object
-reorder_modifiers (symbol)
- Lisp_Object symbol;
+reorder_modifiers (Lisp_Object symbol)
{
/* It's hopefully okay to write the code this way, since everything
will soon be in caches, and no consing will be done at all. */
in the symbol's name. */
static Lisp_Object
-modify_event_symbol (symbol_num, modifiers, symbol_kind, name_alist_or_stem,
- name_table, symbol_table, table_size)
- int symbol_num;
- unsigned modifiers;
- Lisp_Object symbol_kind;
- Lisp_Object name_alist_or_stem;
- char **name_table;
- Lisp_Object *symbol_table;
- unsigned int table_size;
+modify_event_symbol (int symbol_num, unsigned int modifiers, Lisp_Object symbol_kind,
+ Lisp_Object name_alist_or_stem, char **name_table,
+ Lisp_Object *symbol_table, unsigned int table_size)
{
Lisp_Object value;
Lisp_Object symbol_int;
but it can be a Lucid-style event type list. */
int
-lucid_event_type_list_p (object)
- Lisp_Object object;
+lucid_event_type_list_p (Lisp_Object object)
{
Lisp_Object tail;
movements and toolkit scroll bar thumb drags. */
static void
-get_input_pending (addr, flags)
- int *addr;
- int flags;
+get_input_pending (int *addr, int flags)
{
/* First of all, have we already counted some input? */
*addr = (!NILP (Vquit_flag) || readable_events (flags));
/* Interface to read_avail_input, blocking SIGIO or SIGALRM if necessary. */
void
-gobble_input (expected)
- int expected;
+gobble_input (int expected)
{
#ifdef HAVE_DBUS
/* Read D-Bus messages. */
so that read_key_sequence will notice the new current buffer. */
void
-record_asynch_buffer_change ()
+record_asynch_buffer_change (void)
{
struct input_event event;
Lisp_Object tem;
this is a bad time to try to read input. */
static int
-read_avail_input (expected)
- int expected;
+read_avail_input (int expected)
{
int nread = 0;
int err = 0;
}
\f
void
-handle_async_input ()
+handle_async_input (void)
{
interrupt_input_pending = 0;
#ifdef SYNC_INPUT
}
void
-process_pending_signals ()
+process_pending_signals (void)
{
if (interrupt_input_pending)
handle_async_input ();
/* Note SIGIO has been undef'd if FIONREAD is missing. */
static SIGTYPE
-input_available_signal (signo)
- int signo;
+input_available_signal (int signo)
{
/* Must preserve main program's value of errno. */
int old_errno = errno;
dealing with, without assuming that every file which uses
UNBLOCK_INPUT also has #included the files necessary to get SIGIO. */
void
-reinvoke_input_signal ()
+reinvoke_input_signal (void)
{
#ifdef SIGIO
handle_async_input ();
static struct user_signal_info *user_signals = NULL;
void
-add_user_signal (sig, name)
- int sig;
- const char *name;
+add_user_signal (int sig, const char *name)
{
struct user_signal_info *p;
}
static SIGTYPE
-handle_user_signal (sig)
- int sig;
+handle_user_signal (int sig)
{
int old_errno = errno;
struct user_signal_info *p;
}
static char *
-find_user_signal_name (sig)
- int sig;
+find_user_signal_name (int sig)
{
struct user_signal_info *p;
}
static int
-store_user_signal_events ()
+store_user_signal_events (void)
{
struct user_signal_info *p;
struct input_event buf;
OLD is an old vector we can optionally reuse, or nil. */
Lisp_Object
-menu_bar_items (old)
- Lisp_Object old;
+menu_bar_items (Lisp_Object old)
{
/* The number of keymaps we're scanning right now, and the number of
keymaps we have allocated space for. */
Lisp_Object item_properties;
static void
-menu_bar_item (key, item, dummy1, dummy2)
- Lisp_Object key, item, dummy1;
- void *dummy2;
+menu_bar_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy1, void *dummy2)
{
struct gcpro gcpro1;
int i;
\f
/* This is used as the handler when calling menu_item_eval_property. */
static Lisp_Object
-menu_item_eval_property_1 (arg)
- Lisp_Object arg;
+menu_item_eval_property_1 (Lisp_Object arg)
{
/* If we got a quit from within the menu computation,
quit all the way out of it. This takes care of C-] in the debugger. */
/* Evaluate an expression and return the result (or nil if something
went wrong). Used to evaluate dynamic parts of menu items. */
Lisp_Object
-menu_item_eval_property (sexpr)
- Lisp_Object sexpr;
+menu_item_eval_property (Lisp_Object sexpr)
{
int count = SPECPDL_INDEX ();
Lisp_Object val;
otherwise. */
int
-parse_menu_item (item, inmenubar)
- Lisp_Object item;
- int inmenubar;
+parse_menu_item (Lisp_Object item, int inmenubar)
{
Lisp_Object def, tem, item_string, start;
Lisp_Object filter;
tool bar items found. */
Lisp_Object
-tool_bar_items (reuse, nitems)
- Lisp_Object reuse;
- int *nitems;
+tool_bar_items (Lisp_Object reuse, int *nitems)
{
Lisp_Object *maps;
int nmaps, i;
/* Process the definition of KEY which is DEF. */
static void
-process_tool_bar_item (key, def, data, args)
- Lisp_Object key, def, data;
- void *args;
+process_tool_bar_item (Lisp_Object key, Lisp_Object def, Lisp_Object data, void *args)
{
int i;
extern Lisp_Object Qundefined;
A text label to show with the tool bar button if labels are enabled. */
static int
-parse_tool_bar_item (key, item)
- Lisp_Object key, item;
+parse_tool_bar_item (Lisp_Object key, Lisp_Object item)
{
/* Access slot with index IDX of vector tool_bar_item_properties. */
#define PROP(IDX) XVECTOR (tool_bar_item_properties)->contents[IDX]
EMACS_INT max_lbl = 2*tool_bar_max_label_size;
Lisp_Object new_lbl;
- if (strlen (caption) < max_lbl && caption[0] != '\0')
+ if (strlen (caption) < max_lbl && caption[0] != '\0')
{
strcpy (buf, caption);
while (buf[0] != '\0' && buf[strlen (buf) -1] == '.')
if (strlen (caption) <= max_lbl)
label = caption;
- if (strlen (label) <= max_lbl && label[0] != '\0')
+ if (strlen (label) <= max_lbl && label[0] != '\0')
{
int i;
if (label != buf) strcpy (buf, label);
- for (i = 0; i < strlen (buf); ++i)
+ for (i = 0; i < strlen (buf); ++i)
{
if (buf[i] == '-') buf[i] = ' ';
}
label = buf;
-
+
}
else label = "";
that can be reused. */
static void
-init_tool_bar_items (reuse)
- Lisp_Object reuse;
+init_tool_bar_items (Lisp_Object reuse)
{
if (VECTORP (reuse))
tool_bar_items_vector = reuse;
tool_bar_item_properties */
static void
-append_tool_bar_item ()
+append_tool_bar_item (void)
{
Lisp_Object *to, *from;
and do auto-saving in the inner call of read_char. */
static Lisp_Object
-read_char_x_menu_prompt (nmaps, maps, prev_event, used_mouse_menu)
- int nmaps;
- Lisp_Object *maps;
- Lisp_Object prev_event;
- int *used_mouse_menu;
+read_char_x_menu_prompt (int nmaps, Lisp_Object *maps, Lisp_Object prev_event,
+ int *used_mouse_menu)
{
int mapno;
static int read_char_minibuf_menu_width;
static Lisp_Object
-read_char_minibuf_menu_prompt (commandflag, nmaps, maps)
- int commandflag ;
- int nmaps;
- Lisp_Object *maps;
+read_char_minibuf_menu_prompt (int commandflag, int nmaps, Lisp_Object *maps)
{
int mapno;
register Lisp_Object name;
NEXT may be the same array as CURRENT. */
static int
-follow_key (key, nmaps, current, defs, next)
- Lisp_Object key;
- Lisp_Object *current, *defs, *next;
- int nmaps;
+follow_key (Lisp_Object key, int nmaps, Lisp_Object *current, Lisp_Object *defs,
+ Lisp_Object *next)
{
int i, first_binding;
that it is indeed a vector). */
static Lisp_Object
-access_keymap_keyremap (map, key, prompt, do_funcall)
- Lisp_Object map, key, prompt;
- int do_funcall;
+access_keymap_keyremap (Lisp_Object map, Lisp_Object key, Lisp_Object prompt,
+ int do_funcall)
{
Lisp_Object next;
The return value is non-zero if the remapping actually took place. */
static int
-keyremap_step (keybuf, bufsize, fkey, input, doit, diff, prompt)
- Lisp_Object *keybuf, prompt;
- keyremap *fkey;
- int input, doit, *diff, bufsize;
+keyremap_step (Lisp_Object *keybuf, int bufsize, volatile keyremap *fkey,
+ int input, int doit, int *diff, Lisp_Object prompt)
{
Lisp_Object next, key;
from the selected window's buffer. */
static int
-read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
- can_return_switch_frame, fix_current_buffer)
- Lisp_Object *keybuf;
- int bufsize;
- Lisp_Object prompt;
- int dont_downcase_last;
- int can_return_switch_frame;
- int fix_current_buffer;
+read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
+ int dont_downcase_last, int can_return_switch_frame,
+ int fix_current_buffer)
{
volatile Lisp_Object from_string;
volatile int count = SPECPDL_INDEX ();
/* Return nonzero if input events are pending. */
int
-detect_input_pending ()
+detect_input_pending (void)
{
if (!input_pending)
get_input_pending (&input_pending, 0);
pending. */
int
-detect_input_pending_ignore_squeezables ()
+detect_input_pending_ignore_squeezables (void)
{
if (!input_pending)
get_input_pending (&input_pending, READABLE_EVENTS_IGNORE_SQUEEZABLES);
/* Return nonzero if input events are pending, and run any pending timers. */
int
-detect_input_pending_run_timers (do_display)
- int do_display;
+detect_input_pending_run_timers (int do_display)
{
int old_timers_run = timers_run;
So calling this function unnecessarily can't do any harm. */
void
-clear_input_pending ()
+clear_input_pending (void)
{
input_pending = 0;
}
to do in that case. It isn't trivial. */
int
-requeued_events_pending_p ()
+requeued_events_pending_p (void)
{
return (!NILP (Vunread_command_events) || unread_command_char != -1);
}
Then in any case stuff anything Emacs has read ahead and not used. */
void
-stuff_buffered_input (stuffstring)
- Lisp_Object stuffstring;
+stuff_buffered_input (Lisp_Object stuffstring)
{
#ifdef SIGTSTP /* stuff_char is defined if SIGTSTP. */
register unsigned char *p;
}
\f
void
-set_waiting_for_input (time_to_clear)
- EMACS_TIME *time_to_clear;
+set_waiting_for_input (struct timeval *time_to_clear)
{
input_available_clear_time = time_to_clear;
}
void
-clear_waiting_for_input ()
+clear_waiting_for_input (void)
{
/* Tell handle_interrupt not to throw back to read_char, */
waiting_for_input = 0;
Otherwise, the handler kills Emacs. */
static SIGTYPE
-interrupt_signal (signalnum) /* If we don't have an argument, */
- int signalnum; /* some compilers complain in signal calls. */
+interrupt_signal (int signalnum) /* If we don't have an argument, some */
+ /* compilers complain in signal calls. */
{
/* Must preserve main program's value of errno. */
int old_errno = errno;
non-nil, it stops the job right away. */
static void
-handle_interrupt ()
+handle_interrupt (void)
{
char c;
/* Handle a C-g by making read_char return C-g. */
void
-quit_throw_to_read_char ()
+quit_throw_to_read_char (void)
{
sigfree ();
/* Prevent another signal from doing this before we finish. */
* Set up a new kboard object with reasonable initial values.
*/
void
-init_kboard (kb)
- KBOARD *kb;
+init_kboard (KBOARD *kb)
{
kb->Voverriding_terminal_local_map = Qnil;
kb->Vlast_command = Qnil;
* it a second time.
*/
static void
-wipe_kboard (kb)
- KBOARD *kb;
+wipe_kboard (KBOARD *kb)
{
xfree (kb->kbd_macro_buffer);
}
/* Free KB and memory referenced from it. */
void
-delete_kboard (kb)
- KBOARD *kb;
+delete_kboard (KBOARD *kb)
{
KBOARD **kbp;
}
void
-init_keyboard ()
+init_keyboard (void)
{
/* This is correct before outermost invocation of the editor loop */
command_loop_level = -1;
};
void
-syms_of_keyboard ()
+syms_of_keyboard (void)
{
pending_funcalls = Qnil;
staticpro (&pending_funcalls);
}
void
-keys_of_keyboard ()
+keys_of_keyboard (void)
{
initial_define_key (global_map, Ctl ('Z'), "suspend-emacs");
initial_define_key (control_x_map, Ctl ('Z'), "suspend-emacs");
/* Mark the pointers in the kboard objects.
Called by the Fgarbage_collector. */
void
-mark_kboards ()
+mark_kboards (void)
{
KBOARD *kb;
Lisp_Object *p;
#define POLL_FOR_INPUT
#endif
-static Lisp_Object get_process ();
-static void exec_sentinel ();
+static Lisp_Object get_process (register Lisp_Object name);
+static void exec_sentinel (Lisp_Object proc, Lisp_Object reason);
extern int timers_run;
\f
static Lisp_Object status_convert (int);
static void
-update_status (p)
- struct Lisp_Process *p;
+update_status (struct Lisp_Process *p)
{
eassert (p->raw_status_new);
p->status = status_convert (p->raw_status);
and store them individually through the three pointers. */
static void
-decode_status (l, symbol, code, coredump)
- Lisp_Object l;
- Lisp_Object *symbol;
- int *code;
- int *coredump;
+decode_status (Lisp_Object l, Lisp_Object *symbol, int *code, int *coredump)
{
Lisp_Object tem;
/* Return a string describing a process status list. */
static Lisp_Object
-status_message (p)
- struct Lisp_Process *p;
+status_message (struct Lisp_Process *p)
{
Lisp_Object status = p->status;
Lisp_Object symbol;
is left in the variable pty_name. */
static int
-allocate_pty ()
+allocate_pty (void)
{
register int c, i;
int fd;
#endif /* HAVE_PTYS */
\f
static Lisp_Object
-make_process (name)
- Lisp_Object name;
+make_process (Lisp_Object name)
{
register Lisp_Object val, tem, name1;
register struct Lisp_Process *p;
}
static void
-remove_process (proc)
- register Lisp_Object proc;
+remove_process (register Lisp_Object proc)
{
register Lisp_Object pair;
/* Setup coding systems of PROCESS. */
void
-setup_process_coding_systems (process)
- Lisp_Object process;
+setup_process_coding_systems (Lisp_Object process)
{
struct Lisp_Process *p = XPROCESS (process);
int inch = p->infd;
current buffer. */
static Lisp_Object
-get_process (name)
- register Lisp_Object name;
+get_process (register Lisp_Object name)
{
register Lisp_Object proc, obj;
if (STRINGP (name))
}
#ifdef DATAGRAM_SOCKETS
-Lisp_Object Fprocess_datagram_address ();
+Lisp_Object Fprocess_datagram_address (Lisp_Object process);
#endif
DEFUN ("process-contact", Fprocess_contact, Sprocess_contact,
#endif
\f
static Lisp_Object
-list_processes_1 (query_only)
- Lisp_Object query_only;
+list_processes_1 (Lisp_Object query_only)
{
register Lisp_Object tail, tem;
Lisp_Object proc, minspace, tem1;
\f
/* Starting asynchronous inferior processes. */
-static Lisp_Object start_process_unwind ();
+static Lisp_Object start_process_unwind (Lisp_Object proc);
DEFUN ("start-process", Fstart_process, Sstart_process, 3, MANY, 0,
doc: /* Start a program in a subprocess. Return the process object for it.
an error and the process wasn't started successfully, so we should
remove it from the process list. */
static Lisp_Object
-start_process_unwind (proc)
- Lisp_Object proc;
+start_process_unwind (Lisp_Object proc)
{
if (!PROCESSP (proc))
abort ();
}
static void
-create_process_1 (timer)
- struct atimer *timer;
+create_process_1 (struct atimer *timer)
{
/* Nothing to do. */
}
#endif
void
-create_process (process, new_argv, current_dir)
- Lisp_Object process;
- char **new_argv;
- Lisp_Object current_dir;
+create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir)
{
int inchannel, outchannel;
pid_t pid;
}
void
-create_pty (process)
- Lisp_Object process;
+create_pty (Lisp_Object process)
{
int inchannel, outchannel;
The address family of sa is not included in the result. */
static Lisp_Object
-conv_sockaddr_to_lisp (sa, len)
- struct sockaddr *sa;
- int len;
+conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
{
Lisp_Object address;
int i;
/* Get family and required size for sockaddr structure to hold ADDRESS. */
static int
-get_lisp_to_sockaddr_size (address, familyp)
- Lisp_Object address;
- int *familyp;
+get_lisp_to_sockaddr_size (Lisp_Object address, int *familyp)
{
register struct Lisp_Vector *p;
we return after zeroing *SA. */
static void
-conv_lisp_to_sockaddr (family, address, sa, len)
- int family;
- Lisp_Object address;
- struct sockaddr *sa;
- int len;
+conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int len)
{
register struct Lisp_Vector *p;
register unsigned char *cp = NULL;
*/
static int
-set_socket_option (s, opt, val)
- int s;
- Lisp_Object opt, val;
+set_socket_option (int s, Lisp_Object opt, Lisp_Object val)
{
char *name;
const struct socket_options *sopt;
int len1 = sizeof (sa1);
if (getsockname (s, (struct sockaddr *)&sa1, &len1) == 0)
contact = Fplist_put (contact, QClocal,
- conv_sockaddr_to_lisp (&sa1, len1));
+ conv_sockaddr_to_lisp ((struct sockaddr *)&sa1, len1));
}
#endif
}
/* Turn off input and output for process PROC. */
void
-deactivate_process (proc)
- Lisp_Object proc;
+deactivate_process (Lisp_Object proc)
{
register int inchannel, outchannel;
register struct Lisp_Process *p = XPROCESS (proc);
to get rid of irrelevant descriptors. */
void
-close_process_descs ()
+close_process_descs (void)
{
#ifndef WINDOWSNT
int i;
static int connect_counter = 0;
static void
-server_accept_connection (server, channel)
- Lisp_Object server;
- int channel;
+server_accept_connection (Lisp_Object server, int channel)
{
Lisp_Object proc, caller, name, buffer;
Lisp_Object contact, host, service;
static int waiting_for_user_input_p;
static Lisp_Object
-wait_reading_process_output_unwind (data)
- Lisp_Object data;
+wait_reading_process_output_unwind (Lisp_Object data)
{
waiting_for_user_input_p = XINT (data);
return Qnil;
/* This is here so breakpoints can be put on it. */
static void
-wait_reading_process_output_1 ()
+wait_reading_process_output_1 (void)
{
}
#ifndef select
static INLINE int
-select_wrapper (n, rfd, wfd, xfd, tmo)
- int n;
- SELECT_TYPE *rfd, *wfd, *xfd;
- EMACS_TIME *tmo;
+select_wrapper (int n, fd_set *rfd, fd_set *wfd, fd_set *xfd, struct timeval *tmo)
{
return select (n, rfd, wfd, xfd, tmo);
}
/* Given a list (FUNCTION ARGS...), apply FUNCTION to the ARGS. */
static Lisp_Object
-read_process_output_call (fun_and_args)
- Lisp_Object fun_and_args;
+read_process_output_call (Lisp_Object fun_and_args)
{
return apply1 (XCAR (fun_and_args), XCDR (fun_and_args));
}
static Lisp_Object
-read_process_output_error_handler (error)
- Lisp_Object error;
+read_process_output_error_handler (Lisp_Object error)
{
cmd_error_internal (error, "error in process filter: ");
Vinhibit_quit = Qt;
for decoding. */
static int
-read_process_output (proc, channel)
- Lisp_Object proc;
- register int channel;
+read_process_output (Lisp_Object proc, register int channel)
{
register int nbytes;
char *chars;
Lisp_Object process_sent_to;
SIGTYPE
-send_process_trap ()
+send_process_trap (int ignore)
{
SIGNAL_THREAD_CHECK (SIGPIPE);
sigunblock (sigmask (SIGPIPE));
This function can evaluate Lisp code and can garbage collect. */
static void
-send_process (proc, buf, len, object)
- volatile Lisp_Object proc;
- unsigned char *volatile buf;
- volatile int len;
- volatile Lisp_Object object;
+send_process (volatile Lisp_Object proc, unsigned char *volatile buf,
+ volatile int len, volatile Lisp_Object object)
{
/* Use volatile to protect variables from being clobbered by longjmp. */
struct Lisp_Process *p = XPROCESS (proc);
/* Return the foreground process group for the tty/pty that
the process P uses. */
static int
-emacs_get_tty_pgrp (p)
- struct Lisp_Process *p;
+emacs_get_tty_pgrp (struct Lisp_Process *p)
{
int gid = -1;
their uid, for which killpg would return an EPERM error. */
static void
-process_send_signal (process, signo, current_group, nomsg)
- Lisp_Object process;
- int signo;
- Lisp_Object current_group;
- int nomsg;
+process_send_signal (Lisp_Object process, int signo, Lisp_Object current_group,
+ int nomsg)
{
Lisp_Object proc;
register struct Lisp_Process *p;
If `buffer' is nil, kill all processes */
void
-kill_buffer_processes (buffer)
- Lisp_Object buffer;
+kill_buffer_processes (Lisp_Object buffer)
{
Lisp_Object tail, proc;
#ifdef SIGCHLD
SIGTYPE
-sigchld_handler (signo)
- int signo;
+sigchld_handler (int signo)
{
int old_errno = errno;
Lisp_Object proc;
\f
static Lisp_Object
-exec_sentinel_unwind (data)
- Lisp_Object data;
+exec_sentinel_unwind (Lisp_Object data)
{
XPROCESS (XCAR (data))->sentinel = XCDR (data);
return Qnil;
}
static Lisp_Object
-exec_sentinel_error_handler (error)
- Lisp_Object error;
+exec_sentinel_error_handler (Lisp_Object error)
{
cmd_error_internal (error, "error in process sentinel: ");
Vinhibit_quit = Qt;
}
static void
-exec_sentinel (proc, reason)
- Lisp_Object proc, reason;
+exec_sentinel (Lisp_Object proc, Lisp_Object reason)
{
Lisp_Object sentinel, obuffer, odeactivate, okeymap;
register struct Lisp_Process *p = XPROCESS (proc);
but can be done at other times. */
static void
-status_notify (deleting_process)
- struct Lisp_Process *deleting_process;
+status_notify (struct Lisp_Process *deleting_process)
{
register Lisp_Object proc, buffer;
Lisp_Object tail, msg;
/* Add DESC to the set of keyboard input descriptors. */
void
-add_keyboard_wait_descriptor (desc)
- int desc;
+add_keyboard_wait_descriptor (int desc)
{
FD_SET (desc, &input_wait_mask);
FD_SET (desc, &non_process_wait_mask);
static int add_gpm_wait_descriptor_called_flag;
void
-add_gpm_wait_descriptor (desc)
- int desc;
+add_gpm_wait_descriptor (int desc)
{
if (! add_gpm_wait_descriptor_called_flag)
FD_CLR (0, &input_wait_mask);
/* From now on, do not expect DESC to give keyboard input. */
void
-delete_keyboard_wait_descriptor (desc)
- int desc;
+delete_keyboard_wait_descriptor (int desc)
{
int fd;
int lim = max_keyboard_desc;
}
void
-delete_gpm_wait_descriptor (desc)
- int desc;
+delete_gpm_wait_descriptor (int desc)
{
int fd;
int lim = max_gpm_desc;
that corresponds to one of the keyboard input descriptors. */
static int
-keyboard_bit_set (mask)
- SELECT_TYPE *mask;
+keyboard_bit_set (fd_set *mask)
{
int fd;
}
\f
void
-init_process ()
+init_process (void)
{
register int i;
}
void
-syms_of_process ()
+syms_of_process (void)
{
Qprocessp = intern_c_string ("processp");
staticpro (&Qprocessp);
char *tparam ();
-extern char *tgetstr ();
+extern char *tgetstr (char *, char **);
\f
#ifdef HAVE_GPM
sequence, and return a pointer to that byte sequence. */
unsigned char *
-encode_terminal_code (src, src_len, coding)
- struct glyph *src;
- int src_len;
- struct coding_system *coding;
+encode_terminal_code (struct glyph *src, int src_len, struct coding_system *coding)
{
struct glyph *src_end = src + src_len;
unsigned char *buf;
#ifdef HAVE_GPM /* Only used by GPM code. */
static void
-tty_write_glyphs_with_face (f, string, len, face_id)
- register struct frame *f;
- register struct glyph *string;
- register int len, face_id;
+tty_write_glyphs_with_face (register struct frame *f, register struct glyph *string,
+ register int len, register int face_id)
{
unsigned char *conversion_buffer;
struct coding_system *coding;
static char **term_get_fkeys_address;
static KBOARD *term_get_fkeys_kboard;
-static Lisp_Object term_get_fkeys_1 ();
+static Lisp_Object term_get_fkeys_1 (void);
/* Find the escape codes sent by the function keys for Vinput_decode_map.
This function scans the termcap function key sequence entries, and
adds entries to Vinput_decode_map for each function key it finds. */
static void
-term_get_fkeys (address, kboard)
- char **address;
- KBOARD *kboard;
+term_get_fkeys (char **address, KBOARD *kboard)
{
/* We run the body of the function (term_get_fkeys_1) and ignore all Lisp
errors during the call. The only errors should be from Fdefine_key
}
static Lisp_Object
-term_get_fkeys_1 ()
+term_get_fkeys_1 (void)
{
int i;
IT->pixel_width > 1. */
static void
-append_glyph (it)
- struct it *it;
+append_glyph (struct it *it)
{
struct glyph *glyph, *end;
int i;
instead they use the macro PRODUCE_GLYPHS. */
void
-produce_glyphs (it)
- struct it *it;
+produce_glyphs (struct it *it)
{
/* If a hook is installed, let it do the work. */
to reach HPOS, a value in canonical character units. */
static void
-produce_stretch_glyph (it)
- struct it *it;
+produce_stretch_glyph (struct it *it)
{
/* (space :width WIDTH ...) */
Lisp_Object prop, plist;
face. */
static void
-append_composite_glyph (it)
- struct it *it;
+append_composite_glyph (struct it *it)
{
struct glyph *glyph;
correctly. */
static void
-produce_composite_glyph (it)
- struct it *it;
+produce_composite_glyph (struct it *it)
{
int c;
face_id, c, len of IT are left untouched. */
void
-produce_special_glyphs (it, what)
- struct it *it;
- enum display_element_type what;
+produce_special_glyphs (struct it *it, enum display_element_type what)
{
struct it temp_it;
Lisp_Object gc;
FACE_ID is a realized face ID number, in the face cache. */
static void
-turn_on_face (f, face_id)
- struct frame *f;
- int face_id;
+turn_on_face (struct frame *f, int face_id)
{
struct face *face = FACE_FROM_ID (f, face_id);
long fg = face->foreground;
/* Turn off appearances of face FACE_ID on tty frame F. */
static void
-turn_off_face (f, face_id)
- struct frame *f;
- int face_id;
+turn_off_face (struct frame *f, int face_id)
{
struct face *face = FACE_FROM_ID (f, face_id);
struct tty_display_info *tty = FRAME_TTY (f);
colors FG and BG. */
int
-tty_capable_p (tty, caps, fg, bg)
- struct tty_display_info *tty;
- unsigned caps;
- unsigned long fg, bg;
+tty_capable_p (struct tty_display_info *tty, unsigned int caps,
+ unsigned long fg, unsigned long bg)
{
#define TTY_CAPABLE_P_TRY(tty, cap, TS, NC_bit) \
if ((caps & (cap)) && (!(TS) || !MAY_USE_WITH_COLORS_P(tty, NC_bit))) \
}
void
-set_tty_color_mode (tty, f)
- struct tty_display_info *tty;
- struct frame *f;
+set_tty_color_mode (struct tty_display_info *tty, struct frame *f)
{
Lisp_Object tem, val;
Lisp_Object color_mode;
Returns NULL if the named terminal device is not opened. */
struct terminal *
-get_named_tty (name)
- char *name;
+get_named_tty (char *name)
{
struct terminal *t;
}
static void
-term_clear_mouse_face ()
+term_clear_mouse_face (void)
{
if (!NILP (mouse_face_window))
term_show_mouse_face (DRAW_NORMAL_TEXT);
\f
void
-syms_of_term ()
+syms_of_term (void)
{
DEFVAR_BOOL ("system-uses-terminfo", &system_uses_terminfo,
doc: /* Non-nil means the system uses terminfo rather than termcap.
/* Function to call to issue a warning;
0 means don't issue them. */
-static void (*warn_function) ();
+static void (*warn_function) (char *);
/* Start of data space; can be changed by calling malloc_init. */
static POINTER data_space_start;
#if defined (HAVE_GETRLIMIT) && defined (RLIMIT_AS)
static void
-get_lim_data ()
+get_lim_data (void)
{
struct rlimit rlimit;
/* Verify amount of memory available, complaining if we're near the end. */
static void
-check_memory_limits ()
+check_memory_limits (void)
{
#ifdef REL_ALLOC
extern POINTER (*real_morecore) ();
WARNFUN specifies the function to call to issue a warning. */
void
-memory_warnings (start, warnfun)
- POINTER start;
- void (*warnfun) ();
+memory_warnings (POINTER start, void (*warnfun) (char *))
{
extern void (* __after_morecore_hook) (); /* From gmalloc.c */
static int echo_area_display (int);
static void redisplay_windows (Lisp_Object);
static void redisplay_window (Lisp_Object, int);
-static Lisp_Object redisplay_window_error ();
+static Lisp_Object redisplay_window_error (Lisp_Object);
static Lisp_Object redisplay_window_0 (Lisp_Object);
static Lisp_Object redisplay_window_1 (Lisp_Object);
static int update_menu_bar (struct frame *, int, int);
This is the height of W minus the height of a mode line, if any. */
INLINE int
-window_text_bottom_y (w)
- struct window *w;
+window_text_bottom_y (struct window *w)
{
int height = WINDOW_TOTAL_HEIGHT (w);
the left and right of the window. */
INLINE int
-window_box_width (w, area)
- struct window *w;
- int area;
+window_box_width (struct window *w, int area)
{
int cols = XFASTINT (w->total_cols);
int pixels = 0;
including mode lines of W, if any. */
INLINE int
-window_box_height (w)
- struct window *w;
+window_box_height (struct window *w)
{
struct frame *f = XFRAME (w->frame);
int height = WINDOW_TOTAL_HEIGHT (w);
whole window, to the right of the left fringe of W. */
INLINE int
-window_box_left_offset (w, area)
- struct window *w;
- int area;
+window_box_left_offset (struct window *w, int area)
{
int x;
whole window, to the left of the right fringe of W. */
INLINE int
-window_box_right_offset (w, area)
- struct window *w;
- int area;
+window_box_right_offset (struct window *w, int area)
{
return window_box_left_offset (w, area) + window_box_width (w, area);
}
whole window, to the right of the left fringe of W. */
INLINE int
-window_box_left (w, area)
- struct window *w;
- int area;
+window_box_left (struct window *w, int area)
{
struct frame *f = XFRAME (w->frame);
int x;
whole window, to the left of the right fringe of W. */
INLINE int
-window_box_right (w, area)
- struct window *w;
- int area;
+window_box_right (struct window *w, int area)
{
return window_box_left (w, area) + window_box_width (w, area);
}
*BOX_WIDTH, and *BOX_HEIGHT the pixel width and height of the box. */
INLINE void
-window_box (w, area, box_x, box_y, box_width, box_height)
- struct window *w;
- int area;
- int *box_x, *box_y, *box_width, *box_height;
+window_box (struct window *w, int area, int *box_x, int *box_y,
+ int *box_width, int *box_height)
{
if (box_width)
*box_width = window_box_width (w, area);
This can modify IT's settings. */
int
-line_bottom_y (it)
- struct it *it;
+line_bottom_y (struct it *it)
{
int line_height = it->max_ascent + it->max_descent;
int line_top_y = it->current_y;
Set *ROWH and *VPOS to row's visible height and VPOS (row number). */
int
-pos_visible_p (w, charpos, x, y, rtop, rbot, rowh, vpos)
- struct window *w;
- int charpos, *x, *y, *rtop, *rbot, *rowh, *vpos;
+pos_visible_p (struct window *w, int charpos, int *x, int *y,
+ int *rtop, int *rbot, int *rowh, int *vpos)
{
struct it it;
struct text_pos top;
character. */
static INLINE int
-string_char_and_length (str, len)
- const unsigned char *str;
- int *len;
+string_char_and_length (const unsigned char *str, int *len)
{
int c;
in STRING, return the position NCHARS ahead (NCHARS >= 0). */
static struct text_pos
-string_pos_nchars_ahead (pos, string, nchars)
- struct text_pos pos;
- Lisp_Object string;
- int nchars;
+string_pos_nchars_ahead (struct text_pos pos, Lisp_Object string, int nchars)
{
xassert (STRINGP (string) && nchars >= 0);
for character position CHARPOS in STRING. */
static INLINE struct text_pos
-string_pos (charpos, string)
- int charpos;
- Lisp_Object string;
+string_pos (int charpos, Lisp_Object string)
{
struct text_pos pos;
xassert (STRINGP (string));
means recognize multibyte characters. */
static struct text_pos
-c_string_pos (charpos, s, multibyte_p)
- int charpos;
- unsigned char *s;
- int multibyte_p;
+c_string_pos (int charpos, unsigned char *s, int multibyte_p)
{
struct text_pos pos;
non-zero means recognize multibyte characters. */
static int
-number_of_chars (s, multibyte_p)
- unsigned char *s;
- int multibyte_p;
+number_of_chars (unsigned char *s, int multibyte_p)
{
int nchars;
NEWPOS->charpos must be >= POS.charpos. */
static void
-compute_string_pos (newpos, pos, string)
- struct text_pos *newpos, pos;
- Lisp_Object string;
+compute_string_pos (struct text_pos *newpos, struct text_pos pos, Lisp_Object string)
{
xassert (STRINGP (string));
xassert (CHARPOS (*newpos) >= CHARPOS (pos));
frame F. FACE_ID specifies what line's height to estimate. */
int
-estimate_mode_line_height (f, face_id)
- struct frame *f;
- enum face_id face_id;
+estimate_mode_line_height (struct frame *f, enum face_id face_id)
{
#ifdef HAVE_WINDOW_SYSTEM
if (FRAME_WINDOW_P (f))
not force the value into range. */
void
-pixel_to_glyph_coords (f, pix_x, pix_y, x, y, bounds, noclip)
- FRAME_PTR f;
- register int pix_x, pix_y;
- int *x, *y;
- NativeRectangle *bounds;
- int noclip;
+pixel_to_glyph_coords (FRAME_PTR f, register int pix_x, register int pix_y,
+ int *x, int *y, NativeRectangle *bounds, int noclip)
{
#ifdef HAVE_WINDOW_SYSTEM
return 0. */
int
-glyph_to_pixel_coords (w, hpos, vpos, frame_x, frame_y)
- struct window *w;
- int hpos, vpos;
- int *frame_x, *frame_y;
+glyph_to_pixel_coords (struct window *w, int hpos, int vpos,
+ int *frame_x, int *frame_y)
{
#ifdef HAVE_WINDOW_SYSTEM
if (FRAME_WINDOW_P (XFRAME (WINDOW_FRAME (w))))
static
struct glyph *
-x_y_to_hpos_vpos (w, x, y, hpos, vpos, dx, dy, area)
- struct window *w;
- int x, y;
- int *hpos, *vpos, *dx, *dy, *area;
+x_y_to_hpos_vpos (struct window *w, int x, int y, int *hpos, int *vpos,
+ int *dx, int *dy, int *area)
{
struct glyph *glyph, *end;
struct glyph_row *row = NULL;
Takes pseudo-windows into account. */
void
-frame_to_window_pixel_xy (w, x, y)
- struct window *w;
- int *x, *y;
+frame_to_window_pixel_xy (struct window *w, int *x, int *y)
{
if (w->pseudo_window_p)
{
Return the number of stored rectangles. */
int
-get_glyph_string_clip_rects (s, rects, n)
- struct glyph_string *s;
- NativeRectangle *rects;
- int n;
+get_glyph_string_clip_rects (struct glyph_string *s, NativeRectangle *rects, int n)
{
XRectangle r;
Return in *NR the clipping rectangle for glyph string S. */
void
-get_glyph_string_clip_rect (s, nr)
- struct glyph_string *s;
- NativeRectangle *nr;
+get_glyph_string_clip_rect (struct glyph_string *s, NativeRectangle *nr)
{
get_glyph_string_clip_rects (s, nr, 1);
}
*/
void
-get_phys_cursor_geometry (w, row, glyph, xp, yp, heightp)
- struct window *w;
- struct glyph_row *row;
- struct glyph *glyph;
- int *xp, *yp, *heightp;
+get_phys_cursor_geometry (struct window *w, struct glyph_row *row,
+ struct glyph *glyph, int *xp, int *yp, int *heightp)
{
struct frame *f = XFRAME (WINDOW_FRAME (w));
int x, y, wd, h, h0, y0;
*/
void
-remember_mouse_glyph (f, gx, gy, rect)
- struct frame *f;
- int gx, gy;
- NativeRectangle *rect;
+remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
{
Lisp_Object window;
struct window *w;
/* Error handler for safe_eval and safe_call. */
static Lisp_Object
-safe_eval_handler (arg)
- Lisp_Object arg;
+safe_eval_handler (Lisp_Object arg)
{
add_to_log ("Error during redisplay: %s", arg, Qnil);
return Qnil;
redisplay during the evaluation. */
Lisp_Object
-safe_call (nargs, args)
- int nargs;
- Lisp_Object *args;
+safe_call (int nargs, Lisp_Object *args)
{
Lisp_Object val;
Return the result, or nil if something went wrong. */
Lisp_Object
-safe_call1 (fn, arg)
- Lisp_Object fn, arg;
+safe_call1 (Lisp_Object fn, Lisp_Object arg)
{
Lisp_Object args[2];
args[0] = fn;
the desired matrix of W. */
void
-init_iterator (it, w, charpos, bytepos, row, base_face_id)
- struct it *it;
- struct window *w;
- EMACS_INT charpos, bytepos;
- struct glyph_row *row;
- enum face_id base_face_id;
+init_iterator (struct it *it, struct window *w,
+ EMACS_INT charpos, EMACS_INT bytepos,
+ struct glyph_row *row, enum face_id base_face_id)
{
int highlight_region_p;
enum face_id remapped_base_face_id = base_face_id;
/* Initialize IT for the display of window W with window start POS. */
void
-start_display (it, w, pos)
- struct it *it;
- struct window *w;
- struct text_pos pos;
+start_display (struct it *it, struct window *w, struct text_pos pos)
{
struct glyph_row *row;
int first_vpos = WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0;
text. W is the window we display, for text property lookup. */
static int
-in_ellipses_for_invisible_text_p (pos, w)
- struct display_pos *pos;
- struct window *w;
+in_ellipses_for_invisible_text_p (struct display_pos *pos, struct window *w)
{
Lisp_Object prop, window;
int ellipses_p = 0;
is zero if there are overlay strings with newlines at POS. */
static int
-init_from_display_pos (it, w, pos)
- struct it *it;
- struct window *w;
- struct display_pos *pos;
+init_from_display_pos (struct it *it, struct window *w, struct display_pos *pos)
{
EMACS_INT charpos = CHARPOS (pos->pos), bytepos = BYTEPOS (pos->pos);
int i, overlay_strings_with_newlines = 0;
starting at ROW->start. */
static void
-init_to_row_start (it, w, row)
- struct it *it;
- struct window *w;
- struct glyph_row *row;
+init_to_row_start (struct it *it, struct window *w, struct glyph_row *row)
{
init_from_display_pos (it, w, &row->start);
it->start = row->start;
end position. */
static int
-init_to_row_end (it, w, row)
- struct it *it;
- struct window *w;
- struct glyph_row *row;
+init_to_row_end (struct it *it, struct window *w, struct glyph_row *row)
{
int success = 0;
to stop. */
static void
-handle_stop (it)
- struct it *it;
+handle_stop (struct it *it)
{
enum prop_handled handled;
int handle_overlay_change_p;
information for IT's current position. */
static void
-compute_stop_pos (it)
- struct it *it;
+compute_stop_pos (struct it *it)
{
register INTERVAL iv, next_iv;
Lisp_Object object, limit, position;
xmalloc. */
static EMACS_INT
-next_overlay_change (pos)
- EMACS_INT pos;
+next_overlay_change (EMACS_INT pos)
{
int noverlays;
EMACS_INT endpos;
regions of text. */
static enum prop_handled
-handle_fontified_prop (it)
- struct it *it;
+handle_fontified_prop (struct it *it)
{
Lisp_Object prop, pos;
enum prop_handled handled = HANDLED_NORMALLY;
Called from handle_stop. */
static enum prop_handled
-handle_face_prop (it)
- struct it *it;
+handle_face_prop (struct it *it)
{
int new_face_id;
EMACS_INT next_stop;
Otherwise, use the iterator's base_face_id. */
static int
-underlying_face_id (it)
- struct it *it;
+underlying_face_id (struct it *it)
{
int face_id = it->base_face_id, i;
position. Value is the id of the face. */
static int
-face_before_or_after_it_pos (it, before_p)
- struct it *it;
- int before_p;
+face_before_or_after_it_pos (struct it *it, int before_p)
{
int face_id, limit;
EMACS_INT next_check_charpos;
position. Called from handle_stop. */
static enum prop_handled
-handle_invisible_prop (it)
- struct it *it;
+handle_invisible_prop (struct it *it)
{
enum prop_handled handled = HANDLED_NORMALLY;
Replaces LEN characters from buffer. */
static void
-setup_for_ellipsis (it, len)
- struct it *it;
- int len;
+setup_for_ellipsis (struct it *it, int len)
{
/* Use the display table definition for `...'. Invalid glyphs
will be handled by the method returning elements from dpvec. */
Otherwise we return HANDLED_NORMALLY. */
static enum prop_handled
-handle_display_prop (it)
- struct it *it;
+handle_display_prop (struct it *it)
{
Lisp_Object prop, object, overlay;
struct text_pos *position;
at START_POS in OBJECT. */
static struct text_pos
-display_prop_end (it, object, start_pos)
- struct it *it;
- Lisp_Object object;
- struct text_pos start_pos;
+display_prop_end (struct it *it, Lisp_Object object, struct text_pos start_pos)
{
Lisp_Object end;
struct text_pos end_pos;
treated as intangible. */
static int
-single_display_spec_intangible_p (prop)
- Lisp_Object prop;
+single_display_spec_intangible_p (Lisp_Object prop)
{
/* Skip over `when FORM'. */
if (CONSP (prop) && EQ (XCAR (prop), Qwhen))
treated as intangible. */
int
-display_prop_intangible_p (prop)
- Lisp_Object prop;
+display_prop_intangible_p (Lisp_Object prop)
{
if (CONSP (prop)
&& CONSP (XCAR (prop))
/* Return 1 if PROP is a display sub-property value containing STRING. */
static int
-single_display_spec_string_p (prop, string)
- Lisp_Object prop, string;
+single_display_spec_string_p (Lisp_Object prop, Lisp_Object string)
{
if (EQ (string, prop))
return 1;
/* Return 1 if STRING appears in the `display' property PROP. */
static int
-display_prop_string_p (prop, string)
- Lisp_Object prop, string;
+display_prop_string_p (Lisp_Object prop, Lisp_Object string)
{
if (CONSP (prop)
&& CONSP (XCAR (prop))
called asynchronously from note_mouse_highlight. */
static EMACS_INT
-string_buffer_position_lim (w, string, from, to, back_p)
- struct window *w;
- Lisp_Object string;
- EMACS_INT from, to;
- int back_p;
+string_buffer_position_lim (struct window *w, Lisp_Object string,
+ EMACS_INT from, EMACS_INT to, int back_p)
{
Lisp_Object limit, prop, pos;
int found = 0;
called asynchronously from note_mouse_highlight. */
EMACS_INT
-string_buffer_position (w, string, around_charpos)
- struct window *w;
- Lisp_Object string;
- EMACS_INT around_charpos;
+string_buffer_position (struct window *w, Lisp_Object string, EMACS_INT around_charpos)
{
Lisp_Object limit, prop, pos;
const int MAX_DISTANCE = 1000;
position. Called from handle_stop. */
static enum prop_handled
-handle_composition_prop (it)
- struct it *it;
+handle_composition_prop (struct it *it)
{
Lisp_Object prop, string;
EMACS_INT pos, pos_byte, start, end;
Called from handle_stop. */
static enum prop_handled
-handle_overlay_change (it)
- struct it *it;
+handle_overlay_change (struct it *it)
{
if (!STRINGP (it->string) && get_overlay_strings (it, 0))
return HANDLED_RECOMPUTE_PROPS;
Otherwise IT->string is set to nil. */
static void
-next_overlay_string (it)
- struct it *it;
+next_overlay_string (struct it *it)
{
++it->current.overlay_string_index;
if (it->current.overlay_string_index == it->n_overlay_strings)
static int
-compare_overlay_entries (e1, e2)
- void *e1, *e2;
+compare_overlay_entries (const void *e1, const void *e2)
{
struct overlay_entry *entry1 = (struct overlay_entry *) e1;
struct overlay_entry *entry2 = (struct overlay_entry *) e2;
compare_overlay_entries. */
static void
-load_overlay_strings (it, charpos)
- struct it *it;
- int charpos;
+load_overlay_strings (struct it *it, int charpos)
{
extern Lisp_Object Qwindow, Qpriority;
Lisp_Object overlay, window, str, invisible;
least one overlay string was found. */
static int
-get_overlay_strings_1 (it, charpos, compute_stop_p)
- struct it *it;
- int charpos;
- int compute_stop_p;
+get_overlay_strings_1 (struct it *it, int charpos, int compute_stop_p)
{
/* Get the first OVERLAY_STRING_CHUNK_SIZE overlay strings to
process. This fills IT->overlay_strings with strings, and sets
}
static int
-get_overlay_strings (it, charpos)
- struct it *it;
- int charpos;
+get_overlay_strings (struct it *it, int charpos)
{
it->string = Qnil;
it->method = GET_FROM_BUFFER;
processed. */
static void
-push_it (it)
- struct it *it;
+push_it (struct it *it)
{
struct iterator_stack_entry *p;
}
static void
-iterate_out_of_display_property (it)
- struct it *it;
+iterate_out_of_display_property (struct it *it)
{
/* Maybe initialize paragraph direction. If we are at the beginning
of a new paragraph, next_element_from_buffer may not have a
elements from an overlay string, or from a buffer. */
static void
-pop_it (it)
- struct it *it;
+pop_it (struct it *it)
{
struct iterator_stack_entry *p;
/* Set IT's current position to the previous line start. */
static void
-back_to_previous_line_start (it)
- struct it *it;
+back_to_previous_line_start (struct it *it)
{
IT_CHARPOS (*it) = find_next_newline_no_quit (IT_CHARPOS (*it) - 1, -1);
IT_BYTEPOS (*it) = CHAR_TO_BYTE (IT_CHARPOS (*it));
leads to wrong cursor motion. */
static int
-forward_to_next_line_start (it, skipped_p)
- struct it *it;
- int *skipped_p;
+forward_to_next_line_start (struct it *it, int *skipped_p)
{
int old_selective, newline_found_p, n;
const int MAX_NEWLINE_DISTANCE = 500;
IT->hpos. */
static void
-back_to_previous_visible_line_start (it)
- struct it *it;
+back_to_previous_visible_line_start (struct it *it)
{
while (IT_CHARPOS (*it) > BEGV)
{
face information etc. */
void
-reseat_at_previous_visible_line_start (it)
- struct it *it;
+reseat_at_previous_visible_line_start (struct it *it)
{
back_to_previous_visible_line_start (it);
reseat (it, it->current.pos, 1);
is invisible because of text properties. */
static void
-reseat_at_next_visible_line_start (it, on_newline_p)
- struct it *it;
- int on_newline_p;
+reseat_at_next_visible_line_start (struct it *it, int on_newline_p)
{
int newline_found_p, skipped_p = 0;
IT->check_charpos of a property. */
static void
-reseat (it, pos, force_p)
- struct it *it;
- struct text_pos pos;
- int force_p;
+reseat (struct it *it, struct text_pos pos, int force_p)
{
int original_pos = IT_CHARPOS (*it);
IT->stop_pos to POS, also. */
static void
-reseat_1 (it, pos, set_stop_p)
- struct it *it;
- struct text_pos pos;
- int set_stop_p;
+reseat_1 (struct it *it, struct text_pos pos, int set_stop_p)
{
/* Don't call this function when scanning a C string. */
xassert (it->s == NULL);
calling this function. */
static void
-reseat_to_string (it, s, string, charpos, precision, field_width, multibyte)
- struct it *it;
- unsigned char *s;
- Lisp_Object string;
- int charpos;
- int precision, field_width, multibyte;
+reseat_to_string (struct it *it, unsigned char *s, Lisp_Object string,
+ int charpos, int precision, int field_width, int multibyte)
{
/* No region in strings. */
it->region_beg_charpos = it->region_end_charpos = -1;
static int last_escape_glyph_merged_face_id = 0;
int
-get_next_display_element (it)
- struct it *it;
+get_next_display_element (struct it *it)
{
/* Non-zero means that we found a display element. Zero means that
we hit the end of what we iterate over. Performance note: the
decrement position function which would not be easy to write. */
void
-set_iterator_to_next (it, reseat_p)
- struct it *it;
- int reseat_p;
+set_iterator_to_next (struct it *it, int reseat_p)
{
/* Reset flags indicating start and end of a sequence of characters
with box. Reset them at the start of this function because
is restored into IT->face_id in set_iterator_to_next. */
static int
-next_element_from_display_vector (it)
- struct it *it;
+next_element_from_display_vector (struct it *it)
{
Lisp_Object gc;
overlay string. */
static int
-next_element_from_string (it)
- struct it *it;
+next_element_from_string (struct it *it)
{
struct text_pos position;
reached, including padding spaces. */
static int
-next_element_from_c_string (it)
- struct it *it;
+next_element_from_c_string (struct it *it)
{
int success_p = 1;
ellipsis if an ellipsis is to be displayed. */
static int
-next_element_from_ellipsis (it)
- struct it *it;
+next_element_from_ellipsis (struct it *it)
{
if (it->selective_display_ellipsis_p)
setup_for_ellipsis (it, it->len);
static int
-next_element_from_image (it)
- struct it *it;
+next_element_from_image (struct it *it)
{
it->what = IT_IMAGE;
return 1;
always 1. */
static int
-next_element_from_stretch (it)
- struct it *it;
+next_element_from_stretch (struct it *it)
{
it->what = IT_STRETCH;
return 1;
position. */
static void
-handle_stop_backwards (it, charpos)
- struct it *it;
- EMACS_INT charpos;
+handle_stop_backwards (struct it *it, EMACS_INT charpos)
{
EMACS_INT where_we_are = IT_CHARPOS (*it);
struct display_pos save_current = it->current;
end. */
static int
-next_element_from_buffer (it)
- struct it *it;
+next_element_from_buffer (struct it *it)
{
int success_p = 1;
/* Run the redisplay end trigger hook for IT. */
static void
-run_redisplay_end_trigger_hook (it)
- struct it *it;
+run_redisplay_end_trigger_hook (struct it *it)
{
Lisp_Object args[3];
next_element_from_string when necessary. */
static int
-next_element_from_composition (it)
- struct it *it;
+next_element_from_composition (struct it *it)
{
it->what = IT_COMPOSITION;
it->len = it->cmp_it.nbytes;
TO_CHARPOS. */
void
-move_it_to (it, to_charpos, to_x, to_y, to_vpos, op)
- struct it *it;
- int to_charpos, to_x, to_y, to_vpos;
- int op;
+move_it_to (struct it *it, int to_charpos, int to_x, int to_y, int to_vpos, int op)
{
enum move_it_result skip, skip2 = MOVE_X_REACHED;
int line_height, line_start_x = 0, reached = 0;
set to the top of the line moved to. */
void
-move_it_vertically_backward (it, dy)
- struct it *it;
- int dy;
+move_it_vertically_backward (struct it *it, int dy)
{
int nlines, h;
struct it it2, it3;
end, IT will be on the start of a screen line. */
void
-move_it_vertically (it, dy)
- struct it *it;
- int dy;
+move_it_vertically (struct it *it, int dy)
{
if (dy <= 0)
move_it_vertically_backward (it, -dy);
/* Move iterator IT past the end of the text line it is in. */
void
-move_it_past_eol (it)
- struct it *it;
+move_it_past_eol (struct it *it)
{
enum move_it_result rc;
truncate-lines nil. */
void
-move_it_by_lines (it, dvpos, need_y_p)
- struct it *it;
- int dvpos, need_y_p;
+move_it_by_lines (struct it *it, int dvpos, int need_y_p)
{
struct position pos;
/* Return 1 if IT points into the middle of a display vector. */
int
-in_display_vector_p (it)
- struct it *it;
+in_display_vector_p (struct it *it)
{
return (it->method == GET_FROM_DISPLAY_VECTOR
&& it->current.dpvec_index > 0
to *Messages*. */
void
-add_to_log (format, arg1, arg2)
- char *format;
- Lisp_Object arg1, arg2;
+add_to_log (char *format, Lisp_Object arg1, Lisp_Object arg2)
{
Lisp_Object args[3];
Lisp_Object msg, fmt;
/* Output a newline in the *Messages* buffer if "needs" one. */
void
-message_log_maybe_newline ()
+message_log_maybe_newline (void)
{
if (message_log_need_newline)
message_dolog ("", 0, 1, 0);
so the buffer M must NOT point to a Lisp string. */
void
-message_dolog (m, nbytes, nlflag, multibyte)
- const char *m;
- int nbytes, nlflag, multibyte;
+message_dolog (const char *m, int nbytes, int nlflag, int multibyte)
{
if (!NILP (Vmemory_full))
return;
value N > 1 if we should also append " [N times]". */
static int
-message_log_check_duplicate (prev_bol, prev_bol_byte, this_bol, this_bol_byte)
- int prev_bol, this_bol;
- int prev_bol_byte, this_bol_byte;
+message_log_check_duplicate (int prev_bol, int prev_bol_byte,
+ int this_bol, int this_bol_byte)
{
int i;
int len = Z_BYTE - 1 - this_bol_byte;
This may GC, so the buffer M must NOT point to a Lisp string. */
void
-message2 (m, nbytes, multibyte)
- const char *m;
- int nbytes;
- int multibyte;
+message2 (const char *m, int nbytes, int multibyte)
{
/* First flush out any partial line written with print. */
message_log_maybe_newline ();
/* The non-logging counterpart of message2. */
void
-message2_nolog (m, nbytes, multibyte)
- const char *m;
- int nbytes, multibyte;
+message2_nolog (const char *m, int nbytes, int multibyte)
{
struct frame *sf = SELECTED_FRAME ();
message_enable_multibyte = multibyte;
This function cancels echoing. */
void
-message3 (m, nbytes, multibyte)
- Lisp_Object m;
- int nbytes;
- int multibyte;
+message3 (Lisp_Object m, int nbytes, int multibyte)
{
struct gcpro gcpro1;
and make this cancel echoing. */
void
-message3_nolog (m, nbytes, multibyte)
- Lisp_Object m;
- int nbytes, multibyte;
+message3_nolog (Lisp_Object m, int nbytes, int multibyte)
{
struct frame *sf = SELECTED_FRAME ();
message_enable_multibyte = multibyte;
that was alloca'd. */
void
-message1 (m)
- char *m;
+message1 (char *m)
{
message2 (m, (m ? strlen (m) : 0), 0);
}
/* The non-logging counterpart of message1. */
void
-message1_nolog (m)
- char *m;
+message1_nolog (char *m)
{
message2_nolog (m, (m ? strlen (m) : 0), 0);
}
which gets replaced with STRING. */
void
-message_with_string (m, string, log)
- char *m;
- Lisp_Object string;
- int log;
+message_with_string (char *m, Lisp_Object string, int log)
{
CHECK_STRING (string);
/* VARARGS 1 */
void
-message (m, a1, a2, a3)
- char *m;
- EMACS_INT a1, a2, a3;
+message (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3)
{
if (noninteractive)
{
/* The non-logging version of message. */
void
-message_nolog (m, a1, a2, a3)
- char *m;
- EMACS_INT a1, a2, a3;
+message_nolog (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3)
{
Lisp_Object old_log_max;
old_log_max = Vmessage_log_max;
critical. */
void
-update_echo_area ()
+update_echo_area (void)
{
if (!NILP (echo_area_buffer[0]))
{
If they aren't, make new ones. */
static void
-ensure_echo_area_buffers ()
+ensure_echo_area_buffers (void)
{
int i;
Value is what FN returns. */
static int
-with_echo_area_buffer (w, which, fn, a1, a2, a3, a4)
- struct window *w;
- int which;
- int (*fn) (EMACS_INT, Lisp_Object, EMACS_INT, EMACS_INT);
- EMACS_INT a1;
- Lisp_Object a2;
- EMACS_INT a3, a4;
+with_echo_area_buffer (struct window *w, int which,
+ int (*fn) (EMACS_INT, Lisp_Object, EMACS_INT, EMACS_INT),
+ EMACS_INT a1, Lisp_Object a2, EMACS_INT a3, EMACS_INT a4)
{
Lisp_Object buffer;
int this_one, the_other, clear_buffer_p, rc;
FN called in with_echo_area_buffer. */
static Lisp_Object
-with_echo_area_buffer_unwind_data (w)
- struct window *w;
+with_echo_area_buffer_unwind_data (struct window *w)
{
int i = 0;
Lisp_Object vector, tmp;
with_echo_area_buffer_unwind_data. */
static Lisp_Object
-unwind_with_echo_area_buffer (vector)
- Lisp_Object vector;
+unwind_with_echo_area_buffer (Lisp_Object vector)
{
set_buffer_internal_1 (XBUFFER (AREF (vector, 0)));
Vdeactivate_mark = AREF (vector, 1);
non-zero means we will print multibyte. */
void
-setup_echo_area_for_printing (multibyte_p)
- int multibyte_p;
+setup_echo_area_for_printing (int multibyte_p)
{
/* If we can't find an echo area any more, exit. */
if (! FRAME_LIVE_P (XFRAME (selected_frame)))
display the current message. */
static int
-display_echo_area (w)
- struct window *w;
+display_echo_area (struct window *w)
{
int i, no_message_p, window_height_changed_p, count;
Value is non-zero if height of W was changed. */
static int
-display_echo_area_1 (a1, a2, a3, a4)
- EMACS_INT a1;
- Lisp_Object a2;
- EMACS_INT a3, a4;
+display_echo_area_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT a3, EMACS_INT a4)
{
struct window *w = (struct window *) a1;
Lisp_Object window;
is active, don't shrink it. */
void
-resize_echo_area_exactly ()
+resize_echo_area_exactly (void)
{
if (BUFFERP (echo_area_buffer[0])
&& WINDOWP (echo_area_window))
resize_mini_window returns. */
static int
-resize_mini_window_1 (a1, exactly, a3, a4)
- EMACS_INT a1;
- Lisp_Object exactly;
- EMACS_INT a3, a4;
+resize_mini_window_1 (EMACS_INT a1, Lisp_Object exactly, EMACS_INT a3, EMACS_INT a4)
{
return resize_mini_window ((struct window *) a1, !NILP (exactly));
}
Value is non-zero if the window height has been changed. */
int
-resize_mini_window (w, exact_p)
- struct window *w;
- int exact_p;
+resize_mini_window (struct window *w, int exact_p)
{
struct frame *f = XFRAME (w->frame);
int window_height_changed_p = 0;
current message. */
Lisp_Object
-current_message ()
+current_message (void)
{
Lisp_Object msg;
static int
-current_message_1 (a1, a2, a3, a4)
- EMACS_INT a1;
- Lisp_Object a2;
- EMACS_INT a3, a4;
+current_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT a3, EMACS_INT a4)
{
Lisp_Object *msg = (Lisp_Object *) a1;
worth optimizing. */
int
-push_message ()
+push_message (void)
{
Lisp_Object msg;
msg = current_message ();
/* Restore message display from the top of Vmessage_stack. */
void
-restore_message ()
+restore_message (void)
{
Lisp_Object msg;
/* Handler for record_unwind_protect calling pop_message. */
Lisp_Object
-pop_message_unwind (dummy)
- Lisp_Object dummy;
+pop_message_unwind (Lisp_Object dummy)
{
pop_message ();
return Qnil;
/* Pop the top-most entry off Vmessage_stack. */
void
-pop_message ()
+pop_message (void)
{
xassert (CONSP (Vmessage_stack));
Vmessage_stack = XCDR (Vmessage_stack);
somewhere. */
void
-check_message_stack ()
+check_message_stack (void)
{
if (!NILP (Vmessage_stack))
abort ();
time we display it---but don't redisplay it now. */
void
-truncate_echo_area (nchars)
- int nchars;
+truncate_echo_area (int nchars)
{
if (nchars == 0)
echo_area_buffer[0] = Qnil;
message to at most NCHARS characters. */
static int
-truncate_message_1 (nchars, a2, a3, a4)
- EMACS_INT nchars;
- Lisp_Object a2;
- EMACS_INT a3, a4;
+truncate_message_1 (EMACS_INT nchars, Lisp_Object a2, EMACS_INT a3, EMACS_INT a4)
{
if (BEG + nchars < Z)
del_range (BEG + nchars, Z);
*/
void
-set_message (s, string, nbytes, multibyte_p)
- const char *s;
- Lisp_Object string;
- int nbytes, multibyte_p;
+set_message (const char *s, Lisp_Object string, int nbytes, int multibyte_p)
{
message_enable_multibyte
= ((s && multibyte_p)
current. */
static int
-set_message_1 (a1, a2, nbytes, multibyte_p)
- EMACS_INT a1;
- Lisp_Object a2;
- EMACS_INT nbytes, multibyte_p;
+set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multibyte_p)
{
const char *s = (const char *) a1;
Lisp_Object string = a2;
last displayed. */
void
-clear_message (current_p, last_displayed_p)
- int current_p, last_displayed_p;
+clear_message (int current_p, int last_displayed_p)
{
if (current_p)
{
and ensure a complete redisplay of all windows. */
static void
-clear_garbaged_frames ()
+clear_garbaged_frames (void)
{
if (frame_garbaged)
{
mini-windows height has been changed. */
static int
-echo_area_display (update_frame_p)
- int update_frame_p;
+echo_area_display (int update_frame_p)
{
Lisp_Object mini_window;
struct window *w;
}
static Lisp_Object
-unwind_format_mode_line (vector)
- Lisp_Object vector;
+unwind_format_mode_line (Lisp_Object vector)
{
mode_line_target = XINT (AREF (vector, 0));
mode_line_noprop_ptr = mode_line_noprop_buf + XINT (AREF (vector, 1));
frame title. */
static int
-store_mode_line_noprop (str, field_width, precision)
- const unsigned char *str;
- int field_width, precision;
+store_mode_line_noprop (const unsigned char *str, int field_width, int precision)
{
int n = 0;
int dummy, nbytes;
frame_title_format. */
static void
-x_consider_frame_title (frame)
- Lisp_Object frame;
+x_consider_frame_title (Lisp_Object frame)
{
struct frame *f = XFRAME (frame);
appropriate. This can call eval. */
void
-prepare_menu_bars ()
+prepare_menu_bars (void)
{
int all_windows;
struct gcpro gcpro1, gcpro2;
updated value of this flag, to pass to the next call. */
static int
-update_menu_bar (f, save_match_data, hooks_run)
- struct frame *f;
- int save_match_data;
- int hooks_run;
+update_menu_bar (struct frame *f, int save_match_data, int hooks_run)
{
Lisp_Object window;
register struct window *w;
positions are relative to updated_window. */
void
-set_output_cursor (cursor)
- struct cursor_pos *cursor;
+set_output_cursor (struct cursor_pos *cursor)
{
output_cursor.hpos = cursor->hpos;
output_cursor.vpos = cursor->vpos;
selected_window and display the cursor at the given position. */
void
-x_cursor_to (vpos, hpos, y, x)
- int vpos, hpos, y, x;
+x_cursor_to (int vpos, int hpos, int y, int x)
{
struct window *w;
static Lisp_Object
-update_tool_bar_unwind (frame)
- Lisp_Object frame;
+update_tool_bar_unwind (Lisp_Object frame)
{
selected_frame = frame;
return Qnil;
and restore it here. */
static void
-update_tool_bar (f, save_match_data)
- struct frame *f;
- int save_match_data;
+update_tool_bar (struct frame *f, int save_match_data)
{
#if defined (USE_GTK) || defined (HAVE_NS)
int do_update = FRAME_EXTERNAL_TOOL_BAR (f);
been set up previously by calling prepare_menu_bars. */
static void
-build_desired_tool_bar_string (f)
- struct frame *f;
+build_desired_tool_bar_string (struct frame *f)
{
int i, size, size_needed;
struct gcpro gcpro1, gcpro2, gcpro3;
*/
static void
-display_tool_bar_line (it, height)
- struct it *it;
- int height;
+display_tool_bar_line (struct it *it, int height)
{
struct glyph_row *row = it->glyph_row;
int max_x = it->last_visible_x;
returned in *N_ROWS if non-NULL. */
static int
-tool_bar_lines_needed (f, n_rows)
- struct frame *f;
- int *n_rows;
+tool_bar_lines_needed (struct frame *f, int *n_rows)
{
struct window *w = XWINDOW (f->tool_bar_window);
struct it it;
height should be changed. */
static int
-redisplay_tool_bar (f)
- struct frame *f;
+redisplay_tool_bar (struct frame *f)
{
struct window *w;
struct it it;
GLYPH doesn't display a tool-bar item. */
static int
-tool_bar_item_info (f, glyph, prop_idx)
- struct frame *f;
- struct glyph *glyph;
- int *prop_idx;
+tool_bar_item_info (struct frame *f, struct glyph *glyph, int *prop_idx)
{
Lisp_Object prop;
int success_p;
1 otherwise. */
static int
-get_tool_bar_item (f, x, y, glyph, hpos, vpos, prop_idx)
- struct frame *f;
- int x, y;
- struct glyph **glyph;
- int *hpos, *vpos, *prop_idx;
+get_tool_bar_item (struct frame *f, int x, int y, struct glyph **glyph,
+ int *hpos, int *vpos, int *prop_idx)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
struct window *w = XWINDOW (f->tool_bar_window);
release. */
void
-handle_tool_bar_click (f, x, y, down_p, modifiers)
- struct frame *f;
- int x, y, down_p;
- unsigned int modifiers;
+handle_tool_bar_click (struct frame *f, int x, int y, int down_p,
+ unsigned int modifiers)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
struct window *w = XWINDOW (f->tool_bar_window);
note_mouse_highlight. */
static void
-note_tool_bar_highlight (f, x, y)
- struct frame *f;
- int x, y;
+note_tool_bar_highlight (struct frame *f, int x, int y)
{
Lisp_Object window = f->tool_bar_window;
struct window *w = XWINDOW (window);
changed. */
static int
-hscroll_window_tree (window)
- Lisp_Object window;
+hscroll_window_tree (Lisp_Object window)
{
int hscrolled_p = 0;
int hscroll_relative_p = FLOATP (Vhscroll_step);
of WINDOW are cleared. */
static int
-hscroll_windows (window)
- Lisp_Object window;
+hscroll_windows (Lisp_Object window)
{
int hscrolled_p = hscroll_window_tree (window);
if (hscrolled_p)
redisplay_internal for display optimization. */
static INLINE int
-text_outside_line_unchanged_p (w, start, end)
- struct window *w;
- int start, end;
+text_outside_line_unchanged_p (struct window *w, int start, int end)
{
int unchanged_p = 1;
mini-buffer if that is in use. */
void
-redisplay ()
+redisplay (void)
{
redisplay_internal (0);
}
static Lisp_Object
-overlay_arrow_string_or_property (var)
- Lisp_Object var;
+overlay_arrow_string_or_property (Lisp_Object var)
{
Lisp_Object val;
/* Return 1 if there are any overlay-arrows in current_buffer. */
static int
-overlay_arrow_in_current_buffer_p ()
+overlay_arrow_in_current_buffer_p (void)
{
Lisp_Object vlist;
has changed. */
static int
-overlay_arrows_changed_p ()
+overlay_arrows_changed_p (void)
{
Lisp_Object vlist;
/* Mark overlay arrows to be updated on next redisplay. */
static void
-update_overlay_arrows (up_to_date)
- int up_to_date;
+update_overlay_arrows (int up_to_date)
{
Lisp_Object vlist;
Return nil if no overlay arrow. */
static Lisp_Object
-overlay_arrow_at_row (it, row)
- struct it *it;
- struct glyph_row *row;
+overlay_arrow_at_row (struct it *it, struct glyph_row *row)
{
Lisp_Object vlist;
position. BUF and PT are the current point buffer and position. */
int
-check_point_in_composition (prev_buf, prev_pt, buf, pt)
- struct buffer *prev_buf, *buf;
- int prev_pt, pt;
+check_point_in_composition (struct buffer *prev_buf, int prev_pt,
+ struct buffer *buf, int pt)
{
EMACS_INT start, end;
Lisp_Object prop;
in window W. */
static INLINE void
-reconsider_clip_changes (w, b)
- struct window *w;
- struct buffer *b;
+reconsider_clip_changes (struct window *w, struct buffer *b)
{
if (b->clip_changed
&& !NILP (w->window_end_valid)
directly. */
static void
-select_frame_for_redisplay (frame)
- Lisp_Object frame;
+select_frame_for_redisplay (Lisp_Object frame)
{
Lisp_Object tail, tem;
Lisp_Object old = selected_frame;
causes some problems. */
static void
-redisplay_internal (preserve_echo_area)
- int preserve_echo_area;
+redisplay_internal (int preserve_echo_area)
{
struct window *w = XWINDOW (selected_window);
struct frame *f;
called. This is useful for debugging. */
void
-redisplay_preserve_echo_area (from_where)
- int from_where;
+redisplay_preserve_echo_area (int from_where)
{
TRACE ((stderr, "redisplay_preserve_echo_area (%d)\n", from_where));
failure during redisplay, for example). */
static Lisp_Object
-unwind_redisplay (val)
- Lisp_Object val;
+unwind_redisplay (Lisp_Object val)
{
Lisp_Object old_redisplaying_p, old_frame;
redisplay_internal is called. */
static void
-mark_window_display_accurate_1 (w, accurate_p)
- struct window *w;
- int accurate_p;
+mark_window_display_accurate_1 (struct window *w, int accurate_p)
{
if (BUFFERP (w->buffer))
{
be redisplayed the next time redisplay_internal is called. */
void
-mark_window_display_accurate (window, accurate_p)
- Lisp_Object window;
- int accurate_p;
+mark_window_display_accurate (Lisp_Object window, int accurate_p)
{
struct window *w;
macro DISP_CHAR_VECTOR. */
Lisp_Object
-disp_char_vector (dp, c)
- struct Lisp_Char_Table *dp;
- int c;
+disp_char_vector (struct Lisp_Char_Table *dp, int c)
{
Lisp_Object val;
/* Redisplay all leaf windows in the window tree rooted at WINDOW. */
static void
-redisplay_windows (window)
- Lisp_Object window;
+redisplay_windows (Lisp_Object window)
{
while (!NILP (window))
{
}
static Lisp_Object
-redisplay_window_error ()
+redisplay_window_error (Lisp_Object ignore)
{
displayed_buffer->display_error_modiff = BUF_MODIFF (displayed_buffer);
return Qnil;
}
static Lisp_Object
-redisplay_window_0 (window)
- Lisp_Object window;
+redisplay_window_0 (Lisp_Object window)
{
if (displayed_buffer->display_error_modiff < BUF_MODIFF (displayed_buffer))
redisplay_window (window, 0);
}
static Lisp_Object
-redisplay_window_1 (window)
- Lisp_Object window;
+redisplay_window_1 (Lisp_Object window)
{
if (displayed_buffer->display_error_modiff < BUF_MODIFF (displayed_buffer))
redisplay_window (window, 1);
Return 0 if cursor is not on this row, 1 otherwise. */
int
-set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos)
- struct window *w;
- struct glyph_row *row;
- struct glyph_matrix *matrix;
- int delta, delta_bytes, dy, dvpos;
+set_cursor_from_row (struct window *w, struct glyph_row *row,
+ struct glyph_matrix *matrix, int delta, int delta_bytes,
+ int dy, int dvpos)
{
struct glyph *glyph = row->glyphs[TEXT_AREA];
struct glyph *end = glyph + row->used[TEXT_AREA];
We assume that the window's buffer is really current. */
static INLINE struct text_pos
-run_window_scroll_functions (window, startp)
- Lisp_Object window;
- struct text_pos startp;
+run_window_scroll_functions (Lisp_Object window, struct text_pos startp)
{
struct window *w = XWINDOW (window);
SET_MARKER_FROM_TEXT_POS (w->start, startp);
as if point had gone off the screen. */
static int
-cursor_row_fully_visible_p (w, force_p, current_matrix_p)
- struct window *w;
- int force_p;
- int current_matrix_p;
+cursor_row_fully_visible_p (struct window *w, int force_p, int current_matrix_p)
{
struct glyph_matrix *matrix;
struct glyph_row *row;
screen line with the minimum distance from the old start W->start. */
static int
-compute_window_start_on_continuation_line (w)
- struct window *w;
+compute_window_start_on_continuation_line (struct window *w)
{
struct text_pos pos, start_pos;
int window_start_changed_p = 0;
};
static int
-try_cursor_movement (window, startp, scroll_step)
- Lisp_Object window;
- struct text_pos startp;
- int *scroll_step;
+try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_step)
{
struct window *w = XWINDOW (window);
struct frame *f = XFRAME (w->frame);
}
void
-set_vertical_scroll_bar (w)
- struct window *w;
+set_vertical_scroll_bar (struct window *w)
{
int start, end, whole;
retry. */
static void
-redisplay_window (window, just_this_one_p)
- Lisp_Object window;
- int just_this_one_p;
+redisplay_window (Lisp_Object window, int just_this_one_p)
{
struct window *w = XWINDOW (window);
struct frame *f = XFRAME (w->frame);
set in FLAGS.) */
int
-try_window (window, pos, flags)
- Lisp_Object window;
- struct text_pos pos;
- int flags;
+try_window (Lisp_Object window, struct text_pos pos, int flags)
{
struct window *w = XWINDOW (window);
struct it it;
W->start is the new window start. */
static int
-try_window_reusing_current_matrix (w)
- struct window *w;
+try_window_reusing_current_matrix (struct window *w)
{
struct frame *f = XFRAME (w->frame);
struct glyph_row *row, *bottom_row;
a pointer to the row found. */
static struct glyph_row *
-find_last_row_displaying_text (matrix, it, start)
- struct glyph_matrix *matrix;
- struct it *it;
- struct glyph_row *start;
+find_last_row_displaying_text (struct glyph_matrix *matrix, struct it *it,
+ struct glyph_row *start)
{
struct glyph_row *row, *row_found;
when the current matrix was built. */
static struct glyph_row *
-find_last_unchanged_at_beg_row (w)
- struct window *w;
+find_last_unchanged_at_beg_row (struct window *w)
{
int first_changed_pos = BEG + BEG_UNCHANGED;
struct glyph_row *row;
changes. */
static struct glyph_row *
-find_first_unchanged_at_end_row (w, delta, delta_bytes)
- struct window *w;
- int *delta, *delta_bytes;
+find_first_unchanged_at_end_row (struct window *w, int *delta, int *delta_bytes)
{
struct glyph_row *row;
struct glyph_row *row_found = NULL;
try_window_reusing_current_matrix. */
static void
-sync_frame_with_window_matrix_rows (w)
- struct window *w;
+sync_frame_with_window_matrix_rows (struct window *w)
{
struct frame *f = XFRAME (w->frame);
struct glyph_row *window_row, *window_row_end, *frame_row;
containing CHARPOS or null. */
struct glyph_row *
-row_containing_pos (w, charpos, start, end, dy)
- struct window *w;
- int charpos;
- struct glyph_row *start, *end;
- int dy;
+row_containing_pos (struct window *w, int charpos, struct glyph_row *start,
+ struct glyph_row *end, int dy)
{
struct glyph_row *row = start;
struct glyph_row *best_row = NULL;
7. Update W's window end information. */
static int
-try_window_id (w)
- struct window *w;
+try_window_id (struct window *w)
{
struct frame *f = XFRAME (w->frame);
struct glyph_matrix *current_matrix = w->current_matrix;
Used for non-window-redisplay windows, and for windows w/o left fringe. */
static struct glyph_row *
-get_overlay_arrow_glyph_row (w, overlay_arrow_string)
- struct window *w;
- Lisp_Object overlay_arrow_string;
+get_overlay_arrow_glyph_row (struct window *w, Lisp_Object overlay_arrow_string)
{
struct frame *f = XFRAME (WINDOW_FRAME (w));
struct buffer *buffer = XBUFFER (w->buffer);
produce_special_glyphs. */
static void
-insert_left_trunc_glyphs (it)
- struct it *it;
+insert_left_trunc_glyphs (struct it *it)
{
struct it truncate_it;
struct glyph *from, *end, *to, *toend;
must not be zero. */
static void
-compute_line_metrics (it)
- struct it *it;
+compute_line_metrics (struct it *it)
{
struct glyph_row *row = it->glyph_row;
int area, i;
end of the line if the row ends in italic text. */
static int
-append_space_for_newline (it, default_face_p)
- struct it *it;
- int default_face_p;
+append_space_for_newline (struct it *it, int default_face_p)
{
if (FRAME_WINDOW_P (it->f))
{
left of the leftmost glyph. */
static void
-extend_face_to_end_of_line (it)
- struct it *it;
+extend_face_to_end_of_line (struct it *it)
{
struct face *face;
struct frame *f = it->f;
trailing whitespace. */
static int
-trailing_whitespace_p (charpos)
- int charpos;
+trailing_whitespace_p (int charpos)
{
int bytepos = CHAR_TO_BYTE (charpos);
int c = 0;
/* Highlight trailing whitespace, if any, in ROW. */
void
-highlight_trailing_whitespace (f, row)
- struct frame *f;
- struct glyph_row *row;
+highlight_trailing_whitespace (struct frame *f, struct glyph_row *row)
{
int used = row->used[TEXT_AREA];
used to hold the cursor. */
static int
-cursor_row_p (w, row)
- struct window *w;
- struct glyph_row *row;
+cursor_row_p (struct window *w, struct glyph_row *row)
{
int cursor_row_p = 1;
/* Return the character-property PROP at the current position in IT. */
static Lisp_Object
-get_it_property (it, prop)
- struct it *it;
- Lisp_Object prop;
+get_it_property (struct it *it, Lisp_Object prop)
{
Lisp_Object position;
glyphs were produced by PRODUCE_GLYPHS, and the line needs to be
continued. */
static void
-unproduce_glyphs (it, n)
- struct it *it;
- int n;
+unproduce_glyphs (struct it *it, int n)
{
struct glyph *glyph, *end;
/* Find the positions in a bidi-reordered ROW to serve as ROW->minpos
and ROW->maxpos. */
static void
-find_row_edges (it, row, min_pos, min_bpos, max_pos, max_bpos)
- struct it *it;
- struct glyph_row *row;
- EMACS_INT min_pos, min_bpos, max_pos, max_bpos;
+find_row_edges (struct it *it, struct glyph_row *row,
+ EMACS_INT min_pos, EMACS_INT min_bpos,
+ EMACS_INT max_pos, EMACS_INT max_bpos)
{
/* FIXME: Revisit this when glyph ``spilling'' in continuation
lines' rows is implemented for bidi-reordered rows. */
only. */
static int
-display_line (it)
- struct it *it;
+display_line (struct it *it)
{
struct glyph_row *row = it->glyph_row;
Lisp_Object overlay_arrow_string;
for the menu bar. */
static void
-display_menu_bar (w)
- struct window *w;
+display_menu_bar (struct window *w)
{
struct frame *f = XFRAME (WINDOW_FRAME (w));
struct it it;
the number of windows whose mode lines were redisplayed. */
static int
-redisplay_mode_lines (window, force)
- Lisp_Object window;
- int force;
+redisplay_mode_lines (Lisp_Object window, int force)
{
int nwindows = 0;
sum number of mode lines and header lines displayed. */
static int
-display_mode_lines (w)
- struct window *w;
+display_mode_lines (struct window *w)
{
Lisp_Object old_selected_window, old_selected_frame;
int n = 0;
displayed. */
static int
-display_mode_line (w, face_id, format)
- struct window *w;
- enum face_id face_id;
- Lisp_Object format;
+display_mode_line (struct window *w, enum face_id face_id, Lisp_Object format)
{
struct it it;
struct face *face;
Return the updated list. */
static Lisp_Object
-move_elt_to_front (elt, list)
- Lisp_Object elt, list;
+move_elt_to_front (Lisp_Object elt, Lisp_Object list)
{
register Lisp_Object tail, prev;
register Lisp_Object tem;
`store_mode_line_string', or `display_string'. */
static int
-display_mode_element (it, depth, field_width, precision, elt, props, risky)
- struct it *it;
- int depth;
- int field_width, precision;
- Lisp_Object elt, props;
- int risky;
+display_mode_element (struct it *it, int depth, int field_width, int precision,
+ Lisp_Object elt, Lisp_Object props, int risky)
{
int n = 0, field, prec;
int literal = 0;
*/
static int
-store_mode_line_string (string, lisp_string, copy_string, field_width, precision, props)
- char *string;
- Lisp_Object lisp_string;
- int copy_string;
- int field_width;
- int precision;
- Lisp_Object props;
+store_mode_line_string (char *string, Lisp_Object lisp_string, int copy_string,
+ int field_width, int precision, Lisp_Object props)
{
int len;
int n = 0;
the positive integer D to BUF using a minimal field width WIDTH. */
static void
-pint2str (buf, width, d)
- register char *buf;
- register int width;
- register int d;
+pint2str (register char *buf, register int width, register int d)
{
register char *p = buf;
};
static void
-pint2hrstr (buf, width, d)
- char *buf;
- int width;
- int d;
+pint2hrstr (char *buf, int width, int d)
{
/* We aim to represent the nonnegative integer D as
QUOTIENT.TENTHS * 10 ^ (3 * EXPONENT). */
static unsigned char invalid_eol_type[] = "(*invalid*)";
static char *
-decode_mode_spec_coding (coding_system, buf, eol_flag)
- Lisp_Object coding_system;
- register char *buf;
- int eol_flag;
+decode_mode_spec_coding (Lisp_Object coding_system, register char *buf, int eol_flag)
{
Lisp_Object val;
int multibyte = !NILP (current_buffer->enable_multibyte_characters);
static char lots_of_dashes[] = "--------------------------------------------------------------------------------------------------------------------------------------------";
static char *
-decode_mode_spec (w, c, field_width, precision, string)
- struct window *w;
- register int c;
- int field_width, precision;
- Lisp_Object *string;
+decode_mode_spec (struct window *w, register int c, int field_width,
+ int precision, Lisp_Object *string)
{
Lisp_Object obj;
struct frame *f = XFRAME (WINDOW_FRAME (w));
Set *BYTE_POS_PTR to 1 if we found COUNT lines, 0 if we hit LIMIT. */
static int
-display_count_lines (start, start_byte, limit_byte, count, byte_pos_ptr)
- int start, start_byte, limit_byte, count;
- int *byte_pos_ptr;
+display_count_lines (int start, int start_byte, int limit_byte, int count,
+ int *byte_pos_ptr)
{
register unsigned char *cursor;
unsigned char *base;
with index START. */
reseat_to_string (it, NILP (lisp_string) ? string : NULL, lisp_string, start,
precision, field_width, multibyte);
- if (string && STRINGP (lisp_string))
+ if (string && STRINGP (lisp_string))
/* LISP_STRING is the one returned by decode_mode_spec. We should
ignore its text properties. */
it->stop_charpos = -1;
and 1 if it's invisible and without an ellipsis. */
int
-invisible_p (propval, list)
- register Lisp_Object propval;
- Lisp_Object list;
+invisible_p (register Lisp_Object propval, Lisp_Object list)
{
register Lisp_Object tail, proptail;
: - 1)
int
-calc_pixel_width_or_height (res, it, prop, font, width_p, align_to)
- double *res;
- struct it *it;
- Lisp_Object prop;
- struct font *font;
- int width_p, *align_to;
+calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
+ struct font *font, int width_p, int *align_to)
{
double pixels;
face-override for drawing S. */
#ifdef HAVE_NTGUI
-#define OPTIONAL_HDC(hdc) hdc,
+#define OPTIONAL_HDC(hdc) HDC hdc,
#define DECLARE_HDC(hdc) HDC hdc;
#define ALLOCATE_HDC(hdc, f) hdc = get_frame_dc ((f))
#define RELEASE_HDC(hdc, f) release_frame_dc ((f), (hdc))
#endif
static void
-init_glyph_string (s, OPTIONAL_HDC (hdc) char2b, w, row, area, start, hl)
- struct glyph_string *s;
- DECLARE_HDC (hdc)
- XChar2b *char2b;
- struct window *w;
- struct glyph_row *row;
- enum glyph_row_area area;
- int start;
- enum draw_glyphs_face hl;
+init_glyph_string (struct glyph_string *s,
+ OPTIONAL_HDC (hdc)
+ XChar2b *char2b, struct window *w, struct glyph_row *row,
+ enum glyph_row_area area, int start, enum draw_glyphs_face hl)
{
bzero (s, sizeof *s);
s->w = w;
with head *HEAD and tail *TAIL. Set *HEAD and *TAIL to the result. */
static INLINE void
-append_glyph_string_lists (head, tail, h, t)
- struct glyph_string **head, **tail;
- struct glyph_string *h, *t;
+append_glyph_string_lists (struct glyph_string **head, struct glyph_string **tail,
+ struct glyph_string *h, struct glyph_string *t)
{
if (h)
{
result. */
static INLINE void
-prepend_glyph_string_lists (head, tail, h, t)
- struct glyph_string **head, **tail;
- struct glyph_string *h, *t;
+prepend_glyph_string_lists (struct glyph_string **head, struct glyph_string **tail,
+ struct glyph_string *h, struct glyph_string *t)
{
if (h)
{
Set *HEAD and *TAIL to the resulting list. */
static INLINE void
-append_glyph_string (head, tail, s)
- struct glyph_string **head, **tail;
- struct glyph_string *s;
+append_glyph_string (struct glyph_string **head, struct glyph_string **tail,
+ struct glyph_string *s)
{
s->next = s->prev = NULL;
append_glyph_string_lists (head, tail, s, s);
DISPLAY_P is non-zero. */
static INLINE struct face *
-get_char_face_and_encoding (f, c, face_id, char2b, multibyte_p, display_p)
- struct frame *f;
- int c, face_id;
- XChar2b *char2b;
- int multibyte_p, display_p;
+get_char_face_and_encoding (struct frame *f, int c, int face_id,
+ XChar2b *char2b, int multibyte_p, int display_p)
{
struct face *face = FACE_FROM_ID (f, face_id);
a pointer to a realized face that is ready for display. */
static INLINE struct face *
-get_glyph_face_and_encoding (f, glyph, char2b, two_byte_p)
- struct frame *f;
- struct glyph *glyph;
- XChar2b *char2b;
- int *two_byte_p;
+get_glyph_face_and_encoding (struct frame *f, struct glyph *glyph,
+ XChar2b *char2b, int *two_byte_p)
{
struct face *face;
Value is the index of a component not in S. */
static int
-fill_composite_glyph_string (s, base_face, overlaps)
- struct glyph_string *s;
- struct face *base_face;
- int overlaps;
+fill_composite_glyph_string (struct glyph_string *s, struct face *base_face,
+ int overlaps)
{
int i;
/* For all glyphs of this composition, starting at the offset
}
static int
-fill_gstring_glyph_string (s, face_id, start, end, overlaps)
- struct glyph_string *s;
- int face_id;
- int start, end, overlaps;
+fill_gstring_glyph_string (struct glyph_string *s, int face_id,
+ int start, int end, int overlaps)
{
struct glyph *glyph, *last;
Lisp_Object lgstring;
Value is the index of the first glyph not in S. */
static int
-fill_glyph_string (s, face_id, start, end, overlaps)
- struct glyph_string *s;
- int face_id;
- int start, end, overlaps;
+fill_glyph_string (struct glyph_string *s, int face_id,
+ int start, int end, int overlaps)
{
struct glyph *glyph, *last;
int voffset;
/* Fill glyph string S from image glyph S->first_glyph. */
static void
-fill_image_glyph_string (s)
- struct glyph_string *s;
+fill_image_glyph_string (struct glyph_string *s)
{
xassert (s->first_glyph->type == IMAGE_GLYPH);
s->img = IMAGE_FROM_ID (s->f, s->first_glyph->u.img_id);
Value is the index of the first glyph not in S. */
static int
-fill_stretch_glyph_string (s, row, area, start, end)
- struct glyph_string *s;
- struct glyph_row *row;
- enum glyph_row_area area;
- int start, end;
+fill_stretch_glyph_string (struct glyph_string *s, struct glyph_row *row,
+ enum glyph_row_area area, int start, int end)
{
struct glyph *glyph, *last;
int voffset, face_id;
}
static struct font_metrics *
-get_per_char_metric (f, font, char2b)
- struct frame *f;
- struct font *font;
- XChar2b *char2b;
+get_per_char_metric (struct frame *f, struct font *font, XChar2b *char2b)
{
static struct font_metrics metrics;
unsigned code = (XCHAR2B_BYTE1 (char2b) << 8) | XCHAR2B_BYTE2 (char2b);
assumed to be zero. */
void
-x_get_glyph_overhangs (glyph, f, left, right)
- struct glyph *glyph;
- struct frame *f;
- int *left, *right;
+x_get_glyph_overhangs (struct glyph *glyph, struct frame *f, int *left, int *right)
{
*left = *right = 0;
if no glyphs are overwritten. */
static int
-left_overwritten (s)
- struct glyph_string *s;
+left_overwritten (struct glyph_string *s)
{
int k;
glyph in front of S overwrites S. */
static int
-left_overwriting (s)
- struct glyph_string *s;
+left_overwriting (struct glyph_string *s)
{
int i, k, x;
struct glyph *glyphs = s->row->glyphs[s->area];
no such glyph is found. */
static int
-right_overwritten (s)
- struct glyph_string *s;
+right_overwritten (struct glyph_string *s)
{
int k = -1;
if no such glyph is found. */
static int
-right_overwriting (s)
- struct glyph_string *s;
+right_overwriting (struct glyph_string *s)
{
int i, k, x;
int end = s->row->used[s->area];
in the drawing area. */
static INLINE void
-set_glyph_string_background_width (s, start, last_x)
- struct glyph_string *s;
- int start;
- int last_x;
+set_glyph_string_background_width (struct glyph_string *s, int start, int last_x)
{
/* If the face of this glyph string has to be drawn to the end of
the drawing area, set S->extends_to_end_of_line_p. */
BACKWARD_P non-zero means process predecessors. */
static void
-compute_overhangs_and_x (s, x, backward_p)
- struct glyph_string *s;
- int x;
- int backward_p;
+compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p)
{
if (backward_p)
{
Value is the x-position reached, relative to AREA of W. */
static int
-draw_glyphs (w, x, row, area, start, end, hl, overlaps)
- struct window *w;
- int x;
- struct glyph_row *row;
- enum glyph_row_area area;
- EMACS_INT start, end;
- enum draw_glyphs_face hl;
- int overlaps;
+draw_glyphs (struct window *w, int x, struct glyph_row *row,
+ enum glyph_row_area area, EMACS_INT start, EMACS_INT end,
+ enum draw_glyphs_face hl, int overlaps)
{
struct glyph_string *head, *tail;
struct glyph_string *s;
Called from x_produce_glyphs when IT->glyph_row is non-null. */
static INLINE void
-append_glyph (it)
- struct it *it;
+append_glyph (struct it *it)
{
struct glyph *glyph;
enum glyph_row_area area = it->area;
non-null. */
static INLINE void
-append_composite_glyph (it)
- struct it *it;
+append_composite_glyph (struct it *it)
{
struct glyph *glyph;
enum glyph_row_area area = it->area;
IT->voffset. */
static INLINE void
-take_vertical_position_into_account (it)
- struct it *it;
+take_vertical_position_into_account (struct it *it)
{
if (it->voffset)
{
an overview of struct display_iterator. */
static void
-produce_image_glyph (it)
- struct it *it;
+produce_image_glyph (struct it *it)
{
struct image *img;
struct face *face;
stretch. ASCENT is the ascent of the glyph (0 <= ASCENT <= HEIGHT). */
static void
-append_stretch_glyph (it, object, width, height, ascent)
- struct it *it;
- Lisp_Object object;
- int width, height;
- int ascent;
+append_stretch_glyph (struct it *it, Lisp_Object object,
+ int width, int height, int ascent)
{
struct glyph *glyph;
enum glyph_row_area area = it->area;
ASCENT must be in the range 0 <= ASCENT <= 100. */
static void
-produce_stretch_glyph (it)
- struct it *it;
+produce_stretch_glyph (struct it *it)
{
/* (space :width WIDTH :height HEIGHT ...) */
Lisp_Object prop, plist;
static Lisp_Object
-calc_line_height_property (it, val, font, boff, override)
- struct it *it;
- Lisp_Object val;
- struct font *font;
- int boff, override;
+calc_line_height_property (struct it *it, Lisp_Object val, struct font *font,
+ int boff, int override)
{
Lisp_Object face_name = Qnil;
int ascent, descent, height;
for an overview of struct it. */
void
-x_produce_glyphs (it)
- struct it *it;
+x_produce_glyphs (struct it *it)
{
int extra_line_spacing = it->extra_line_spacing;
row being updated. */
void
-x_write_glyphs (start, len)
- struct glyph *start;
- int len;
+x_write_glyphs (struct glyph *start, int len)
{
int x, hpos;
Insert LEN glyphs from START at the nominal cursor position. */
void
-x_insert_glyphs (start, len)
- struct glyph *start;
- int len;
+x_insert_glyphs (struct glyph *start, int len)
{
struct frame *f;
struct window *w;
updated_window. TO_X == -1 means clear to the end of this area. */
void
-x_clear_end_of_line (to_x)
- int to_x;
+x_clear_end_of_line (int to_x)
{
struct frame *f;
struct window *w = updated_window;
of the bar cursor. */
static enum text_cursor_kinds
-get_specified_cursor_type (arg, width)
- Lisp_Object arg;
- int *width;
+get_specified_cursor_type (Lisp_Object arg, int *width)
{
enum text_cursor_kinds type;
/* Set the default cursor types for specified frame. */
void
-set_frame_cursor_types (f, arg)
- struct frame *f;
- Lisp_Object arg;
+set_frame_cursor_types (struct frame *f, Lisp_Object arg)
{
int width;
Lisp_Object tem;
In all other cases, we want a hollow box cursor. */
static enum text_cursor_kinds
-get_window_cursor_type (w, glyph, width, active_cursor)
- struct window *w;
- struct glyph *glyph;
- int *width;
- int *active_cursor;
+get_window_cursor_type (struct window *w, struct glyph *glyph, int *width,
+ int *active_cursor)
{
struct frame *f = XFRAME (w->frame);
struct buffer *b = XBUFFER (w->buffer);
are window-relative. */
static void
-notice_overwritten_cursor (w, area, x0, x1, y0, y1)
- struct window *w;
- enum glyph_row_area area;
- int x0, y0, x1, y1;
+notice_overwritten_cursor (struct window *w, enum glyph_row_area area,
+ int x0, int x1, int y0, int y1)
{
int cx0, cx1, cy0, cy1;
struct glyph_row *row;
with respect to the overlapping part OVERLAPS. */
void
-x_fix_overlapping_area (w, row, area, overlaps)
- struct window *w;
- struct glyph_row *row;
- enum glyph_row_area area;
- int overlaps;
+x_fix_overlapping_area (struct window *w, struct glyph_row *row,
+ enum glyph_row_area area, int overlaps)
{
int i, x;
comment of draw_glyphs for the meaning of HL. */
void
-draw_phys_cursor_glyph (w, row, hl)
- struct window *w;
- struct glyph_row *row;
- enum draw_glyphs_face hl;
+draw_phys_cursor_glyph (struct window *w, struct glyph_row *row,
+ enum draw_glyphs_face hl)
{
/* If cursor hpos is out of bounds, don't draw garbage. This can
happen in mini-buffer windows when switching between echo area
Erase the image of a cursor of window W from the screen. */
void
-erase_phys_cursor (w)
- struct window *w;
+erase_phys_cursor (struct window *w)
{
struct frame *f = XFRAME (w->frame);
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
where to put the cursor is specified by HPOS, VPOS, X and Y. */
void
-display_and_set_cursor (w, on, hpos, vpos, x, y)
- struct window *w;
- int on, hpos, vpos, x, y;
+display_and_set_cursor (struct window *w, int on,
+ int hpos, int vpos, int x, int y)
{
struct frame *f = XFRAME (w->frame);
int new_cursor_type;
of ON. */
void
-update_window_cursor (w, on)
- struct window *w;
- int on;
+update_window_cursor (struct window *w, int on)
{
/* Don't update cursor in windows whose frame is in the process
of being deleted. */
in the window tree rooted at W. */
static void
-update_cursor_in_window_tree (w, on_p)
- struct window *w;
- int on_p;
+update_cursor_in_window_tree (struct window *w, int on_p)
{
while (w)
{
Don't change the cursor's position. */
void
-x_update_cursor (f, on_p)
- struct frame *f;
- int on_p;
+x_update_cursor (struct frame *f, int on_p)
{
update_cursor_in_window_tree (XWINDOW (f->root_window), on_p);
}
is about to be rewritten. */
void
-x_clear_cursor (w)
- struct window *w;
+x_clear_cursor (struct window *w)
{
if (FRAME_VISIBLE_P (XFRAME (w->frame)) && w->phys_cursor_on_p)
update_window_cursor (w, 0);
Display the active region described by mouse_face_* according to DRAW. */
void
-show_mouse_face (dpyinfo, draw)
- Display_Info *dpyinfo;
- enum draw_glyphs_face draw;
+show_mouse_face (Display_Info *dpyinfo, enum draw_glyphs_face draw)
{
struct window *w = XWINDOW (dpyinfo->mouse_face_window);
struct frame *f = XFRAME (WINDOW_FRAME (w));
face was actually drawn unhighlighted. */
int
-clear_mouse_face (dpyinfo)
- Display_Info *dpyinfo;
+clear_mouse_face (Display_Info *dpyinfo)
{
int cleared = 0;
Non-zero if physical cursor of window W is within mouse face. */
int
-cursor_in_mouse_face_p (w)
- struct window *w;
+cursor_in_mouse_face_p (struct window *w)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (XFRAME (w->frame));
int in_mouse_face = 0;
Value is non-zero if a glyph was found. */
static int
-fast_find_string_pos (w, pos, object, hpos, vpos, x, y, right_p)
- struct window *w;
- EMACS_INT pos;
- Lisp_Object object;
- int *hpos, *vpos, *x, *y;
- int right_p;
+fast_find_string_pos (struct window *w, EMACS_INT pos, Lisp_Object object,
+ int *hpos, int *vpos, int *x, int *y, int right_p)
{
int yb = window_text_bottom_y (w);
struct glyph_row *r;
/* See if position X, Y is within a hot-spot of an image. */
static int
-on_hot_spot_p (hot_spot, x, y)
- Lisp_Object hot_spot;
- int x, y;
+on_hot_spot_p (Lisp_Object hot_spot, int x, int y)
{
if (!CONSP (hot_spot))
return 0;
}
Lisp_Object
-find_hot_spot (map, x, y)
- Lisp_Object map;
- int x, y;
+find_hot_spot (Lisp_Object map, int x, int y)
{
while (CONSP (map))
{
/* Display frame CURSOR, optionally using shape defined by POINTER. */
static void
-define_frame_cursor1 (f, cursor, pointer)
- struct frame *f;
- Cursor cursor;
- Lisp_Object pointer;
+define_frame_cursor1 (struct frame *f, Cursor cursor, Lisp_Object pointer)
{
/* Do not change cursor shape while dragging mouse. */
if (!NILP (do_mouse_tracking))
position relative to the start of the mode line. */
static void
-note_mode_line_or_margin_highlight (window, x, y, area)
- Lisp_Object window;
- int x, y;
- enum window_part area;
+note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
+ enum window_part area)
{
struct window *w = XWINDOW (window);
struct frame *f = XFRAME (w->frame);
X and Y can be negative or out of range. */
void
-note_mouse_highlight (f, x, y)
- struct frame *f;
- int x, y;
+note_mouse_highlight (struct frame *f, int x, int y)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
enum window_part part;
functions to ensure the mouse-highlight is off. */
void
-x_clear_window_mouse_face (w)
- struct window *w;
+x_clear_window_mouse_face (struct window *w)
{
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (XFRAME (w->frame));
Lisp_Object window;
This is used when the size of F is changed. */
void
-cancel_mouse_face (f)
- struct frame *f;
+cancel_mouse_face (struct frame *f)
{
Lisp_Object window;
Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
which intersects rectangle R. R is in window-relative coordinates. */
static void
-expose_area (w, row, r, area)
- struct window *w;
- struct glyph_row *row;
- XRectangle *r;
- enum glyph_row_area area;
+expose_area (struct window *w, struct glyph_row *row, XRectangle *r,
+ enum glyph_row_area area)
{
struct glyph *first = row->glyphs[area];
struct glyph *end = row->glyphs[area] + row->used[area];
non-zero if mouse-face was overwritten. */
static int
-expose_line (w, row, r)
- struct window *w;
- struct glyph_row *row;
- XRectangle *r;
+expose_line (struct window *w, struct glyph_row *row, XRectangle *r)
{
xassert (row->enabled_p);
LAST_OVERLAPPING_ROW is the last such row. */
static void
-expose_overlaps (w, first_overlapping_row, last_overlapping_row, r)
- struct window *w;
- struct glyph_row *first_overlapping_row;
- struct glyph_row *last_overlapping_row;
- XRectangle *r;
+expose_overlaps (struct window *w,
+ struct glyph_row *first_overlapping_row,
+ struct glyph_row *last_overlapping_row,
+ XRectangle *r)
{
struct glyph_row *row;
/* Return non-zero if W's cursor intersects rectangle R. */
static int
-phys_cursor_in_rect_p (w, r)
- struct window *w;
- XRectangle *r;
+phys_cursor_in_rect_p (struct window *w, XRectangle *r)
{
XRectangle cr, result;
struct glyph *cursor_glyph;
have vertical scroll bars. */
void
-x_draw_vertical_border (w)
- struct window *w;
+x_draw_vertical_border (struct window *w)
{
struct frame *f = XFRAME (WINDOW_FRAME (w));
mouse-face. */
static int
-expose_window (w, fr)
- struct window *w;
- XRectangle *fr;
+expose_window (struct window *w, XRectangle *fr)
{
struct frame *f = XFRAME (w->frame);
XRectangle wr, r;
non-zero if the exposure overwrites mouse-face. */
static int
-expose_window_tree (w, r)
- struct window *w;
- XRectangle *r;
+expose_window_tree (struct window *w, XRectangle *r)
{
struct frame *f = XFRAME (w->frame);
int mouse_face_overwritten_p = 0;
the entire frame. */
void
-expose_frame (f, x, y, w, h)
- struct frame *f;
- int x, y, w, h;
+expose_frame (struct frame *f, int x, int y, int w, int h)
{
XRectangle r;
int mouse_face_overwritten_p = 0;
empty. */
int
-x_intersect_rectangles (r1, r2, result)
- XRectangle *r1, *r2, *result;
+x_intersect_rectangles (XRectangle *r1, XRectangle *r2, XRectangle *result)
{
XRectangle *left, *right;
XRectangle *upper, *lower;
***********************************************************************/
void
-syms_of_xdisp ()
+syms_of_xdisp (void)
{
Vwith_echo_area_save_vector = Qnil;
staticpro (&Vwith_echo_area_save_vector);
/* Initialize this module when Emacs starts. */
void
-init_xdisp ()
+init_xdisp (void)
{
Lisp_Object root_window;
struct window *mini_w;
/* Return non-zero if houglass timer has been started or hourglass is shown. */
int
-hourglass_started ()
+hourglass_started (void)
{
return hourglass_shown_p || hourglass_atimer != NULL;
}
/* Cancel a currently active hourglass timer, and start a new one. */
void
-start_hourglass ()
+start_hourglass (void)
{
#if defined (HAVE_WINDOW_SYSTEM)
EMACS_TIME delay;
/* Cancel the hourglass cursor timer if active, hide a busy cursor if
shown. */
void
-cancel_hourglass ()
+cancel_hourglass (void)
{
#if defined (HAVE_WINDOW_SYSTEM)
if (hourglass_atimer)