Various optimizations. The main one is to optimize for
simple output at the end of the buffer, with no paging, and in that
case to defer scrolling while we can.
(term-emulate-terminal): Don't call term-handle-scroll in
simple cases unless we are either paging or term-scroll-with-delete.
(term-down): Likewise.
(term-handle-scroll): Modify accordingly.
(term-emulate-terminal): Avoid deleting old text in common case.
Optimize the simple case of CRLF when we're at buffer end.
Handle deferred scroll when done processing output.
(term-handle-deferred-scroll): New function.
(term-down): Simplify - no longer take RIGHT argument. Tune.
(term-goto): Use term-move-columns to compensate for the above.
Roland McGrath [Wed, 14 Jun 1995 15:47:10 +0000 (15:47 +0000)]
(compilation-find-file): If FILENAME is absolute, apply
abbreviate-file-name to it and then use its directory part as the first
search path element, searching for its nondirectory part.
Fix prompting code not to use a free variable.
(compilation-parse-errors, compile-abbreviate-directory): Use
abbreviate-file-name on directories.
Karl Heuer [Tue, 13 Jun 1995 23:31:17 +0000 (23:31 +0000)]
(comint-mode): Use make-local-hook.
(comint-send-input, comint-output-filter): Use run-hook-with-args.
(comint-dynamic-complete): Use run-hook-with-args-until-success.
Karl Heuer [Sun, 11 Jun 1995 20:26:47 +0000 (20:26 +0000)]
(EmacsFrameSetCharSize): Manually alter the height
and width of the outer widget (and the width of the column widget)
carefully using deltas.
Set update_hints_inhibit nonzero while updating.
Then call update_wm_hints explicitly.
(update_wm_hints): Use 0 for min_rows, min_cols.
Do nothing if update_hints_inhibit is nonzero.
Karl Heuer [Sun, 11 Jun 1995 20:14:36 +0000 (20:14 +0000)]
(Fframe_or_buffer_changed_p): Calculate vector size right.
Add hysteresis when making it larger. Fill it up reliably
and check at the end for overflowing it.
(syms_of_display): Make frame_and_buffer_state initially with 20 elts.
Geoff Voelker [Sat, 10 Jun 1995 02:22:49 +0000 (02:22 +0000)]
(ALL,addpm,addpm.exe,addpm.obj): Defined.
(all): Depend upon $(BLD) and $(ALL).
(install): Depend upon emacs.bat.
Create program item for Emacs.
(clean): Delete obj.
(emacs.bat): Defined.
Karl Heuer [Fri, 9 Jun 1995 20:37:54 +0000 (20:37 +0000)]
(system_key_syms): Deleted; now part of struct kboard.
(make_lispy_event): Use the struct member.
(init_kboard): Initialize it.
(syms_of_keyboard): Delete initialization and staticpro.
Karl Heuer [Fri, 9 Jun 1995 19:15:55 +0000 (19:15 +0000)]
(modify_event_symbol): Mask out high bits here,
and only for certain purposes. table_size now unsigned.
(modify_event_symbol) [HAVE_X_WINDOWS]: Use x_get_keysym_name.
(make_lispy_event): Don't mask high bits here.
Supply -1 as table_size for system-specific keys.
Karl Heuer [Fri, 9 Jun 1995 16:00:45 +0000 (16:00 +0000)]
(update_menu_bar): Use set_buffer_internal_1 to switch bufs.
Run the hooks in the proper buffer.
Normally bind overriding-local-map to nil.
(Qoverriding_local_map): New variable.
(syms_of_xdisp): staticpro it.
Karl Heuer [Fri, 9 Jun 1995 15:42:08 +0000 (15:42 +0000)]
(x-create-frame-with-faces): Don't use initial-frame-alist
when looking for the X resource name.
Copy parameters from default-frame-alist, before the geometry
specs from the X resource database.
Karl Heuer [Fri, 9 Jun 1995 14:38:56 +0000 (14:38 +0000)]
Converted xemacs *screen* nomenclature to *frame*.
Incorporated overlay strings. Ediff no longer runs under emacs
19.28 and earlier and XEmacs 19.11 and earlier.
Karl Heuer [Fri, 9 Jun 1995 14:35:26 +0000 (14:35 +0000)]
(gnus-cancel-news): Use `buffer-disable-undo'.
(gnus-inews-article): Ditto.
(gnus-inews-insert-signature): Use the recommended
hyphen-hyphen-space as the signature delimiter.
Karl Heuer [Fri, 9 Jun 1995 03:03:46 +0000 (03:03 +0000)]
(last_command): Var deleted; now part of struct kboard.
(command_loop_1): Make last_command be kboard-local.
(syms_of_keyboard): Defvar it.
(init_kboard): Initialize it.
Karl Heuer [Fri, 9 Jun 1995 01:26:00 +0000 (01:26 +0000)]
(Info-mode): Doco fix.
(Info-next-preorder): Renamed from Info-next-preorder-1.
Old definition deleted.
After moving up, go to end of node.
(Info-last-preorder): If no menu, try the previous node.
After going down thru menu or to previous, position at end
of node and recenter.
After moving up, position at start of menu.
(Info-follow-nearest-node, Info-mouse-follow-nearest-node):
Use Info-next-preorder.
(Info-scroll-up, Info-scroll-down): Doc fix.
Karl Heuer [Fri, 9 Jun 1995 01:21:18 +0000 (01:21 +0000)]
(vc-backend-checkin): Handle RCS `co'-output in the event
that a check-in only results in reverting to the previous version.
Also be more robust if the new version number cannot be told from
what `co' says.
Karl Heuer [Fri, 9 Jun 1995 00:55:30 +0000 (00:55 +0000)]
(Vhelp_event_list): New var.
(syms_of_keyboard): Set up Lisp var.
(help_char_p): New function.
(read_char, echo_char, read_key_sequence): Use help_char_p.
Karl Heuer [Fri, 9 Jun 1995 00:12:29 +0000 (00:12 +0000)]
Changed vip-*-frame-* to *-frame-*, incorporated overlay strings,
unread-command-events, removed support for emacs versions 19.28 and
xemacs 19.11 and earlier.
Karl Heuer [Fri, 9 Jun 1995 00:11:53 +0000 (00:11 +0000)]
(vip-event-key): now handles keys 128--255 as meta-chars.
Changed vip-*-frame-* to *-frame-*, incorporated overlay strings,
unread-command-events, removed support for emacs versions 19.28 and
xemacs 19.11 and earlier.
Karl Heuer [Fri, 9 Jun 1995 00:11:23 +0000 (00:11 +0000)]
Fixed problems with yanking/deleting buffers.
Changed vip-*-frame-* to *-frame-*, incorporated overlay strings,
unread-command-events, removed support for emacs versions 19.28 and
xemacs 19.11 and earlier.