* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): Handle $'

used as a variable.

Fixes: debbugs:17174
This commit is contained in:
Stefan Monnier 2014-04-02 20:41:09 -04:00
parent 8a7fd44212
commit 062e286b7c
4 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2014-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/perl-mode.el (perl-syntax-propertize-function): Handle $'
used as a variable (bug#17174).
2014-04-02 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/perl-mode.el (perl-indent-new-calculate):

View file

@ -250,7 +250,11 @@
;; Catch ${ so that ${var} doesn't screw up indentation.
;; This also catches $' to handle 'foo$', although it should really
;; check that it occurs inside a '..' string.
("\\(\\$\\)[{']" (1 ". p"))
("\\(\\$\\)[{']" (1 (unless (and (eq ?\' (char-after (match-end 1)))
(save-excursion
(not (nth 3 (syntax-ppss
(match-beginning 0))))))
(string-to-syntax ". p"))))
;; Handle funny names like $DB'stop.
("\\$ ?{?^?[_[:alpha:]][_[:alnum:]]*\\('\\)[_[:alpha:]]" (1 "_"))
;; format statements

View file

@ -4231,7 +4231,7 @@
* frame.c (delete_frame): Block/unblock input to overcome race
condition (Bug#15475).
2013-09-29 Andreas Politz <politza@hochschule-trier.de> (tiny change)
2013-09-29 Andreas Politz <politza@hochschule-trier.de>
* frame.c (delete_frame): Record selected frame only after
calling Qdelete_frame_functions (Bug#15477).

View file

@ -16,5 +16,9 @@
bar
EOF2
print $'; # This should not start a string!
print "hello" for /./;
$fileType_filesButNot # bug#12373?
= join( '|', map { quotemeta($_).'$' } @{$fileType->{filesButNot}} );