diff options
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/progmodes/perl-mode.el | 6 | ||||
| -rw-r--r-- | src/ChangeLog | 2 | ||||
| -rwxr-xr-x | test/indent/perl.perl | 4 |
4 files changed, 15 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 740d95c29e1..5ea2d4483c4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-04-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * progmodes/perl-mode.el (perl-syntax-propertize-function): Handle $' | ||
| 4 | used as a variable (bug#17174). | ||
| 5 | |||
| 1 | 2014-04-02 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2014-04-02 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * progmodes/perl-mode.el (perl-indent-new-calculate): | 8 | * progmodes/perl-mode.el (perl-indent-new-calculate): |
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index cf9347d0e6d..3486c0a1983 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el | |||
| @@ -250,7 +250,11 @@ | |||
| 250 | ;; Catch ${ so that ${var} doesn't screw up indentation. | 250 | ;; Catch ${ so that ${var} doesn't screw up indentation. |
| 251 | ;; This also catches $' to handle 'foo$', although it should really | 251 | ;; This also catches $' to handle 'foo$', although it should really |
| 252 | ;; check that it occurs inside a '..' string. | 252 | ;; check that it occurs inside a '..' string. |
| 253 | ("\\(\\$\\)[{']" (1 ". p")) | 253 | ("\\(\\$\\)[{']" (1 (unless (and (eq ?\' (char-after (match-end 1))) |
| 254 | (save-excursion | ||
| 255 | (not (nth 3 (syntax-ppss | ||
| 256 | (match-beginning 0)))))) | ||
| 257 | (string-to-syntax ". p")))) | ||
| 254 | ;; Handle funny names like $DB'stop. | 258 | ;; Handle funny names like $DB'stop. |
| 255 | ("\\$ ?{?^?[_[:alpha:]][_[:alnum:]]*\\('\\)[_[:alpha:]]" (1 "_")) | 259 | ("\\$ ?{?^?[_[:alpha:]][_[:alnum:]]*\\('\\)[_[:alpha:]]" (1 "_")) |
| 256 | ;; format statements | 260 | ;; format statements |
diff --git a/src/ChangeLog b/src/ChangeLog index 18b643bfe28..6f42a46cbd4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -4231,7 +4231,7 @@ | |||
| 4231 | * frame.c (delete_frame): Block/unblock input to overcome race | 4231 | * frame.c (delete_frame): Block/unblock input to overcome race |
| 4232 | condition (Bug#15475). | 4232 | condition (Bug#15475). |
| 4233 | 4233 | ||
| 4234 | 2013-09-29 Andreas Politz <politza@hochschule-trier.de> (tiny change) | 4234 | 2013-09-29 Andreas Politz <politza@hochschule-trier.de> |
| 4235 | 4235 | ||
| 4236 | * frame.c (delete_frame): Record selected frame only after | 4236 | * frame.c (delete_frame): Record selected frame only after |
| 4237 | calling Qdelete_frame_functions (Bug#15477). | 4237 | calling Qdelete_frame_functions (Bug#15477). |
diff --git a/test/indent/perl.perl b/test/indent/perl.perl index 69c1f90c807..7cb877b0a95 100755 --- a/test/indent/perl.perl +++ b/test/indent/perl.perl | |||
| @@ -16,5 +16,9 @@ EOF1 | |||
| 16 | bar | 16 | bar |
| 17 | EOF2 | 17 | EOF2 |
| 18 | 18 | ||
| 19 | print $'; # This should not start a string! | ||
| 20 | |||
| 21 | print "hello" for /./; | ||
| 22 | |||
| 19 | $fileType_filesButNot # bug#12373? | 23 | $fileType_filesButNot # bug#12373? |
| 20 | = join( '|', map { quotemeta($_).'$' } @{$fileType->{filesButNot}} ); | 24 | = join( '|', map { quotemeta($_).'$' } @{$fileType->{filesButNot}} ); |