From: Thomas E. Dickey Date: Sun, 4 Mar 2018 02:17:44 +0000 (+0000) Subject: ncurses 6.1 - patch 20180303 X-Git-Tag: v6.2~97 X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff_plain;h=2017ab0e60ca857accae38a01252e0cbdf5f1efe ncurses 6.1 - patch 20180303 + modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to avoid expansion of "CUR" in trace. + improve a few lintian warnings in test-packages. + modify lib_setup to avoid calling pthread_self() without first verifying that the address is valid, i.e., for weak symbols (report/patch by Werner Fink). + modify generated terminfo.5 to not use "expand" and related width on the last column of tables, making layout on wide terminals look better (adapted from patch by Kir Kolyshkin). + add a category to report_offsets, e.g., "w" for wide-character, "t" for threads to make the report more readable. Reorganized the structures reported to make the categories more apparent. + simplify some ifdef's for extended-colors. + add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show how similar the different tinfo configurations are. --- diff --git a/MANIFEST b/MANIFEST index cfa2e748..b4d978cc 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1016,7 +1016,9 @@ ./package/debian/control ./package/debian/copyright ./package/debian/ncurses6.lintian-overrides +./package/debian/ncurses6.triggers ./package/debian/ncursest6.lintian-overrides +./package/debian/ncursest6.triggers ./package/debian/rules ./package/debian/source/format ./package/debian/watch diff --git a/NEWS b/NEWS index 9801462d..d714ecc0 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.3089 2018/02/24 22:39:32 tom Exp $ +-- $Id: NEWS,v 1.3096 2018/03/03 22:07:39 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,23 @@ 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. +20180303 + + modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to + avoid expansion of "CUR" in trace. + + improve a few lintian warnings in test-packages. + + modify lib_setup to avoid calling pthread_self() without first + verifying that the address is valid, i.e., for weak symbols + (report/patch by Werner Fink). + + modify generated terminfo.5 to not use "expand" and related width + on the last column of tables, making layout on wide terminals look + better (adapted from patch by Kir Kolyshkin). + + add a category to report_offsets, e.g., "w" for wide-character, "t" + for threads to make the report more readable. Reorganized the + structures reported to make the categories more apparent. + + simplify some ifdef's for extended-colors. + + add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show + how similar the different tinfo configurations are. + 20180224 + modify _nc_resolve_uses2() to detect incompatible types when merging a "use=" clause of extended capabilities. The problem was seen in a diff --git a/VERSION b/VERSION index 432d3a25..8ef25560 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.1 20180224 +5:0:10 6.1 20180303 diff --git a/dist.mk b/dist.mk index 3d224765..ea719189 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.1212 2018/02/18 15:53:22 tom Exp $ +# $Id: dist.mk,v 1.1213 2018/02/26 23:33:42 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 = 6 NCURSES_MINOR = 1 -NCURSES_PATCH = 20180224 +NCURSES_PATCH = 20180303 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/man/MKterminfo.sh b/man/MKterminfo.sh index 1489e9cc..1b6f8945 100755 --- a/man/MKterminfo.sh +++ b/man/MKterminfo.sh @@ -1,10 +1,10 @@ #!/bin/sh -# $Id: MKterminfo.sh,v 1.13 2017/08/12 12:22:06 tom Exp $ +# $Id: MKterminfo.sh,v 1.15 2018/03/03 19:25:58 tom Exp $ # # MKterminfo.sh -- generate terminfo.5 from Caps tabular data # #*************************************************************************** -# Copyright (c) 1998-2003,2017 Free Software Foundation, Inc. * +# Copyright (c) 1998-2017,2018 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 * @@ -65,10 +65,13 @@ cat $head temp=temp$$ sorted=sorted$$ unsorted=unsorted$$ -trap "rm -f $sorted $temp $unsorted; exit 99" 1 2 3 15 +trap "code=\$?; rm -f $sorted $temp $unsorted; exit \$code" EXIT HUP INT QUIT TERM +rm -f $sorted $temp $unsorted sed -n <$caps "\ /%%-STOP-HERE-%%/q +/^#%center/s, expand,, +/^#%lw[1-9]/s, lw[1-9][0-9]*\., l., /^#%/s/#%//p /^#/d s/[ ][ ]*/ /g @@ -105,6 +108,7 @@ done <$unsorted test $saved = yes && sort $temp >>$sorted sed -e 's/^\.\.$//' $sorted | tr "\005\006" "\012\134" -cat $tail -rm -f $sorted $temp $unsorted +sed -e '/^center expand;/s, expand,,' \ + -e '/^\.TS/,/^\\/s, lw[1-9][0-9]*\., l.,' \ + $tail diff --git a/ncurses/Makefile.in b/ncurses/Makefile.in index d2fd5c5e..be9cb199 100644 --- a/ncurses/Makefile.in +++ b/ncurses/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.155 2018/01/15 19:28:45 tom Exp $ +# $Id: Makefile.in,v 1.156 2018/03/01 17:37:19 tom Exp $ ############################################################################## # Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. # # # @@ -241,6 +241,7 @@ make_hash$(BUILD_EXEEXT) : \ $(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(tinfo)/make_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS) report_offsets$(BUILD_EXEEXT) : \ + $(srcdir)/curses.priv.h \ $(srcdir)/report_offsets.c $(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(srcdir)/report_offsets.c $(BUILD_LDFLAGS) $(BUILD_LIBS) ./report_offsets$(BUILD_EXEEXT) diff --git a/ncurses/base/lib_color.c b/ncurses/base/lib_color.c index 8871159f..41496eed 100644 --- a/ncurses/base/lib_color.c +++ b/ncurses/base/lib_color.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -48,7 +48,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_color.c,v 1.136 2017/10/22 15:19:37 tom Exp $") +MODULE_ID("$Id: lib_color.c,v 1.137 2018/03/01 15:02:12 tom Exp $") #ifdef USE_TERM_DRIVER #define CanChange InfoOf(SP_PARM).canchange @@ -534,7 +534,7 @@ _nc_reserve_pairs(SCREEN *sp, int want) if (sp->_color_pairs == 0) { sp->_color_pairs = TYPE_CALLOC(colorpair_t, have); } else if (have > sp->_pair_alloc) { -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS colorpair_t *next; if ((next = typeCalloc(colorpair_t, have)) == 0) @@ -1082,7 +1082,7 @@ _nc_do_color(int old_pair, int pair, int reverse, NCURSES_OUTC outc) } #endif -#if USE_EXTENDED_COLORS +#if NCURSES_EXT_COLORS NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_pair) (NCURSES_SP_DCLx int pair, int f, int b) { @@ -1164,4 +1164,4 @@ reset_color_pairs(void) NCURSES_SP_NAME(reset_color_pairs) (CURRENT_SCREEN); } #endif /* NCURSES_SP_FUNCS */ -#endif /* USE_EXTENDED_COLORS */ +#endif /* NCURSES_EXT_COLORS */ diff --git a/ncurses/base/lib_freeall.c b/ncurses/base/lib_freeall.c index 9c931750..75c3ec3e 100644 --- a/ncurses/base/lib_freeall.c +++ b/ncurses/base/lib_freeall.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -39,7 +39,7 @@ extern int malloc_errfd; /* FIXME */ #endif -MODULE_ID("$Id: lib_freeall.c,v 1.68 2017/08/04 09:01:46 tom Exp $") +MODULE_ID("$Id: lib_freeall.c,v 1.69 2018/03/01 15:02:12 tom Exp $") /* * Free all ncurses data. This is used for testing only (there's no practical @@ -60,7 +60,7 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0) if (SP_PARM->_panelHook.destroy != 0) { SP_PARM->_panelHook.destroy(SP_PARM->_panelHook.stdscr_pseudo_panel); } -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS _nc_new_pair_leaks(SP_PARM); #endif } diff --git a/ncurses/base/lib_slkcolor.c b/ncurses/base/lib_slkcolor.c index 42027929..7edbe1af 100644 --- a/ncurses/base/lib_slkcolor.c +++ b/ncurses/base/lib_slkcolor.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -38,7 +38,7 @@ */ #include -MODULE_ID("$Id: lib_slkcolor.c,v 1.18 2017/03/17 09:26:46 tom Exp $") +MODULE_ID("$Id: lib_slkcolor.c,v 1.19 2018/03/01 15:02:12 tom Exp $") static int _nc_slk_color(SCREEN *sp, int pair_arg) @@ -73,7 +73,7 @@ slk_color(NCURSES_PAIRS_T pair_arg) } #endif -#if USE_EXTENDED_COLORS +#if NCURSES_EXT_COLORS NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_slk_color) (NCURSES_SP_DCLx int pair_arg) { diff --git a/ncurses/base/new_pair.c b/ncurses/base/new_pair.c index f13d16f4..bbccc19e 100644 --- a/ncurses/base/new_pair.c +++ b/ncurses/base/new_pair.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2017 Free Software Foundation, Inc. * + * Copyright (c) 2017,2018 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 * @@ -48,7 +48,7 @@ #define MaxColors max_colors #endif -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS /* fix redefinition versys tic.h */ #undef entry @@ -60,9 +60,9 @@ #endif -MODULE_ID("$Id: new_pair.c,v 1.14 2017/08/11 18:20:22 tom Exp $") +MODULE_ID("$Id: new_pair.c,v 1.15 2018/03/01 15:02:12 tom Exp $") -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS #ifdef NEW_PAIR_DEBUG @@ -376,4 +376,4 @@ void _nc_new_pair(void) { } -#endif /* USE_NEW_PAIR */ +#endif /* NCURSES_EXT_COLORS */ diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index 18dc01d6..fdc8c4a9 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -34,7 +34,7 @@ ****************************************************************************/ /* - * $Id: curses.priv.h,v 1.588 2018/02/10 16:13:31 tom Exp $ + * $Id: curses.priv.h,v 1.597 2018/03/04 01:06:04 tom Exp $ * * curses.priv.h * @@ -598,6 +598,9 @@ weak_symbol(pthread_mutexattr_init); extern NCURSES_EXPORT(int) _nc_sigprocmask(int, const sigset_t *, sigset_t *); # undef sigprocmask # define sigprocmask(a, b, c) _nc_sigprocmask(a, b, c) +# define GetThreadID() (((pthread_self)) ? pthread_self() : (pthread_t) getpid()) +# else +# define GetThreadID() pthread_self() # endif #endif @@ -676,11 +679,6 @@ extern NCURSES_EXPORT(int) _nc_sigprocmask(int, const sigset_t *, sigset_t *); #include -/* - * As an extension, support color values and color pairs past 2^16. - */ -#define USE_EXTENDED_COLORS USE_NEW_PAIR - #define isDefaultColor(c) ((c) < 0) #define COLOR_DEFAULT -1 @@ -832,9 +830,6 @@ typedef struct { #define NUM_VARS 26 typedef struct { -#ifdef TRACE - const char *tname; -#endif const char *tparam_base; STACK_FRAME stack[STACKSIZE]; @@ -849,6 +844,9 @@ typedef struct { int dynamic_var[NUM_VARS]; int static_vars[NUM_VARS]; +#ifdef TRACE + const char *tname; +#endif } TPARM_STATE; typedef struct { @@ -931,6 +929,10 @@ typedef struct { time_t dbd_time; /* cache last updated */ ITERATOR_VARS dbd_vars[dbdLAST]; +#ifdef USE_TERM_DRIVER + int (*term_driver)(struct DriverTCB*, const char*, int*); +#endif + #ifndef USE_SP_WINDOWLIST WINDOWLIST *_nc_windowlist; #define WindowList(sp) _nc_globals._nc_windowlist @@ -945,8 +947,22 @@ typedef struct { int safeprint_rows; #endif -#ifdef USE_TERM_DRIVER - int (*term_driver)(struct DriverTCB*, const char*, int*); +#ifdef USE_PTHREADS + pthread_mutex_t mutex_curses; + pthread_mutex_t mutex_prescreen; + pthread_mutex_t mutex_screen; + pthread_mutex_t mutex_update; + pthread_mutex_t mutex_tst_tracef; + pthread_mutex_t mutex_tracef; + int nested_tracef; + int use_pthreads; +#define _nc_use_pthreads _nc_globals.use_pthreads +#if USE_PTHREADS_EINTR + pthread_t read_thread; /* The reading thread */ +#endif +#endif +#if USE_WIDEC_SUPPORT + char key_name[MB_LEN_MAX + 1]; #endif #ifdef TRACE @@ -977,27 +993,10 @@ typedef struct { int nested_tracef; #endif #endif /* TRACE */ + #if NO_LEAKS bool leak_checking; #endif - -#ifdef USE_PTHREADS - pthread_mutex_t mutex_curses; - pthread_mutex_t mutex_prescreen; - pthread_mutex_t mutex_screen; - pthread_mutex_t mutex_update; - pthread_mutex_t mutex_tst_tracef; - pthread_mutex_t mutex_tracef; - int nested_tracef; - int use_pthreads; -#define _nc_use_pthreads _nc_globals.use_pthreads -#endif -#if USE_PTHREADS_EINTR - pthread_t read_thread; /* The reading thread */ -#endif -#if USE_WIDEC_SUPPORT - char key_name[MB_LEN_MAX + 1]; -#endif } NCURSES_GLOBALS; extern NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals; @@ -1025,16 +1024,17 @@ typedef struct { bool use_env; bool filter_mode; attr_t previous_attr; + TPARM_STATE tparm_state; + TTY *saved_tty; /* savetty/resetty information */ + bool use_tioctl; + NCURSES_SP_OUTC _outch; /* output handler if not putc */ #ifndef USE_SP_RIPOFF ripoff_t rippedoff[N_RIPS]; ripoff_t *rsp; #endif - TPARM_STATE tparm_state; - TTY *saved_tty; /* savetty/resetty information */ #if NCURSES_NO_PADDING bool _no_padding; /* flag to set if padding disabled */ #endif - NCURSES_SP_OUTC _outch; /* output handler if not putc */ #if BROKEN_LINKER || USE_REENTRANT chtype *real_acs_map; int _LINES; @@ -1042,12 +1042,13 @@ typedef struct { int _TABSIZE; int _ESCDELAY; TERMINAL *_cur_term; +#endif #ifdef TRACE +#if BROKEN_LINKER || USE_REENTRANT long _outchars; const char *_tputs_trace; #endif #endif - bool use_tioctl; } NCURSES_PRESCREEN; /* @@ -1129,18 +1130,11 @@ struct screen { struct _SLK *_slk; /* ptr to soft key struct / NULL */ int slk_format; /* selected format for this screen */ /* cursor movement costs; units are 10ths of milliseconds */ -#if NCURSES_NO_PADDING - bool _no_padding; /* flag to set if padding disabled */ -#endif int _char_padding; /* cost of character put */ int _cr_cost; /* cost of (carriage_return) */ int _cup_cost; /* cost of (cursor_address) */ int _home_cost; /* cost of (cursor_home) */ int _ll_cost; /* cost of (cursor_to_ll) */ -#if USE_HARD_TABS - int _ht_cost; /* cost of (tab) */ - int _cbt_cost; /* cost of (backtab) */ -#endif /* USE_HARD_TABS */ int _cub1_cost; /* cost of (cursor_left) */ int _cuf1_cost; /* cost of (cursor_right) */ int _cud1_cost; /* cost of (cursor_down) */ @@ -1181,14 +1175,6 @@ struct screen { int _pair_count; /* same as COLOR_PAIRS */ int _pair_limit; /* actual limit of color-pairs */ int _pair_alloc; /* current table-size of color-pairs */ -#if NCURSES_EXT_FUNCS - bool _assumed_color; /* use assumed colors */ - bool _default_color; /* use default colors */ - bool _has_sgr_39_49; /* has ECMA default color support */ - int _default_fg; /* assumed default foreground */ - int _default_bg; /* assumed default background */ - int _default_pairs; /* count pairs using default color */ -#endif chtype _ok_attributes; /* valid attributes for terminal */ chtype _xmc_suppress; /* attributes to suppress if xmc */ chtype _xmc_triggers; /* attributes to process if xmc */ @@ -1199,13 +1185,6 @@ struct screen { /* used in lib_vidattr.c */ bool _use_rmso; /* true if we may use 'rmso' */ bool _use_rmul; /* true if we may use 'rmul' */ -#if USE_ITALIC - bool _use_ritm; /* true if we may use 'ritm' */ -#endif - -#if USE_KLIBC_KBD - bool _extended_key; /* true if an extended key */ -#endif /* * These data correspond to the state of the idcok() and idlok() @@ -1238,6 +1217,60 @@ struct screen { MEVENT _mouse_events[EV_MAX]; /* hold the last mouse event seen */ MEVENT *_mouse_eventp; /* next free slot in event queue */ + /* + * These are data that support the proper handling of the panel stack on an + * per screen basis. + */ + struct panelhook _panelHook; + + bool _sig_winch; + SCREEN *_next_screen; + + /* hashes for old and new lines */ + unsigned long *oldhash, *newhash; + HASHMAP *hashtab; + int hashtab_len; + int *_oldnum_list; + int _oldnum_size; + + NCURSES_SP_OUTC _outch; /* output handler if not putc */ + NCURSES_OUTC jump; + + ripoff_t rippedoff[N_RIPS]; + ripoff_t *rsp; + + int _legacy_coding; /* see use_legacy_coding() */ + +#if NCURSES_NO_PADDING + bool _no_padding; /* flag to set if padding disabled */ +#endif + +#if USE_HARD_TABS + int _ht_cost; /* cost of (tab) */ + int _cbt_cost; /* cost of (backtab) */ +#endif /* USE_HARD_TABS */ + + /* used in lib_vidattr.c */ +#if USE_ITALIC + bool _use_ritm; /* true if we may use 'ritm' */ +#endif + + /* used in getch/twait */ +#if USE_KLIBC_KBD + bool _extended_key; /* true if an extended key */ +#endif + + /* used in lib_color.c */ +#if NCURSES_EXT_FUNCS + bool _assumed_color; /* use assumed colors */ + bool _default_color; /* use default colors */ + bool _has_sgr_39_49; /* has ECMA default color support */ + int _default_fg; /* assumed default foreground */ + int _default_bg; /* assumed default background */ + int _default_pairs; /* count pairs using default color */ +#endif + + /* system-dependent mouse data */ #if USE_GPM_SUPPORT bool _mouse_gpm_loaded; bool _mouse_gpm_found; @@ -1283,25 +1316,10 @@ struct screen { int (*_ungetch)(SCREEN *, int); #endif - /* - * These are data that support the proper handling of the panel stack on an - * per screen basis. - */ - struct panelhook _panelHook; - - bool _sig_winch; - SCREEN *_next_screen; - - /* hashes for old and new lines */ - unsigned long *oldhash, *newhash; - HASHMAP *hashtab; - int hashtab_len; - int *_oldnum_list; - int _oldnum_size; - - NCURSES_SP_OUTC _outch; /* output handler if not putc */ - - int _legacy_coding; /* see use_legacy_coding() */ +#ifdef USE_SP_WINDOWLIST + WINDOWLIST* _windowlist; +#define WindowList(sp) (sp)->_windowlist +#endif #if USE_REENTRANT char _ttytype[NAMESIZE]; @@ -1309,24 +1327,7 @@ struct screen { int _TABSIZE; int _LINES; int _COLS; -#ifdef TRACE - long _outchars; - const char *_tputs_trace; -#endif -#endif - -#ifdef TRACE - char tracechr_buf[40]; - char tracemse_buf[TRACEMSE_MAX]; -#endif -#ifdef USE_SP_WINDOWLIST - WINDOWLIST* _windowlist; -#define WindowList(sp) (sp)->_windowlist #endif - NCURSES_OUTC jump; - - ripoff_t rippedoff[N_RIPS]; - ripoff_t *rsp; #if NCURSES_SP_FUNCS bool use_tioctl; @@ -1342,11 +1343,21 @@ struct screen { bool _screen_acs_fix; bool _screen_unicode; #endif -#if NCURSES_EXT_FUNCS && USE_NEW_PAIR + +#if NCURSES_EXT_FUNCS && NCURSES_EXT_COLORS void *_ordered_pairs; /* index used by alloc_pair() */ int _pairs_used; /* actual number of color-pairs used */ int _recent_pair; /* number for most recent free-pair */ #endif + +#ifdef TRACE + char tracechr_buf[40]; + char tracemse_buf[TRACEMSE_MAX]; +#if USE_REENTRANT + long _outchars; + const char *_tputs_trace; +#endif +#endif }; extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; @@ -1464,6 +1475,8 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; #define ChCharOf(c) ((chtype)(c) & (chtype)A_CHARTEXT) #define ChAttrOf(c) ((chtype)(c) & (chtype)A_ATTRIBUTES) +#define TR_PUTC(c) TR(TRACE_CHARPUT, ("PUTC %#x", UChar(c))) + #ifndef MB_LEN_MAX #define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */ #endif @@ -1520,6 +1533,7 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; #define PUTC_INIT init_mb (PUT_st) #define PUTC(ch) do { if(!isWidecExt(ch)) { \ if (Charable(ch)) { \ + TR_PUTC(CharOf(ch)); \ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \ COUNT_OUTCHARS(1); \ } else { \ @@ -1532,11 +1546,13 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; (ch).chars[PUTC_i], &PUT_st); \ if (PUTC_n <= 0) { \ if (PUTC_ch && is8bits(PUTC_ch) && PUTC_i == 0) \ + TR_PUTC(CharOf(ch)); \ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \ break; \ } else { \ int PUTC_j; \ for (PUTC_j = 0; PUTC_j < PUTC_n; ++PUTC_j) { \ + TR_PUTC(PUTC_buf[PUTC_j]); \ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx PUTC_buf[PUTC_j]); \ } \ } \ @@ -1584,7 +1600,10 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; #define ARG_CH_T NCURSES_CH_T #define CARG_CH_T NCURSES_CH_T #define PUTC_DATA /* nothing */ -#define PUTC(ch) NCURSES_OUTC_FUNC (NCURSES_SP_ARGx (int) ch) +#define PUTC(ch) { \ + TR_PUTC(ch); \ + NCURSES_OUTC_FUNC (NCURSES_SP_ARGx (int) ch); \ + } #define BLANK (' '|A_NORMAL) #define ZEROS ('\0'|A_NORMAL) diff --git a/ncurses/new_pair.h b/ncurses/new_pair.h index 4dbeb9dc..49828d4a 100644 --- a/ncurses/new_pair.h +++ b/ncurses/new_pair.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2017 Free Software Foundation, Inc. * + * Copyright (c) 2017,2018 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 * @@ -33,15 +33,13 @@ /* * Common type definitions and macros for new_pair.c, lib_color.c * - * $Id: new_pair.h,v 1.8 2017/08/11 18:15:11 tom Exp $ + * $Id: new_pair.h,v 1.9 2018/03/01 15:02:12 tom Exp $ */ #ifndef NEW_PAIR_H #define NEW_PAIR_H 1 /* *INDENT-OFF* */ -#define USE_NEW_PAIR NCURSES_EXT_COLORS - #define LIMIT_TYPED(n,t) \ (t)(((n) > MAX_OF_TYPE(t)) \ ? MAX_OF_TYPE(t) \ @@ -54,9 +52,8 @@ #define MAX_XCURSES_PAIR MAX_OF_TYPE(NCURSES_PAIRS_T) -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS #define OPTIONAL_PAIR GCC_UNUSED -#define USE_NEW_PAIR NCURSES_EXT_COLORS #define get_extended_pair(opts, color_pair) \ if ((opts) != NULL) { \ *(int*)(opts) = color_pair; \ @@ -67,7 +64,6 @@ } #else #define OPTIONAL_PAIR /* nothing */ -#define USE_NEW_PAIR NCURSES_EXT_COLORS #define get_extended_pair(opts, color_pair) /* nothing */ #define set_extended_pair(opts, color_pair) \ if ((opts) != NULL) { \ @@ -88,7 +84,7 @@ typedef struct _color_pairs { int fg; int bg; -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS int mode; /* tells if the entry is allocated or free */ int prev; /* index of previous item */ int next; /* index of next item */ @@ -108,7 +104,7 @@ colorpair_t; #define ValidPair(sp,pair) \ ((sp != 0) && (pair >= 0) && (pair < sp->_pair_limit) && sp->_coloron) -#if USE_NEW_PAIR +#if NCURSES_EXT_COLORS extern NCURSES_EXPORT(void) _nc_copy_pairs(SCREEN*, colorpair_t*, colorpair_t*, int); extern NCURSES_EXPORT(void) _nc_free_ordered_pairs(SCREEN*); extern NCURSES_EXPORT(void) _nc_reset_color_pair(SCREEN*, int, colorpair_t*); diff --git a/ncurses/report_offsets.c b/ncurses/report_offsets.c index ed39b51e..e3f4ddaa 100644 --- a/ncurses/report_offsets.c +++ b/ncurses/report_offsets.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2017 Free Software Foundation, Inc. * + * Copyright (c) 2017,2018 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 * @@ -32,21 +32,87 @@ #include -MODULE_ID("$Id: report_offsets.c,v 1.5 2017/06/03 13:52:28 tom Exp $") +MODULE_ID("$Id: report_offsets.c,v 1.19 2018/03/01 19:22:27 tom Exp $") #define show_size(type) \ - printf("%6ld\t" #type "\n", (long)sizeof(type)) + flag = 0; \ + last = 0; \ + printf("%5lu " #type "\n", (unsigned long)sizeof(type)) #define show_offset(type,member) \ - printf("%6ld\t" #type "." #member "\n", (long)offsetof(type,member)) + next = (unsigned long)offsetof(type,member); \ + if (last > next) \ + printf("?? incorrect order for " #type "." #member "\n"); \ + printf("%5lu %c " #type "." #member "\n", next, flag ? *flag : ' '); \ + last = next; \ + flag = 0 + +#if NCURSES_WIDECHAR && NCURSES_EXT_COLORS +#define show_COLORS(type,member) { flag = "c"; show_offset(type,member); } +#else +#define show_COLORS(type,member) /* nothing */ +#endif + +#ifdef USE_TERM_DRIVER +#define show_DRIVER(type,member) { flag = "d"; show_offset(type,member); } +#else +#define show_DRIVER(type,member) /* nothing */ +#endif + +#if NO_LEAKS +#define show_MLEAKS(type,member) { flag = "L"; show_offset(type,member); } +#else +#define show_MLEAKS(type,member) /* nothing */ +#endif + +#ifdef USE_TERM_DRIVER +#define show_NORMAL(type,member) /* nothing */ +#else +#define show_NORMAL(type,member) { flag = "n"; show_offset(type,member); } +#endif + +#define show_OPTION(type,member) { flag = "+"; show_offset(type,member); } + +#if USE_REENTRANT +#define show_REENTR(type,member) { flag = "r"; show_offset(type,member); } +#else +#define show_REENTR(type,member) /* nothing */ +#endif + +#if NCURSES_SP_FUNCS +#define show_SPFUNC(type,member) { flag = "s"; show_offset(type,member); } +#else +#define show_SPFUNC(type,member) /* nothing */ +#endif + +#ifdef USE_PTHREADS +#define show_THREAD(type,member) { flag = "t"; show_offset(type,member); } +#else +#define show_THREAD(type,member) /* nothing */ +#endif + +#ifdef TRACE +#define show_TRACES(type,member) { flag = "T"; show_offset(type,member); } +#else +#define show_TRACES(type,member) /* nothing */ +#endif + +#if USE_WIDEC_SUPPORT +#define show_WIDECH(type,member) { flag = "w"; show_offset(type,member); } +#else +#define show_WIDECH(type,member) /* nothing */ +#endif int main(void) { + const char *flag = 0; + unsigned long last, next; + printf("Size/offsets of data structures:\n"); show_size(attr_t); show_size(chtype); -#if NCURSES_WIDECHAR +#if USE_WIDEC_SUPPORT show_size(cchar_t); #endif show_size(mmask_t); @@ -55,57 +121,108 @@ main(void) printf("\n"); show_size(SCREEN); + show_offset(SCREEN, _ifd); + show_offset(SCREEN, _fifo); + show_offset(SCREEN, _fifohead); + show_offset(SCREEN, _direct_color); show_offset(SCREEN, _panelHook); -#if USE_REENTRANT - show_offset(SCREEN, _ttytype); + show_offset(SCREEN, jump); + show_offset(SCREEN, rsp); +#if NCURSES_NO_PADDING + show_OPTION(SCREEN, _no_padding); #endif -#ifdef TRACE - show_offset(SCREEN, tracechr_buf); +#if USE_HARD_TABS + show_OPTION(SCREEN, _ht_cost); #endif -#ifdef USE_SP_WINDOWLIST - show_offset(SCREEN, _windowlist); +#if USE_ITALIC + show_OPTION(SCREEN, _use_ritm); +#endif +#if USE_KLIBC_KBD + show_OPTION(SCREEN, _extended_key); #endif - show_offset(SCREEN, rsp); #if NCURSES_EXT_FUNCS -#if USE_NEW_PAIR - show_offset(SCREEN, _ordered_pairs); + show_OPTION(SCREEN, _assumed_color); #endif -#if NCURSES_SP_FUNCS - show_offset(SCREEN, use_tioctl); +#if USE_GPM_SUPPORT + show_OPTION(SCREEN, _mouse_gpm_loaded); +#ifdef HAVE_LIBDL + show_OPTION(SCREEN, _dlopen_gpm); #endif #endif -#if USE_WIDEC_SUPPORT - show_offset(SCREEN, _screen_acs_fix); +#if USE_EMX_MOUSE + show_OPTION(SCREEN, _emxmouse_wfd); +#endif +#if USE_SYSMOUSE + show_OPTION(SCREEN, _sysmouse_fifo); #endif + show_DRIVER(SCREEN, _drv_mouse_fifo); +#if USE_SIZECHANGE + show_OPTION(SCREEN, _resize); +#endif + show_REENTR(SCREEN, _ttytype); + show_DRIVER(SCREEN, _windowlist); + show_SPFUNC(SCREEN, use_tioctl); + show_WIDECH(SCREEN, _screen_acs_fix); + show_COLORS(SCREEN, _ordered_pairs); + show_TRACES(SCREEN, tracechr_buf); printf("\n"); show_size(TERMINAL); show_offset(TERMINAL, type); show_offset(TERMINAL, Filedes); -#if defined(TERMIOS) show_offset(TERMINAL, Ottyb); show_offset(TERMINAL, Nttyb); -#endif show_offset(TERMINAL, _baudrate); show_offset(TERMINAL, _termname); -#if NCURSES_EXT_COLORS && HAVE_INIT_EXTENDED_COLOR - show_offset(TERMINAL, type2); +#if HAVE_INIT_EXTENDED_COLOR + show_COLORS(TERMINAL, type2); #endif printf("\n"); show_size(TERMTYPE); #if NCURSES_XNAMES - show_offset(TERMTYPE, ext_str_table); - show_offset(TERMTYPE, ext_Strings); + show_OPTION(TERMTYPE, ext_str_table); + show_OPTION(TERMTYPE, ext_Strings); #endif printf("\n"); show_size(WINDOW); -#if NCURSES_WIDECHAR - show_offset(WINDOW, _bkgrnd); -#if NCURSES_EXT_COLORS - show_offset(WINDOW, _color); + show_WIDECH(WINDOW, _bkgrnd); + show_COLORS(WINDOW, _color); + + printf("\n"); + show_size(NCURSES_GLOBALS); + show_offset(NCURSES_GLOBALS, init_signals); + show_DRIVER(NCURSES_GLOBALS, term_driver); + show_NORMAL(NCURSES_GLOBALS, _nc_windowlist); +#if USE_HOME_TERMINFO + show_OPTION(NCURSES_GLOBALS, home_terminfo); +#endif +#if !USE_SAFE_SPRINTF + show_OPTION(NCURSES_GLOBALS, safeprint_rows); #endif + show_THREAD(NCURSES_GLOBALS, mutex_curses); +#if USE_PTHREADS_EINTR + show_THREAD(NCURSES_GLOBALS, read_thread); #endif + show_WIDECH(NCURSES_GLOBALS, key_name); + show_TRACES(NCURSES_GLOBALS, trace_opened); + show_MLEAKS(NCURSES_GLOBALS, leak_checking); + + printf("\n"); + show_size(NCURSES_PRESCREEN); + show_offset(NCURSES_PRESCREEN, saved_tty); + show_offset(NCURSES_PRESCREEN, use_tioctl); + show_offset(NCURSES_PRESCREEN, _outch); + show_NORMAL(NCURSES_PRESCREEN, rippedoff); +#if NCURSES_NO_PADDING + show_OPTION(NCURSES_PRESCREEN, _no_padding); +#endif +#if BROKEN_LINKER + show_offset(NCURSES_PRESCREEN, real_acs_map); +#else + show_REENTR(NCURSES_PRESCREEN, real_acs_map); +#endif + return EXIT_SUCCESS; } diff --git a/ncurses/tinfo/lib_data.c b/ncurses/tinfo/lib_data.c index 3d9c20d2..8ee481c6 100644 --- a/ncurses/tinfo/lib_data.c +++ b/ncurses/tinfo/lib_data.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -42,7 +42,7 @@ #include -MODULE_ID("$Id: lib_data.c,v 1.75 2017/08/04 08:59:48 tom Exp $") +MODULE_ID("$Id: lib_data.c,v 1.78 2018/03/01 18:09:21 tom Exp $") /* * OS/2's native linker complains if we don't initialize public data when @@ -152,6 +152,10 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = { 0, /* dbd_time */ { { 0, 0 } }, /* dbd_vars */ +#ifdef USE_TERM_DRIVER + 0, /* term_driver */ +#endif + #ifndef USE_SP_WINDOWLIST 0, /* _nc_windowlist */ #endif @@ -165,10 +169,22 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = { 0, /* safeprint_rows */ #endif -#ifdef USE_TERM_DRIVER - 0, /* term_driver */ +#ifdef USE_PTHREADS + PTHREAD_MUTEX_INITIALIZER, /* mutex_curses */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_prescreen */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_screen */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_update */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_tst_tracef */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_tracef */ + 0, /* nested_tracef */ + 0, /* use_pthreads */ +#if USE_PTHREADS_EINTR + 0, /* read_thread */ +#endif +#endif +#if USE_WIDEC_SUPPORT + CHARS_0s, /* key_name */ #endif - #ifdef TRACE FALSE, /* trace_opened */ CHARS_0s, /* trace_fname */ @@ -200,22 +216,6 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = { #if NO_LEAKS FALSE, /* leak_checking */ #endif -#ifdef USE_PTHREADS - PTHREAD_MUTEX_INITIALIZER, /* mutex_curses */ - PTHREAD_MUTEX_INITIALIZER, /* mutex_prescreen */ - PTHREAD_MUTEX_INITIALIZER, /* mutex_screen */ - PTHREAD_MUTEX_INITIALIZER, /* mutex_update */ - PTHREAD_MUTEX_INITIALIZER, /* mutex_tst_tracef */ - PTHREAD_MUTEX_INITIALIZER, /* mutex_tracef */ - 0, /* nested_tracef */ - 0, /* use_pthreads */ -#endif -#if USE_PTHREADS_EINTR - 0, /* read_thread */ -#endif -#if USE_WIDEC_SUPPORT - CHARS_0s, /* key_name */ -#endif }; #define STACK_FRAME_0 { { 0 }, 0 } @@ -230,14 +230,7 @@ NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = { TRUE, /* use_env */ FALSE, /* filter_mode */ A_NORMAL, /* previous_attr */ -#ifndef USE_SP_RIPOFF - RIPOFF_0s, /* ripoff */ - NULL, /* rsp */ -#endif { /* tparm_state */ -#ifdef TRACE - NULL, /* tname */ -#endif NULL, /* tparam_base */ STACK_FRAME_0s, /* stack */ @@ -252,12 +245,20 @@ NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = { NUM_VARS_0s, /* dynamic_var */ NUM_VARS_0s, /* static_vars */ +#ifdef TRACE + NULL, /* tname */ +#endif }, NULL, /* saved_tty */ + FALSE, /* use_tioctl */ + 0, /* _outch */ +#ifndef USE_SP_RIPOFF + RIPOFF_0s, /* ripoff */ + NULL, /* rsp */ +#endif #if NCURSES_NO_PADDING FALSE, /* flag to set if padding disabled */ #endif - 0, /* _outch */ #if BROKEN_LINKER || USE_REENTRANT NULL, /* real_acs_map */ 0, /* LINES */ @@ -265,12 +266,13 @@ NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = { 8, /* TABSIZE */ 1000, /* ESCDELAY */ 0, /* cur_term */ +#endif #ifdef TRACE +#if BROKEN_LINKER || USE_REENTRANT 0L, /* _outchars */ NULL, /* _tputs_trace */ #endif #endif - FALSE, /* use_tioctl */ }; /* *INDENT-ON* */ diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c index a4b87e3b..daf51a7e 100644 --- a/ncurses/tinfo/lib_setup.c +++ b/ncurses/tinfo/lib_setup.c @@ -48,7 +48,7 @@ #include #endif -MODULE_ID("$Id: lib_setup.c,v 1.189 2018/02/17 21:23:32 tom Exp $") +MODULE_ID("$Id: lib_setup.c,v 1.191 2018/03/04 01:06:34 tom Exp $") /**************************************************************************** * @@ -827,8 +827,9 @@ _nc_find_prescr(void) { SCREEN *result = 0; PRESCREEN_LIST *p; + pthread_t id = GetThreadID(); for (p = _nc_prescreen.allocated; p != 0; p = p->next) { - if (p->id == pthread_self()) { + if (p->id == id) { result = p->sp; break; } @@ -845,8 +846,9 @@ NCURSES_EXPORT(void) _nc_forget_prescr(void) { PRESCREEN_LIST *p, *q; + pthread_t id = GetThreadID(); for (p = _nc_prescreen.allocated, q = 0; p != 0; q = p, p = p->next) { - if (p->id == pthread_self()) { + if (p->id == id) { if (q) { q->next = p->next; } else { @@ -882,7 +884,7 @@ new_prescr(void) #ifdef USE_PTHREADS PRESCREEN_LIST *p = typeCalloc(PRESCREEN_LIST, 1); if (p != 0) { - p->id = pthread_self(); + p->id = GetThreadID(); p->sp = sp; p->next = _nc_prescreen.allocated; _nc_prescreen.allocated = p; diff --git a/ncurses/tty/lib_mvcur.c b/ncurses/tty/lib_mvcur.c index f0b3320c..cb9fd869 100644 --- a/ncurses/tty/lib_mvcur.c +++ b/ncurses/tty/lib_mvcur.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -159,7 +159,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_mvcur.c,v 1.145 2017/07/23 00:08:37 tom Exp $") +MODULE_ID("$Id: lib_mvcur.c,v 1.146 2018/03/03 22:40:47 tom Exp $") #define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */ @@ -935,6 +935,7 @@ onscreen_mvcur(NCURSES_SP_DCLx #endif /* MAIN */ if (usecost != INFINITY) { + TR(TRACE_MOVE, ("mvcur tactic %d", tactic)); TPUTS_TRACE("mvcur"); NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx buffer, 1, myOutCh); diff --git a/ncurses/tty/lib_vidattr.c b/ncurses/tty/lib_vidattr.c index 18420e1b..acad0fba 100644 --- a/ncurses/tty/lib_vidattr.c +++ b/ncurses/tty/lib_vidattr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -69,17 +69,24 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_vidattr.c,v 1.72 2017/06/24 12:13:42 tom Exp $") +MODULE_ID("$Id: lib_vidattr.c,v 1.73 2018/03/03 22:08:12 tom Exp $") #define doPut(mode) \ TPUTS_TRACE(#mode); \ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc) #define TurnOn(mask, mode) \ - if ((turn_on & mask) && mode) { doPut(mode); } + if ((turn_on & mask) && mode) { \ + TPUTS_TRACE(#mode); \ + NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc); \ + } #define TurnOff(mask, mode) \ - if ((turn_off & mask) && mode) { doPut(mode); turn_off &= ~mask; } + if ((turn_off & mask) && mode) { \ + TPUTS_TRACE(#mode); \ + NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc); \ + turn_off &= ~mask; \ + } /* if there is no current screen, assume we *can* do color */ #define SetColorsIf(why, old_attr) \ diff --git a/ncurses/widechar/lib_vid_attr.c b/ncurses/widechar/lib_vid_attr.c index 9d5c708f..d217fbcc 100644 --- a/ncurses/widechar/lib_vid_attr.c +++ b/ncurses/widechar/lib_vid_attr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002-2014,2017 Free Software Foundation, Inc. * + * Copyright (c) 2002-2017,2018 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 * @@ -36,17 +36,24 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_vid_attr.c,v 1.25 2017/06/24 13:22:27 tom Exp $") +MODULE_ID("$Id: lib_vid_attr.c,v 1.26 2018/03/03 22:03:18 tom Exp $") #define doPut(mode) \ TPUTS_TRACE(#mode); \ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc) #define TurnOn(mask, mode) \ - if ((turn_on & mask) && mode) { doPut(mode); } + if ((turn_on & mask) && mode) { \ + TPUTS_TRACE(#mode); \ + NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc); \ + } #define TurnOff(mask, mode) \ - if ((turn_off & mask) && mode) { doPut(mode); turn_off &= ~mask; } + if ((turn_off & mask) && mode) { \ + TPUTS_TRACE(#mode); \ + NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx mode, 1, outc); \ + turn_off &= ~mask; \ + } /* if there is no current screen, assume we *can* do color */ #define SetColorsIf(why, old_attr, old_pair) \ diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog index b7c44070..5c3da74f 100644 --- a/package/debian-mingw/changelog +++ b/package/debian-mingw/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.1+20180224) unstable; urgency=low +ncurses6 (6.1+20180303) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 18 Feb 2018 10:53:22 -0500 + -- Thomas E. Dickey Mon, 26 Feb 2018 18:33:42 -0500 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog index b7c44070..5c3da74f 100644 --- a/package/debian-mingw64/changelog +++ b/package/debian-mingw64/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.1+20180224) unstable; urgency=low +ncurses6 (6.1+20180303) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 18 Feb 2018 10:53:22 -0500 + -- Thomas E. Dickey Mon, 26 Feb 2018 18:33:42 -0500 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian/changelog b/package/debian/changelog index c23db333..bd7084fa 100644 --- a/package/debian/changelog +++ b/package/debian/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.1+20180224) unstable; urgency=low +ncurses6 (6.1+20180303) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 18 Feb 2018 10:53:22 -0500 + -- Thomas E. Dickey Mon, 26 Feb 2018 18:33:42 -0500 ncurses6 (5.9-20120608) unstable; urgency=low diff --git a/package/debian/ncurses6.lintian-overrides b/package/debian/ncurses6.lintian-overrides index 94397471..5b19120c 100644 --- a/package/debian/ncurses6.lintian-overrides +++ b/package/debian/ncurses6.lintian-overrides @@ -5,13 +5,12 @@ ncurses6: binary-or-shlib-defines-rpath usr/bin/ncurses6 /usr/lib # This works around a bug in Debian's build-scripts. ncurses6: latest-debian-changelog-entry-changed-to-native -ncurses6: hardening-no-fortify-functions usr/lib/libncurses++w6.so.6.0 +ncurses6: hardening-no-fortify-functions usr/lib/libncurses++w6.so.6.1 # This is intentional. ncurses6: binary-without-manpage ncurses6: non-dev-pkg-with-shlib-symlink -ncurses6: embedded-library usr/lib/libtinfow6.so.6.0: ncurses - -ncurses6: postinst-must-call-ldconfig usr/lib/libtinfow6.so.6.0 +ncurses6: embedded-library usr/lib/libtinfow6.so.6.1: ncurses +ncurses6: postinst-must-call-ldconfig usr/lib/libtinfow6.so.6.1 # vile: confmode diff --git a/package/debian/ncurses6.triggers b/package/debian/ncurses6.triggers new file mode 100644 index 00000000..dd866036 --- /dev/null +++ b/package/debian/ncurses6.triggers @@ -0,0 +1 @@ +activate-noawait ldconfig diff --git a/package/debian/ncursest6.lintian-overrides b/package/debian/ncursest6.lintian-overrides index 1fd4f6d4..bbc7cf0a 100644 --- a/package/debian/ncursest6.lintian-overrides +++ b/package/debian/ncursest6.lintian-overrides @@ -5,13 +5,12 @@ ncursest6: binary-or-shlib-defines-rpath usr/bin/ncursest6 /usr/lib # This works around a bug in Debian's build-scripts. ncursest6: latest-debian-changelog-entry-changed-to-native -ncursest6: hardening-no-fortify-functions usr/lib/libncurses++tw6.so.6.0 +ncursest6: hardening-no-fortify-functions usr/lib/libncurses++tw6.so.6.1 # This is intentional. ncursest6: binary-without-manpage ncursest6: non-dev-pkg-with-shlib-symlink -ncursest6: embedded-library usr/lib/libtinfotw6.so.6.0: ncurses - -ncursest6: postinst-must-call-ldconfig usr/lib/libtinfotw6.so.6.0 +ncursest6: embedded-library usr/lib/libtinfotw6.so.6.1: ncurses +ncursest6: postinst-must-call-ldconfig usr/lib/libtinfotw6.so.6.1 # vile: confmode diff --git a/package/debian/ncursest6.triggers b/package/debian/ncursest6.triggers new file mode 100644 index 00000000..dd866036 --- /dev/null +++ b/package/debian/ncursest6.triggers @@ -0,0 +1 @@ +activate-noawait ldconfig diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi index 0c8a7570..8309f998 100644 --- a/package/mingw-ncurses.nsi +++ b/package/mingw-ncurses.nsi @@ -1,4 +1,4 @@ -; $Id: mingw-ncurses.nsi,v 1.259 2018/02/18 15:53:22 tom Exp $ +; $Id: mingw-ncurses.nsi,v 1.260 2018/02/26 23:33:42 tom Exp $ ; TODO add examples ; TODO bump ABI to 6 @@ -10,7 +10,7 @@ !define VERSION_MAJOR "6" !define VERSION_MINOR "1" !define VERSION_YYYY "2018" -!define VERSION_MMDD "0224" +!define VERSION_MMDD "0303" !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} !define MY_ABI "5" diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec index 491a688a..3cec4c85 100644 --- a/package/mingw-ncurses.spec +++ b/package/mingw-ncurses.spec @@ -3,7 +3,7 @@ Summary: shared libraries for terminal handling Name: mingw32-ncurses6 Version: 6.1 -Release: 20180224 +Release: 20180303 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz diff --git a/package/ncurses.spec b/package/ncurses.spec index 5689a3fb..364a2dfa 100644 --- a/package/ncurses.spec +++ b/package/ncurses.spec @@ -1,7 +1,7 @@ Summary: shared libraries for terminal handling Name: ncurses6 Version: 6.1 -Release: 20180224 +Release: 20180303 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz