Jim Blandy [Sat, 31 Oct 1992 05:43:00 +0000 (05:43 +0000)]
* xterm.c (x_convert_modifiers): Declare this to return an
unsigned int, not a Lisp_Object. Remember that the quiescent
value for part is Qnil, not zero, that x_mouse_x and x_mouse_y
are ints, not Lisp_Objects, and that RESULT->x and RESULT->y are
Lisp_Objects, not ints.
(XTread_socket): Declare this to return int, not Lisp_Object.
When calling construct_mouse_click on a non-scrollbar click, pass
PART as Qnil, not zero.
(x_calc_absolute_position): Remember that x_screen_width and
x_screen_height are ints, not Lisp_Objects.
e
Jim Blandy [Sat, 31 Oct 1992 05:42:28 +0000 (05:42 +0000)]
* xselect.c (own_selection): selection_type is an X Atom value,
not a Lisp_Object.
(x_selection_arrival): Declare this static, and add a forward
declaration at the top of the page.
Jim Blandy [Sat, 31 Oct 1992 05:41:49 +0000 (05:41 +0000)]
* xfns.c (x_decode_color, Fx_color_display_p): x_screen_planes is
an int, not a Lisp_Object.
(x_set_mouse_color): Give separate error messages for the
different cursors we try to set.
(Fx_geometry): Declare STRING to be a Lisp_Object.
(Fx_create_frame): No need to use XSET to assign NAME to f->name;
they're both Lisp_Objects.
(adjust_scrollbars): Use XINT to access w->hscroll.
(Fx_open_connection): x_screen_count, x_release, x_screen_height,
x_screen_height_mm, x_screen_width, x_screen_width_mm,
x_save_under, and x_screen_planes are integers, not Lisp_Objects.
(syms_of_xfns): x_mouse_x, x_mouse_y, and mouse_buffer_offset are
integers, not Lisp_Objects.
Jim Blandy [Sat, 31 Oct 1992 05:41:20 +0000 (05:41 +0000)]
* xdisp.c (redisplay): Use ! EQ to compare the old and new arrow
positions, not !=.
(mark_window_display_accurate): Barf if WINDOW isn't a window.
(display_string): Test buffer_defaults.ctl_arrow using NILP,
instead of comparing it with zero.
* xdisp.c (last_arrow_position, last_arrow_string): Make these
static.
* xdisp.c (message): Re-write this in terms of message1.
(message1): Move code to clear out echo_area_glyphs and
previous_echo_glyphs from message to here.
Jim Blandy [Sat, 31 Oct 1992 05:39:49 +0000 (05:39 +0000)]
* window.c (Fwindow_width, Fset_window_hscroll): Use accessors on
w->width, w->left, w->hscroll, and arguments.
(replace_window): Use EQ, not ==.
(Fdelete_window): p->top and p->left are not C integers.
(Fnext_window, Fprevious_window): Use EQ, not ==.
Jim Blandy [Sat, 31 Oct 1992 05:27:42 +0000 (05:27 +0000)]
* process.c: (status_convert): Declare this to return a
Lisp_Object at the top of the file.
(decode_status): Don't untag XCONS (tem)->cdr before storing it in
tem; tem is a Lisp_Object, too.
(process_send_signal): Declare this to be static void. Don't
return Qnil; nobody cares.
(sigchld_handler): Use XFASTINT to manipulate p->infd.
* process.c (pty_process): Variable deleted; it's no longer used.
(syms_of_process): Don't initialize it.
Jim Blandy [Sat, 31 Oct 1992 05:24:47 +0000 (05:24 +0000)]
* keymap.c (Fdefine_key, Flookup_key, describe_map): Don't assume
that Flength returns an integer.
* keymap.c: Deal with autoloaded keymaps properly.
(get_keymap_1): Renamed to inner_get_keymap; made
static. New argument AUTOLOAD says to pursue autoloads if
non-zero.
(Fkeymapp, get_keymap, get_keyelt, Flookup_key): Ask get_keymap_1
not to perform autoloads.
(Fdefine_key): Ask get_keymap_1 to perform autoloads. Since
autoloading may GC, remember that we have to GCPRO our local
variables now.
(Fminor_mode_key_binding): Call get_keymap instead of calling
get_keymap_1 with equivalent arguments.
Jim Blandy [Sat, 31 Oct 1992 05:21:45 +0000 (05:21 +0000)]
* keyboard.c: #include dispextern.h.
(recursive_edit_unwind, command_loop, Fthis_command_keys): Declare
these to return Lisp_Objects at the very top of the file, to avoid
having them implicitly declared as ints.
(echo_char): Use EQ to compare C to help_char.
(read_char): Remember to apply XFASTINT to the return value of
Flength before using it. Apply XINT to c when clearing its high
bits and meta bits, and when writing it to the dribble file.
(read_char_menu_prompt): Use EQ to compare obj with
menu_prompt_more_char and its control-character analog.
(read_key_sequence): Declare PROMPT to be char *, not a
Lisp_Object. Use the appropriate accessors on keybuf when looking
for ASCII function key sequences.
* keyboard.c (echobuf): Make this 300 characters, not 100. This
isn't a real fix, but it's quick.
* keyboard.c (read_char): When returning an unread switch-frame
event, jump to reread_first to return it, rather than reread; this
makes sure the event gets echoed (if appropriate) and goes into
this_command_keys.
* keyboard.c (read_key_sequence): If the key sequence starts with
a mouse click, read the key sequence using the keymaps of the
buffer clicked on, not the current buffer.
* keyboard.c (unread_switch_frame): Make this static, to indicate
that nobody outside of this file uses it.
* keyboard.c (follow_key): Ask get_keymap_1 to perform autoloads.
(read_key_sequence): When pursuing potential bindings in the
function key map, ask get_keymap_1 to perform autoloading. This
is hardly important, but it's consistent.
Jim Blandy [Sat, 31 Oct 1992 05:18:48 +0000 (05:18 +0000)]
* doc.c: #include keyboard.h.
* doc.c (Fsubstitute_command_keys): Ask get_keymap_1 to
perform autoloads. Autoloading might GC; we need to GCPRO our
local variables now.
(Fdocumentation, Fdocumentation_property): Autoloading in
Fsubstitute_command_keys might GC; we need to GCPRO our
local variables now.
Jim Blandy [Sat, 31 Oct 1992 04:55:02 +0000 (04:55 +0000)]
* casetab.c (set_case_table): Declare this to be static, and
return a Lisp_Object. Add static declaration for this
before Fset_case_table and Fset_standard_case_table.
(Fset_case_table, Fset_standard_case_table): Return the return
value of set_case_table, instead of returning garbage.
Jim Blandy [Sat, 31 Oct 1992 04:53:11 +0000 (04:53 +0000)]
* callproc.c: Arrange for synchronous processes to get SIGINT the
first time the user quits, or SIGKILL if the user quits again.
#include "syssignal.h".
(call_process_kill): New function.
(call_process_cleanup): Send SIGINT to the subprocess, and then
arrange to call call_process_kill if the user quits while we wait
for it to terminate.
(Fcall_process, Fcall_process_region): Doc fix.
Richard M. Stallman [Fri, 30 Oct 1992 06:01:13 +0000 (06:01 +0000)]
(preserved_fns): New var.
(Fcall_interactively): Preserve fns listed in preserved_fns
when they appear in an interactive spec which is a call to `list'.
(syms_of_callint): Set preserved_fns and staticpro it.
Richard M. Stallman [Tue, 27 Oct 1992 10:21:22 +0000 (10:21 +0000)]
(fortran-tab-mode): Add defvar.
(fortran-analyze-file-format): Bind i.
(fortran-tab-mode-string): Add defvar.
(fortran-tab-mode): Use `arg' as variable, not as function.
(fortran-prepare-abbrev-list-buffer): New function.
(fortran-abbrev-help): Call that.
Richard M. Stallman [Tue, 27 Oct 1992 10:14:08 +0000 (10:14 +0000)]
Rename buffer-flush-undo to buffer-disable-undo.
(Info-goto-emacs-key-command-node): Fix typo.
(Info-menu-item-sequence): Commented out.
(Info-follow-nearest-node): Use new event format.
Select the window clicked on.
Richard M. Stallman [Mon, 26 Oct 1992 05:33:20 +0000 (05:33 +0000)]
(vc-resynch-window): New arg NOQUERY. Pass it to vc-revert-buffer1.
(vc-checkout, vc-finish-logentry, vc-revert-buffer, vc-finish-steal):
Supply t as NOQUERY arg for vc-resynch-window.
(vc-next-action): Don't revert workfile from master if buffer is modified.
Richard M. Stallman [Sat, 24 Oct 1992 04:39:49 +0000 (04:39 +0000)]
(relinquish): Adjust page_break_value by amount of memory actually given back.
(r_alloc_sbrk): Provide hysteresis in relocating the blocs.
(relinquish): Never free less than extra_bytes;
keep extra_bytes of empty space.
(obtain): Always get extra_bytes additional space.
(r_alloc_init): Set extra_bytes and page_size.
(ALIGNED, ROUNDUP, ROUND_TO_PAGE): Use page_size.
Jim Blandy [Mon, 19 Oct 1992 18:46:29 +0000 (18:46 +0000)]
* window.c: Try to deal coherently with deleted windows:
* (Flive_window_p): New function.
(Qlive_window_p): New variable, to name it in type errors.
(syms_of_window): Defsubr Slive_window_p, init and staticpro
Qlive_window_p.
(decode_window): Use CHECK_LIVE_WINDOW instead of
CHECK_WINDOW; the only thing a user should be able to do to a dead
window is check its type.
(Fcoordinates_in_window_p, Fnext_window, Fprevious_window,
Fdelete_other_windows, Fselect_window, Fsplit_window,
Fscroll_other_window): Use CHECK_LIVE_WINDOW instead of
CHECK_WINDOW.
(Fdelete_window): If WINDOW is a deleted window, do nothing;
there's no harm in allowing people to delete deleted windows.
Delete all of WINDOW's subwindows, too.
(delete_all_subwindows): Set the buffer, vchild, and hchild of the
windows we delete all to nil.
* window.c (Fwindow_minibuffer_p): Make the WINDOW argument
optional, like all the other window-querying functions.
* window.c (Fpos_visible_in_window_p): Use decode_window to handle
the WINDOW argument, instead of writing out that function's code.
* window.c (check_frame_size): Don't define this extern; that
doesn't mean anything.
* window.c (Fdelete_window): Choose an alternative when we delete
any frame's selected window, not just when we delete the selected
frame's selected window.
Jim Blandy [Mon, 19 Oct 1992 18:38:58 +0000 (18:38 +0000)]
* keyboard.c (this_command_keys): Make this a vector, instead of
an array of Lisp_Objects.
(this_command_keys_size): Deleted.
(echo, add_command_key, Fthis_command_keys): Adjusted
appropriately.
(init_keyboard): Don't allocate it here.
(syms_of_keyboard): Allocate it here, and staticpro it.
* keyboard.c (read_char): Call ourselves with the appropriate
number of arguments.
(read_char_menu_prompt): If USED_MOUSE_MENU is zero, don't try to
store things in it.
* keyboard.c (modify_event_symbol): Arrange to set the
click_modifier bit on otherwise unmodified mouse clicks.
* keyboard.c (kbd_buffer_get_event): Remember that
*mouse_position_hook may set *FRAME to 0; don't generate
switch-frame events in this case. Fix fencepost bug in fetching
events from keyboard buffer.
Jim Blandy [Mon, 19 Oct 1992 18:31:34 +0000 (18:31 +0000)]
* xterm.c (compose_status): New variable.
(XTread_socket): Pass it by reference to XLookupString.
* xterm.c: Clean up some of the caps lock handling:
(x_shift_lock_mask): New variable.
(x_find_modifier_mappings): Set it, based on the modifier mappings.
(x_convert_modifiers): Use x_shift_lock_mask, instead of assuming
that the lock bit always means to shift the character.
(XTread_socket): When handling KeyPress events, don't pass an
XComposeStatus structure along to XLookupString. When handling
MappingNotify events, call XRefreshKeyboardMapping for both
MappingModifier and MappingKeyboard events, not just the latter.