[gnu.emacs.bug] correction, another fix

danapple@FLOTSAM.MIT.EDU (Daniel I. Applebaum) (01/10/89)

John Irwin is very correct that a 0 width line is legal.  So the
correction I sent out a couple days ago is not necessary, although I
recommend it to be used on Parallax displays.

On the other hand, the terminal window resize handling in 18.52 seems to
be unnecessary when emacs uses its own X window.  The is a bunch of code
to handle SIGWINCH on 4.3 systems that gets in the way of running in an
X window.  The symptom I see is that sometimes when starting emacs, the
window size (in rows and cols) doesn't get set to be proportional to the
actual window size.  These changes fix that.  There is still an extra
screen redraw when you first start the editor.  My guess is that there
is a direct call to redraw the screen, which is unnecessary since the
window being created will have an expose event generated for it.

Here are the diffs for src/dispnew.c
1121,1125c1121,1125
<   if (inhibit_window_system) {
<     get_screen_size (&width, &height);
<     change_screen_size (height, width, 0);
<     signal (SIGWINCH, window_change_signal);
<   }
---
> 
>   get_screen_size (&width, &height);
>   change_screen_size (height, width, 0);
>   signal (SIGWINCH, window_change_signal);
> 
1141,1144d1140
<   if (!inhibit_window_system) {
<     change_screen_size (delayed_screen_height, delayed_screen_width, 0);  
<     return;
<   }
1191d1186
< 
1405d1399
<       else inhibit_window_system = 1;  /* if no display */
1407c1401
< 
---
>       ;
1410d1403
< 
1435c1428
<   if (initialized) {
---
>   if (initialized)
1437,1441c1430
<     if (inhibit_window_system)
<       signal (SIGWINCH, window_change_signal);
< #ifndef CANNOT_DUMP
<   }
< #endif /* CANNOT_DUMP */
---
>     signal (SIGWINCH, window_change_signal);

----------------------------

Dan.