From: Thomas E. Dickey Date: Sun, 4 Sep 2011 00:30:36 +0000 (+0000) Subject: ncurses 5.9 - patch 20110903 X-Git-Tag: v6.0~191 X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff_plain;h=fc108369da39ac4082802007d06c52de80392b94 ncurses 5.9 - patch 20110903 + propagate error-returns from wresize, i.e., the internal increase_size and decrease_size functions through resize_term (report by Tim van der Molen, cf: 20020713). + fix typo in tset manpage (patch by Sven Joachim). --- diff --git a/NEWS b/NEWS index 16626475..6d88c845 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1771 2011/08/20 21:36:44 tom Exp $ +-- $Id: NEWS,v 1.1773 2011/09/03 18:39:32 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,12 @@ See the AUTHORS file for the corresponding full names. Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20110903 + + propagate error-returns from wresize, i.e., the internal + increase_size and decrease_size functions through resize_term (report + by Tim van der Molen, cf: 20020713). + + fix typo in tset manpage (patch by Sven Joachim). + 20110820 + add a check to ensure that termcap files which might have "^?" do not use the terminfo interpretation as "\177". diff --git a/dist.mk b/dist.mk index 0ffe7758..7b263457 100644 --- a/dist.mk +++ b/dist.mk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.831 2011/08/20 15:29:02 tom Exp $ +# $Id: dist.mk,v 1.832 2011/09/03 13:53:10 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 5 NCURSES_MINOR = 9 -NCURSES_PATCH = 20110820 +NCURSES_PATCH = 20110903 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/man/tset.1 b/man/tset.1 index 9743f5b5..c97a20a5 100644 --- a/man/tset.1 +++ b/man/tset.1 @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tset.1,v 1.25 2010/12/04 18:38:55 tom Exp $ +.\" $Id: tset.1,v 1.26 2011/09/03 13:58:35 Sven.Joachim Exp $ .TH @TSET@ 1 "" .SH NAME \fBtset\fR, \fBreset\fR \- terminal initialization @@ -89,6 +89,7 @@ The options are as follows: .TP 5 .B \-c Set control characters and modes. +.TP 5 .B \-e Set the erase character to \fIch\fR. .TP diff --git a/ncurses/base/resizeterm.c b/ncurses/base/resizeterm.c index 3f1d36e8..daa4ae54 100644 --- a/ncurses/base/resizeterm.c +++ b/ncurses/base/resizeterm.c @@ -45,7 +45,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: resizeterm.c,v 1.43 2011/01/10 01:34:49 tom Exp $") +MODULE_ID("$Id: resizeterm.c,v 1.44 2011/09/03 18:29:11 tom Exp $") /* * If we're trying to be reentrant, do not want any local statics. @@ -365,58 +365,71 @@ NCURSES_SP_NAME(resize_term) (NCURSES_SP_DCLx int ToLines, int ToCols) } #endif if (ToLines > screen_lines(SP_PARM)) { - increase_size(NCURSES_SP_ARGx - myLines = ToLines, myCols, was_stolen EXTRA_ARGS); + result = increase_size(NCURSES_SP_ARGx + myLines = ToLines, + myCols, + was_stolen EXTRA_ARGS); CurLines = myLines; CurCols = myCols; } - if (ToCols > screen_columns(SP_PARM)) { - increase_size(NCURSES_SP_ARGx - myLines, myCols = ToCols, was_stolen EXTRA_ARGS); + if ((result == OK) + && (ToCols > screen_columns(SP_PARM))) { + result = increase_size(NCURSES_SP_ARGx + myLines, + myCols = ToCols, + was_stolen EXTRA_ARGS); CurLines = myLines; CurCols = myCols; } - if (ToLines < myLines || - ToCols < myCols) { - decrease_size(NCURSES_SP_ARGx ToLines, ToCols, was_stolen EXTRA_ARGS); + if ((result == OK) + && (ToLines < myLines || + ToCols < myCols)) { + result = decrease_size(NCURSES_SP_ARGx + ToLines, + ToCols, + was_stolen EXTRA_ARGS); } - screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines; - screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols; + if (result == OK) { + screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines; + screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols; #ifdef USE_TERM_DRIVER - CallDriver_2(SP_PARM, setsize, ToLines, ToCols); + CallDriver_2(SP_PARM, setsize, ToLines, ToCols); #else - lines = (NCURSES_SIZE_T) ToLines; - columns = (NCURSES_SIZE_T) ToCols; + lines = (NCURSES_SIZE_T) ToLines; + columns = (NCURSES_SIZE_T) ToCols; #endif - SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen); + SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen); - if (SP_PARM->oldhash) { - FreeAndNull(SP_PARM->oldhash); - } - if (SP_PARM->newhash) { - FreeAndNull(SP_PARM->newhash); - } + if (SP_PARM->oldhash) { + FreeAndNull(SP_PARM->oldhash); + } + if (SP_PARM->newhash) { + FreeAndNull(SP_PARM->newhash); + } #ifdef TRACE - if (USE_TRACEF(TRACE_UPDATE)) { - SET_LINES(ToLines - was_stolen); - SET_COLS(ToCols); - show_window_sizes("after"); - _nc_unlock_global(tracef); - } + if (USE_TRACEF(TRACE_UPDATE)) { + SET_LINES(ToLines - was_stolen); + SET_COLS(ToCols); + show_window_sizes("after"); + _nc_unlock_global(tracef); + } #endif + } } - /* - * Always update LINES, to allow for call from lib_doupdate.c which - * needs to have the count adjusted by the stolen (ripped off) lines. - */ - SET_LINES(ToLines - was_stolen); - SET_COLS(ToCols); + if (result == OK) { + /* + * Always update LINES, to allow for call from lib_doupdate.c which + * needs to have the count adjusted by the stolen (ripped off) lines. + */ + SET_LINES(ToLines - was_stolen); + SET_COLS(ToCols); + } _nc_nonsp_unlock_global(curses);