Catch errors in setting face attributes.
(ansi-term-inv-fg-faces-vector): Define with defvar.
(ansi-term-inv-bg-faces-vector): Likewise.
(ansi-term-bg-faces-vector, ansi-term-fg-faces-vector): Likewise.
(term-ignore-error): New mcro.
term- and follow a simple lexicographical convention. Note that
each change is commented: just search for -mm in the source.
(term-char-mode): Added all the "grey-keys" to term-raw-map.
(term-send-up): Similar, decided to go for the more xterm-like
\eOA bindings in place of the previous \e[A.
(term-buffer-maximum-size): New variable.
(term-mode): Added some make-local: now term-buffer-maximum-size,
ange-ftp-default-user/password/an-pwd.
(term-emulate-terminal): Quite some modifications to allow
multiple outstanding ANSI style commands: notably all the
-previous-parameter stuff. Call term-handle-ansi-terminal-messages.
(term-emulate-terminal): Added simple trimming function: at the
end we simply check if the buffer is > term-buffer-maximum-size
and cut it accordingly.
(term-handle-colors-array): New function.
(term-handle-ansi-terminal-messages): New function.
(term-handle-ansi-escape): Modified to allow ANSI coloring
(ansi-term): New function that creates multiple terminals. Put
in the standard C-x map too: I'm quite used to C-x C-f and C-c C-f
was too awkward.
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.
(term-escape-char, term-set-escape-char): Add doc-string.
(term-mouse-paste): Add xemacs support.
Various speed enhencements:
(term-handle-scroll): Don't clear term-current-row; maybe adjust it.
(term-down): Don't call term-adjust-current-row-cache if we've
done term-handle-scroll.
(term-emulate-terminal): Don't call term-adjust-current-row-cache.
(term-emulate-terminal): For TAB, don't nil term-start-line-column.
(term-goto): Possible optimization.
(term-if-emacs19, term-if-xemacs, term-ifnot-xemacs): New macros
to conditionalize at compile-time for different emacs versions.
(various places): Use them (instead of term-is-XXXX).
(term-is-emacs19): Removed, no longer needed.
Change keybindings to not use C-c LETTER, for
term-char-mode, term-line-mode. Keybindings for term-pager-enable
and term-pager-disable replaced by one for term-pager-toggle.
(term-pager-toggle): New function.
(term-fake-pager-enable, term-fake-pager-disable):
Define as aliases, so that menubar code will find proper keybindings.
(term-char-mode): Make no-op if already in char mode.
(term-line-mode): Make no-op if already in line mode.
(term-mode-map): Add keybinding for no-op term-line-mode, so
code to display menubar keybindings doesn't lose it. (Needed
as long as char-mode and line-mode share term-terminal-menu.)
(term-raw-escape-map): Likewise for term-char-mode.
(term-char-mode, term-line-mode): Better documentation strings.
Added menubar for pager sub-mode.
(term-command-hook): Disabled the feature that allowed
inferior to send a lisp command to emacs - too big a security hole.