Package: xscreensaver
Version: 4.21-3
Severity: minor
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

If phosphor wraps a line because the cursor has reached the end, and the
piped input then sends a CR or LF because it is wrapping at the same
width as phosphor, a blank line appears on the screen. This is
particularly annoying when using xscreensaver-text to produce input, as
xscreensaver gets it to wrap text (in)appropriately at word breaks.
Other programs that handle similar input (e.g. vi) take special steps to
avoid this behaviour.

The attached patch changes the behaviour thus:
On receiving a CR or LF, it checks to see if the cursor is on col 0 and
the last character was neither a CR nor a LF. If this is true, the last
line must have wrapped and the character is ignored. This only affects
- -pipe mode.

If you don't apply this patch, please find some other way to fix the
annoying behaviour. Thank you,
Daniel Hulme

- -- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages xscreensaver depends on:
ii  libatk1.0-0          1.8.0-4             The ATK accessibility toolkit
ii  libc6                2.3.2.ds1-22        GNU C Library: Shared libraries an
ii  libglade2-0          1:2.4.2-2           library to load .glade files at ru
ii  libglib2.0-0         2.6.4-1             The GLib library of C routines
ii  libgtk2.0-0          2.6.4-2             The GTK+ graphical user interface 
ii  libice6              4.3.0.dfsg.1-12.0.1 Inter-Client Exchange library
ii  libjpeg62            6b-10               The Independent JPEG Group's JPEG 
ii  libpam0g             0.76-22             Pluggable Authentication Modules l
ii  libpango1.0-0        1.8.1-1             Layout and rendering of internatio
ii  libsm6               4.3.0.dfsg.1-12.0.1 X Window System Session Management
ii  libx11-6             4.3.0.dfsg.1-12.0.1 X Window System protocol client li
ii  libxext6             4.3.0.dfsg.1-12.0.1 X Window System miscellaneous exte
ii  libxml2              2.6.16-7            GNOME XML library
ii  libxmu6              4.3.0.dfsg.1-12.0.1 X Window System miscellaneous util
ii  libxpm4              4.3.0.dfsg.1-12.0.1 X pixmap library
ii  libxrandr2           4.3.0.dfsg.1-12.0.1 X Window System Resize, Rotate and
ii  libxrender1          1:0.8.3-1           X Rendering Extension client libra
ii  libxt6               4.3.0.dfsg.1-12.0.1 X Toolkit Intrinsics
ii  xlibs                4.3.0.dfsg.1-12     X Keyboard Extension (XKB) configu
ii  zlib1g               1:1.2.2-4           compression library - runtime

- -- no debconf information

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCgqdDgoQ42ohbFw0RAl9EAJ4xo2MA6WxlL3vkgF2n55s9u9g5VwCgkoZ7
yQQOK/SVTES2da8eXr7vxac=
=lu5P
-----END PGP SIGNATURE-----
--- xscreensaver-4.21.orig/hacks/phosphor.c	2005-03-20 22:11:47.000000000 +0000
+++ xscreensaver-4.21/hacks/phosphor.c	2005-05-12 01:06:56.000000000 +0100
@@ -1020,6 +1020,8 @@
 	{
 	  if (c == '\n' && last_c == '\r')
 	    ;   /* CRLF -- do nothing */
+	  else if (state->cursor_x == 0 && last_c != '\r' && last_c != '\n')
+	    ;   /* return after line wrapped - do nothing */
 	  else
 	    {
 	      state->cursor_x = 0;

Reply via email to