(term-if-xemacs, term-ifnot-xemacs): Test (featurep 'xemacs).
(term-window-width): New function.
(term-mode, term-check-size): Use it.
(term-mode): Disable overflow-newline-into-fringe in term buffer.
(term-char-mode): Don't set up term-raw-map here.
(term-set-escape-char): Don't set up C-x subcommand.
(term-ansi-face-already-done): Renamed from
term-ansi-face-alredy-done.
(term-command-hook): Avoid error if STRING is empty.
(term, term-mode): Doc fixes.
Redesign handling of colors and faces.
Delete all the faces that this mode used to make.
(ansi-term-color-vector): New variable.
(ansi-term-fg-faces-vector, ansi-term-bg-faces-vector)
(ansi-term-inv-bg-faces-vector, ansi-term-inv-fg-faces-vector):
Variables deleted.
(term-default-fg-color, term-default-bg-color): Use defcustom.
(term-handle-colors-array): Use ansi-term-color-vector,
and specify face attributes rather than faces in `face' property.
(term-ansi-fg-faces-vector, term-ansi-bg-faces-vector)
(term-ansi-inv-fg-faces-vector, term-ansi-inv-bg-faces-vector)
(term-ansi-reverse-faces-vector): Unused variables deleted.
(term-ignore-error): Macro deleted.
(term-set-escape-char): Bind M-x to execute-extended-command in
term-raw-escape-map.
(term-move-columns): Don't try to move to negagive column.
(term-emulate-terminal): Insert a string before deleting a text to
overwrite.
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.