]> git.eshelyaron.com Git - emacs.git/commitdiff
Misc changes made in Gnus master
authorGnus developers <ding@gnus.org>
Thu, 6 Sep 2012 22:13:45 +0000 (22:13 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 6 Sep 2012 22:13:45 +0000 (22:13 +0000)
Use combining faces for highlighting.
Change ephemeral Gnus group names to be prettier.
gnus-util.el: Fix compilation error on XEmacs 21.4.

lisp/gnus/ChangeLog
lisp/gnus/gnus-group.el
lisp/gnus/gnus-salt.el
lisp/gnus/gnus-sum.el
lisp/gnus/gnus-util.el

index ddb0143b37a9ebc06db1283550985714b5edd975..48d57da8f8dd1b31f8b7a654f191cfc6c0b2ecce 100644 (file)
@@ -1,3 +1,27 @@
+2012-09-06  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-util.el: Fix compilation error on XEmacs 21.4.
+
+2012-09-06  Juri Linkov  <juri@jurta.org>
+
+       * gnus-group.el (gnus-read-ephemeral-gmane-group): Change the naming
+       scheme for buffer names to be more consistent with other group and
+       article buffer names in Gnus.
+
+2012-09-06  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-util.el
+       (gnus-put-text-property-excluding-characters-with-faces): Remove.
+
+       * gnus-compat.el: Define compat function `add-face' from Wolfgang
+       Jenkner.
+
+       * gnus-group.el (gnus-group-highlight-line): Use combining faces.
+
+       * gnus-sum.el (gnus-summary-highlight-line): Ditto.
+
+       * gnus-salt.el (gnus-tree-highlight-node): Ditto.
+
 2012-09-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-score.el (gnus-score-decode-text-parts): Use #' for
index 71af5792d2c5d952f1bd5d0c338eaa84a77215a8..24406fcc04e0c9987f81b6b6e3bbde70452affd1 100644 (file)
@@ -1669,9 +1669,7 @@ and ends at END."
                       gnus-group-highlight))))
     (unless (eq face (get-text-property beg 'face))
       (let ((inhibit-read-only t))
-        (gnus-put-text-property-excluding-characters-with-faces
-         beg end 'face
-         (if (boundp face) (symbol-value face) face)))
+        (add-face beg end (if (boundp face) (symbol-value face) face)))
       (gnus-extent-start-open beg))))
 
 (defun gnus-group-get-icon (group)
@@ -2388,7 +2386,7 @@ specified by `gnus-gmane-group-download-format'."
               group start (+ start range)))
       (write-region (point-min) (point-max) tmpfile)
       (gnus-group-read-ephemeral-group
-       (format "%s.start-%s.range-%s" group start range)
+       (format "nndoc+ephemeral:%s.start-%s.range-%s" group start range)
        `(nndoc ,tmpfile
               (nndoc-article-type mbox))))
     (delete-file tmpfile)))
@@ -2481,7 +2479,7 @@ the bug number, and browsing the URL must return mbox output."
                         "/.*$" ""))))
       (write-region (point-min) (point-max) tmpfile)
       (gnus-group-read-ephemeral-group
-       (format "gnus-read-ephemeral-bug:%s"
+       (format "nndoc+ephemeral:bug#%s"
               (mapconcat 'number-to-string ids ","))
        `(nndoc ,tmpfile
               (nndoc-article-type mbox))
index 760a7a0942ed39695469cbeb487c9f8a2c673fd1..87a120279bc7f878af1ed3d7ae102df7e83d2bf2 100644 (file)
@@ -660,9 +660,7 @@ Two predefined functions are available:
                    (not (eval (caar list))))
          (setq list (cdr list)))))
     (unless (eq (setq face (cdar list)) (get-text-property beg 'face))
-      (gnus-put-text-property-excluding-characters-with-faces
-       beg end 'face
-       (if (boundp face) (symbol-value face) face)))))
+      (add-face beg end (if (boundp face) (symbol-value face) face)))))
 
 (defun gnus-tree-indent (level)
   (insert (make-string (1- (* (1+ gnus-tree-node-length) level)) ? )))
index b44b953bec64bb12f07792491c7749fbaaa1b9d9..bc0addd15591ea49f6fa094c1d84e504c22a4df5 100644 (file)
@@ -12522,9 +12522,8 @@ If REVERSE, save parts that do not match TYPE."
                         (not (memq article gnus-newsgroup-cached)))))
     (let ((face (funcall (gnus-summary-highlight-line-0))))
       (unless (eq face (get-text-property beg 'face))
-       (gnus-put-text-property-excluding-characters-with-faces
-        beg (point-at-eol) 'face
-        (setq face (if (boundp face) (symbol-value face) face)))
+       (add-face beg (point-at-eol)
+                 (setq face (if (boundp face) (symbol-value face) face)))
        (when gnus-summary-highlight-line-function
          (funcall gnus-summary-highlight-line-function article face))))))
 
index 3c4af9b4e50d4bb76b18b54f6df4dc992c1562c8..0c048e63bdf9a6a52655d4a9700158fbbdaf7a4b 100644 (file)
@@ -866,19 +866,6 @@ If there's no subdirectory, delete DIRECTORY as well."
          (setq beg (point)))
        (gnus-overlay-put (gnus-make-overlay beg (point)) prop val)))))
 
-(defun gnus-put-text-property-excluding-characters-with-faces (beg end
-                                                                  prop val)
-  "The same as `put-text-property', but don't put props on characters with the `gnus-face' property."
-  (let ((b beg))
-    (while (/= b end)
-      (when (get-text-property b 'gnus-face)
-       (setq b (next-single-property-change b 'gnus-face nil end)))
-      (when (/= b end)
-       (inline
-         (gnus-put-text-property
-          b (setq b (next-single-property-change b 'gnus-face nil end))
-          prop val))))))
-
 (defmacro gnus-faces-at (position)
   "Return a list of faces at POSITION."
   (if (featurep 'xemacs)
@@ -1932,8 +1919,11 @@ Same as `string-match' except this function does not change the match data."
     "Return non-nil if STR1 is a prefix of STR2.
 If IGNORE-CASE is non-nil, the comparison is done without paying attention
 to case differences."
-    (eq t (compare-strings str1 nil nil
-                          str2 0 (length str1) ignore-case))))
+    (and (<= (length str1) (length str2))
+        (let ((prefix (substring str2 0 (length str1))))
+          (if ignore-case
+              (string-equal (downcase str1) (downcase prefix))
+            (string-equal str1 prefix))))))
 
 (eval-and-compile
   (if (fboundp 'macroexpand-all)