diff options
| author | Richard M. Stallman | 1995-02-17 08:40:18 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-02-17 08:40:18 +0000 |
| commit | 45140e01dc6646eb39eb4fcbfc2e73db78b86844 (patch) | |
| tree | 3af2d8dd59e7a6403f285743a017241c9f62d29b /src | |
| parent | 9769686d8b6b89a52831394959b9d64ad4f62ccb (diff) | |
| download | emacs-45140e01dc6646eb39eb4fcbfc2e73db78b86844.tar.gz emacs-45140e01dc6646eb39eb4fcbfc2e73db78b86844.zip | |
(change_frame_size_1): New subroutine.
(change_frame_size): If f is termcap frame, change size of all of them.
(remake_frame_glyphs): No longer static.
Don't mark nonselected termcap frame as garbaged.
Diffstat (limited to 'src')
| -rw-r--r-- | src/dispnew.c | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index 3fbc9f55f8d..ee29b302ac4 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -72,6 +72,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 72 | #endif | 72 | #endif |
| 73 | #endif | 73 | #endif |
| 74 | 74 | ||
| 75 | static void change_frame_size_1 (); | ||
| 76 | |||
| 75 | /* Nonzero upon entry to redisplay means do not assume anything about | 77 | /* Nonzero upon entry to redisplay means do not assume anything about |
| 76 | current contents of actual terminal frame; clear and redraw it. */ | 78 | current contents of actual terminal frame; clear and redraw it. */ |
| 77 | 79 | ||
| @@ -352,7 +354,7 @@ free_frame_glyphs (frame, glyphs) | |||
| 352 | xfree (glyphs); | 354 | xfree (glyphs); |
| 353 | } | 355 | } |
| 354 | 356 | ||
| 355 | static void | 357 | void |
| 356 | remake_frame_glyphs (frame) | 358 | remake_frame_glyphs (frame) |
| 357 | FRAME_PTR frame; | 359 | FRAME_PTR frame; |
| 358 | { | 360 | { |
| @@ -385,7 +387,8 @@ remake_frame_glyphs (frame) | |||
| 385 | FRAME_CURRENT_GLYPHS (frame) = make_frame_glyphs (frame, 0); | 387 | FRAME_CURRENT_GLYPHS (frame) = make_frame_glyphs (frame, 0); |
| 386 | FRAME_DESIRED_GLYPHS (frame) = make_frame_glyphs (frame, 0); | 388 | FRAME_DESIRED_GLYPHS (frame) = make_frame_glyphs (frame, 0); |
| 387 | FRAME_TEMP_GLYPHS (frame) = make_frame_glyphs (frame, 1); | 389 | FRAME_TEMP_GLYPHS (frame) = make_frame_glyphs (frame, 1); |
| 388 | SET_FRAME_GARBAGED (frame); | 390 | if (! FRAME_TERMCAP_P (frame) || frame == selected_frame) |
| 391 | SET_FRAME_GARBAGED (frame); | ||
| 389 | } | 392 | } |
| 390 | 393 | ||
| 391 | /* Return the hash code of contents of line VPOS in frame-matrix M. */ | 394 | /* Return the hash code of contents of line VPOS in frame-matrix M. */ |
| @@ -2027,7 +2030,26 @@ do_pending_window_change () | |||
| 2027 | redisplay. Since this tries to resize windows, we can't call it | 2030 | redisplay. Since this tries to resize windows, we can't call it |
| 2028 | from a signal handler. */ | 2031 | from a signal handler. */ |
| 2029 | 2032 | ||
| 2030 | change_frame_size (frame, newheight, newwidth, pretend, delay) | 2033 | change_frame_size (f, newheight, newwidth, pretend, delay) |
| 2034 | register FRAME_PTR f; | ||
| 2035 | int newheight, newwidth, pretend; | ||
| 2036 | { | ||
| 2037 | Lisp_Object tail, frame; | ||
| 2038 | if (FRAME_TERMCAP_P (f)) | ||
| 2039 | { | ||
| 2040 | /* When using termcap, all frames use the same screen, | ||
| 2041 | so a change in size affects all termcap frames. */ | ||
| 2042 | FOR_EACH_FRAME (tail, frame) | ||
| 2043 | if (FRAME_TERMCAP_P (XFRAME (frame))) | ||
| 2044 | change_frame_size_1 (XFRAME (frame), newheight, newwidth, | ||
| 2045 | pretend, delay); | ||
| 2046 | } | ||
| 2047 | else | ||
| 2048 | change_frame_size_1 (f, newheight, newwidth, pretend, delay); | ||
| 2049 | } | ||
| 2050 | |||
| 2051 | static void | ||
| 2052 | change_frame_size_1 (frame, newheight, newwidth, pretend, delay) | ||
| 2031 | register FRAME_PTR frame; | 2053 | register FRAME_PTR frame; |
| 2032 | int newheight, newwidth, pretend; | 2054 | int newheight, newwidth, pretend; |
| 2033 | { | 2055 | { |