- fix crash when resizing (#515055)
- try to improve default config (#523647, #506256, #492729) - suppress install-info errors (#515999)epel9
parent
dd77f336d8
commit
068b0a374f
@ -1,48 +0,0 @@
|
|||||||
--- screen-4.0.2/etc/screenrc.screenrc 2003-12-05 13:59:39.000000000 +0000
|
|
||||||
+++ screen-4.0.2/etc/screenrc 2005-02-15 10:22:19.935843952 +0000
|
|
||||||
@@ -15,7 +15,7 @@
|
|
||||||
startup_message off
|
|
||||||
|
|
||||||
# emulate .logout message
|
|
||||||
-pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
|
|
||||||
+pow_detach_msg "Screen session of $LOGNAME $:cr:$:nl:ended."
|
|
||||||
|
|
||||||
# advertise hardstatus support to $TERMCAP
|
|
||||||
# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
|
|
||||||
@@ -60,7 +60,7 @@
|
|
||||||
# tell screen that xterm can switch to dark background and has function
|
|
||||||
# keys.
|
|
||||||
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
|
|
||||||
-termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
|
||||||
+#termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
|
||||||
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
|
||||||
|
|
||||||
# special xterm hardstatus: use the window title.
|
|
||||||
@@ -126,9 +126,9 @@
|
|
||||||
# Yet another hack:
|
|
||||||
# Prepend/append register [/] to the paste if ^a^] is pressed.
|
|
||||||
# This lets me have autoindent mode in vi.
|
|
||||||
-register [ "\033:se noai\015a"
|
|
||||||
-register ] "\033:se ai\015a"
|
|
||||||
-bind ^] paste [.]
|
|
||||||
+#register [ "\033:se noai\015a"
|
|
||||||
+#register ] "\033:se ai\015a"
|
|
||||||
+#bind ^] paste [.]
|
|
||||||
|
|
||||||
################
|
|
||||||
#
|
|
||||||
@@ -140,9 +140,14 @@
|
|
||||||
# screen -t 40 2 rlogin server
|
|
||||||
|
|
||||||
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
|
|
||||||
+## alternative caption, gives window list, LOGNAME and current date:
|
|
||||||
+# caption always "%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw %=%{mk}@%H %{yk}%D %{ck}%M%{wk} %{ck}%d %{gk}%c"
|
|
||||||
# hardstatus alwaysignore
|
|
||||||
# hardstatus alwayslastline "%Lw"
|
|
||||||
|
|
||||||
+# Red Hat's normal status line
|
|
||||||
+hardstatus string "[screen %n%?: %t%?] %h"
|
|
||||||
+
|
|
||||||
# bind = resize =
|
|
||||||
# bind + resize +1
|
|
||||||
# bind - resize -1
|
|
@ -0,0 +1,116 @@
|
|||||||
|
commit 45d0c395945d2ae0f99748d030a8bffcb4cb46f9
|
||||||
|
Author: Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
|
||||||
|
Date: Wed Sep 23 16:22:06 2009 -0400
|
||||||
|
|
||||||
|
Fix a crash when resizing.
|
||||||
|
|
||||||
|
The alternate screen has to be reset after a resize. Thanks to
|
||||||
|
Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> for pointing
|
||||||
|
this out. Closes savannah bug #26742.
|
||||||
|
|
||||||
|
diff --git a/src/resize.c b/src/resize.c
|
||||||
|
index 0bf5f3d..5477bb7 100644
|
||||||
|
--- a/src/resize.c
|
||||||
|
+++ b/src/resize.c
|
||||||
|
@@ -497,6 +497,7 @@ CheckMaxSize(wi)
|
||||||
|
int wi;
|
||||||
|
{
|
||||||
|
unsigned char *oldnull = null;
|
||||||
|
+ unsigned char *oldblank = blank;
|
||||||
|
struct win *p;
|
||||||
|
int i;
|
||||||
|
struct mline *ml;
|
||||||
|
@@ -542,49 +543,34 @@ int wi;
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#define RESET_AFC(x, bl) do { if (x == old##bl) x = bl; } while (0)
|
||||||
|
+
|
||||||
|
+#define RESET_LINES(lines, count) \
|
||||||
|
+ do { \
|
||||||
|
+ ml = lines; \
|
||||||
|
+ for (i = 0; i < count; i++, ml++) \
|
||||||
|
+ { \
|
||||||
|
+ RESET_AFC(ml->image, blank); \
|
||||||
|
+ RESET_AFC(ml->attr, null); \
|
||||||
|
+ IFFONT(RESET_AFC(ml->font, null)); \
|
||||||
|
+ IFCOLOR(RESET_AFC(ml->color, null)); \
|
||||||
|
+ IFCOLORX(RESET_AFC(ml->colorx, null)); \
|
||||||
|
+ } \
|
||||||
|
+ } while (0)
|
||||||
|
+
|
||||||
|
/* We have to run through all windows to substitute
|
||||||
|
- * the null references.
|
||||||
|
+ * the null and blank references.
|
||||||
|
*/
|
||||||
|
for (p = windows; p; p = p->w_next)
|
||||||
|
{
|
||||||
|
- ml = p->w_mlines;
|
||||||
|
- for (i = 0; i < p->w_height; i++, ml++)
|
||||||
|
- {
|
||||||
|
- if (ml->attr == oldnull)
|
||||||
|
- ml->attr = null;
|
||||||
|
-#ifdef FONT
|
||||||
|
- if (ml->font == oldnull)
|
||||||
|
- ml->font = null;
|
||||||
|
-#endif
|
||||||
|
-#ifdef COLOR
|
||||||
|
- if (ml->color == oldnull)
|
||||||
|
- ml->color= null;
|
||||||
|
-#ifdef COLORS256
|
||||||
|
- if (ml->colorx == oldnull)
|
||||||
|
- ml->colorx = null;
|
||||||
|
-#endif
|
||||||
|
-#endif
|
||||||
|
- }
|
||||||
|
+ RESET_LINES(p->w_mlines, p->w_height);
|
||||||
|
+
|
||||||
|
#ifdef COPY_PASTE
|
||||||
|
- ml = p->w_hlines;
|
||||||
|
- for (i = 0; i < p->w_histheight; i++, ml++)
|
||||||
|
- {
|
||||||
|
- if (ml->attr == oldnull)
|
||||||
|
- ml->attr = null;
|
||||||
|
-# ifdef FONT
|
||||||
|
- if (ml->font == oldnull)
|
||||||
|
- ml->font = null;
|
||||||
|
-# endif
|
||||||
|
-# ifdef COLOR
|
||||||
|
- if (ml->color == oldnull)
|
||||||
|
- ml->color= null;
|
||||||
|
-# ifdef COLORS256
|
||||||
|
- if (ml->colorx == oldnull)
|
||||||
|
- ml->colorx = null;
|
||||||
|
-# endif
|
||||||
|
-# endif
|
||||||
|
- }
|
||||||
|
+ RESET_LINES(p->w_hlines, p->w_histheight);
|
||||||
|
+ RESET_LINES(p->w_alt_hlines, p->w_alt_histheight);
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
+ RESET_LINES(p->w_alt_mlines, p->w_alt_height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 7cb17d54cc8fca88e17d6d1e7be2fd49daef1b9d
|
||||||
|
Author: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||||
|
Date: Wed Sep 23 16:24:21 2009 -0400
|
||||||
|
|
||||||
|
Typo fix.
|
||||||
|
|
||||||
|
Fixing this typo fixes this crash:
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=515055
|
||||||
|
|
||||||
|
diff --git a/src/resize.c b/src/resize.c
|
||||||
|
index 5477bb7..9c7b70f 100644
|
||||||
|
--- a/src/resize.c
|
||||||
|
+++ b/src/resize.c
|
||||||
|
@@ -517,7 +517,7 @@ int wi;
|
||||||
|
#ifdef COLOR
|
||||||
|
mline_old.color = (unsigned char *)xrealloc((char *)mline_old.color, maxwidth);
|
||||||
|
# ifdef COLORS256
|
||||||
|
- mline_old.colorx = (unsigned char *)xrealloc((char *)mline_old.color, maxwidth);
|
||||||
|
+ mline_old.colorx = (unsigned char *)xrealloc((char *)mline_old.colorx, maxwidth);
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
if (!(blank && null && mline_old.image && mline_old.attr IFFONT(&& mline_old.font) IFCOLOR(&& mline_old.color) IFCOLORX(&& mline_old.colorx)))
|
@ -0,0 +1,139 @@
|
|||||||
|
diff -up screen-4.0.3/etc/etcscreenrc.screenrc screen-4.0.3/etc/etcscreenrc
|
||||||
|
--- screen-4.0.3/etc/etcscreenrc.screenrc 2003-12-05 14:46:13.000000000 +0100
|
||||||
|
+++ screen-4.0.3/etc/etcscreenrc 2009-09-25 14:20:31.000000000 +0200
|
||||||
|
@@ -55,15 +55,15 @@ terminfo sun 'up=^K:AL=\E[%p1%dL:DL=\E[%
|
||||||
|
#xterm understands both im/ic and doesn't have a status line.
|
||||||
|
#Note: Do not specify im and ic in the real termcap/info file as
|
||||||
|
#some programs (e.g. vi) will (no,no, may (jw)) not work anymore.
|
||||||
|
-termcap xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||||
|
-terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||||
|
+#termcap xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||||
|
+#terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||||
|
|
||||||
|
# Long time I had this in my private screenrc file. But many people
|
||||||
|
# seem to want it (jw):
|
||||||
|
# we do not want the width to change to 80 characters on startup:
|
||||||
|
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:
|
||||||
|
-termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
-terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
+#termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
+#terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Do not use xterms alternate window buffer.
|
||||||
|
diff -up screen-4.0.3/etc/screenrc.screenrc screen-4.0.3/etc/screenrc
|
||||||
|
--- screen-4.0.3/etc/screenrc.screenrc 2006-10-23 15:06:32.000000000 +0200
|
||||||
|
+++ screen-4.0.3/etc/screenrc 2009-09-25 14:31:30.000000000 +0200
|
||||||
|
@@ -1,21 +1,11 @@
|
||||||
|
-#
|
||||||
|
-# Example of a user's .screenrc file
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
# This is how one can set a reattach password:
|
||||||
|
# password ODSJQf.4IJN7E # "1234"
|
||||||
|
|
||||||
|
-# no annoying audible bell, please
|
||||||
|
-vbell on
|
||||||
|
-
|
||||||
|
-# detach on hangup
|
||||||
|
-autodetach on
|
||||||
|
-
|
||||||
|
# don't display the copyright page
|
||||||
|
startup_message off
|
||||||
|
|
||||||
|
# emulate .logout message
|
||||||
|
-pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
|
||||||
|
+pow_detach_msg "Screen session of $LOGNAME $:cr:$:nl:ended."
|
||||||
|
|
||||||
|
# advertise hardstatus support to $TERMCAP
|
||||||
|
# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
|
||||||
|
@@ -40,18 +30,12 @@ defscrollback 1000
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
-# xterm tweaks
|
||||||
|
+# more xterm tweaks
|
||||||
|
#
|
||||||
|
|
||||||
|
-#xterm understands both im/ic and doesn't have a status line.
|
||||||
|
-#Note: Do not specify im and ic in the real termcap/info file as
|
||||||
|
-#some programs (e.g. vi) will not work anymore.
|
||||||
|
-termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||||
|
-terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||||
|
-
|
||||||
|
#80/132 column switching must be enabled for ^AW to work
|
||||||
|
#change init sequence to not switch width
|
||||||
|
-termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
|
||||||
|
+#termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
|
||||||
|
|
||||||
|
# Make the output buffer large for (fast) xterms.
|
||||||
|
#termcapinfo xterm* OL=10000
|
||||||
|
@@ -60,14 +44,14 @@ termcapinfo xterm* OL=100
|
||||||
|
# tell screen that xterm can switch to dark background and has function
|
||||||
|
# keys.
|
||||||
|
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
|
||||||
|
-termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||||
|
-termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
||||||
|
+#termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||||
|
+#termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
||||||
|
|
||||||
|
# special xterm hardstatus: use the window title.
|
||||||
|
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
|
||||||
|
|
||||||
|
#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
|
||||||
|
-termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
|
||||||
|
+#termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
|
||||||
|
|
||||||
|
# emulate part of the 'K' charset
|
||||||
|
termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
|
||||||
|
@@ -103,32 +87,12 @@ termcapinfo linux C8
|
||||||
|
# old rxvt versions also need this
|
||||||
|
# termcapinfo rxvt C8
|
||||||
|
|
||||||
|
-
|
||||||
|
-################
|
||||||
|
-#
|
||||||
|
-# keybindings
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
-#remove some stupid / dangerous key bindings
|
||||||
|
-bind k
|
||||||
|
-bind ^k
|
||||||
|
-bind .
|
||||||
|
-bind ^\
|
||||||
|
-bind \\
|
||||||
|
-bind ^h
|
||||||
|
-bind h
|
||||||
|
-#make them better
|
||||||
|
-bind 'K' kill
|
||||||
|
-bind 'I' login on
|
||||||
|
-bind 'O' login off
|
||||||
|
-bind '}' history
|
||||||
|
-
|
||||||
|
# Yet another hack:
|
||||||
|
# Prepend/append register [/] to the paste if ^a^] is pressed.
|
||||||
|
# This lets me have autoindent mode in vi.
|
||||||
|
-register [ "\033:se noai\015a"
|
||||||
|
-register ] "\033:se ai\015a"
|
||||||
|
-bind ^] paste [.]
|
||||||
|
+#register [ "\033:se noai\015a"
|
||||||
|
+#register ] "\033:se ai\015a"
|
||||||
|
+#bind ^] paste [.]
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
@@ -140,9 +104,14 @@ bind ^] paste [.]
|
||||||
|
# screen -t 40 2 rlogin server
|
||||||
|
|
||||||
|
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
|
||||||
|
+## alternative caption, gives window list, LOGNAME and current date:
|
||||||
|
+# caption always "%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw %=%{mk}@%H %{yk}%D %{ck}%M%{wk} %{ck}%d %{gk}%c"
|
||||||
|
# hardstatus alwaysignore
|
||||||
|
# hardstatus alwayslastline "%Lw"
|
||||||
|
|
||||||
|
+# Red Hat's normal status line
|
||||||
|
+hardstatus string "[screen %n%?: %t%?] %h"
|
||||||
|
+
|
||||||
|
# bind = resize =
|
||||||
|
# bind + resize +1
|
||||||
|
# bind - resize -1
|
Loading…
Reference in new issue