Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: make curses module not need wideness

On Sun, Oct 14, 2007 at 03:16:08PM -0700, Bart Schaefer wrote:
> I'm not having much luck with this.  The doc should mention that window
> zero is automatically created as the whole terminal.  Also there's no
> check that the targetwin argument is really an integer; I typo'd a "q"
> for a "1", got some errors about the window already existing (apparently
> because non-integers are read as "0"), and ended up with a core dump:

I'll just disallow specification of window 0 for now.

> The doc for "zcurses -m" says "moves targetwin to new coordinates" but
> really it positions the cursor within the target window, doesn't it?
> Maybe better phrasing is all that's needed.


> Also I none of the strings I send with "zcurses -s" show up in the
> window.  A border added with "zcurses -b" will display, but that's all.
> "zcurses -c" has a similar problem.

As I perhaps failed to express before, -c and -s work fine for me with
non-wide ncurses, and only -c functions properly with wide ncurses.

Index: Doc/Zsh/mod_curses.yo
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/mod_curses.yo,v
retrieving revision 1.1
diff -u -r1.1 mod_curses.yo
--- Doc/Zsh/mod_curses.yo	14 Oct 2007 17:14:22 -0000	1.1
+++ Doc/Zsh/mod_curses.yo	15 Oct 2007 13:20:15 -0000
@@ -26,7 +26,8 @@
 make any pending changes (such as characters you have prepared for output
 with tt(-c)) visible on the screen.
-tt(-m) moves var(targetwin) to new coordinates var(new_y) and var(new_x).
+tt(-m) moves the cursor position in var(targetwin) to new coordinates
+var(new_y) and var(new_x).
 Outputting characters and strings are achieved by tt(-c) and tt(-s)
Index: Src/Modules/curses.c
RCS file: /cvsroot/zsh/zsh/Src/Modules/curses.c,v
retrieving revision 1.4
diff -u -r1.4 curses.c
--- Src/Modules/curses.c	14 Oct 2007 04:24:47 -0000	1.4
+++ Src/Modules/curses.c	15 Oct 2007 13:20:15 -0000
@@ -78,7 +78,7 @@
     target = (unsigned)atoi(win);
-    if (target > ZCURSES_MAX_WINDOWS) {
+    if (target > ZCURSES_MAX_WINDOWS || target < 1) {
 	zc_errno = ZCURSES_ERANGE;
 	return -1;

Messages sorted by: Reverse Date, Date, Thread, Author