bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug Report for 'Screen'


From: Vlad
Subject: Bug Report for 'Screen'
Date: Tue, 30 Mar 2004 16:50:55 +1200

PROBLEM SUMMARY

Screen program does check if display needs to be
reset from normal (80-char) to wide (132-char) mode
(and vise versa) when switching between windows,
which results in screen corruption.


VERSIONS AFFECTED

Screen program versions 3.9.2 - 4.0.2 have this
problem. Version 3.7.6 and possible earlier work
fine.


HOW TO REPLICATE THE PROBLEM

1. Start Screen
   (currently displayed is window 0 in 80-char mode)
2. Create new window by pressing Ctrl-A C
   (currently displayed is window 1 in 80-char mode)
3. Issue the following command in window 1:
            echo "\033[?3h"
   This command issues control sequence to switch the
   display into wide mode and works for vt220 terminal.
   When testing on another terminal, this sequence
   might be different.
   This sequence should also be set as Z0 attribute
   in the screenrc file.
   After the command is run, window 1 is displayed on the
   screen in 132-char mode.
4. Switch to window 0 by pressing Ctrl-A 0
   The screen switches to window 0 but incorrectly leaves
   the screen in 132-char mode.


SUGGESTED FIX

The attached file diff-4.0.2-fix.patch contains a suggested
fix for version 4.0.2

The fix basically consists in uncommenting two pieces of
code which have been present in version 3.7.6 but by some
reason were disabled in version 3.9.2 and newer.

Lines 236-244 in resize.c (version 4.0.2) prevent w_width
of windows in normal (Z1) mode to be changed when one window
is processing Z0 sequence.

Lines 4589-4596 in process.c (version 4.0.2) resize the
display to current window's size when this window is activated.
Also, lines 4577-4578 are moved to the else block of if(fore)
condition as they resize current layer (i.e. w_width of
current window) to the canvas size which matches previous
window's size not the current window's.


DETAILS OF HARDWARE AND SOFTWARE USED FOR TESTING

Version of Screen program used: 4.0.2.

The problem has been tested on Intel Pentium III box under
Suse Linux 9.0 operating system, kernel 2.4.21-192-default.

Compiler: gcc version 3.3.1

Config.h and Makefile files used to compile the program
are attached.



Sincerely yours,

Vlad Shynkarenko
address@hidden
Logistic Software


Attachment: diff-4.0.2-fix.patch
Description: Binary data

Attachment: config.h
Description: Binary data

Attachment: Makefile
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]