| 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 */ |