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.
Roland McGrath [Thu, 15 Oct 1992 23:29:28 +0000 (23:29 +0000)]
(morecore_with_warning): Removed.
(check_memory_limits): New fn; most code from morecore_with_warning, but
only checks limits, doesn't do any work.
(memory_warnings): Set __after_morecore_hook to check_memory_limits;
don't set __morecore.
Joseph Arceneaux [Wed, 14 Oct 1992 23:00:18 +0000 (23:00 +0000)]
* dispextern.h: New element of frame structure `max_ascent'.
Removed elements `nruns' and `face_list'.
LINE_HEIGHT and LINE_WIDTH macros removed.
New struct face with associated typedef FACE declared, along with
accessing macros.
Joseph Arceneaux [Wed, 14 Oct 1992 21:30:21 +0000 (21:30 +0000)]
* dispnew.c (scroll_frame_lines): All references to frame elements
`nruns' and 'face_list' removed. Handle new element `max_ascent'.
(free_frame_glyphs): Don't free nonexistent elements `nruns' and
`face_list'; do free `max_ascent' element.
(make_frame_glyphs): Don't allocate nonexistent elements `nruns'
and `face_list'; do allocate `max_ascent' element.
(update_frame): Replaced use of macro LINE_HEIGHT with element
frame element `pix_height'.
Jim Blandy [Wed, 14 Oct 1992 16:45:31 +0000 (16:45 +0000)]
* files.el (file-truename): The variable ~ should be considered an
absolute pathname; handle it correctly. Concatenate the directory
onto the filename in the correct order.
Roland McGrath [Mon, 12 Oct 1992 21:07:25 +0000 (21:07 +0000)]
(sbrk): Removed decl.
(real_morecore): New static variable.
(warnlevel, warn_function, check_memory_limits): Removed.
(obtain): Don't call check_memory_limits.
(obtain, relinquish, r_alloc_sbrk): Use (*real_morecore) in place of sbrk;
it returns 0 for errors, not -1.
(r_alloc_init): Set real_morecore to old value of __morecore.
Don't initialize lim_data or warnlevel, and don't call get_lim_data.
(memory_warnings): Function removed.
Roland McGrath [Mon, 12 Oct 1992 17:18:22 +0000 (17:18 +0000)]
(visit-tags-table-buffer): When trying to pick table, call
tags-expand-table-name on alternatives that might be nil.
(tags-table-files): Don't call visit-tags-table-buffer; assume we are there.
Richard M. Stallman [Mon, 12 Oct 1992 04:45:53 +0000 (04:45 +0000)]
(buffer-file-number): New variable.
(find-file-noselect): Record the file's filenum and devnum.
Notify if any buffer has the same values.
(basic-save-buffer): Save new filenum and devnum.
For file-precious-flag, pass real name as VISIT arg of write-region.
(set-visited-file-name): Likewise.
Clear buffer-file-{number,truename} if now visiting no file.
Richard M. Stallman [Sun, 11 Oct 1992 20:39:15 +0000 (20:39 +0000)]
(morecore_with_warning): Reduce warnlevel when usage drops far enough.
(memory_warnings): Renamed from malloc_init.
Don't set lim_data or warnlevel. Use start_of_data if start is 0.
[!emacs]: Don't include config.h or lisp.h;
instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
(morecore_with_warning): Use EXCEEDS_LISP_PTR.
Richard M. Stallman [Sun, 11 Oct 1992 20:37:32 +0000 (20:37 +0000)]
(check_memory_limits): Reduce warnlevel when usage drops far enough.
(memory_warnings): New function; just set warning data.
Use start_of_data if start is 0.
[!emacs]: Don't include config.h or lisp.h;
instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
[!emacs] (safe_bcopy): Define as macro using memmove.
(r_alloc_free): Clear *ptr.
(r_alloc_init): Renamed from malloc_init. Take no args.
Make it static; declare at top of file.
(r_alloc): Call r_alloc_init, if not initialized yet.
(r_alloc_initialized): Renamed from malloc_initialized; moved to top.
(ROUNDUP): Subtract 1, in case arg is already aligned.
(check_memory_limits): EXCEEDS_LISP_PTR renamed from EXCEEDS_ELISP_PTR.
Jim Blandy [Sun, 11 Oct 1992 06:43:30 +0000 (06:43 +0000)]
* keymap.c (initial_define_lispy_key): New function, for defining
non-ascii keys.
* keymap.c (access_keymap): Treat bindings for Qt as default
bindings, when new argument T_OK is non-zero.
(get_keyelt, Fdefine_key, Flookup_key): Call access_keymap with
T_OK false.
Jim Blandy [Sun, 11 Oct 1992 06:42:03 +0000 (06:42 +0000)]
* keyboard.c (Vlast_event_frame): Make this variable exist even
when MULTI_FRAME isn't #defined. People might find it
necessary for writing correct programs, even when the programs
don't explicitly use multiple frames.
(read_char, kbd_buffer_store_event, kbd_buffer_get_event): No need
to test MULTI_FRAME before setting Vlast_event_frame.
(syms_of_keyboard): DEFVAR Vlast_event_frame whether or not
MULTI_FRAME is defined.
* keyboard.c: Add switch-frame events.
(Qswitch_frame): New event header symbol.
(head_table): Include Qswitch_frame in the table of event heads.
(kbd_buffer_get_event): Detect when a frame switch has occurred,
and return a frame switch event before the enqueued event.
(make_lispy_switch_frame): New function.
(unread_switch_frame): New variable.
(read_key_sequence): Don't throw away the key sequence if the user
switches frames in the middle of the sequence. Instead, when we
receive a switch-frame event in the middle of a key sequence, save
it, and stuff it into unread_switch_frame when the sequence
is complete.
(read_char): If unread_switch_frame is set, return that value.
(command_loop_1): No need to check Vlast_event_frame and select
new frames here; that's taken care of by switch-frame events now.
(syms_of_keyboard): Initialize and staticpro unread_switch_frame.
* keyboard.c (follow_key, read_key_sequence): Call access_keymap
with T_OK true.
* keyboard.c (apply_modifiers): Copy the value of BASE's
Qevent_kind property to the new symbol.
* keyboard.c (syms_of_keyboard): Qevent_kind should be initialized
to intern ("event-kind"), not intern ("event-type").
Jim Blandy [Sun, 11 Oct 1992 06:40:57 +0000 (06:40 +0000)]
* frame.c: #include "commands.h" and "keyboard.h".
(Fselect_frame): Make this interactive, and accept
switch-frame events as arguments, so we can bind this function to
switch-frame events.
(keys_of_frame): New function; bind switch-frame to Fselect_frame.