[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Minor problems
From: |
philippe blain |
Subject: |
Minor problems |
Date: |
Sun, 23 Sep 2001 06:28:58 +0200 |
>From Philippe Blain, Bordeaux, FRANCE
My old computer : P133 - 8,4Go - 32 Mo Red Hat Linux 7.0
To the maintainers of 'ncurses'. (and to Mr Dickey)
Subject : Corrections for ncurses-5.2-20010915+
Here are some problems I found :
--------------------------------------------------------------------------------
File : ncurses/base/lib_freeall.c
Function : _nc_freeall()
Suppress
#elif HAVE_PURIFY
purify_all_in use();
Verify also 'malloc_dump()'
--------------------------------------------------------------------------------
File : ncurses/curses.priv.h
Boolean 'IGNORE_COLOR_OFF' is not used elsewhere except in 'toggle_attr_off'.
Refer to color pair n°255. Why ??? Don't know.
Suggesting to suppress what cannot be explained in that macro :
#define toggle_attr_off(S,at) {\
if (PAIR_NUMBER(at) > 0x00) /* turn off color */\
(S) &= ~(at|A_COLOR);\
else /* leave color alone */\
(S) &= ~(at);\
TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
--------------------------------------------------------------------------------
File : many
Pb about windows background in case of WIDE CHARS :
It should be defined simply something like NCURSES_CH_T _bkgrnd;
Instead, there is spagheti code :
1) Substitution of @NCURSES_bkgd_field@ in "curses.h.in" by configure
plus another definition when WIDE_CHAR.
2) Double definition of '_nc_background()', 'wgetbkgrnd(win,wch)'
which should normaly return both the current background char (or struct).
3) _nc_background() not correct for wide chars :
lib_addch.c: _nc_background(WINDOW *win)
lib_addstr.c: line->text[x - 1] = _nc_background(win);
lib_addstr.c: line->text[x - 1] = _nc_background(win);
lib_addstr.c: line->text[x] = _nc_background(win);
lib_clrbot.c: NCURSES_CH_T blank = _nc_background(win);
lib_clreol.c: blank = _nc_background(win);
lib_delch.c: NCURSES_CH_T blank = _nc_background(win);
lib_erase.c: blank = _nc_background(win);
lib_insdel.c: _nc_background(win));
lib_scroll.c: _nc_scroll_window(win, n, win->_regtop, win->_regbottom,
_nc_background(win));
wresize.c: blank = _nc_background(win);
Should have only ONE macro or function to do that.
--------------------------------------------------------------------------------
------ Philippe.
- Minor problems,
philippe blain <=