mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2025-03-13 16:26:41 +08:00
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.
This commit is contained in:
parent
e348f7adec
commit
2017ab0e60
2
MANIFEST
2
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
|
||||
|
19
NEWS
19
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
|
||||
|
4
dist.mk
4
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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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 <curses.priv.h>
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -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 */
|
||||
|
@ -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 <new_pair.h>
|
||||
|
||||
/*
|
||||
* 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)
|
||||
|
@ -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*);
|
||||
|
@ -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 <curses.priv.h>
|
||||
|
||||
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);
|
||||
#endif
|
||||
#ifdef TRACE
|
||||
show_offset(SCREEN, tracechr_buf);
|
||||
#endif
|
||||
#ifdef USE_SP_WINDOWLIST
|
||||
show_offset(SCREEN, _windowlist);
|
||||
#endif
|
||||
show_offset(SCREEN, jump);
|
||||
show_offset(SCREEN, rsp);
|
||||
#if NCURSES_NO_PADDING
|
||||
show_OPTION(SCREEN, _no_padding);
|
||||
#endif
|
||||
#if USE_HARD_TABS
|
||||
show_OPTION(SCREEN, _ht_cost);
|
||||
#endif
|
||||
#if USE_ITALIC
|
||||
show_OPTION(SCREEN, _use_ritm);
|
||||
#endif
|
||||
#if USE_KLIBC_KBD
|
||||
show_OPTION(SCREEN, _extended_key);
|
||||
#endif
|
||||
#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;
|
||||
}
|
||||
|
@ -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 <curses.priv.h>
|
||||
|
||||
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* */
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
||||
#include <locale.h>
|
||||
#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;
|
||||
|
@ -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);
|
||||
|
@ -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) \
|
||||
|
@ -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) \
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.1+20180224) unstable; urgency=low
|
||||
ncurses6 (6.1+20180303) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 18 Feb 2018 10:53:22 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Mon, 26 Feb 2018 18:33:42 -0500
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.1+20180224) unstable; urgency=low
|
||||
ncurses6 (6.1+20180303) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 18 Feb 2018 10:53:22 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Mon, 26 Feb 2018 18:33:42 -0500
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.1+20180224) unstable; urgency=low
|
||||
ncurses6 (6.1+20180303) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 18 Feb 2018 10:53:22 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Mon, 26 Feb 2018 18:33:42 -0500
|
||||
|
||||
ncurses6 (5.9-20120608) unstable; urgency=low
|
||||
|
||||
|
@ -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
|
||||
|
1
package/debian/ncurses6.triggers
Normal file
1
package/debian/ncurses6.triggers
Normal file
@ -0,0 +1 @@
|
||||
activate-noawait ldconfig
|
@ -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
|
||||
|
1
package/debian/ncursest6.triggers
Normal file
1
package/debian/ncursest6.triggers
Normal file
@ -0,0 +1 @@
|
||||
activate-noawait ldconfig
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user