this began as a one-word change to the spec (manpage): that
${foo:1:2} operates on characters ipv bytes – which means: ‣ set +U: octets ‣ set -U: MirOS OPTU-8 characters for consistency I also adapted ${#stringname} to deliver the length in characters ipv bytes; more may follow; for example I’d like a way to expose the string width. you can already get the MirOS OPTU-16 of a character in the WTF-8 (「set -U」) mode with something like │ typeset -Uui16 -Z7 x=1#${stringname:position:1} which will correctly use the PUA EF80‥EFFF mapping for octets. due to this being an incompatible change, bump to R38 also change the unicode-hexdump sample regression test and add two news for ${x:1:2} and ${#x} checks in A/W mode ☺
This commit is contained in:
4
sh.h
4
sh.h
@ -102,9 +102,9 @@
|
||||
#define __SCCSID(x) __IDSTRING(sccsid,x)
|
||||
|
||||
#ifdef EXTERN
|
||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.295 2009/05/16 15:09:07 tg Exp $");
|
||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.296 2009/05/16 15:53:02 tg Exp $");
|
||||
#endif
|
||||
#define MKSH_VERSION "R37 2009/05/16"
|
||||
#define MKSH_VERSION "R38 2009/05/16"
|
||||
|
||||
#ifndef MKSH_INCLUDES_ONLY
|
||||
|
||||
|
Reference in New Issue
Block a user