The NetBSD Project

CVS log for src/lib/libcurses/ins_wstr.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libcurses

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.24 / (download) - annotate - [select for diffs], Wed Oct 19 06:09:27 2022 UTC (18 months ago) by blymn
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.23: +13 -5 lines
Diff to previous 1.23 (unified)

Fixes for lib/56926 amongst other things:
 - 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.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Apr 12 07:03:04 2022 UTC (2 years ago) by blymn
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (unified)

Make the default colour pair be pair 0 which appears to match other
curses implementations.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Jan 25 03:05:06 2022 UTC (2 years, 2 months ago) by blymn
Branch: MAIN
Changes since 1.21: +6 -6 lines
Diff to previous 1.21 (unified)

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.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Jan 16 10:30:45 2022 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.20: +4 -5 lines
Diff to previous 1.20 (unified)

libcurses: remove unreachable statements

Found by lint.

No binary change.

Revision 1.20 / (download) - annotate - [select for diffs], Tue Nov 16 23:23:02 2021 UTC (2 years, 5 months ago) by kre
Branch: MAIN
Changes since 1.19: +9 -3 lines
Diff to previous 1.19 (unified)


Move 'i' into DEBUG only code (now there be three).
Hopefully unbreaks !DEBUG builds.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Nov 16 21:00:50 2021 UTC (2 years, 5 months ago) by blymn
Branch: MAIN
Changes since 1.18: +16 -13 lines
Diff to previous 1.18 (unified)

Fix handling of the tab special character.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Nov 15 06:27:06 2021 UTC (2 years, 5 months ago) by blymn
Branch: MAIN
Changes since 1.17: +226 -137 lines
Diff to previous 1.17 (unified)

Fix for PR lib/55433

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.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Sep 6 07:45:48 2021 UTC (2 years, 7 months ago) by rin
Branch: MAIN
Changes since 1.16: +5 -5 lines
Diff to previous 1.16 (unified)

Style fixes most for __CTRACE().

Revision 1.16 / (download) - annotate - [select for diffs], Mon Sep 6 07:03:49 2021 UTC (2 years, 7 months ago) by rin
Branch: MAIN
Changes since 1.15: +2 -16 lines
Diff to previous 1.15 (unified)

Expand __CTRACE() to __nothing #ifndef DEBUG.

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

No binary changes, except for line numbers for assert().

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Tue Jul 7 12:48:42 2020 UTC (3 years, 9 months ago) by martin
Branch: netbsd-8
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 (unified) next main 1.12 (unified)

