| Age | Commit message (Collapse) | Author |
|
|
|
PR misc/57389
|
|
leftover from previous code that makes no sense and makes worms(6)
crash randomly. Thanks to kre@ for reporting this.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
on virtscr and curscr because the indexes past are supposed to be
one *past* the last matching line (they may actually match if the line is
at the bottom of the screen). Iff they don't match reduce the scroll
region size by one so we don't scroll non-matching lines, also check
if the region is then 0 after the decrement and just return if it was.
|
|
of characters to add. Fixes an error detected by slk tests where
a label containing wide characters was not correctly printed.
|
|
This fixes observed behviour in the PR. Allow the cursor to be
moved one past the EOL, if postitioned here then set ISPASTEOL.
also protect out of range access if win->cury is past maxy.
|
|
Perform a sanity check on the window parameter being passed and return
ERR if it is null. This prevents buggy code crashing.
|
|
- plod now correctly accounts for wide characters when plodding
- use erase line when in color mode if the terminal has the capability
- ensure that the CA_CONTINUATION flag is applied consistently to the
subsequent characters in a wide character.
- fix a bunch of refresh bugs that caused inconsistent placement of
wide characters.
|
|
|
|
|
|
|
|
of a window. This fixes the character missing in the LR of a window.
Thanks to uwe@ for pointing this out.
|
|
There is no type named 'boolf', there's only 'bool'.
|
|
rest of line foreground. This fixes a display oddity in mutt.
|
|
|
|
same as the old one. This prevents excessive redraws in some
applications.
* Fix bug introduced when wbkgrndset was fixed, we cannot blindly
replace any instance of the old background character with the new one
because some of those characters were put there by the application
leading to display corruption. So flag characters as background when
they are erased and only update the flagged characters when setting
the background.
|
|
clear the past EOL flags when moving the cursor - they are no longer
valid as move cannot put the cursor past the EOL.
|
|
Actually us x values to recalculate subwin columns.
|
|
* Fix bkgrndset so that it actually sets the background character in
in line with the SUSv2 specification.
* Add an internal function to copy a complex character
* Make the previously static celleq function into a libcurses private
function so that it can be called in other files.
|
|
Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.
|
|
|
|
|
|
curses implementations.
|
|
|
|
|
|
|
|
PR lib/56767.
|
|
* 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.
|
|
Found by lint.
No binary change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hopefully unbreaks !DEBUG builds.
|
|
|
|
Correct the behaviour for ins_wstr:
* Properly check the string will fit by processing any special
characters present when preforming the check.
* Simplify the routine by removing code that duplicates the code in
_cursesi_addwchar and just call _cursesi_addwchar.
|
|
|
|
Don't move the cursor when getch is called if input is not going to
be echoed. Lynx uses the cursor to mark the current selection in a
pop-up, previously the cursor was being relocated when getch was called
which broke the Lynx item marking.
|
|
|
|
Fix build failure when built as libhack, due to missing fileio.h.
IMO, this should be cleaner than generating fileio.h for {get,put}win(3),
that are useless for install media.
|
|
For __newwin() and __resizewin(), the line hash was calculated as if
HAVE_WCHAR is disabled.
Fix this bug by refactoring __hash_line() function, which calculates
the line hash by an appropriate method.
|