mm-uu.el (mm-uu-type-alist): Add support for git format-patch diff format.
authorJulien Danjou <julien@danjou.info>
Tue, 1 Feb 2011 23:46:27 +0000 (23:46 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 1 Feb 2011 23:46:27 +0000 (23:46 +0000)
mm-decode.el (mm-inline-media-tests): Do not check for diff-mode it's standard in Emacs nowadays.
color.el (color-gradient): Add a color-gradient function.

lisp/ChangeLog
lisp/color.el
lisp/gnus/ChangeLog
lisp/gnus/mm-decode.el
lisp/gnus/mm-uu.el

index 5bed23d..627c61d 100644 (file)
@@ -1,3 +1,7 @@
+2011-02-01  Julien Danjou  <julien@danjou.info>
+
+       * color.el (color-gradient): Add a color-gradient function.
+
 2011-02-01  Sam Steingold  <sds@gnu.org>
 
        * simple.el (special-mode-map): Bind "h" to `describe-mode';
index 5c95fff..3874e33 100644 (file)
@@ -47,6 +47,20 @@ RED GREEN BLUE must be values between 0 and 1 inclusively."
           (- 1.0 (cadr color))
           (- 1.0 (caddr color)))))
 
+(defun color-gradient (start stop step-number)
+  "Return a list with STEP-NUMBER colors from START to STOP.
+The color list builds a color gradient starting at color START to
+color STOP. It does not include the START and STOP color in the
+resulting list."
+  (loop for i from 1 to step-number
+        with red-step = (/ (- (car stop) (car start)) (1+ step-number))
+        with green-step = (/ (- (cadr stop) (cadr start)) (1+ step-number))
+        with blue-step = (/ (- (caddr stop) (caddr start)) (1+ step-number))
+        collect (list
+                 (+ (car start) (* i red-step))
+                 (+ (cadr start) (* i green-step))
+                 (+ (caddr start) (* i blue-step)))))
+
 (defun color-complement-hex (color)
   "Return the color that is the complement of COLOR, in hexadecimal format."
   (apply 'color-rgb->hex (color-complement color)))
index aa1d640..a5c3709 100644 (file)
@@ -1,3 +1,11 @@
+2011-02-01  Julien Danjou  <julien@danjou.info>
+
+       * mm-uu.el (mm-uu-type-alist): Add support for git format-patch diff
+       format.
+
+       * mm-decode.el (mm-inline-media-tests): Do not check for diff-mode it's
+       standard in Emacs nowadays.
+
 2011-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * message.el (message-expand-name): Don't trust the return value of
index d7bc882..3909e12 100644 (file)
@@ -223,17 +223,9 @@ before the external MIME handler is invoked."
     ("text/plain" mm-inline-text identity)
     ("text/enriched" mm-inline-text identity)
     ("text/richtext" mm-inline-text identity)
-    ("text/x-patch" mm-display-patch-inline
-     (lambda (handle)
-       ;; If the diff-mode.el package is installed, the function is
-       ;; autoloaded.  Checking (locate-library "diff-mode") would be trying
-       ;; to cater to broken installations.  OTOH checking the function
-       ;; makes it possible to install another package which provides an
-       ;; alternative implementation of diff-mode.  --Stef
-       (fboundp 'diff-mode)))
+    ("text/x-patch" mm-display-patch-inline identity)
     ;; In case mime.types uses x-diff (as does Debian's mime-support-3.40).
-    ("text/x-diff" mm-display-patch-inline
-     (lambda (handle) (fboundp 'diff-mode)))
+    ("text/x-diff" mm-display-patch-inline identity)
     ("application/emacs-lisp" mm-display-elisp-inline identity)
     ("application/x-emacs-lisp" mm-display-elisp-inline identity)
     ("application/x-shellscript" mm-display-shell-script-inline identity)
index 7f96f44..14b4419 100644 (file)
@@ -158,6 +158,12 @@ This can be either \"inline\" or \"attachment\".")
      mm-uu-diff-extract
      nil
      mm-uu-diff-test)
+    (git-format-patch
+     "^diff --git "
+     "^-- "
+     mm-uu-diff-extract
+     nil
+     mm-uu-diff-test)
     (message-marks
      ;; Text enclosed with tags similar to `message-mark-insert-begin' and
      ;; `message-mark-insert-end'.  Don't use those variables to avoid