[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r102493: Merge changes made in Gnus t
From: |
Katsumi Yamaoka |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r102493: Merge changes made in Gnus trunk. |
Date: |
Tue, 23 Nov 2010 22:24:15 +0000 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 102493
author: Gnus developers
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Tue 2010-11-23 22:24:15 +0000
message:
Merge changes made in Gnus trunk.
nnheader.el (nnheader-parse-head): Bug fix. Properly position point when
parsing headers.
nnspool.el (nnspool-insert-nov-head): Bug fix. Make sure point is positioned
properly when parsing headers.
shr-color.el (shr-color->hexadecimal): Add support for color names.
color-lab.el (boundp): Bind float-pi for Emacs < 23.3.
shr.el (shr-insert-color-overlay): Split stuff like "#444444 !important" to
find the real colour.
modified:
lisp/gnus/ChangeLog
lisp/gnus/color-lab.el
lisp/gnus/nnheader.el
lisp/gnus/nnspool.el
lisp/gnus/shr-color.el
lisp/gnus/shr.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog 2010-11-23 10:22:49 +0000
+++ b/lisp/gnus/ChangeLog 2010-11-23 22:24:15 +0000
@@ -1,5 +1,22 @@
+2010-11-23 Lars Magne Ingebrigtsen <address@hidden>
+
+ * shr.el (shr-insert-color-overlay): Split stuff like
+ "#444444 !important" to find the real colour.
+
+2010-11-23 Andrew Cohen <address@hidden>
+
+ * nnheader.el (nnheader-parse-head): Bug fix. Properly position
+ point when parsing headers.
+
+ * nnspool.el (nnspool-insert-nov-head): Bug fix. Make sure point
+ is positioned properly when parsing headers.
+
2010-11-23 Julien Danjou <address@hidden>
+ * color-lab.el (boundp): Bind float-pi for Emacs < 23.3.
+
+ * shr-color.el (shr-color->hexadecimal): Add support for color names.
+
* shr.el (shr-parse-style): Replace \n with space in style parsing.
* shr-color.el (shr-color-hsl-to-rgb-fractions): Use
shr-color-hue-to-rgb.
=== modified file 'lisp/gnus/color-lab.el'
--- a/lisp/gnus/color-lab.el 2010-11-23 00:03:44 +0000
+++ b/lisp/gnus/color-lab.el 2010-11-23 22:24:15 +0000
@@ -26,6 +26,10 @@
;;; Code:
+;; Emacs < 23.3
+(unless (boundp 'float-pi)
+ (defconst float-pi (* 4 (atan 1)) "The value of Pi (3.1415926...)."))
+
(defun rgb->hsv (red green blue)
"Convert RED GREEN BLUE values to HSV representation.
Hue is in radian. Saturation and values are between 0 and 1."
=== modified file 'lisp/gnus/nnheader.el'
--- a/lisp/gnus/nnheader.el 2010-10-11 23:29:33 +0000
+++ b/lisp/gnus/nnheader.el 2010-11-23 22:24:15 +0000
@@ -366,15 +366,13 @@
(setq num 0
beg (point-min)
end (point-max))
- (goto-char (point-min))
;; Search to the beginning of the next header. Error
;; messages do not begin with 2 or 3.
(when (re-search-forward "^[23][0-9]+ " nil t)
- (end-of-line)
(setq num (read cur)
beg (point)
end (if (search-forward "\n.\n" nil t)
- (- (point) 2)
+ (goto-char (- (point) 2))
(point)))))
(with-temp-buffer
(insert-buffer-substring cur beg end)
=== modified file 'lisp/gnus/nnspool.el'
--- a/lisp/gnus/nnspool.el 2010-09-18 23:36:29 +0000
+++ b/lisp/gnus/nnspool.el 2010-11-23 22:24:15 +0000
@@ -399,15 +399,16 @@
"Read the head of ARTICLE, convert to NOV headers, and insert."
(save-excursion
(let ((cur (current-buffer))
- buf)
+ buf)
(setq buf (nnheader-set-temp-buffer " *nnspool head*"))
(when (nnheader-insert-head
- (nnspool-article-pathname nnspool-current-group article))
- (nnheader-insert-article-line article)
- (let ((headers (nnheader-parse-head)))
- (set-buffer cur)
- (goto-char (point-max))
- (nnheader-insert-nov headers)))
+ (nnspool-article-pathname nnspool-current-group article))
+ (nnheader-insert-article-line article)
+ (goto-char (point-min))
+ (let ((headers (nnheader-parse-head)))
+ (set-buffer cur)
+ (goto-char (point-max))
+ (nnheader-insert-nov headers)))
(kill-buffer buf))))
(defun nnspool-sift-nov-with-sed (articles file)
=== modified file 'lisp/gnus/shr-color.el'
--- a/lisp/gnus/shr-color.el 2010-11-23 10:22:49 +0000
+++ b/lisp/gnus/shr-color.el 2010-11-23 22:24:15 +0000
@@ -45,6 +45,157 @@
:group 'shr
:type 'integer)
+(defconst shr-color-html-colors-alist
+ '(("AliceBlue" . "#F0F8FF")
+ ("AntiqueWhite" . "#FAEBD7")
+ ("Aqua" . "#00FFFF")
+ ("Aquamarine" . "#7FFFD4")
+ ("Azure" . "#F0FFFF")
+ ("Beige" . "#F5F5DC")
+ ("Bisque" . "#FFE4C4")
+ ("Black" . "#000000")
+ ("BlanchedAlmond" . "#FFEBCD")
+ ("Blue" . "#0000FF")
+ ("BlueViolet" . "#8A2BE2")
+ ("Brown" . "#A52A2A")
+ ("BurlyWood" . "#DEB887")
+ ("CadetBlue" . "#5F9EA0")
+ ("Chartreuse" . "#7FFF00")
+ ("Chocolate" . "#D2691E")
+ ("Coral" . "#FF7F50")
+ ("CornflowerBlue" . "#6495ED")
+ ("Cornsilk" . "#FFF8DC")
+ ("Crimson" . "#DC143C")
+ ("Cyan" . "#00FFFF")
+ ("DarkBlue" . "#00008B")
+ ("DarkCyan" . "#008B8B")
+ ("DarkGoldenRod" . "#B8860B")
+ ("DarkGray" . "#A9A9A9")
+ ("DarkGrey" . "#A9A9A9")
+ ("DarkGreen" . "#006400")
+ ("DarkKhaki" . "#BDB76B")
+ ("DarkMagenta" . "#8B008B")
+ ("DarkOliveGreen" . "#556B2F")
+ ("Darkorange" . "#FF8C00")
+ ("DarkOrchid" . "#9932CC")
+ ("DarkRed" . "#8B0000")
+ ("DarkSalmon" . "#E9967A")
+ ("DarkSeaGreen" . "#8FBC8F")
+ ("DarkSlateBlue" . "#483D8B")
+ ("DarkSlateGray" . "#2F4F4F")
+ ("DarkSlateGrey" . "#2F4F4F")
+ ("DarkTurquoise" . "#00CED1")
+ ("DarkViolet" . "#9400D3")
+ ("DeepPink" . "#FF1493")
+ ("DeepSkyBlue" . "#00BFFF")
+ ("DimGray" . "#696969")
+ ("DimGrey" . "#696969")
+ ("DodgerBlue" . "#1E90FF")
+ ("FireBrick" . "#B22222")
+ ("FloralWhite" . "#FFFAF0")
+ ("ForestGreen" . "#228B22")
+ ("Fuchsia" . "#FF00FF")
+ ("Gainsboro" . "#DCDCDC")
+ ("GhostWhite" . "#F8F8FF")
+ ("Gold" . "#FFD700")
+ ("GoldenRod" . "#DAA520")
+ ("Gray" . "#808080")
+ ("Grey" . "#808080")
+ ("Green" . "#008000")
+ ("GreenYellow" . "#ADFF2F")
+ ("HoneyDew" . "#F0FFF0")
+ ("HotPink" . "#FF69B4")
+ ("IndianRed" . "#CD5C5C")
+ ("Indigo" . "#4B0082")
+ ("Ivory" . "#FFFFF0")
+ ("Khaki" . "#F0E68C")
+ ("Lavender" . "#E6E6FA")
+ ("LavenderBlush" . "#FFF0F5")
+ ("LawnGreen" . "#7CFC00")
+ ("LemonChiffon" . "#FFFACD")
+ ("LightBlue" . "#ADD8E6")
+ ("LightCoral" . "#F08080")
+ ("LightCyan" . "#E0FFFF")
+ ("LightGoldenRodYellow" . "#FAFAD2")
+ ("LightGray" . "#D3D3D3")
+ ("LightGrey" . "#D3D3D3")
+ ("LightGreen" . "#90EE90")
+ ("LightPink" . "#FFB6C1")
+ ("LightSalmon" . "#FFA07A")
+ ("LightSeaGreen" . "#20B2AA")
+ ("LightSkyBlue" . "#87CEFA")
+ ("LightSlateGray" . "#778899")
+ ("LightSlateGrey" . "#778899")
+ ("LightSteelBlue" . "#B0C4DE")
+ ("LightYellow" . "#FFFFE0")
+ ("Lime" . "#00FF00")
+ ("LimeGreen" . "#32CD32")
+ ("Linen" . "#FAF0E6")
+ ("Magenta" . "#FF00FF")
+ ("Maroon" . "#800000")
+ ("MediumAquaMarine" . "#66CDAA")
+ ("MediumBlue" . "#0000CD")
+ ("MediumOrchid" . "#BA55D3")
+ ("MediumPurple" . "#9370D8")
+ ("MediumSeaGreen" . "#3CB371")
+ ("MediumSlateBlue" . "#7B68EE")
+ ("MediumSpringGreen" . "#00FA9A")
+ ("MediumTurquoise" . "#48D1CC")
+ ("MediumVioletRed" . "#C71585")
+ ("MidnightBlue" . "#191970")
+ ("MintCream" . "#F5FFFA")
+ ("MistyRose" . "#FFE4E1")
+ ("Moccasin" . "#FFE4B5")
+ ("NavajoWhite" . "#FFDEAD")
+ ("Navy" . "#000080")
+ ("OldLace" . "#FDF5E6")
+ ("Olive" . "#808000")
+ ("OliveDrab" . "#6B8E23")
+ ("Orange" . "#FFA500")
+ ("OrangeRed" . "#FF4500")
+ ("Orchid" . "#DA70D6")
+ ("PaleGoldenRod" . "#EEE8AA")
+ ("PaleGreen" . "#98FB98")
+ ("PaleTurquoise" . "#AFEEEE")
+ ("PaleVioletRed" . "#D87093")
+ ("PapayaWhip" . "#FFEFD5")
+ ("PeachPuff" . "#FFDAB9")
+ ("Peru" . "#CD853F")
+ ("Pink" . "#FFC0CB")
+ ("Plum" . "#DDA0DD")
+ ("PowderBlue" . "#B0E0E6")
+ ("Purple" . "#800080")
+ ("Red" . "#FF0000")
+ ("RosyBrown" . "#BC8F8F")
+ ("RoyalBlue" . "#4169E1")
+ ("SaddleBrown" . "#8B4513")
+ ("Salmon" . "#FA8072")
+ ("SandyBrown" . "#F4A460")
+ ("SeaGreen" . "#2E8B57")
+ ("SeaShell" . "#FFF5EE")
+ ("Sienna" . "#A0522D")
+ ("Silver" . "#C0C0C0")
+ ("SkyBlue" . "#87CEEB")
+ ("SlateBlue" . "#6A5ACD")
+ ("SlateGray" . "#708090")
+ ("SlateGrey" . "#708090")
+ ("Snow" . "#FFFAFA")
+ ("SpringGreen" . "#00FF7F")
+ ("SteelBlue" . "#4682B4")
+ ("Tan" . "#D2B48C")
+ ("Teal" . "#008080")
+ ("Thistle" . "#D8BFD8")
+ ("Tomato" . "#FF6347")
+ ("Turquoise" . "#40E0D0")
+ ("Violet" . "#EE82EE")
+ ("Wheat" . "#F5DEB3")
+ ("White" . "#FFFFFF")
+ ("WhiteSmoke" . "#F5F5F5")
+ ("Yellow" . "#FFFF00")
+ ("YellowGreen" . "#9ACD32"))
+ "Alist of HTML colors.
+Each entry should have the form (COLOR-NAME . HEXADECIMAL-COLOR).")
+
(defun shr-color-relative-to-absolute (number)
"Convert a relative NUMBER to absolute. If NUMBER is absolute, return NUMBER.
This will convert \"80 %\" to 204, \"100 %\" to 255 but \"123\" to \"123\"."
@@ -78,30 +229,42 @@
"Convert any color format to hexadecimal representation.
Like rgb() or hsl()."
(when color
- (cond ((or (string-match
-
"rgb(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*)"
- color)
- (string-match
-
"rgba(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)"
- color))
- (format "#%02X%02X%02X"
- (shr-color-relative-to-absolute (match-string-no-properties
1 color))
- (shr-color-relative-to-absolute (match-string-no-properties
2 color))
- (shr-color-relative-to-absolute (match-string-no-properties
3 color))))
- ((or (string-match
-
"hsl(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*)"
- color)
- (string-match
-
"hsla(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)"
- color))
- (let ((h (/ (string-to-number (match-string-no-properties 1 color))
360.0))
- (s (/ (string-to-number (match-string-no-properties 2 color))
100.0))
- (l (/ (string-to-number (match-string-no-properties 3 color))
100.0)))
- (destructuring-bind (r g b)
- (shr-color-hsl-to-rgb-fractions h s l)
- (format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255)))))
- (t
- color))))
+ (cond
+ ;; Hexadecimal color: #abc or #aabbcc
+ ((string-match-p
+ "#[0-9a-fA-F]\\{3\\}[0-9a-fA-F]\\{3\\}?"
+ color)
+ color)
+ ;; rgb() or rgba() colors
+ ((or (string-match
+
"rgb(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*)"
+ color)
+ (string-match
+
"rgba(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)"
+ color))
+ (format "#%02X%02X%02X"
+ (shr-color-relative-to-absolute (match-string-no-properties 1
color))
+ (shr-color-relative-to-absolute (match-string-no-properties 2
color))
+ (shr-color-relative-to-absolute (match-string-no-properties 3
color))))
+ ;; hsl() or hsla() colors
+ ((or (string-match
+
"hsl(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*)"
+ color)
+ (string-match
+
"hsla(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)"
+ color))
+ (let ((h (/ (string-to-number (match-string-no-properties 1 color))
360.0))
+ (s (/ (string-to-number (match-string-no-properties 2 color))
100.0))
+ (l (/ (string-to-number (match-string-no-properties 3 color))
100.0)))
+ (destructuring-bind (r g b)
+ (shr-color-hsl-to-rgb-fractions h s l)
+ (format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255)))))
+ ;; Color names
+ ((assoc color shr-color-html-colors-alist)
+ (cdr (assoc-string color shr-color-html-colors-alist t)))
+ ;; Unrecognized color :(
+ (t
+ nil))))
(defun set-minimum-interval (val1 val2 min max interval &optional fixed)
"Set minimum interval between VAL1 and VAL2 to INTERVAL.
=== modified file 'lisp/gnus/shr.el'
--- a/lisp/gnus/shr.el 2010-11-23 10:22:49 +0000
+++ b/lisp/gnus/shr.el 2010-11-23 22:24:15 +0000
@@ -502,6 +502,8 @@
(defun shr-insert-color-overlay (color start end)
(when color
+ (when (string-match " " color)
+ (setq color (car (split-string color))))
(let ((overlay (make-overlay start end)))
(overlay-put overlay 'face (cons 'foreground-color
(cadr (shr-color-check color)))))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r102493: Merge changes made in Gnus trunk.,
Katsumi Yamaoka <=