NetBSD Problem Report #53635
From www@NetBSD.org Fri Sep 28 08:34:28 2018
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 456B27A1F7
for <gnats-bugs@gnats.NetBSD.org>; Fri, 28 Sep 2018 08:34:28 +0000 (UTC)
Message-Id: <20180928083427.2CC8A7A279@mollari.NetBSD.org>
Date: Fri, 28 Sep 2018 08:34:27 +0000 (UTC)
From: n54@gmx.com
Reply-To: n54@gmx.com
To: gnats-bugs@NetBSD.org
Subject: Anomalies in soft label key functions in curses(3)
X-Send-Pr-Version: www-1.0
>Number: 53635
>Category: lib
>Synopsis: Anomalies in soft label key functions in curses(3)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: lib-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 28 08:35:00 +0000 2018
>Closed-Date: Thu Oct 04 10:27:25 +0000 2018
>Last-Modified: Thu Oct 04 10:27:25 +0000 2018
>Originator: Kamil Rytarowski
>Release: NetBSD 8.99.25 amd64
>Organization:
TNF
>Environment:
NetBSD chieftec 8.99.25 NetBSD 8.99.25 (GENERIC) #0: Tue Sep 25 20:06:09 CEST 2018 root@chieftec:/public/netbsd-root/sys/arch/amd64/compile/GENERIC amd64
>Description:
1. Soft label keys are not printed upon getch(3), when the window is marked with wnoutrefresh(3).
2. The bottom line is not aligned to bottom of the terminal, it might be 1 line above it.
3. If we register a top window with ripoffline(3), the bottom line is multiline and the first word printed with wprint(3) is in a different line than the remaining part of the string.
4. Cursor probably shall point position 0,0 below the soft label window, instead of pointing at it.
All of these issues do not exist in ncurses.
>How-To-Repeat:
#include <curses.h>
int
top(WINDOW *win, int cols)
{
mvwprintw(win, 0, 0, "Hello top in %d columns", cols);
wnoutrefresh(win);
return 0;
}
int
setup(WINDOW *win, int cols)
{
mvwprintw(win, 0, 0, "Hello world in %d columns", cols);
wnoutrefresh(win);
return 0;
}
int
main(int argc, char **argv)
{
ripoffline(1, top);
ripoffline(-1, setup);
initscr();
refresh(); // unneeded in ncurses
getch();
endwin();
}
// ncurses
// gcc test.c -lncurses -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -I/usr/pkg/include -I/usr/pkg/include/ncurses
// NetBSD curses(3)
// gcc test.c -lcurses
>Fix:
N/A
>Release-Note:
>Audit-Trail:
From: "Roy Marples" <roy@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/53635 CVS commit: src/lib/libcurses
Date: Tue, 2 Oct 2018 17:35:45 +0000
Module Name: src
Committed By: roy
Date: Tue Oct 2 17:35:44 UTC 2018
Modified Files:
src/lib/libcurses: curses_private.h curses_screen.3 fileio.c initscr.c
newwin.c resize.c ripoffline.c screen.c setterm.c
Log Message:
curses: fix ripoffline
When creating stdscr, ensure it's placed and sized in accordance with
lines ripped off.
LINES is no longer adjusted for lines ripped off.
POSIX makes no mention that it should be adjusted.
Bottom lines are now placed correctly.
Lines ripped off are now displayed after calling initscr.
ok kamil@
Fixes PR #53635
To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 src/lib/libcurses/curses_private.h
cvs rdiff -u -r1.24 -r1.25 src/lib/libcurses/curses_screen.3
cvs rdiff -u -r1.5 -r1.6 src/lib/libcurses/fileio.c
cvs rdiff -u -r1.32 -r1.33 src/lib/libcurses/initscr.c
cvs rdiff -u -r1.51 -r1.52 src/lib/libcurses/newwin.c
cvs rdiff -u -r1.27 -r1.28 src/lib/libcurses/resize.c
cvs rdiff -u -r1.3 -r1.4 src/lib/libcurses/ripoffline.c
cvs rdiff -u -r1.33 -r1.34 src/lib/libcurses/screen.c
cvs rdiff -u -r1.66 -r1.67 src/lib/libcurses/setterm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/53635 CVS commit: [netbsd-8] src/lib/libcurses
Date: Thu, 4 Oct 2018 10:20:13 +0000
Module Name: src
Committed By: martin
Date: Thu Oct 4 10:20:13 UTC 2018
Modified Files:
src/lib/libcurses [netbsd-8]: curses_private.h curses_screen.3 fileio.c
initscr.c newwin.c resize.c ripoffline.c screen.c setterm.c
Log Message:
Pull up following revision(s) (requested by roy in ticket #1047):
lib/libcurses/curses_private.h: revision 1.64
lib/libcurses/curses_private.h: revision 1.65
lib/libcurses/initscr.c: revision 1.33
lib/libcurses/curses_screen.3: revision 1.24
lib/libcurses/curses_screen.3: revision 1.25
lib/libcurses/newwin.c: revision 1.52
lib/libcurses/fileio.c: revision 1.6
lib/libcurses/ripoffline.c: revision 1.4
lib/libcurses/resize.c: revision 1.28
lib/libcurses/ripoffline.c: revision 1.5
lib/libcurses/resize.c: revision 1.29
lib/libcurses/screen.c: revision 1.34
lib/libcurses/setterm.c: revision 1.67
curses: fix ripoffline
When creating stdscr, ensure it's placed and sized in accordance with
lines ripped off.
LINES is no longer adjusted for lines ripped off.
POSIX makes no mention that it should be adjusted.
Bottom lines are now placed correctly.
Lines ripped off are now displayed after calling initscr.
ok kamil@
Fixes PR #53635
-
curses: resize ripped off windows
The application must still redraw them though.
-
Fix typos in curses_screen.3
Fn -> Ft in the resize_term(3) prototype
funcion -> function
To generate a diff of this commit:
cvs rdiff -u -r1.62.4.1 -r1.62.4.2 src/lib/libcurses/curses_private.h
cvs rdiff -u -r1.23 -r1.23.4.1 src/lib/libcurses/curses_screen.3
cvs rdiff -u -r1.5 -r1.5.6.1 src/lib/libcurses/fileio.c
cvs rdiff -u -r1.32 -r1.32.6.1 src/lib/libcurses/initscr.c
cvs rdiff -u -r1.50 -r1.50.6.1 src/lib/libcurses/newwin.c
cvs rdiff -u -r1.26.4.1 -r1.26.4.2 src/lib/libcurses/resize.c
cvs rdiff -u -r1.3 -r1.3.6.1 src/lib/libcurses/ripoffline.c
cvs rdiff -u -r1.33 -r1.33.4.1 src/lib/libcurses/screen.c
cvs rdiff -u -r1.66 -r1.66.4.1 src/lib/libcurses/setterm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: kamil@NetBSD.org
State-Changed-When: Thu, 04 Oct 2018 12:27:25 +0200
State-Changed-Why:
Fixed in HEAD by roy@
(libcurses snapshot from 2018-10-04)
Pulled to -8.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.