summaryrefslogtreecommitdiff
path: root/regexp.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-02-02 20:26:13 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-02-02 20:26:13 +0000
commit2ea5368eec00a6a4d3e08c275dd2d8de83e01d35 (patch)
tree5272314280f11b04db061fc635d5be9fba5be2b8 /regexp.h
parent1055ec1374a42914e0ef4e3298b31f3899b5a7bd (diff)
downloadperl-2ea5368eec00a6a4d3e08c275dd2d8de83e01d35.tar.gz
Integrate:
[ 18621] Fix and test for [perl #15549 Empty \Q\E not permitted] (test.pl-ise quotemeta.t, too) [ 18622] minitest wasn't working. (The $^X /miniperl/ test in io/crlf.t didn't work in Tru64, $^X was "./perl", used the same 'eval q/use .../' trick everywhere.) [ 18624] Plan 9: doesn't really do Configure (undo #18585/#18586) [ 18626] Plan 9: No Configure. [ 18627] Plan 9: Update the list of object files. [ 18628] Plan 9: Update config.plan9 based on Russ Cox' work. [ 18629] Plan 9: Supply also Russ Cox' original config.h for 5.8.0. [ 18630] [perl #15397] seems to have been fixed; add its test. [ 18631] The [perl #7471] seems to have been fixed; add its test. [ 18632] Also [perl #3547] has been fixed; add its test case. [ 18633] Subject: [perl #18232] [PATCH] store PL_reg_match_utf8 in reganch From: Rafael Garcia-Suarez <rgarciasuarez@free.fr> Date: Wed, 22 Jan 2003 22:35:56 +0100 Message-Id: <20030122223556.57d597a3.rgarciasuarez@free.fr> [ 18634] Subject: [PATCH] pod/perlfunc.pod From: abigail@abigail.nl Date: Sun, 2 Feb 2003 16:59:48 +0100 Message-Id: <20030202155948.7971.qmail@abigail.nl> [ 18635] Plan 9: Add also config.sh sample for 5.8.0 from Russ Cox. [ 18636] Subject: Re: typo in checkin 18616 From: Nick Ing-Simmons <nick@ing-simmons.net> Date: Sun, 02 Feb 2003 17:23:08 +0000 Message-Id: <20030202172308.9244.1@bactrian.ni-s.u-net.com> [ 18637] Plan 9: Some time has passed. p4raw-link: @18637 on //depot/perl: 6bcd9130d180dcc5fa05ebcff16b88ac3339b31d p4raw-link: @18636 on //depot/perl: b6d726d6151ea6181b3dfcc77fb660af507482eb p4raw-link: @18635 on //depot/perl: eb0a3b56d1ba04907b94a06e736e7ec4a4faea46 p4raw-link: @18634 on //depot/perl: 5da728e280c9c9d54469fad3da64edcc1d552ca3 p4raw-link: @18633 on //depot/perl: a30b2f1f43446bf5477e7baa5fee5d5c59659ce6 p4raw-link: @18632 on //depot/perl: ec3916884f8b516a101ac0b622cd88ae38c1b49d p4raw-link: @18631 on //depot/perl: fbeb8e69a2839da21922b2334a124af719d18406 p4raw-link: @18630 on //depot/perl: ce97f9d69d26783e9803b3879ab49cfe84d4b1ab p4raw-link: @18629 on //depot/perl: 8341137e73854ccf1c8dbefcce353c69591ebb68 p4raw-link: @18628 on //depot/perl: c14fff5e7ed99f12e11319718e8c9bbf0c8c3614 p4raw-link: @18627 on //depot/perl: fffee6a2e1760c8de6cd7a1a8d37b899d7da6390 p4raw-link: @18626 on //depot/perl: cbee2ce6415703614b5d2d3cc8308adf35811c9f p4raw-link: @18624 on //depot/perl: 76f47787f7c83dea9178a25fbeb7daf146898ee4 p4raw-link: @18622 on //depot/perl: 7aae9294ce1130ca3d4d220d2871f86359f3f256 p4raw-link: @18621 on //depot/perl: 6e909404a2579c635b9578c0b6ce5416a5ed7b0b p4raw-id: //depot/maint-5.8/perl@18638 p4raw-branched: from //depot/perl@18619 'branch in' plan9/config_h.sample plan9/config_sh.sample p4raw-integrated: from //depot/perl@18619 'copy in' plan9/buildinfo (@1575..) t/op/quotemeta.t (@6874..) plan9/config.plan9 (@14374..) regexp.h (@14400..) t/uni/tr_eucjp.t (@18125..) t/io/crlf.t (@18164..) t/uni/tr_7jis.t t/uni/tr_sjis.t (@18175..) t/uni/tr_utf8.t (@18496..) plan9/mkfile (@18594..) XSUB.h (@18616..) t/op/pat.t (@18632..) 'edit in' Configure (@18624..) 'merge in' pod/perlfunc.pod (@18482..) pp.c (@18496..) pp_hot.c (@18522..) toke.c (@18571..) mg.c (@18589..) pp_ctl.c (@18596..) regexec.c (@18609..) MANIFEST (@18629..)
Diffstat (limited to 'regexp.h')
-rw-r--r--regexp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/regexp.h b/regexp.h
index 81552baf6c..05640548b1 100644
--- a/regexp.h
+++ b/regexp.h
@@ -71,6 +71,7 @@ typedef struct regexp {
#define ROPT_NAUGHTY 0x20000 /* how exponential is this pattern? */
#define ROPT_COPY_DONE 0x40000 /* subbeg is a copy of the string */
#define ROPT_TAINTED_SEEN 0x80000
+#define ROPT_MATCH_UTF8 0x10000000 /* subbeg is utf-8 */
#define RE_USE_INTUIT_NOML 0x0100000 /* Best to intuit before matching */
#define RE_USE_INTUIT_ML 0x0200000
@@ -99,6 +100,13 @@ typedef struct regexp {
? RX_MATCH_COPIED_on(prog) \
: RX_MATCH_COPIED_off(prog))
+#define RX_MATCH_UTF8(prog) ((prog)->reganch & ROPT_MATCH_UTF8)
+#define RX_MATCH_UTF8_on(prog) ((prog)->reganch |= ROPT_MATCH_UTF8)
+#define RX_MATCH_UTF8_off(prog) ((prog)->reganch &= ~ROPT_MATCH_UTF8)
+#define RX_MATCH_UTF8_set(prog, t) ((t) \
+ ? (RX_MATCH_UTF8_on(prog), (PL_reg_match_utf8 = 1)) \
+ : (RX_MATCH_UTF8_off(prog), (PL_reg_match_utf8 = 0)))
+
#define REXEC_COPY_STR 0x01 /* Need to copy the string. */
#define REXEC_CHECKED 0x02 /* check_substr already checked. */
#define REXEC_SCREAM 0x04 /* use scream table. */