[COMMIT] Fix bytecode incompatibility between 21.5 and 21.4 in mmm-class.el
                
            
            
                13 years, 11 months
            
            
                
                    
                     
                    
                    
                    Didier Verna
                
 
                
                    
                        
                            NOTE: This patch has been committed. The version below is informational only.
In particular, whitespace difference have been removed.
And of course, I broke bytecode compatibility with my previous patch...
ChangeLog addition:
2011-12-01  Didier Verna  <didier(a)xemacs.org>
	* mmm-class.el: Add compiler magic so code using
	multiple-value-list compiled on 21.4 works on 21.5.
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
@@ -39,7 +39,8 @@
 (eval-when-compile (when (eq 'list (symbol-function 'values))
                      (define-compiler-macro values (&rest args)
                        `(list ,@args))
-		     (define-compiler-macro values-list (arg) arg)))
+		     (define-compiler-macro values-list (arg) arg)
+		     (define-compiler-macro multiple-value-list (arg) arg)))
 
 ;;; CLASS SPECIFICATIONS
 ;;{{{ Get Class Specifications
-- 
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
                        
                     
                    
                 
             
         
        
        
            
        
        
            
                
                    
                    
                    [COMMIT] Fix infinite loop in mmm-ify
                
            
            
                13 years, 11 months
            
            
                
                    
                     
                    
                    
                    Didier Verna
                
 
                
                    
                        
                            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