(terminal-map, etc.): Use default bindings, not fillarray.
Make the maps sparse.
(terminal-meta-map): New map; lets us make ESC a prefix key.
(terminal-map): Bind ESC to terminal-meta-map.
(te-more-break-unread): Handle non-char as last-input-char.
(te-filter): Delete code that worked with meta-flag.
(terminal-emulator): Don't look at meta-flag.
(terminal-mode): Don't make meta-flag local.
(te-stty-string): Quote the args that have ^. Add pass8.
Changes that esr made in the previous version but didn't describe in detail:
Some defvars moved.
Defvars added for many variables.
(te-stty-string): Specify the characters explicitly--not `stty dec'.
(vc-registration-error): New function.
(vc-next-action, vc-diff, vc-print-log, vc-backend-diff): Use it to
make VC's error messages more uniform.
(vc-directory, vc-revert-buffer1): Quote lambdas with (function ...)
for Emacs 18.
(compilation-old-error-list): Set if undefined, for Emacs 18.
frame-creation-function to x-create-frame - just set it directly
to x-create-frame-with-faces.
* x-win.el: (require 'faces), too. Move (require 'select) to top,
with the other requires.
conventional way to get out of such a package.
(finder-summary): Use substitute-command-keys.
(finder-mode): Use \\<...> to make sure we get the right keymap.
* faces.el: Don't set frame-creation-function here; x-win.el is
the appropriate place to set it.
* faces.el: Only apply x-initialize-frame-faces to X frames; pass
over terminal frames.
* faces.el: Provide 'faces.
Fail more gracefully if we can't build bold, italic, etc,
versions of the default font.
* faces.el (make-face-bold, make-face-italic,
make-face-bold-italic, make-face-unbold, make-face-unitalic):
Implement NOERROR argument.
(x-initialize-frame-faces): Use the NOERROR argument to the
font manipulation functions to avoid errors while starting up.
Remove initialization of isearch font.
* xfaces.c (internal-x-complain-about-font): Add new frame
argument, so we can check the frame parameters to find the
default font. Callers changed.
* faces.el (x-create-frame-with-faces): Fix typo. Dyke out
code to fully qualify the modeline font; we may not be able to
do that correctly.
dereferencing links is inappropriate for dired.
* files.el (abbreviate-file-name): If abbreviated-home-dir ends
with a slash, don't remove the corresponding slash from filename
when we collapse the home directory to ~.
FORCE argument non-nil, so that we don't get an error if the mark
isn't set yet.
* edebug.el (global-edebug-prefix, global-edebug-map): Add
autoload cookies for these, so they are present when Emacs starts
up.
* edebug.el (global-edebug-map): Bind `C-x X d' to edebug-defun in
this map; we can't bind it to `C-x x', as the installation
instructions suggest, because that conflicts with
copy-to-register.
"rope"; we're using vectors of characters now.
(standard-display-8bit, standard-display-ascii): Set the element
of the display table to a vector, not an integer; the latter
doesn't mean anything.
(compilation-minor-mode): New defvar.
(compilation-minor-mode-map): New defvar; keymap with the bindings
from compilation-mode-map except SPC and DEL.
(compilation-mode-map): Construct this keymap to inherit from
compilation-minor-mode-map.
(compilation-setup): New function, code broken out of compilation-mode.
(compilation-mode): Call it.
(compilation-minor-mode): New function to toggle
compilation-minor-mode; if setting it, call compilation-setup.
picture-mode.
(move-to-column-force, picture-end-of-line): When movement is completed,
scroll horizontally if necessary to make point visible.
(picture-beginning-of-line): New function. Exists to force horizontal
scrolling if the buffer is wide.
(picture-mode-map): Instead of rebinding common keystrokes, use
substitute-key-definition to remap all keystrokes attached to the
corresponding commands.
(find-tag-noselect, find-tag, find-tag-other-window, find-tag-other-frame,
find-tag-regexp): Use it.
(find-tag, find-tag-other-window): Take new arg REGEXP-P, pass to
find-tag-noselect.
(find-tag-regexp): Call either find-tag-other-window or find-tag, rather
than find-tag-noselect and switch-to-buffer[-other-window].
(tags-location-stack): New defvar.
(find-tag-noselect): If NEXT-P is '-, pop location off tags-location-stack.
Discussion with Jim Blandy reveals that it can no longer be made to work
properly at all due to changes in Emacs's terminal-control interface. So
it's getting deep-sixed, but these cleanups go in on the outside chance that
we want to revive it someday.
in loaddefs.el or the user's .emacs, not in a terminal support package. Also
do the right thing and transplant all suspend-emacs bindings to iconify-frame,
rather than just C-z.
complex. The new version is smaller and faster. The interface is
unchanged, except that ring-remove now accepts an optional numeric argument
specifying the element to remove.
arg on an empty buffer.
(vc-directory): Better directory format --- replace the user and group IDs
with locking-user (if any).
(vc-finish-logentry, vc-next-comment, vc-previous-comment): Replace
*VC-comment-buffer* with a ring vector.
addition of new lines at end of buffer.
(up-arrow): Alias of previous-line, added for consistency.
These changes complete terminal-type-independent support for arrow keys.
to be applied manually. It's not worth trying to integrate this with
the rest of the mode more tightly until we decide whether and how
compile's interface is going to change away from a closed subsystem.
(cd-absolute): Added. This is actually the old cd code with a changed
doc string.
(parse-colon-path): Added. Path-to-string exploder --- may be useful elsewhere.
(ring-rotate): Nuked. It was (a) unused, and (b) totally broken (as in,
any attempt to use it died with a type error, and when I patched it to fix
that I found its algorithm was broken).
(ring-ref): Added doc string.
(kill-forward-chars, kill-backward-chars): Deleted. These were
internal subroutines used by delete-char and delete-backward-char
before those functions were moved into the C kernel. Now nothing uses
them.
(kill-line): Added kill-whole-line variable. Defaults to nil; a
non-nil value causes a kill-line at the beginning of a line to kill
the newline as well as the line. I find it very convenient. Emulates
Unipress' &kill-lines-magic variable.
(next-line): Added next-line-add-newlines variable. If nil, next-line will not
insert newlines when invoked at the end of a buffer. This obviates three LCD
packages.
(left-arrow, right-arrow): New functions. These do backward-char and
forward-char first. If line truncation is on, they then scroll left or
right as necessary to make sure point is visible.