eterm / TODO.term

* Define a sentinel function, so that the display doesn't get
screwed up the default sentinel when the process finishes.

* Performance improvements?  (It is zippy enough on reasonably
fast machines, though.)

* Should more terminal escape sequences be supported?
Yes:  At least the ANSI color escapes (as in colour_xterm).

* The caching variables (e.g. term-current-row) assume that there
is be no random editing of the buffer that we don't know about.  In that
respect, they are somewhat fragile.

* Document the internals better, and make it easier to write
emulators for other kinds of terminals.

* The scrolling behavior is still not quite right.

* Stallman has expressed dislike for the xterm style of switching to the
alternate buffer on the "ti" capability.  An alternative would be to
defer this until the screen is cleared.  That assumes there are programs
that emit ti without following that by a command to erase the window.
I'm not sure there are any such programs (that we care about) ...

*** CHANGES THAT REQUIRE NEW EMACS PRIMITIVES ***

* If ioctl is made accessible to elisp, it may be possible
to support some kind of automatic switching between char mode
and line mode.  It also becomes possible to privide term
primitives to turn off echoing in the inferior.

*** CHANGES TO DO IN OTHER PROGRAMS ***

* In gdb-mode, a keysequence like \C-c\C-s works by sending the command
"step" in gdb-mode.  Emacs goes to a fair bit of trouble to delete the
prompt preceding the command, as well as the echo from the inferior.
In addition to being hairy, it is somewhat fragile (because of possible
type-ahead, and because the inferior might be mixing other output with
the echo).
More robust would be for emacs to send the command "noecho step" (or
"step #noecho") where the "noecho" is an instruction to gdb (readline)
to erase the prompt for this command, and suppress its echo.

* Bash (and perhaps other shells) should be modified so that before
the prompt (and PROMPT_COMMAND) are printed, they emit:
	printf("\032/%s\n", PWD);
This will tell the shell window which directory it should assume,
and obviates the need for all that hairy directory tracking.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.