Barry Warsaw <ba...@python.org> writes: > On Mar 13, 2011, at 12:49 PM, Andrea Crotti wrote: > >>I get a strange error when I have a situation like this: >>--8<---------------cut here---------------start------------->8--- >> 1 class Foo(object): >> 2 """ >> 3 Some doc >> 4 """ >> 5=09 >>--8<---------------cut here---------------end--------------->8--- >>if I go to line 5 and press tab I get the error as below, using: >>GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.0) of >>2011-03-04 >>and python-mode from bzr (can I get automatically the revision from emacs= ?) > > I cannot reproduce this with Emacs 23.2.1 on Ubuntu Natty and python-mode= .el > r400. > > -Barry >
I thought it was something else interfering, but I've: - update to rev400 - byte-compiled python-mode - started a new emacs24 -Q in the scratch buffer wrote as above, and still the same error... --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (wrong-type-argument integerp t) make-string(1 t) (and delim (make-string 1 delim)) (let ((skip (and delim (make-string 1 delim))) (continue t)) (when skip (= save-excursion (while continue (py-safe (search-backward skip)) (setq conti= nue (and (not (bobp)) (=3D (char-before) 92)))) (if (and (=3D (char-before)= delim) (=3D (char-before (1- ...)) delim)) (setq skip (make-string 3 delim= )))) (py-safe (search-backward skip)))) py-goto-beginning-of-tqs(t) (cond ((or (and (nth 3 pps) (nth 3 boipps)) (and (nth 4 pps) (nth 4 boipp= s))) (save-excursion (if (not py-align-multiline-strings-p) 0 (re-search-ba= ckward "^[ ]*\\([^ \n#]\\|#[ \n]\\)" nil (quote move)) (back-to-indentat= ion) (current-column)))) ((py-continuation-line-p) (let ((startpos (point))= (open-bracket-pos (py-nesting-level)) endpos searching found state cind cl= ine) (if open-bracket-pos (progn (setq endpos (py-point (quote bol))) (py-g= oto-initial-line) (setq cind (current-indentation)) (setq cline cind) (doli= st (bp (nth 9 ...) cind) (if (search-forward "\n" bp t) (setq cline cind)) = (goto-char (1+ bp)) (skip-chars-forward " ") (setq cind (if ... ... ...)))= ) (forward-line -1) (if (py-continuation-line-p) (current-indentation) (end= -of-line) (setq endpos (point) searching t) (back-to-indentation) (setq sta= rtpos (point)) (while searching (skip-chars-forward "^=3D" endpos) (if (=3D= ... endpos) (setq searching nil) (forward-char 1) (setq state ...) (if ...= ...))) (if (or (not found) (looking-at "[ ]*\\\\")) (progn (goto-char sta= rtpos) (skip-chars-forward "^ \n"))) (+ (current-column) (if (py-statement= -opens-block-p) py-continuation-offset 0) 1))))) ((bobp) (current-indentati= on)) ((and (looking-at "[ ]*#[^ \n]") (fboundp (quote forward-comment)) (= <=3D (current-indentation) (save-excursion (forward-comment (- (point-max))= ) (current-indentation)))) (current-indentation)) (t (if (and (eq py-honor-= comment-indentation nil) (fboundp (quote forward-comment))) (forward-commen= t (- (point-max))) (let ((prefix-re (concat py-block-comment-prefix "[ ]*"= )) done) (while (not done) (re-search-backward "^[ ]*\\([^ \n#]\\|#\\)" n= il (quote move)) (setq done (or (bobp) (and ... ...) (and ... ...)))))) (py= -goto-beginning-of-tqs (nth 3 (parse-partial-sexp bod (point)))) (setq plac= eholder (point)) (py-goto-initial-line) (py-goto-beginning-of-tqs (save-exc= ursion (nth 3 (parse-partial-sexp placeholder (point))))) (+ (current-inden= tation) (if (py-statement-opens-block-p) py-indent-offset (if (and honor-bl= ock-close-p (py-statement-closes-block-p)) (- py-indent-offset) 0))))) (let* ((bod (py-point (quote bod))) (pps (parse-partial-sexp bod (point))= ) (boipps (parse-partial-sexp bod (py-point (quote boi)))) placeholder) (co= nd ((or (and (nth 3 pps) (nth 3 boipps)) (and (nth 4 pps) (nth 4 boipps))) = (save-excursion (if (not py-align-multiline-strings-p) 0 (re-search-backwar= d "^[ ]*\\([^ \n#]\\|#[ \n]\\)" nil (quote move)) (back-to-indentation) = (current-column)))) ((py-continuation-line-p) (let ((startpos (point)) (ope= n-bracket-pos (py-nesting-level)) endpos searching found state cind cline) = (if open-bracket-pos (progn (setq endpos (py-point ...)) (py-goto-initial-l= ine) (setq cind (current-indentation)) (setq cline cind) (dolist (bp ... ci= nd) (if ... ...) (goto-char ...) (skip-chars-forward " ") (setq cind ...))= ) (forward-line -1) (if (py-continuation-line-p) (current-indentation) (end= -of-line) (setq endpos (point) searching t) (back-to-indentation) (setq sta= rtpos (point)) (while searching (skip-chars-forward "^=3D" endpos) (if ... = ... ... ... ...)) (if (or ... ...) (progn ... ...)) (+ (current-column) (if= ... py-continuation-offset 0) 1))))) ((bobp) (current-indentation)) ((and = (looking-at "[ ]*#[^ \n]") (fboundp (quote forward-comment)) (<=3D (curre= nt-indentation) (save-excursion (forward-comment (- ...)) (current-indentat= ion)))) (current-indentation)) (t (if (and (eq py-honor-comment-indentation= nil) (fboundp (quote forward-comment))) (forward-comment (- (point-max))) = (let ((prefix-re (concat py-block-comment-prefix "[ ]*")) done) (while (no= t done) (re-search-backward "^[ ]*\\([^ \n#]\\|#\\)" nil (quote move)) (s= etq done (or ... ... ...))))) (py-goto-beginning-of-tqs (nth 3 (parse-parti= al-sexp bod (point)))) (setq placeholder (point)) (py-goto-initial-line) (p= y-goto-beginning-of-tqs (save-excursion (nth 3 (parse-partial-sexp placehol= der (point))))) (+ (current-indentation) (if (py-statement-opens-block-p) p= y-indent-offset (if (and honor-block-close-p (py-statement-closes-block-p))= (- py-indent-offset) 0)))))) (save-excursion (beginning-of-line) (let* ((bod (py-point (quote bod))) (= pps (parse-partial-sexp bod (point))) (boipps (parse-partial-sexp bod (py-p= oint (quote boi)))) placeholder) (cond ((or (and (nth 3 pps) (nth 3 boipps)= ) (and (nth 4 pps) (nth 4 boipps))) (save-excursion (if (not py-align-multi= line-strings-p) 0 (re-search-backward "^[ ]*\\([^ \n#]\\|#[ \n]\\)" nil = (quote move)) (back-to-indentation) (current-column)))) ((py-continuation-l= ine-p) (let ((startpos (point)) (open-bracket-pos (py-nesting-level)) endpo= s searching found state cind cline) (if open-bracket-pos (progn (setq endpo= s ...) (py-goto-initial-line) (setq cind ...) (setq cline cind) (dolist ...= ... ... ... ...)) (forward-line -1) (if (py-continuation-line-p) (current-= indentation) (end-of-line) (setq endpos ... searching t) (back-to-indentati= on) (setq startpos ...) (while searching ... ...) (if ... ...) (+ ... ... 1= ))))) ((bobp) (current-indentation)) ((and (looking-at "[ ]*#[^ \n]") (fb= oundp (quote forward-comment)) (<=3D (current-indentation) (save-excursion = (forward-comment ...) (current-indentation)))) (current-indentation)) (t (i= f (and (eq py-honor-comment-indentation nil) (fboundp (quote forward-commen= t))) (forward-comment (- (point-max))) (let ((prefix-re ...) done) (while (= not done) (re-search-backward "^[ ]*\\([^ \n#]\\|#\\)" nil ...) (setq don= e ...)))) (py-goto-beginning-of-tqs (nth 3 (parse-partial-sexp bod (point))= )) (setq placeholder (point)) (py-goto-initial-line) (py-goto-beginning-of-= tqs (save-excursion (nth 3 (parse-partial-sexp placeholder ...)))) (+ (curr= ent-indentation) (if (py-statement-opens-block-p) py-indent-offset (if (and= honor-block-close-p ...) (- py-indent-offset) 0))))))) py-compute-indentation(t) (let* ((ci (current-indentation)) (move-to-indentation-p (<=3D (current-c= olumn) ci)) (need (py-compute-indentation (not arg))) (cc (current-column))= ) (if (and (equal last-command this-command) (/=3D cc 0)) (progn (beginning= -of-line) (delete-horizontal-space) (indent-to (* (/ (- cc 1) py-indent-off= set) py-indent-offset))) (progn (if (py-outdent-p) (setq need (- need py-in= dent-offset))) (if (or py-tab-always-indent move-to-indentation-p) (progn (= if (/=3D ci need) (save-excursion (beginning-of-line) (delete-horizontal-sp= ace) (indent-to need))) (if move-to-indentation-p (back-to-indentation))) (= insert-tab))))) py-indent-line() indent-for-tab-command(nil) call-interactively(indent-for-tab-command nil nil) --8<---------------cut here---------------end--------------->8--- _______________________________________________ Python-mode mailing list Python-mode@python.org http://mail.python.org/mailman/listinfo/python-mode