4625 |
nothing is done here and it is handled during the compiling |
nothing is done here and it is handled during the compiling |
4626 |
process. |
process. |
4627 |
|
|
4628 |
|
We allow for more than one options setting at the start. If such |
4629 |
|
settings do not change the existing options, nothing is compiled. |
4630 |
|
However, we must leave space just in case something is compiled. |
4631 |
|
This can happen for pathological sequences such as (?i)(?-i) |
4632 |
|
because the global options will end up with -i set. The space is |
4633 |
|
small and not significant. (Before I did this there was a reported |
4634 |
|
bug with (?i)(?-i) in a machine-generated pattern.) |
4635 |
|
|
4636 |
[Historical note: Up to Perl 5.8, options settings at top level |
[Historical note: Up to Perl 5.8, options settings at top level |
4637 |
were always global settings, wherever they appeared in the pattern. |
were always global settings, wherever they appeared in the pattern. |
4638 |
That is, they were equivalent to an external setting. From 5.8 |
That is, they were equivalent to an external setting. From 5.8 |
4645 |
options = (options | set) & (~unset); |
options = (options | set) & (~unset); |
4646 |
set = unset = 0; /* To save length */ |
set = unset = 0; /* To save length */ |
4647 |
item_count--; /* To allow for several */ |
item_count--; /* To allow for several */ |
4648 |
|
length += 2; |
4649 |
} |
} |
4650 |
|
|
4651 |
/* Fall through */ |
/* Fall through */ |