summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2007-03-01 15:07:45 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2007-03-01 15:07:45 +0000
commitfc553234b5d93ae3ab0235b00a3d9fbcc5e74f4c (patch)
tree91df253db3fcca09529a0e960bb89399e393a1ed
parent404a2a4b527cf3c87783173b13b47a1787dcd6f2 (diff)
downloademacs-fc553234b5d93ae3ab0235b00a3d9fbcc5e74f4c.tar.gz
(python-quote-syntax): Don't bother with syntax-ppss-context.
(python-fill-paragraph): Make sure that fenced-string delimiters that stand on their own line stay there
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/progmodes/python.el23
2 files changed, 20 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 6e4800031e6..9526dbfb9fe 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2007-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/python.el (python-quote-syntax): Don't bother with
+ syntax-ppss-context.
+ (python-fill-paragraph): Make sure that fenced-string delimiters that
+ stand on their own line stay there
+
2007-03-01 Lennart Borgman <lennart.borgman.073@student.lu.se>
* replace.el (perform-replace): Propertize message.
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index f94a3d63653..38e846aa2cc 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -163,7 +163,7 @@ Used for syntactic keywords. N is the match number (1, 2 or 3)."
(= (match-beginning 1) (match-end 1))) ; prefix is null
(and (= n 1) ; prefix
(/= (match-beginning 1) (match-end 1)))) ; non-empty
- (unless (eq 'string (syntax-ppss-context (syntax-ppss)))
+ (unless (nth 3 (syntax-ppss))
(eval-when-compile (string-to-syntax "|"))))
;; Otherwise (we're in a non-matching string) the property is
;; nil, which is OK.
@@ -1743,12 +1743,11 @@ Otherwise, do nothing."
(orig (point))
(start (nth 8 syntax))
end)
- (cond ((eq t (nth 3 syntax)) ; in fenced string
- (goto-char (nth 8 syntax)) ; string start
- (condition-case () ; for unbalanced quotes
- (progn (forward-sexp)
- (setq end (point)))
- (error (setq end (point-max)))))
+ (cond ((eq t (nth 3 syntax)) ; in fenced string
+ (goto-char (nth 8 syntax)) ; string start
+ (setq end (condition-case () ; for unbalanced quotes
+ (progn (forward-sexp) (point))
+ (error (point-max)))))
((re-search-backward "\\s|\\s-*\\=" nil t) ; end of fenced
; string
(forward-char)
@@ -1756,13 +1755,17 @@ Otherwise, do nothing."
(condition-case ()
(progn (backward-sexp)
(setq start (point)))
- (error nil))))
+ (error (setq end nil)))))
(when end
(save-restriction
(narrow-to-region start end)
(goto-char orig)
- (fill-paragraph justify))))))
- t)
+ (let ((paragraph-separate
+ ;; Make sure that fenced-string delimiters that stand
+ ;; on their own line stay there.
+ (concat "[ \t]*['\"]+[ \t]*$\\|" paragraph-separate)))
+ (fill-paragraph justify))))))
+ t))
(defun python-shift-left (start end &optional count)
"Shift lines in region COUNT (the prefix arg) columns to the left.