Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: [[:ascii:]]
- X-seq: zsh-workers 15765
- From: Clint Adams <clint@xxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: PATCH: [[:ascii:]]
- Date: Sun, 9 Sep 2001 00:22:16 -0400
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
This adds the [:ascii:] class.
Index: Doc/Zsh/expn.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/expn.yo,v
retrieving revision 1.37
diff -u -r1.37 expn.yo
--- Doc/Zsh/expn.yo 2001/08/25 17:11:00 1.37
+++ Doc/Zsh/expn.yo 2001/09/09 04:20:05
@@ -1178,6 +1178,7 @@
There are also several named classes of characters, in the form
`tt([:)var(name)tt(:])' with the following meanings: `tt([:alnum:])'
alphanumeric, `tt([:alpha:])' alphabetic,
+`tt([:ascii:])' 7-bit,
`tt([:blank:])' space or tab,
`tt([:cntrl:])' control character, `tt([:digit:])' decimal
digit, `tt([:graph:])' printable character except whitespace,
Index: Src/pattern.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/pattern.c,v
retrieving revision 1.9
diff -u -r1.9 pattern.c
--- Src/pattern.c 2001/02/18 00:58:08 1.9
+++ Src/pattern.c 2001/09/09 04:20:07
@@ -158,18 +158,19 @@
*/
#define PP_ALPHA 1
#define PP_ALNUM 2
-#define PP_BLANK 3
-#define PP_CNTRL 4
-#define PP_DIGIT 5
-#define PP_GRAPH 6
-#define PP_LOWER 7
-#define PP_PRINT 8
-#define PP_PUNCT 9
-#define PP_SPACE 10
-#define PP_UPPER 11
-#define PP_XDIGIT 12
-#define PP_UNKWN 13
-#define PP_RANGE 14
+#define PP_ASCII 3
+#define PP_BLANK 4
+#define PP_CNTRL 5
+#define PP_DIGIT 6
+#define PP_GRAPH 7
+#define PP_LOWER 8
+#define PP_PRINT 9
+#define PP_PUNCT 10
+#define PP_SPACE 11
+#define PP_UPPER 12
+#define PP_XDIGIT 13
+#define PP_UNKWN 14
+#define PP_RANGE 15
#define P_OP(p) ((p)->l & 0xff)
#define P_NEXT(p) ((p)->l >> 8)
@@ -928,6 +929,8 @@
ch = PP_ALPHA;
else if (!strncmp(patparse, "alnum", len))
ch = PP_ALNUM;
+ else if (!strncmp(patparse, "ascii", len))
+ ch = PP_ASCII;
else if (!strncmp(patparse, "blank", len))
ch = PP_BLANK;
else if (!strncmp(patparse, "cntrl", len))
@@ -2185,6 +2188,10 @@
break;
case PP_ALNUM:
if (isalnum(ch))
+ return 1;
+ break;
+ case PP_ASCII:
+ if ((ch & ~0x7f) == 0)
return 1;
break;
case PP_BLANK:
Messages sorted by:
Reverse Date,
Date,
Thread,
Author