Pull up following revision(s) (requested by uwe in ticket #1567):

	lib/libcurses/insch.c: revision 1.26
	lib/libcurses/ins_wch.c: revision 1.15
	lib/libcurses/ins_wstr.c: revision 1.15
	lib/libcurses/insstr.c: revision 1.8

mvwins*(WINDOW *win, ...) functions - call wins* on win, not stdscr.
From Naman Jain in PR lib/55460.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Tue Jul 7 12:43:51 2020 UTC (3 years, 9 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (unified) next main 1.15 (unified)

Pull up following revision(s) (requested by uwe in ticket #986):

	lib/libcurses/insch.c: revision 1.26
	lib/libcurses/ins_wch.c: revision 1.15
	lib/libcurses/ins_wstr.c: revision 1.15
	lib/libcurses/insstr.c: revision 1.8

mvwins*(WINDOW *win, ...) functions - call wins* on win, not stdscr.
From Naman Jain in PR lib/55460.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jul 6 22:46:50 2020 UTC (3 years, 9 months ago) by uwe
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (unified)

mvwins*(WINDOW *win, ...) functions - call wins* on win, not stdscr.
From Naman Jain in PR lib/55460.

Revision 1.11.12.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:22 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.11: +2 -6 lines
Diff to previous 1.11 (unified) next main 1.12 (unified)

Sync with HEAD

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jun 9 07:40:14 2019 UTC (4 years, 10 months ago) by blymn
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, is-mlppp-base, is-mlppp
Branch point for: netbsd-9
Changes since 1.13: +4 -4 lines
Diff to previous 1.13 (unified)

Rework previous fix for getch cursor position when cursor is moved
without refresh.  If the window is not dirty but the window cursor
position does not match curscr then move the cursor.  This fixes
the issues seen in PR lib/54263.

Revision 1.13 / (download) - annotate - [select for diffs], Mon May 20 22:17:41 2019 UTC (4 years, 11 months ago) by blymn
Branch: MAIN
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (unified)

Back out incorrect fix for PR 53617 and fix it in a different way.
Keep track of the cursor location, if getch is called without a refresh
and without pending updates (dirty windows) then move the cursor to the
correct location directly.  Doing this prevents unnecessary refreshes.

Revision 1.11.10.1 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:12 2018 UTC (5 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.11: +2 -6 lines
Diff to previous 1.11 (unified) next main 1.12 (unified)

Sync with HEAD, resolve a couple of conflicts

Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 22 22:16:45 2018 UTC (5 years, 4 months ago) by uwe
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126
Changes since 1.11: +2 -6 lines
Diff to previous 1.11 (unified)

Drop HAVE_WCHAR ifdefs from code that is not even compiled with !HAVE_WCHAR.

We still try to mainain the ability to build our curses with
!HAVE_WCHAR, but it doesn't make sense to provide stubs for new wide
API functions that just error out when !HAVE_WCHAR.  Any code that
only uses old API (and can work with !HAVE_WCHAR curses) doesn't use
those new functions.  The code that uses new API obviosly cannot work
when all the new API is stubbed out.

So the plan is to drop the stubs.  This commit does that for files
that are not even compiled with !HAVE_WCHAR (not only those stubs are
useless, they were not even there to begin with).

Same object code is generated for the normal HAVE_WCHAR case.  Nothing
is even recompiled for !HAVE_WCHAR.

Ok by blymn@ jdc@ roy@

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:10 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.9: +4 -5 lines
Diff to previous 1.9 (unified) next main 1.10 (unified)

Sync with HEAD

Revision 1.7.8.3 / (download) - annotate - [select for diffs], Mon Mar 20 06:56:59 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.7.8.2: +4 -5 lines
Diff to previous 1.7.8.2 (unified) to branchpoint 1.7 (unified) next main 1.8 (unified)

Sync with HEAD

Revision 1.11 / (download) - annotate - [select for diffs], Tue Jan 31 09:17:53 2017 UTC (7 years, 2 months ago) by roy
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-compat-base, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek, bouyer-socketcan-base1
Branch point for: phil-wifi, pgoyette-compat, netbsd-8
Changes since 1.10: +4 -6 lines
Diff to previous 1.10 (unified)

Move ESCDELAY to curses.c so all globals are close to each other.
Remove _reentrant and use ESCDELAY and TABSIZE as we're not really
reentrant.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Jan 30 14:55:58 2017 UTC (7 years, 2 months ago) by roy
Branch: MAIN
Changes since 1.9: +4 -3 lines
Diff to previous 1.9 (unified)

If either set_escdelay(3) or set_tabsize(3) are called, set _reentrant
to ensure we use the saved value for the sceen.

This effectively makes ESCDELAY and TABSIZE read-only when either
of these functions are called.

Revision 1.7.8.2 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:04 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.7.8.1: +3 -2 lines
Diff to previous 1.7.8.1 (unified) to branchpoint 1.7 (unified)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.9 / (download) - annotate - [select for diffs], Mon Jan 2 10:28:34 2017 UTC (7 years, 3 months ago) by roy
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.8: +3 -2 lines
Diff to previous 1.8 (unified)

Implement POSIX Curses functions immedok(3) and syncok(3).

Revision 1.7.8.1 / (download) - annotate - [select for diffs], Fri Nov 4 14:48:53 2016 UTC (7 years, 5 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (unified)

Sync with HEAD

Revision 1.8 / (download) - annotate - [select for diffs], Sat Oct 22 21:55:06 2016 UTC (7 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (unified)

remove bogus malloc casts

Revision 1.6.12.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:17 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.6: +6 -5 lines
Diff to previous 1.6 (unified) next main 1.7 (unified)

Rebase to HEAD as of a few days ago.

Revision 1.6.6.1 / (download) - annotate - [select for diffs], Thu May 22 11:36:55 2014 UTC (9 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.6: +6 -5 lines
Diff to previous 1.6 (unified) next main 1.7 (unified)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.7 / (download) - annotate - [select for diffs], Wed Oct 16 19:59:29 2013 UTC (10 years, 6 months ago) by roy
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.6: +6 -5 lines
Diff to previous 1.6 (unified)

Add TABSIZE, which is derived from terminfo init_tabs.
Use this when processing \t.
If TABSIZE is set in the environment, this takes precedence.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Dec 16 17:42:28 2010 UTC (13 years, 4 months ago) by wiz
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.5: +4 -4 lines
Diff to previous 1.5 (unified)

Observe the following spelling:
- wide character (noun)
- wide-character (adjective)

Inspired by jmc@OpenBSD.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Feb 23 19:48:26 2010 UTC (14 years, 1 month ago) by drochner
Branch: MAIN
Changes since 1.4: +11 -3 lines
Diff to previous 1.4 (unified)

misc fixes and improvements:
-call setlocale(LC_CTYPE, "") before nl_langinfo(CODESET) if the
 locale settings is (still) at "C" - otherwise the CODESET doesn't work
-fix the type of the WACS_* symbols -- this needs to be cchar_t*
-add safeguards where the return value of wcwidth() is used for
 loop counters or indexing -- it can be -1
-use more common code in the widechar support case -- in particular
 let the wchar functions do the work even if chtype ones were called
-implement wcursyncup/wsyncup/wsyncdown
-somewhat experimental: allow ACS_* variables to refer to WACS_*
 table entries -- this way, programs using the old chtype using API
 can use UTF8 line drawing on terminals which support UTF8 but not
 ACS switching
-fix some logics bugs in UTF8 recognition and ALTCHARSET handling

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jul 22 16:57:15 2009 UTC (14 years, 9 months ago) by roy
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.3: +14 -14 lines
Diff to previous 1.3 (unified)

Prepare curses for the possibility of changing from termcap to terminfo.
term.h #defines lines, pad_char and no_color_video macros which conflict
with existing curses code. We change lines to alines and nlines depending
on use, pad_char to padchar and no_color_video becomes no_color_attributes
but with a strong alias from no_color_video.

Revision 1.3 / (download) - annotate - [select for diffs], Tue May 29 11:10:56 2007 UTC (16 years, 10 months ago) by blymn
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, mjf-devfs2, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-base, keiichi-mipv6, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf
Changes since 1.2: +2 -5 lines
Diff to previous 1.2 (unified)

Fix some compiler warnings.
Remove shadowed variable declarations when DEBUG is defined.

Revision 1.2 / (download) - annotate - [select for diffs], Mon May 28 15:01:56 2007 UTC (16 years, 10 months ago) by blymn
Branch: MAIN
Changes since 1.1: +35 -31 lines
Diff to previous 1.1 (unified)

Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sun Jan 21 17:43:35 2007 UTC (17 years, 3 months ago) by jdc
Branch: wcurses
Changes since 1.1.2.1: +35 -31 lines
Diff to previous 1.1.2.1 (unified) next main 1.2 (unified)

Apply the changes that add debug "areas" on HEAD to the wcurses branch.
Add correspending changes to the debug code that is only present on the branch.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Sun Jan 21 12:05:54 2007 UTC (17 years, 3 months ago) by blymn
Branch: wcurses
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (unified)

Merge wide curses.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jan 21 11:38:59 2007 UTC (17 years, 3 months ago) by blymn
Branch: MAIN
Branch point for: wcurses

Wide curses merge

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>