summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2011-02-01 23:46:27 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2011-02-01 23:46:27 +0000
commit39cde66c5e6c226586187fe13d91fd2c65eb4649 (patch)
tree664bb498045cbff062838dcb623c3062a6a5e5c0
parente8e4d5c88e04390481b3156c0e5efe40979d8519 (diff)
downloademacs-39cde66c5e6c226586187fe13d91fd2c65eb4649.tar.gz
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. color.el (color-gradient): Add a color-gradient function.
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/color.el14
-rw-r--r--lisp/gnus/ChangeLog8
-rw-r--r--lisp/gnus/mm-decode.el12
-rw-r--r--lisp/gnus/mm-uu.el6
5 files changed, 34 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5bed23d3059..627c61deaeb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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';
diff --git a/lisp/color.el b/lisp/color.el
index 5c95fffbfad..3874e33bfbb 100644
--- a/lisp/color.el
+++ b/lisp/color.el
@@ -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)))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index aa1d64026c4..a5c37092756 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -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
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index d7bc882a844..3909e12186f 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -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)
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el
index 7f96f449da9..14b44198303 100644
--- a/lisp/gnus/mm-uu.el
+++ b/lisp/gnus/mm-uu.el
@@ -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