Tue Jun 13 16:38:40 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el:  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.

Sat Jun 10 23:10:52 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-escape-char, term-set-escape-char):  Add doc-string.
	(term-mouse-paste):  Add xemacs support.

	* term.el:  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.

Wed Mar 15 17:20:26 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-mouse-paste):  Make work for xemacs-19.11.
	For GNU emacs, don't mouse-set-point, but do
	run-hooks on mouse-leave-buffer-hook,

	* term.el (term-char-mode):  Fix paren error that caused
	the arrow keys to not be recognized under xemacs.
	Also, simplify/fix [(button2)] to [button2] for paste under xemacs.

Tue Mar  7 16:43:51 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-eol-on-send):  New variable.
	(term-send-input):  Move point to eol before sending only if
	term-eol-on-send is true.

	* term.el (term-send-input):  Don't move process-mark until
	after possible 'history processing.

Tue Feb  7 02:59:59 1995  Richard Stallman  <rms@pogo.gnu.ai.mit.edu>

	* term.el (term-protocol-version): Renamed from term-version.

Sat Feb  4 16:23:18 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-version):  Increased to 0.95.
	(term-pager-enabled):  New macro.  Use it a bunch of places.
	(term-terminal-menu):  Clean up initialization so we don't get
	complaints when re-loading term.el.
	(term-send-raw-meta):  Redo to handle meta-symbols (e.g. meta-delete).
	More robust checking of parameter to make-string.
	(term-update-mode-line):  New function.  Call it whenever we change
	char/line/paging mode.  Now includes "page" in mode-line-process
	if paging is abled.

	* term.el:  Remove causes for byte-compilation to complain:
	(term-terminal-pos):  Declare x and y in let-binding.
	(term-send-invisible):  Remove bogus second "iteractive" call.
	(term-*): Provide defvars for lots of buffer-local variables.
	(term-mode):  Make comments and initial value setting from
	here to the corresponding defvar.
	(term-line-start-column):  Remove unused variable.
	(term-erase-in-line):  Fix syntax (incorrect parenthesis) error.
	(term-erase-in-display):  Fix typo "\?n" -> "?\n".

	* term.el:  Make Unix "resize" command work:
	(term-handle-ansi-escape):  On "\e[row;colH", limit row
	and col to size of window.  (Resize sends "999;999".)
	(term-handle-ansi-escape):   Implement "\e[6n" "Report cursor
	position".  This requires that we pass proc as an extra parameter.
	(term-scroll-region):  An empty region means extend to window bottom.

Fri Jan 20 14:07:31 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-version):  Increased to 0.94.
	(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.

	* term.el:  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.el (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.

	* term.el:  Added menubar for pager sub-mode.

Wed Jan 11 17:06:37 1995  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-command-hook):  Disabled the feature that allowed
	inferior to send a lisp command to emacs - too big a security hole.

Mon Nov 21 12:38:05 1994  Per Bothner  <bothner@kalessin.cygnus.com>

	* term.el (term-termcap-format):  Add cd capability.  Fix ei.
	(term-exec-1):  Pass $TERMINFO instead of $TERMCAP if appropriate.
	(term-exec-1):  Pass emacs-version and term-version in $TERM.
	(term-exec-1):  Re-write to set process-environment.

Sun Jun 26 20:31:52 1994  Per Bothner  (bothner@kalessin.cygnus.com)

	* term.el:  Set version number to 0.92.
	* term.el (term):  New top-level function.

Tue May 17 11:45:21 1994  Per Bothner  (bothner@kalessin.cygnus.com)

	* term.el (term-emulate-terminal):  Move most of the scrolling
	and other final actions inside the body of the unwind-protect.
	But make sure to select the original selected window in the
	cleanup actions.  Bug reported by David Hampton <hampton@cisco.com>.

	* term.el (term-emulate-terminal):  Ignore ?\016 (Shift Out)
	and ?\017 (Shift In).  (These are produced by the Lynx WWW-viewer.)

