]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bytecompiler infloop compiling infloops
authorPip Cet <pipcet@gmail.com>
Sun, 19 Jun 2022 23:59:49 +0000 (01:59 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 19 Jun 2022 23:59:49 +0000 (01:59 +0200)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Don't apply
optimization if we can't change anything (bug#46906).

lisp/emacs-lisp/byte-opt.el

index fc49e88f8ee47e936679e89da7f26624a5fd923a..1a50c5a43afb02890e7dd9f7541ad0cae4e0f479 100644 (file)
@@ -2060,9 +2060,9 @@ If FOR-EFFECT is non-nil, the return value is assumed to be of no importance."
         ((and (memq (car lap0) byte-goto-ops)
               (memq (car (setq tmp (nth 1 (memq (cdr lap0) lap))))
                     '(byte-goto byte-return)))
-         (cond ((and (not (eq tmp lap0))
-                     (or (eq (car lap0) 'byte-goto)
-                         (eq (car tmp) 'byte-goto)))
+         (cond ((and (or (eq (car lap0) 'byte-goto)
+                         (eq (car tmp) 'byte-goto))
+                      (not (eq (cdr tmp) (cdr lap0))))
                 (byte-compile-log-lap "  %s [%s]\t-->\t%s"
                                       (car lap0) tmp tmp)
                 (if (eq (car tmp) 'byte-return)