# HG changeset patch # User Stefan Monnier # Date 1146029199 0 # Node ID 7a59f2600206a0c8c73a109195d7144e0dfb33f7 # Parent d84cbfb84b064dc4d309b7e99a44adbcfe8ae5b5 (python-continuation-line-p, python-beginning-of-statement): syntax-ppss may return a negative depth. diff -r d84cbfb84b06 -r 7a59f2600206 lisp/ChangeLog --- a/lisp/ChangeLog Wed Apr 26 05:25:32 2006 +0000 +++ b/lisp/ChangeLog Wed Apr 26 05:26:39 2006 +0000 @@ -1,5 +1,9 @@ 2006-04-26 Stefan Monnier + * progmodes/python.el (python-continuation-line-p) + (python-beginning-of-statement): syntax-ppss may return + a negative depth. + * time-stamp.el (time-stamp-start, time-stamp-end) (time-stamp-inserts-lines): Tighten up a bit the safety predicate. diff -r d84cbfb84b06 -r 7a59f2600206 lisp/progmodes/python.el --- a/lisp/progmodes/python.el Wed Apr 26 05:25:32 2006 +0000 +++ b/lisp/progmodes/python.el Wed Apr 26 05:26:39 2006 +0000 @@ -292,9 +292,9 @@ comments and strings, or that the bracket/paren nesting depth is nonzero." (or (and (eq ?\\ (char-before (line-end-position 0))) (not (syntax-ppss-context (syntax-ppss)))) - (/= 0 (syntax-ppss-depth - (save-excursion ; syntax-ppss with arg changes point - (syntax-ppss (line-beginning-position))))))) + (< 0 (syntax-ppss-depth + (save-excursion ; syntax-ppss with arg changes point + (syntax-ppss (line-beginning-position))))))) (defun python-comment-line-p () "Return non-nil iff current line has only a comment." @@ -719,7 +719,10 @@ (python-beginning-of-string) ;; Skip forward out of nested brackets. (condition-case () ; beware invalid syntax - (progn (backward-up-list (syntax-ppss-depth (syntax-ppss))) t) + (let ((depth (syntax-ppss-depth (syntax-ppss)))) + ;; Beware negative depths. + (if (> depth 0) (backward-up-list depth)) + t) (error (throw 'foo nil)))))) (back-to-indentation)) @@ -1755,7 +1758,6 @@ (if (featurep 'hippie-exp) (set (make-local-variable 'hippie-expand-try-functions-list) (cons 'python-try-complete hippie-expand-try-functions-list))) - (unless font-lock-mode (font-lock-mode 1)) (when python-guess-indent (python-guess-indent)) (set (make-local-variable 'python-command) python-python-command) (unless (boundp 'python-mode-running) ; kill the recursion from jython-mode