annotate lisp/eterm/TODO.term @ 28:1917ad0d78d7 r19-15b97

Import from CVS: tag r19-15b97
author cvs
date Mon, 13 Aug 2007 08:51:55 +0200
parents 376386a54a3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 * Define a sentinel function, so that the display doesn't get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 screwed up the default sentinel when the process finishes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 * Performance improvements? (It is zippy enough on reasonably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 fast machines, though.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 * Should more terminal escape sequences be supported?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 Yes: At least the ANSI color escapes (as in colour_xterm).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 * The caching variables (e.g. term-current-row) assume that there
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 is be no random editing of the buffer that we don't know about. In that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 respect, they are somewhat fragile.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 * Document the internals better, and make it easier to write
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 emulators for other kinds of terminals.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 * The scrolling behavior is still not quite right.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 * Stallman has expressed dislike for the xterm style of switching to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 alternate buffer on the "ti" capability. An alternative would be to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 defer this until the screen is cleared. That assumes there are programs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 that emit ti without following that by a command to erase the window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 I'm not sure there are any such programs (that we care about) ...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 *** CHANGES THAT REQUIRE NEW EMACS PRIMITIVES ***
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 * If ioctl is made accessible to elisp, it may be possible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 to support some kind of automatic switching between char mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 and line mode. It also becomes possible to privide term
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 primitives to turn off echoing in the inferior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 *** CHANGES TO DO IN OTHER PROGRAMS ***
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 * In gdb-mode, a keysequence like \C-c\C-s works by sending the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 "step" in gdb-mode. Emacs goes to a fair bit of trouble to delete the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 prompt preceding the command, as well as the echo from the inferior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 In addition to being hairy, it is somewhat fragile (because of possible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 type-ahead, and because the inferior might be mixing other output with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 the echo).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 More robust would be for emacs to send the command "noecho step" (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 "step #noecho") where the "noecho" is an instruction to gdb (readline)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 to erase the prompt for this command, and suppress its echo.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 * Bash (and perhaps other shells) should be modified so that before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 the prompt (and PROMPT_COMMAND) are printed, they emit:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 printf("\032/%s\n", PWD);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 This will tell the shell window which directory it should assume,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 and obviates the need for all that hairy directory tracking.