TODO: http://www.cl.cam.ac.uk/~mgk25/ucs/scw-proposal.html
-TODO: wcwidth optimisaiton for <= 0xff is bogus, go to 0x7f or measure (Dai.H.)
TODO: strwidth bug
TODO:
TODO: 0:52 <mmc> I think, that urxvt has the same bug as rxvt: FocusIn detail=NotifyPointer
TODO: 9:55 <Wolf_on_Air> URxvt.keysym.M-c: perl:clipboard:copy
TODO: 9:55 <Wolf_on_Air> URxvt.keysym.M-v: perl:clipboard:paste
TODO: http://triplefusion.net/system/macosx-clipboard
-8.
- - secondaryScroll is now enable by default (as per the manpage),
+8.
+ - fix the assumption that chars < 256 are single-width. Now
+ only assume this for codepoints 32 to 126 (reported by Dai.H.).
+ - secondaryScroll is now enabled by default (as per the manpage),
reported by exg.
- correct the description of [percent]color rgba format in the manpage.
*/
#define dLocal(type,name) type const name = this->name
-// for speed reasons, we assume that all latin1 characters
-// are single-width (the first unicode combining character
-// is actually 0x300, but ascii is what matters most).
-#define WCWIDTH(c) ((c) & ~0xff ? wcwidth (c) : 1)
+// for speed reasons, we assume that all codepoints 32 to 126 are
+// single-width.
+#define WCWIDTH(c) (IN_RANGE_INC (c, 0x20, 0x7e) ? 1 : wcwidth (c))
/* convert pixel dimensions to row/column values. Everything as int32_t */
#define Pixel2Col(x) Pixel2Width((int32_t)(x))