NOTE: This patch has been committed. The version below is informational only.
In particular, whitespace difference have been removed.
Hello,
this patch fixes an infinite loop in mmm-ify introduced by:
changeset: 17:f9f3c7b63268
user: sperber-guest
date: Sun Feb 07 18:19:22 2010 +0000
summary: Don't assume multiple values are lists, mmm-class.el
ChangeLog addition:
2011-12-01 Didier Verna <didier(a)xemacs.org>
* mmm-class.el (mmm-ify): Fix infinite loop in mmm-ify introduced
by revision f9f3c7b63268 (2010-02-07 Aidan Kehoe
<kehoea(a)parhasard.net> below). Re-incorporate the call to
mmm-match-region in the loop).
XEmacs Packages source patch:
Diff command: hg diff --git --show-function -wbB
Files affected: mmm-class.el
diff --git a/mmm-class.el b/mmm-class.el
--- a/mmm-class.el
+++ b/mmm-class.el
@@ -175,12 +174,11 @@ the rest of the arguments are for an act
(t
(mmm-save-all
(goto-char start)
- (multiple-value-bind
- (beg end front-pos back-pos matched-front matched-back
- matched-submode matched-face matched-name invalid-resume
- ok-resume)
- (apply #'mmm-match-region :start (point) all)
- (loop
+ (loop for (beg end front-pos back-pos matched-front matched-back
+ matched-submode matched-face matched-name
+ invalid-resume ok-resume)
+ = (multiple-value-list
+ (apply #'mmm-match-region :start (point) all))
while beg
if end ; match-submode, if present, succeeded.
do
@@ -204,7 +201,7 @@ the rest of the arguments are for an act
(mmm-error (goto-char invalid-resume)))
;; If match-submode was unable to find a match, go back to
;; the end of the front match and continue on.
- else do (goto-char invalid-resume)))))))
+ else do (goto-char invalid-resume))))))
;;}}}
;;{{{ Match Regions
--
Resistance is futile. You will be jazzimilated.
Scientific site:
http://www.lrde.epita.fr/~didier
Music (Jazz) site:
http://www.didierverna.com
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches