Hello community,

here is the log from the commit of package screen for openSUSE:Factory checked 
in at 2017-10-26 18:40:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/screen (Old)
 and      /work/SRC/openSUSE:Factory/.screen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "screen"

Thu Oct 26 18:40:52 2017 rev:53 rq:536002 version:4.6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/screen/screen.changes    2017-07-12 
19:30:53.255695222 +0200
+++ /work/SRC/openSUSE:Factory/.screen.new/screen.changes       2017-10-26 
18:40:54.373688898 +0200
@@ -1,0 +2,9 @@
+Mon Oct 23 15:22:10 UTC 2017 - [email protected]
+
+- GNU Screen 4.6.2:
+  * revert changes to cursor position restore behavour
+  * set freed pointer to NULL
+  * documentation fixes
+  * fix windowlist crashes
+
+-------------------------------------------------------------------

Old:
----
  screen-4.6.1.tar.gz
  screen-4.6.1.tar.gz.sig

New:
----
  screen-4.6.2.tar.gz
  screen-4.6.2.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ screen.spec ++++++
--- /var/tmp/diff_new_pack.rp219B/_old  2017-10-26 18:40:55.117654186 +0200
+++ /var/tmp/diff_new_pack.rp219B/_new  2017-10-26 18:40:55.121653999 +0200
@@ -22,7 +22,7 @@
 %define rundir %{_localstatedir}/run
 %endif
 Name:           screen
-Version:        4.6.1
+Version:        4.6.2
 Release:        0
 Summary:        A program to allow multiple screens on a VT100/ANSI Terminal
 License:        GPL-3.0+

++++++ screen-4.6.1.tar.gz -> screen-4.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/ChangeLog new/screen-4.6.2/ChangeLog
--- old/screen-4.6.1/ChangeLog  2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/ChangeLog  2017-10-23 14:18:26.000000000 +0200
@@ -1,15 +1,22 @@
+Version 4.6.2 (23/10/2017):
+  * Fixes:
+       - revert changes to cursor position restore behavour (bug #51832)
+       - set freed pointer to NULL (bug #52133)
+       - documentation fixes
+       - fix windowlist crashes (bug #43054 & #51500)
+
 Version 4.6.1 (10/07/2017):
   * Fixes:
        - problems with starting session in some cases
        - parallel make install
-       - segfault when querying info on nonUTF locale
+       - segfault when querying info on nonUTF locale (bug #51402)
 
 Version 4.6.0 (28/06/2017):
-  * Update Unicode wide tables to 9.0
+  * Update Unicode wide tables to 9.0 (bug #50044)
   * Support more serial speeds
   * Improved namespaces support
   * Migrate from fifos to sockets
-  * Start viewing scrollback at first line of output
+  * Start viewing scrollback at first line of output (bug #49377)
 
 Version 4.5.1 (25/02/2017):
   * Fixes:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/ansi.c new/screen-4.6.2/ansi.c
--- old/screen-4.6.1/ansi.c     2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/ansi.c     2017-10-23 13:32:41.000000000 +0200
@@ -1446,8 +1446,8 @@
                  else
                    {
                      if (curr->w_alt.on) {
-                       LeaveAltScreen(curr);
                        RestoreCursor(&curr->w_alt.cursor);
+                       LeaveAltScreen(curr);
                      }
                    }
                  if (a1 == 47 && !i)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/doc/screen.1 
new/screen-4.6.2/doc/screen.1
--- old/screen-4.6.1/doc/screen.1       2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/doc/screen.1       2017-10-23 14:18:26.000000000 +0200
@@ -1,5 +1,5 @@
 .\" vi:set wm=5
-.TH SCREEN 1 "Jul 2017"
+.TH SCREEN 1 "Oct 2017"
 .if n .ds Q \&"
 .if n .ds U \&"
 .if t .ds Q ``
@@ -1796,13 +1796,6 @@
 windows is changed. Initially writelocks will off.
 .RE
 .TP
-.BR "defzombie " [\fIkeys\fP]
-.RS 0
-.PP
-Synonym to the \fBzombie\fP command. Both currently change the default.
-See there.
-.RE
-.TP
 .BR "detach " [ \-h ]
 .RS 0
 .PP
@@ -2117,17 +2110,45 @@
 Default is set by `defflow'.
 .RE
 .TP
-.BR "focus " [ up | down | top | bottom ]
+.BR "focus " [ next|prev|up|down|left|right|top|bottom ]
 .RS 0
 .PP
 Move the input focus to the next region. This is done in a cyclic
-way so that the top region is selected after the bottom one. If
-no subcommand is given it defaults to `down'. `up' cycles in the
-opposite order, `top' and `bottom' go to the top and bottom
-region respectively. Useful bindings are (j and k as in vi)
+way so that the top left region is selected after the bottom right
+one. If no option is given it defaults to `next'. The next
+region to be selected is determined by how the regions are layered.
+Normally, the next region in the same layer would be selected.
+However, if that next region contains one or more layers, the first
+region in the highest layer is selected first. If you are at the
+last region of the current layer, `next' will move the focus
+to the next region in the lower layer (if there is a lower layer).
+`Prev' cycles in the opposite order. See \*Qsplit\*U for more
+information about layers.
+
+The rest of the options (`up', `down', `left',
+`right', `top', and `bottom') are more indifferent
+to layers. The option `up' will move the focus upward to the
+region that is touching the upper left corner of the current region.
+`Down' will move downward to the region that is touching the
+lower left corner of the current region. The option `left'
+will move the focus leftward to the region that is touching the
+upper left corner of the current region, while `right' will
+move rightward to the region that is touching the upper right corner
+of the current region. Moving left from a left most region or moving
+right from a right most region will result in no action.
+
+The option `top' will move the focus to the very first region
+in the upper list corner of the screen, and `bottom' will move
+to the region in the bottom right corner of the screen. Moving up from
+a top most region or moving down from a bottom most region will result
+in no action.
+
+Useful bindings are (h, j, k, and l as in vi)
 .nf
+    bind h focus left
     bind j focus down
     bind k focus up
+    bind l focus right
     bind t focus top
     bind b focus bottom
 .fi
@@ -3014,29 +3035,66 @@
 .RE
 .TP
 .B "resize"
+.RB [ -h | -v | -b | -l | -p ]
+.RB [[ + | - ]
+.IR n "[%]"
+.RB | = | max | min | _ | 0 ]
 .RS 0
 .PP 
 Resize the current region. The space will be removed from or added to
-the region below or if there's not enough space from the region above.
-.RS
+the surrounding regions depending on the order of the splits.
+The available options for resizing are `-h'(horizontal),
+`-v'(vertical), `-b'(both), `-l'(local to layer),
+and `-p'(perpendicular). Horizontal resizes will add or remove width
+to a region, vertical will add or remove height, and both will add or
+remove size from both dimensions. Local and perpendicular are similar to
+horizontal and vertical, but they take in account of how a region was split.
+If a region's last split was horizontal, a local resize will work like a
+vertical resize. If a region's last split was vertical, a local resize will
+work like a horizontal resize. Perpendicular resizes work in opposite of
+local resizes. If no option is specified, local is the default.
+
+The amount of lines to add or remove can be expressed a couple of different
+ways. By specifying a number \fIn\fP by itself will resize the region by
+that absolute amount. You can specify a relative amount by prefixing a
+plus `+' or minus `-' to the amount, such as adding +\fIn\fP lines
+or removing -\fIn\fP lines. Resizing can also be expressed as an absolute
+or relative percentage by postfixing a percent sign `%'. Using zero
+`0' is a synonym for `min' and using an underscore `_' is a
+synonym for `max'.
+
+Some examples are:
 .TP
 resize +N
-increase current region height by N
+increase current region by N
 .TP
 resize \-N
-decrease current region height by N
+decrease current region by N
 .TP
 resize  N
-set current region height to N
+set current region to N
 .TP
-resize  =
-make all windows equally high
+resize 20%
+set current region to 20% of original size
+.TP
+resize +20%
+increase current region by 20%
+.TP
+resize -b =
+make all windows equally
 .TP
 resize  max
-maximize current region height
+maximize current region
 .TP
 resize  min
-minimize current region height
+minimize current region
+.PP
+Without any arguments,
+.I screen
+will prompt for how you would like to resize the current region.
+
+See \*Qfocusminsize\*U if you want to restrict the minimun size a region
+can have.
 .RE
 .RE
 .TP
@@ -3235,9 +3293,24 @@
 .PP
 Split the current region into two new ones. All regions on the
 display are resized to make room for the new region. The blank
-window is displayed on the new region. Splits are made horizontally
-unless \-v is used. Use the \*Qremove\*U or the \*Qonly\*U command
-to delete regions. Use \*Qfocus\*U to toggle between regions.
+window is displayed in the new region. The default is to create
+a horizontal split, putting the new regions on the top and
+bottom of each other. Using `-v' will create a vertical split,
+causing the new regions to appear side by side of each other.
+Use the \*Qremove\*U or the \*Qonly\*U command to delete regions.
+Use \*Qfocus\*U to toggle between regions.
+
+When a region is split opposite of how it was previously split
+(that is, vertical then horizontal or horizontal then vertical),
+a new layer is created. The layer is used to group together the
+regions that are split the same. Normally, as a user, you should
+not see nor have to worry about layers, but they will affect how
+some commands (\*Qfocus\*U and \*Qresize\*U) behave.
+
+With this current implementation of screen, scrolling data
+will appear much slower in a vertically split region than one
+that is not. This should be taken into consideration if you need
+to use system commands such as \*Qcat\*U or \*Qtail -f\*U.
 .RE
 .TP
 .B "startup_message on\fP|\fBoff"
@@ -3699,8 +3772,6 @@
 .RE
 .TP
 .BR "zombie " [\fIkeys\fP [ onerror ] ]
-.TP
-.BR "defzombie " [\fIkeys\fP]
 .RS 0
 .PP
 Per default
@@ -3718,8 +3789,7 @@
 when their process exits.
 
 As the zombie-setting is manipulated globally for all windows, this command 
-should only be called \fBdefzombie\fP. Until we need this as a per window 
-setting, the commands \fBzombie\fP and \fBdefzombie\fP are synonymous.
+should probably be called \fBdefzombie\fP, but it isn't.
 
 Optionally you can put the word \*Qonerror\*U after the keys. This will cause 
screen
 to monitor exit status of the process running in the window. If it exits 
normally ('0'), 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/doc/screen.texinfo 
new/screen-4.6.2/doc/screen.texinfo
--- old/screen-4.6.1/doc/screen.texinfo 2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/doc/screen.texinfo 2017-10-23 14:18:26.000000000 +0200
@@ -7,7 +7,7 @@
 @finalout
 @setchapternewpage odd
 @c %**end of header
-@set version 4.6.1
+@set version 4.6.2
 
 @direntry
 * Screen: (screen).             Full-screen window manager.
@@ -993,8 +993,6 @@
 Set default line-wrapping behavior.  @xref{Wrap}.
 @item defwritelock @var{on|off|auto}
 Set default writelock behavior.  @xref{Multiuser Session}.
-@item defzombie [@var{keys}]
-Keep dead windows.  @xref{Zombie}.
 @item zombie_timeout [@var{seconds}]
 Try to reconnect dead windows after timeout.  @xref{Zombie}.
 @item detach [-h]
@@ -1021,7 +1019,7 @@
 Change window size to current display size.  @xref{Window Size}.
 @item flow [@var{fstate}]
 Set flow control behavior.  @xref{Flow}.
-@item focus
+@item focus 
[@code{next}|@code{prev}|@code{up}|@code{down}|@code{left}|@code{right}|@code{top}|@code{bottom}]
 Move focus to next region.  @xref{Regions}.
 @item focusminsize
 Force the current region to a certain size.  @xref{Focusminsize}.
@@ -1168,7 +1166,7 @@
 @item reset
 Reset the terminal settings for the window.  @xref{Reset}.
 @item resize [(+/-)lines]
-Grow or shrink a region
+Grow or shrink a region.  @xref{Resize}.
 @item screen [@var{opts}] [@var{n}] [@var{cmd} [@var{args}] | //group]
 Create a new window.  @xref{Screen Command}.
 @item scrollback @var{num}
@@ -2088,10 +2086,19 @@
 (@kbd{C-a S}, @kbd{C-a |})@*
 Split the current region into two new ones. All regions on the
 display are resized to make room for the new region. The blank
-window is displayed on the new region. The default is to create
+window is displayed in the new region. The default is to create
 a horizontal split, putting the new regions on the top and
-bottom of each other. Using -v will create a vertical split,
+bottom of each other. Using @samp{-v} will create a vertical split,
 causing the new regions to appear side by side of each other.
+Use the @code{remove} or the @code{only} command to delete regions.
+Use @code{focus} to toggle between regions.
+
+When a region is split opposite of how it was previously split
+(that is, vertical then horizontal or horizontal then vertical),
+a new layer is created. The layer is used to group together the
+regions that are split the same. Normally, as a user, you should
+not see nor have to worry about layers, but they will affect how
+some commands (@code{focus} and @code{resize}) behave.
 
 With this current implementation of @code{screen}, scrolling data
 will appear much slower in a vertically split region than one
@@ -2102,19 +2109,49 @@
 @node Focus, Only, Split, Regions
 @section Focus
 @kindex TAB
-@deffn Command focus
+@deffn Command focus [ @code{next|prev|up|down|left|right|top|bottom} ]
 (@kbd{C-a @key{Tab}})@*
 Move the input focus to the next region. This is done in a cyclic
-way so that the top region is selected after the bottom one. If
-no subcommand is given it defaults to `down'. `up' cycles in the
-opposite order, `top' and `bottom' go to the top and bottom
-region respectively. Useful bindings are (j and k as in vi)
+way so that the top left region is selected after the bottom right
+one. If no option is given it defaults to @code{next}. The next
+region to be selected is determined by how the regions are layered.
+Normally, the next region in the same layer would be selected.
+However, if that next region contains one or more layers, the first
+region in the highest layer is selected first. If you are at the
+last region of the current layer, @code{next} will move the focus
+to the next region in the lower layer (if there is a lower layer).
+@code{Prev} cycles in the opposite order. @xref{Split} for more
+information about layers.
+
+The rest of the options (@code{up}, @code{down}, @code{left},
+@code{right}, @code{top}, and @code{bottom}) are more indifferent
+to layers. The option @code{up} will move the focus upward to the
+region that is touching the upper left corner of the current region.
+@code{Down} will move downward to the region that is touching the
+lower left corner of the current region. The option @code{left}
+will move the focus leftward to the region that is touching the
+upper left corner of the current region, while @code{right} will
+move rightward to the region that is touching the upper right corner
+of the current region. Moving left from a left most region or moving
+right from a right most region will result in no action.
+
+The option @code{top} will move the focus to the very first region
+in the upper list corner of the screen, and @code{bottom} will move
+to the region in the bottom right corner of the screen. Moving up from
+a top most region or moving down from a bottom most region will result
+in no action.
+
+Useful bindings are (h, j, k, and l as in vi):
 @example
+bind h focus left
 bind j focus down
 bind k focus up
+bind l focus right
 bind t focus top
 bind b focus bottom
 @end example
+
+Note that @samp{k} is traditionally bound to the @code{kill} command.
 @end deffn
 
 @node Only, Remove, Focus, Regions
@@ -2135,18 +2172,47 @@
 
 @node Resize, Caption, Remove, Regions
 @section Resize
-@deffn Command resize [(+/-)@var{lines}]
+@deffn Command resize [@code{-h|-v|-b|-l|-p}]  [ [+|-]@var{n}[@code{%}] | 
@code{=} | @code{max} | @code{min} | @code{_} | @code{0} ]
 (none)@*
 Resize the current region. The space will be removed from or added to
-the region below or if there's not enough space from the region above.
-@example
-resize +N       increase current region height by N
-resize -N       decrease current region height by N
-resize  N       set current region height to N
-resize  =       make all windows equally high
-resize  max     maximize current region height
-resize  min     minimize current region height
+the surrounding regions depending on the order of the splits.
+The available options for resizing are @samp{-h}(horizontal),
+@samp{-v}(vertical), @samp{-b}(both), @samp{-l}(local to layer),
+and @samp{-p}(perpendicular). Horizontal resizes will add or remove width
+to a region, vertical will add or remove height, and both will add or
+remove size from both dimensions. Local and perpendicular are similar to
+horizontal and vertical, but they take in account of how a region was split.
+If a region's last split was horizontal, a local resize will work like a
+vertical resize. If a region's last split was vertical, a local resize will
+work like a horizontal resize. Perpendicular resizes work in opposite of
+local resizes. If no option is specified, local is the default.
+
+The amount of lines to add or remove can be expressed a couple of different
+ways. By specifying a number @var{n} by itself will resize the region by
+that absolute amount. You can specify a relative amount by prefixing a
+plus @samp{+} or minus @samp{-} to the amount, such as adding @code{+n} lines
+or removing @code{-n} lines. Resizing can also be expressed as an absolute
+or relative percentage by postfixing a percent sign @samp{%}. Using zero
+@samp{0} is a synonym for @code{min} and using an underscore @samp{_} is a
+synonym for @code{max}.
+
+Some examples are:
+@example
+resize +N       increase current region by N
+resize -N       decrease current region by N
+resize N        set current region to N
+resize 20%      set current region to 20% of original size
+resize +20%     increase current region by 20%
+resize -b =     make all windows equally
+resize max      maximize current region
+resize min      minimize current region
 @end example
+
+Without any arguments, @code{screen} will prompt for how you would
+like to resize the current region.
+
+See @code{focusminsize} if you want to restrict the minimun size a region can 
have.
+
 @end deffn
 
 @node Caption, Fit, Resize, Regions
@@ -5277,7 +5343,6 @@
 @node Zombie, Printcmd, Version, Miscellaneous
 @section Zombie
 @deffn Command zombie [@var{keys} [onerror] ]
-@deffnx Command defzombie [@var{keys}]
 @deffn Command zombie_timeout [@var{seconds}]
 @end deffn
 (none)@*
@@ -5292,8 +5357,7 @@
 the process terminates.
 
 As the zombie setting is affected globally for all windows, this command 
-should only be called @code{defzombie}. Until we need this as a per window 
-setting, the commands @code{zombie} and @code{defzombie} are synonymous.
+should probably be called @code{defzombie}, but it isn't.
 
 Optionally you can put the word @code{onerror} after the keys. This will
 cause screen to monitor exit status of the process running in the window.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/etc/completer.zsh 
new/screen-4.6.2/etc/completer.zsh
--- old/screen-4.6.1/etc/completer.zsh  2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/etc/completer.zsh  2017-10-23 13:32:41.000000000 +0200
@@ -37,9 +37,9 @@
                '-v[Print "Screen version 3.09.11beta (FAU) 11-Oct-01".]' \
                '-wipe[Do nothing, just clean up SockDir.]' \
                '-x[Attach to a not detached screen. (Multi display mode).]' \
-               '-X[Execute <cmd> as a screen command in the specified 
session.]:Handling Tag screencmd:( acladd  addacl  aclchg  acldel  aclgrp  
aclumask  activity  allpartial  at  attrcolor  autodetach  autonuke  bce  
bell_msg  bind  bindkey  break  breaktype  bufferfile  c1  caption  charset  
chdir  clear  colon  command  compacthist  console  copy  copy_reg  crlf  debug 
 defc1  defautonuke  defbce  defbreaktype  defcharset  defescape  defflow  
defgr  defhstatus  defkanji  deflogin  defmode  defmonitor  defobuflimit  
defscrollback  defshell  defsilence  defslowpaste  defutf8  defwrap  
defwritelock  defzombie  detach  dinfo  displays  digraph  dumptermcap  echo  
escape  exec  fit  flow  focus  gr  hardcopy  hardcopy_append  hardcopydir  
hardstatus  height  help  history  hstatus  info  ins_reg  kill  lastmsg  
license  lockscreen  log  logfile  login  logtstamp  mapdefault  mapnotnext  
maptimeout  markkeys  meta  monitor  msgminwait  msgwait  multiuser  nethack  
next  nonblock  number  obu!
+               '-X[Execute <cmd> as a screen command in the specified 
session.]:Handling Tag screencmd:( acladd  addacl  aclchg  acldel  aclgrp  
aclumask  activity  allpartial  at  attrcolor  autodetach  autonuke  bce  
bell_msg  bind  bindkey  break  breaktype  bufferfile  c1  caption  charset  
chdir  clear  colon  command  compacthist  console  copy  copy_reg  crlf  debug 
 defc1  defautonuke  defbce  defbreaktype  defcharset  defescape  defflow  
defgr  defhstatus  defkanji  deflogin  defmode  defmonitor  defobuflimit  
defscrollback  defshell  defsilence  defslowpaste  defutf8  defwrap  
defwritelock  detach  dinfo  displays  digraph  dumptermcap  echo  escape  exec 
 fit  flow  focus  gr  hardcopy  hardcopy_append  hardcopydir  hardstatus  
height  help  history  hstatus  info  ins_reg  kill  lastmsg  license  
lockscreen  log  logfile  login  logtstamp  mapdefault  mapnotnext  maptimeout  
markkeys  meta  monitor  msgminwait  msgwait  multiuser  nethack  next  
nonblock  number  obu!
 !
-flimit  only  other  partial  password  paste  pastefont  pow_break  
pow_detach  pow_detach_msg  prev  printcmd  process  quit  readbuf  readreg  
redisplay  register  remove  removebuf  reset  resize  screen  scrollback  
select  sessionname  setenv  shell  shelltitle  silence  silencewait  sleep  
slowpaste  sorendition  split  startup_message  stuff  su  term  termcap  
terminfo  termcapinfo  time  title  unsetenv  utf8  vbell  vbell_msg  vbellwait 
 verbose  version  wall  width  windows  wrap  writebuf  writelock  xoff  xon  
zombie  defzombie)'
+flimit  only  other  partial  password  paste  pastefont  pow_break  
pow_detach  pow_detach_msg  prev  printcmd  process  quit  readbuf  readreg  
redisplay  register  remove  removebuf  reset  resize  screen  scrollback  
select  sessionname  setenv  shell  shelltitle  silence  silencewait  sleep  
slowpaste  sorendition  split  startup_message  stuff  su  term  termcap  
terminfo  termcapinfo  time  title  unsetenv  utf8  vbell  vbell_msg  vbellwait 
 verbose  version  wall  width  windows  wrap  writebuf  writelock  xoff  xon  
zombie)'
 case $state in
   "sessionname")
   # Complete folder names.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/list_window.c 
new/screen-4.6.2/list_window.c
--- old/screen-4.6.1/list_window.c      2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/list_window.c      2017-10-23 13:32:41.000000000 +0200
@@ -220,7 +220,6 @@
       LPutWinMsg(flayer, wdata->group->w_title, strlen(wdata->group->w_title), 
&mchar_blank, 7, 0);
     }
 
-  display = 0;
   str = MakeWinMsgEv(wlisttit, (struct win *)0, '%', flayer->l_width, (struct 
event *)0, 0);
 
   LPutWinMsg(flayer, str, strlen(str), &mchar_blank, 0, g);
@@ -252,7 +251,6 @@
 
   for (xoff = 0, g = w->w_group; g != wdata->group; g = g->w_group)
     xoff += 2;
-  display = Layer2Window(flayer) ? 0 : flayer->l_cvlist ? 
flayer->l_cvlist->c_display : 0;
   str = MakeWinMsgEv(wliststr, w, '%', flayer->l_width - xoff, NULL, 0);
   if (ldata->selected == lrow)
     mchar = &mchar_so;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/loadav.c new/screen-4.6.2/loadav.c
--- old/screen-4.6.1/loadav.c   2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/loadav.c   2017-10-23 14:18:26.000000000 +0200
@@ -42,6 +42,11 @@
 # endif
 #endif
 
+#ifdef _AIX
+#include    <sys/kinfo.h>
+extern int getkerninfo(int op, char *buf, int *buf_size, int32long64_t arg);
+#endif
+
 #include "config.h"
 #include "screen.h"
 
@@ -261,6 +266,41 @@
 }
 #endif
 
+
+/***************************************************************/
+
+#if defined(_AIX) && !defined(LOADAV_DONE)
+#define LOADAV_DONE
+/*
+ * AIX uses KINFO_GET_AVENRUN syscall
+ */
+void
+InitLoadav()
+{
+  loadok = 1;
+}
+
+static int
+GetLoadav()
+{
+  long long avenrun[3];
+  int avsize = 3 * sizeof(long long);
+  int i;
+
+  if (getkerninfo(KINFO_GET_AVENRUN, (char *)&avenrun, &avsize, 0) < 0)
+    {
+      return 0;
+    }
+
+  for (i = 0; i < (LOADAV_NUM > 3 ? 3 : LOADAV_NUM); i++)
+    {
+      loadav[i] = avenrun[i];
+    }
+
+  return i;
+}
+#endif /* _AIX */
+
 /***************************************************************/
 
 #if !defined(LOADAV_DONE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/patchlevel.h 
new/screen-4.6.2/patchlevel.h
--- old/screen-4.6.1/patchlevel.h       2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/patchlevel.h       2017-10-23 14:18:26.000000000 +0200
@@ -533,6 +533,6 @@
 #define ORIGIN "GNU"
 #define REV 4
 #define VERS 6
-#define PATCHLEVEL 1
-#define DATE "10-Jul-17"
+#define PATCHLEVEL 2
+#define DATE "23-Oct-17"
 #define STATE ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/process.c new/screen-4.6.2/process.c
--- old/screen-4.6.1/process.c  2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/process.c  2017-10-23 13:32:41.000000000 +0200
@@ -5608,7 +5608,7 @@
     *s++ = '&';
   if (p->w_monitor == MON_DONE
 #ifdef MULTIUSER
-      && (ACLBYTE(p->w_mon_notify, D_user->u_id) & ACLBIT(D_user->u_id))
+      && display && (ACLBYTE(p->w_mon_notify, D_user->u_id) & 
ACLBIT(D_user->u_id))
 #endif
      )
     *s++ = '@';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/resize.c new/screen-4.6.2/resize.c
--- old/screen-4.6.1/resize.c   2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/resize.c   2017-10-23 13:32:41.000000000 +0200
@@ -1093,14 +1093,6 @@
   SWAP(width, t);
   SWAP(height, t);
 
-  /* we need to swap cursor positions, but they are not swappable with macro */
-  t = p->w_alt.cursor.x;
-  p->w_alt.cursor.x = p->w_x;
-  p->w_x = t;
-  t = p->w_alt.cursor.y;
-  p->w_alt.cursor.y = p->w_y;
-  p->w_y = t;
-
 #ifdef COPY_PASTE
   SWAP(histheight, t);
   SWAP(hlines, ml);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/screen-4.6.1/termcap.c new/screen-4.6.2/termcap.c
--- old/screen-4.6.1/termcap.c  2017-07-10 21:26:25.000000000 +0200
+++ new/screen-4.6.2/termcap.c  2017-10-23 13:32:41.000000000 +0200
@@ -1296,6 +1296,7 @@
       free(*p);
     }
   free(D_xtable);
+  D_xtable = NULL;
 }
 #endif /* FONT */
 


Reply via email to