bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Report for 20021012


From: Philippe Blain
Subject: Report for 20021012
Date: Mon, 14 Oct 2002 07:16:19 +0200

>From Philippe Blain, Bordeaux, FRANCE.
My old computer: P133 - 8,4 Go - 32 Mo Red Hat Linux 7.0

To maintainers of 'ncurses'.(and to Mr Dickey)
Subject: Corrections for ncurses-5.3-20021012+

Here are some problems I found :

----------------------------------------------------------------------------
File : ncurses/base/lib_newterm.c

Function newterm() :

Initialization of TABSIZE in filter mode already done in
setupterm/_nc_get_screensize .

    ......................
    T((T_CALLED("newterm(\"%s\",%p,%p)"), name, ofp, ifp));

    /* this loads the capability entry, then sets LINES and COLS */
    if (setupterm(name, fileno(ofp), &errret) == ERR)
    returnSP(0);

    /* implement filter mode */
    if (filter_mode) {
    LINES = 1;

==> if (VALID_NUMERIC(init_tabs))     /* redundant */
==>     TABSIZE = init_tabs;
==> else
==>     TABSIZE = 8;

==> T(("TABSIZE = %d", TABSIZE));
    ......................

----------------------------------------------------------------------------
File : ncurses/base/lib_addch.c

Function _nc_waddch_nosync() :

The following control-chars are not explicitely treated :
    \a    bell (alert)
    \v    vertical tab
    \f    form feed

----------------------------------------------------------------------------
File : ncurses/base/lib_insstr.c

Function winsnstr() :

That function inserts a string of at most n characters at cursor position.
The cursor position does not change.

Problems :

1) The routine _nc_waddch_nosync(win, wch) do not insert chars but
overwrites
the old ones.  Apply only to \n, \r, \t, \b
(ex: TAB does not right-shift chars but overwrites them with blanks,
NEWLINE clears chars to end of line)

2) Because _nc_waddch_nosync() declared static in lib_addch.c,
cannot link when winsnstr() is used in a program.

Would be better if interpretation of chars was done in winsch().

Could approach the insert mode of an editor if all characters of window
after cursor position were shifted, and not only the current line.

----------------------------------------------------------------------------
File : ncurses/base/lib_bkgd.c

Function : wbkgrnd()
That line is absolutely useless and can be deleted.

    ...............
    else {
        NCURSES_CH_T wch = win->_line[y].text[x];
==>     RemAttr(wch, ~A_ALTCHARSET);
        win->_line[y].text[x] = _nc_render(win, wch);
    }
    ...............

----------------------------------------------------------------------------
- Philippe






reply via email to

[Prev in Thread] Current Thread [Next in Thread]