(py-goto-beginning-of-tqs): When searching backwards for the matching

delimiter, watch out for backslash escaped delimiters.  Also use =
instead of eq for character comparison (because a character is = to
it's integer value, but not eq to it).
This commit is contained in:
Barry Warsaw 2000-10-27 05:00:25 +00:00
parent 08a8a355be
commit 3c34bb33ff

View file

@ -2864,12 +2864,16 @@ If nesting level is zero, return nil."
"Go to the beginning of the triple quoted string we find ourselves in.
DELIM is the TQS string delimiter character we're searching backwards
for."
(let ((skip (and delim (make-string 1 delim))))
(let ((skip (and delim (make-string 1 delim)))
(continue t))
(when skip
(save-excursion
(py-safe (search-backward skip))
(if (and (eq (char-before) delim)
(eq (char-before (1- (point))) delim))
(while continue
(py-safe (search-backward skip))
(setq continue (and (not (bobp))
(= (char-before) ?\\))))
(if (and (= (char-before) delim)
(= (char-before (1- (point))) delim))
(setq skip (make-string 3 delim))))
;; we're looking at a triple-quoted string
(py-safe (search-backward skip)))))