GNU bug report logs -
#14381
24.3; smie-auto-fill infinite loop
Previous Next
Reported by: Leo Liu <sdl.web <at> gmail.com>
Date: Fri, 10 May 2013 13:07:01 UTC
Severity: normal
Found in version 24.3
Fixed in version 24.4
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
1. emacs -q
2. open the attached bug.m file
3. move to the end of second line
4. M-: (smie-auto-fill)
Should enter an infinite loop.
Debugger entered--Lisp error: (quit)
syntax-ppss()
smie-indent-comment-inside()
run-hook-with-args-until-success(smie-indent-comment-inside)
smie-indent-calculate()
(let* ((newcol (smie-indent-calculate)) (newgain (- curcol newcol))) (when (> newgain gain) (setq gain newgain) (setq bsf (point))))
(while (<= (setq curcol (current-column)) fc) (let* ((newcol (smie-indent-calculate)) (newgain (- curcol newcol))) (when (> newgain gain) (setq gain newgain) (setq bsf (point)))) (smie-indent-forward-token))
(let ((bsf (point)) (gain 0) curcol) (while (<= (setq curcol (current-column)) fc) (let* ((newcol (smie-indent-calculate)) (newgain (- curcol newcol))) (when (> newgain gain) (setq gain newgain) (setq bsf (point)))) (smie-indent-forward-token)) (when (> gain 0) (goto-char bsf) (newline-and-indent)))
(save-excursion (beginning-of-line) (smie-indent-forward-token) (let ((bsf (point)) (gain 0) curcol) (while (<= (setq curcol (current-column)) fc) (let* ((newcol (smie-indent-calculate)) (newgain (- curcol newcol))) (when (> newgain gain) (setq gain newgain) (setq bsf (point)))) (smie-indent-forward-token)) (when (> gain 0) (goto-char bsf) (newline-and-indent))))
(cond ((not (or (nth 8 (save-excursion (syntax-ppss (line-beginning-position)))) (nth 8 (syntax-ppss)))) (save-excursion (beginning-of-line) (smie-indent-forward-token) (let ((bsf (point)) (gain 0) curcol) (while (<= (setq curcol (current-column)) fc) (let* ((newcol ...) (newgain ...)) (when (> newgain gain) (setq gain newgain) (setq bsf ...))) (smie-indent-forward-token)) (when (> gain 0) (goto-char bsf) (newline-and-indent))))) (t (do-auto-fill)))
(while (and fc (> (current-column) fc)) (cond ((not (or (nth 8 (save-excursion (syntax-ppss ...))) (nth 8 (syntax-ppss)))) (save-excursion (beginning-of-line) (smie-indent-forward-token) (let ((bsf (point)) (gain 0) curcol) (while (<= (setq curcol ...) fc) (let* (... ...) (when ... ... ...)) (smie-indent-forward-token)) (when (> gain 0) (goto-char bsf) (newline-and-indent))))) (t (do-auto-fill))))
(let ((fc (current-fill-column))) (while (and fc (> (current-column) fc)) (cond ((not (or (nth 8 (save-excursion ...)) (nth 8 (syntax-ppss)))) (save-excursion (beginning-of-line) (smie-indent-forward-token) (let ((bsf ...) (gain 0) curcol) (while (<= ... fc) (let* ... ...) (smie-indent-forward-token)) (when (> gain 0) (goto-char bsf) (newline-and-indent))))) (t (do-auto-fill)))))
smie-auto-fill()
eval((smie-auto-fill) nil)
eval-expression((smie-auto-fill) nil)
call-interactively(eval-expression nil nil)
[bug.m (text/plain, attachment)]
This bug report was last modified 11 years and 337 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.