Home | History | Annotate | Download | only in libcurses
History log of /src/lib/libcurses/slk.c
RevisionDateAuthorComments
 1.21  20-Dec-2022  blymn Backout change to addnstr that broke other applications as n should be
the number of bytes to add - for multibyte characters n will be > 1.

Fix __slk_draw to pass in the actual length of the label instead of
the default label length because wide characters may make the
actual string length longer than the slk display length.
 1.20  12-Apr-2022  blymn branches: 1.20.2;
Make the default colour pair be pair 0 which appears to match other
curses implementations.
 1.19  25-Jan-2022  blymn Correct (hopefully) the handling of wide characters.

* Remove the WCOL family of macros, these were "stealing" the upper bits
of a character attribute to store the column width of a character. No
warning was given about this in curses.h which meant it was easy to
accidentally reuse the bits in use by the WCOL macros (we already did).
Add couple of 16bit ints to the character structure iff HAVE_WCHAR is
true to hold the display width and wide char related flags (just
continuation at the moment)
* Convert all instances of WCOL macros to just reference the column width
in the char structure so it is not obfuscated.
* Fix cursor positioning so placing a cursor in the middle of a wide char
actually does just that.
* Fix plod so it understands that if the cursor is going to be positioned
in the middle of a wide char it cannot just reprint the char to get there.
* Fix plodput so it correctly counts the number of output characters for
wide characters.
* Fix slk routines to properly size the wctomb() buffer.
 1.18  06-Jan-2022  blymn Revert change for array definition, it was incorrect, thanks Uwe.
 1.17  06-Jan-2022  blymn Properly size and array to hold the larget return from wctomb.
 1.16  06-Sep-2021  rin Style fixes most for __CTRACE().
 1.15  06-Sep-2021  rin Expand __CTRACE() to __nothing #ifndef DEBUG.

Remove most of #ifdef DEBUG around __CTRACE() calls.

No binary changes, except for line numbers for assert().
 1.14  15-Aug-2021  christos This is a mess; always define MB_LEN_MAX so both the regular and libhack
version of curses compiles. Really we should not be defining MB_LEN_MAX here,
and include <limits.h> in curses_private.h to get it.
 1.13  15-Aug-2021  christos need limits.h
 1.12  15-Aug-2021  christos Use MBL_LEN_MAX (constant) so that SSP works
 1.11  24-Jun-2021  martin Fix printf format for size_t
 1.10  24-Jun-2021  blymn Make sure we don't use wide char routines when DISABLE_WCHAR is in
effect.
 1.9  22-Jun-2021  blymn Fix how the slk are drawn by making sure we use ins_wchar in the
bottom left of the screen to avoid a scroll because this may cause
an ERR if scrollok is false.
 1.8  28-Jul-2019  uwe __slk_set_finalise - fix length vs. width confusion
 1.7  28-Jul-2019  uwe __slk_set - fix calculating "len" for HAVE_WCHAR
 1.6  27-Jul-2019  uwe Put slk_color() undef #ifdef HAVE_WCHAR too.
 1.5  27-Jul-2019  uwe Put wide character functions under #ifdef HAVE_WCHAR
 1.4  04-Oct-2018  roy curses: once __slk_init is called, reset slk_fmt

This allows soft label keys to be used on more than one terminal.
 1.3  04-Oct-2018  roy curses: declare SLK format as invalid until slk_init(3) called

If we don't, then when __slk_init with a valid format of 0 it sets
up labels to be drawn without a window.
 1.2  30-Jan-2017  roy branches: 1.2.2; 1.2.4; 1.2.8; 1.2.14; 1.2.16;
Just return ERR instead of asserting if someone calls the slk routines
to affect the ripped off window before the window is actually ripped off.
 1.1  24-Jan-2017  roy Implement POSIX Curses Soft Label Key functions.
 1.2.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.16.1  10-Jun-2019  christos Sync with HEAD
 1.2.14.1  20-Oct-2018  pgoyette Sync with head
 1.2.8.1  08-Oct-2018  martin Pull up following revision(s) (requested by roy in ticket #1048):

lib/libcurses/curses_private.h: revision 1.66
lib/libcurses/slk.c: revision 1.3
lib/libcurses/slk.c: revision 1.4

curses: declare SLK format as invalid until slk_init(3) called

If we don't, then when __slk_init with a valid format of 0 it sets
up labels to be drawn without a window.

-

curses: once __slk_init is called, reset slk_fmt

This allows soft label keys to be used on more than one terminal.
 1.2.4.2  21-Apr-2017  bouyer Sync with HEAD
 1.2.4.1  30-Jan-2017  bouyer file slk.c was added on branch bouyer-socketcan on 2017-04-21 16:53:10 +0000
 1.2.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1  30-Jan-2017  pgoyette file slk.c was added on branch pgoyette-localcount on 2017-03-20 06:56:59 +0000
 1.20.2.1  21-Dec-2022  martin Pull up following revision(s) (requested by blymn in ticket #15):

lib/libcurses/slk.c: revision 1.21
lib/libcurses/addbytes.c: revision 1.68

Backout change to addnstr that broke other applications as n should be
the number of bytes to add - for multibyte characters n will be > 1.

Fix __slk_draw to pass in the actual length of the label instead of
the default label length because wide characters may make the
actual string length longer than the slk display length.

RSS XML Feed