File: fontify-punctuation-vars.pl

package info (click to toggle)
emacs 1%3A30.1%2B1-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 187,300 kB
  • sloc: lisp: 1,367,529; ansic: 466,479; objc: 19,117; cpp: 8,817; java: 8,780; sh: 8,119; makefile: 7,288; python: 3,788; perl: 1,788; xml: 1,720; yacc: 1,566; asm: 1,150; php: 1,035; pascal: 1,011; awk: 937; cs: 880; ada: 725; ruby: 658; javascript: 187; erlang: 153; tcl: 16
file content (20 lines) | stat: -rw-r--r-- 1,070 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# The following Perl punctuation variables contain characters which
# are classified as string delimiters in the syntax table.  The mode
# should not be confused by these.
# The corresponding tests check that two consecutive '#' characters
# are seen as comments, not as strings.
my $pre = $`;  ##  $PREMATCH,      use another ` # to balance out
my $pos = $';  ##  $POSTMATCH,     use another ' # to balance out
my $lsp = $";  ##  $LIST_SEPARATOR use another " # to balance out

# In the second level, we use the reference constructor \ on these
# variables.  The backslash is an escape character *only* in strings.
my $ref = \$`; ## \$PREMATCH,      use another ` # to balance out
my $rif = \$'; ## \$POSTMATCH,     use another ' # to balance out
my $raf = \$"; ## \$LIST_SEPARATOR use another " # to balance out

my $opt::s = 0;       ## s is no substitution here
my $opt_s  = 0;       ## s is no substitution here
my %opt = (s => 0);   ## s is no substitution here
$opt{s} = 0;          ## s is no substitution here
$opt_s =~ /\s+.../    ## s is no substitution here