changeset 70219:7a59f2600206

(python-continuation-line-p, python-beginning-of-statement): syntax-ppss may return a negative depth.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 26 Apr 2006 05:26:39 +0000
parents d84cbfb84b06
children 30348fc29fd7
files lisp/ChangeLog lisp/progmodes/python.el
diffstat 2 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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  <monnier@iro.umontreal.ca>
 
+	* 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.
 
--- 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