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.
Jim Blandy [Sun, 11 Oct 1992 06:34:28 +0000 (06:34 +0000)]
* dired-aux.el (dired-compress-file): Change references to
`from-file' to use `file'; the former only works because
dired-compress-file is only called by dired-compress, which binds
from-file.
Richard M. Stallman [Fri, 9 Oct 1992 02:05:10 +0000 (02:05 +0000)]
(mail-unsent-separator): Allow "original message" as alternative.
Allow extra dashes and spaces.
(rmail-retry-failure): Ignore case while searching for unsent sep.
Richard M. Stallman [Thu, 8 Oct 1992 08:35:26 +0000 (08:35 +0000)]
(add-log-current-defun): In normal C case,
start with beginning-of-line.
In last (fallback) case, start with end-of-line.
(add-log-current-defun-header-regexp): In first alternative
within the parens, don't allow space as last character.
Richard M. Stallman [Thu, 8 Oct 1992 06:44:58 +0000 (06:44 +0000)]
(cmulisp-mode): Eliminate compatibility code calling
lisp-mode-variables with no arg.
(cmulisp-mode-map): Use shared-lisp-mode-map as tail.
(cmulisp-args-to-list): Fix typo in recursive call.
(cmulisp-buffer): Define variable.
Richard M. Stallman [Thu, 8 Oct 1992 06:44:24 +0000 (06:44 +0000)]
(custom-prin1-chars): Var defined, and renamed from prin1-chars.
(circle-tree, circle-table): Define vars.
(cust-print-vector, cust-print-list): Rename level to circle-level.
(cust-print-top-level): Likewise.
(circle-level): Var defined.
Jim Blandy [Wed, 7 Oct 1992 20:46:31 +0000 (20:46 +0000)]
* mouse.el: Begin adapting this to the new event format.
(event-window, event-point, mouse-coords, mouse-timestamp):
Removed.
(event-start, event-end, posn-window, posn-point, posn-col-row,
posn-timestamp): New accessors; these are defsubsts.
(mouse-delete-window, mouse-delete-other-windows,
mouse-split-window-vertically, mouse-set-point): Rewritten to use
the new accessors.
* mouse.el: Remove hack of binding down-mouse-1.
* mouse.el (mouse-movement-p): Add docstring for this.
Richard M. Stallman [Mon, 5 Oct 1992 21:09:26 +0000 (21:09 +0000)]
(vc-steal-lock): Use mail-setup, and do like `mail'.
Supply vc-finish-steal as an action on sending.
(vc-finish-steal): Delete the code to send the message.
Joseph Arceneaux [Mon, 5 Oct 1992 20:38:54 +0000 (20:38 +0000)]
* rmail.el (rmail-first-unseen-message): Don't show the message,
just return its number, if there was an unseen message.
(rmail): Check for unseen messages before calling
rmail-get-new-mail. After getting the new mail, call
rmail-show-message to show the pre-existing unseen message, or if
that is nil, the current message, which rmail-get-new-mail sets to
the first new message.
Jim Blandy [Sat, 3 Oct 1992 15:37:35 +0000 (15:37 +0000)]
* keyboard.c (read_key_sequence): Treat mouse clicks on non-text
areas as if they were prefixed with the symbol denoting the
area clicked on - `mode-line', etcetera.
When we throw away an unbound `down-' event, reset mock_input as
well.
* keyboard.c (Qevent_symbol_element_mask, Qmodifier_cache): Two
new symbols, used to implement caches on event heads. These take
the place of some of the caching that modify_event_symbol used to do.
(parse_modifiers_uncached, apply_modifiers_uncached,
lispy_modifier_list, parse_modifiers, apply_modifiers): New
functions, which replace format_modifiers and reorder_modifiers;
they can be useful elsewhere too.
(reorder_modifiers, modify_event_symbol): Re-implement these in
terms of parse_modifiers and apply_modifiers. modify_event_symbol
now uses a much simpler cache, and takes advantage of the caches
maintained by parse_ and apply_modifiers.
(follow_key): Don't modify NEXT if KEY has no bindings.
(read_key_sequence): Drop unbound `down-' events, and turn unbound
`drag-' events into clicks if that would make them bound. This
benefits from the rewriting of the modifier key handling code.
(syms_of_keyboard): Initialize and intern
Qevent_symbol_element_mask and Qmodifier_cache.
* keyboard.c (echo_prompt): Terminate the echo buffer properly
even when the string is too long to display in the minibuffer.
(echo_truncate): Just return echoptr - echobuf, rather than
calling strlen on echobuf.
* keyboard.c (modifier_names): The modifier is named "control",
not "ctrl".
Jim Blandy [Sat, 3 Oct 1992 07:15:35 +0000 (07:15 +0000)]
* window.c (SAVE_WINDOW_DATA_SIZE): Define this using sizeof,
instead of just saying it's 7; that way, we won't get screwed if
we add members to struct save_window_data.
* window.c (Fset_window_configuration): The pointer to the
saved window data is called `data', not just `d'.
Jim Blandy [Sat, 3 Oct 1992 05:42:42 +0000 (05:42 +0000)]
* window.c (struct save_window_data): Save the currently selected
frame, too.
(Fset_window_configuration): Restore the frame's selected window
using Fselect_window, and then restore the selected frame using
Fselect_frame.
(Fcurrent_window_configuration): Record the currently selected
frame. Update docstring to describe the information now recorded.
* window.c (Fset_window_configuration): Clean up the way we save
and restore the frame's size.
* window.c (struct save_window_data): Add a member called
focus_frame, to save and restore the screen's focus frame.
(Fset_window_configuration): Redirect the frame's focus as
indicated in the window configuration.
(Fcurrent_window_configuration): Record the frame's current focus.
Jim Blandy [Sat, 3 Oct 1992 05:10:14 +0000 (05:10 +0000)]
* xterm.c (x_find_modifier_meanings): If there are no
modifiers containing a Meta_ keysym, use the Alt keysyms to
denote meta.
(construct_mouse_click): Set the down_modifier bit on mouse
button press events.
(XTread_socket): When processing keypress events, use
x_meta_mod_mask when processing ordinary ASCII characters, not
just when processing function keys and other non-ASCII events.
(XTread_socket): If we receive a MappingNotify event with the
`request' member set to `MappingModifier', then call
x_find_modifier_meanings to refresh x_meta_mod_mask.
Jim Blandy [Sat, 3 Oct 1992 03:03:45 +0000 (03:03 +0000)]
* keyboard.c (modify_event_symbol): Make sure that the unmodified
event header gets the proper properties set on it, by recursing
and letting the same code build the properties for all event symbols.
* keyboard.c (Qmouse_click): Fix typo which assigned `mouse-click'
symbol to Qmouse_movement.