From 39cde66c5e6c226586187fe13d91fd2c65eb4649 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Tue, 1 Feb 2011 23:46:27 +0000 Subject: [PATCH] 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. --- lisp/ChangeLog | 4 ++++ lisp/color.el | 14 ++++++++++++++ lisp/gnus/ChangeLog | 8 ++++++++ lisp/gnus/mm-decode.el | 12 ++---------- lisp/gnus/mm-uu.el | 6 ++++++ 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 + + * color.el (color-gradient): Add a color-gradient function. + 2011-02-01 Sam Steingold * 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 + + * 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 * 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 -- 2.39.5