Mercurial > emacs
changeset 357:1ad871406b12
*** empty log message ***
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Sat, 27 Jul 1991 03:27:24 +0000 |
parents | 5b180834eacf |
children | 71c9042fb90d |
files | lisp/terminal.el src/frame.h src/termhooks.h |
diffstat | 3 files changed, 20 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/terminal.el Fri Jul 26 23:31:34 1991 +0000 +++ b/lisp/terminal.el Sat Jul 27 03:27:24 1991 +0000 @@ -975,9 +975,10 @@ (progn (goto-char (point-max)) (recenter -1))))))) -(defvar te-stty-string "stty -nl new dec echo" - "Command string (to be interpreted by \"sh\") which sets the modes -of the virtual terminal to be appropriate for interactive use.") +(defvar te-stty-string "stty -nl dec echo" + "Shell command to set terminal modes for terminal emulator.") +;; This used to have `new' in it, but that loses outside BSD +;; and it's apparently not needed in BSD. (defvar explicit-shell-file-name nil "*If non-nil, is file name to use for explicitly requested inferior shell.")
--- a/src/frame.h Fri Jul 26 23:31:34 1991 +0000 +++ b/src/frame.h Sat Jul 27 03:27:24 1991 +0000 @@ -70,6 +70,12 @@ /* Name of this screen: a Lisp string. */ Lisp_Object name; + /* The screen which should recieve keystrokes that occur in this + screen. This is usually the screen itself, but if the screen is + minibufferless, this points to the minibuffer screen when it is + active. */ + Lisp_Object focus_screen; + /* This screen's root window. Every screen has one. If the screen has only a minibuffer window, this is it. Otherwise, if the screen has a minibuffer window, this is its sibling. */ @@ -174,12 +180,14 @@ #define SCREEN_DELETEN_COST(s) (s)->delete_n_lines_cost #define SCREEN_MESSAGE_BUF(s) (s)->message_buf #define SCREEN_SCROLL_BOTTOM_VPOS(s) (s)->scroll_bottom_vpos +#define SCREEN_FOCUS_SCREEN(s) (s)->focus_screen #define CHECK_SCREEN(x, i) \ { if (XTYPE ((x)) != Lisp_Screen) x = wrong_type_argument (Qscreenp, (x)); } extern Lisp_Object Qscreenp; extern struct screen *selected_screen; +extern struct screen *last_nonminibuf_screen; extern struct screen *make_terminal_screen (); extern struct screen *make_screen (); @@ -198,6 +206,7 @@ #define SCREEN_PTR int extern int selected_screen; +#define last_nonminibuf_screen selected_screen #define XSCREEN(s) selected_screen #define WINDOW_SCREEN(w) selected_screen @@ -228,7 +237,9 @@ #define SCREEN_INSERTN_COST(screen) insert_n_lines_cost #define SCREEN_DELETEN_COST(screen) delete_n_lines_cost #define SCREEN_MESSAGE_BUF(s) message_buf -#define SCREEN_SCROLL_BOTTOM_VPOS scroll_bottom_vpos; +#define SCREEN_SCROLL_BOTTOM_VPOS(s) scroll_bottom_vpos + +#define CHECK_SCREEN(x, i) { ; } extern int screen_width, screen_height; extern int cursX, cursY;
--- a/src/termhooks.h Fri Jul 26 23:31:34 1991 +0000 +++ b/src/termhooks.h Sat Jul 27 03:27:24 1991 +0000 @@ -63,12 +63,10 @@ button releases. */ extern int (*mouse_tracking_enable_hook) ( /* int ENABLE */ ); -/* When reading from a minibuffer in a different screen, Emacs wants - to shift the highlight from the selected screen to the minibuffer's - screen; under X, this means it lies about where the focus is. - This hook tells the window system code to re-decide where to put - the highlight. */ -extern void (*screen_rehighlight_hook) ( /* SCREEN_PTR s */ ); +/* When a screen's focus redirection is changed, this hook tells the + window system code to re-decide where to put the highlight. Under + X, this means that the system lies about where the focus is. */ +extern void (*screen_rehighlight_hook) ( /* void */ ); /* If nonzero, send all terminal output characters to this stream also. */