summaryrefslogtreecommitdiff
path: root/opnames.h
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2012-01-12 17:22:05 -0300
committerKarl Williamson <public@khwilliamson.com>2012-01-29 10:07:40 -0700
commit838f2281125c4e0f98e5d741f9058f09c8242d33 (patch)
tree6fa3458446be72105180d95d66cf87a1d3b7cf3b /opnames.h
parent2a4315f8fb099a3fd3bbd5d9994af3919a6c5b05 (diff)
downloadperl-838f2281125c4e0f98e5d741f9058f09c8242d33.tar.gz
Implement the fc keyword and the \F string escape.
Along with the simple_casefolding and full_casefolding features. fc() stands for foldcase, a sort of pseudo case (like lowercase), which is used to implement Unicode casefolding. It maps a string to a form where all case differences are erased, so it's a locale-independent way of checking if two strings are the same, regardless of case. This functionality was, and still is, available through the regular expression engine -- /i matches would use casefolding internally. The fc keyword merely exposes this for easier access. Previously, one could attempt to case-insensitively test two strings for equality by doing lc($a) eq lc($b) But that might get you wrong results, for example in the case of \x{DF}, LATIN SMALL LETTER SHARP S.
Diffstat (limited to 'opnames.h')
-rw-r--r--opnames.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/opnames.h b/opnames.h
index 5d855ec447..8b6a39a161 100644
--- a/opnames.h
+++ b/opnames.h
@@ -387,10 +387,11 @@ typedef enum opcode {
OP_RVALUES = 370,
OP_COREARGS = 371,
OP_RUNCV = 372,
+ OP_FC = 373,
OP_max
} opcode;
-#define MAXO 373
+#define MAXO 374
/* the OP_IS_* macros are optimized to a simple range check because
all the member OPs are contiguous in regen/opcodes table.