*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Fri, 7 Mar 1997 00:36:10 +0000 (00:36 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Fri, 7 Mar 1997 00:36:10 +0000 (00:36 +0000)
lisp/ChangeLog
lisp/gnus-sum.el
lisp/gnus.el
lisp/message.el
lisp/nnfolder.el
todo

index 58c3942..c1f469b 100644 (file)
@@ -1,3 +1,19 @@
+Fri Mar  7 01:33:34 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.4.20 is released.
+
+Fri Mar  7 00:12:39 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-header-to-face): New faces.
+       (message-font-lock-keywords): Use them.
+
+       * gnus-sum.el (gnus-summary-make-menu-bar): No addition.
+       (gnus-summary-move-article): When crossposting, get the Xrefs
+       header right.
+
+       * nnfolder.el (nnfolder-request-accept-article): Work when
+       respooling. 
+
 Thu Mar  6 08:41:16 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.4.19 is released.
index 6145e4d..b934132 100644 (file)
@@ -1522,6 +1522,7 @@ increase the score of each group you read."
        ["CR" gnus-article-remove-cr t]
        ["Show X-Face" gnus-article-display-x-face t]
        ["Quoted-Printable" gnus-article-de-quoted-unreadable t]
+       ["UnHTMLize" gnus-article-treat-html t]
        ["Rot 13" gnus-summary-caesar-message t]
        ["Unix pipe" gnus-summary-pipe-message t]
        ["Add buttons" gnus-article-add-buttons t]
@@ -6587,13 +6588,22 @@ and `request-accept' functions."
                  (mapconcat 'identity 
                             (delete "Xref:" (delete new-xref xref))
                             " ")
-                 new-xref))
+                 " " new-xref))
           (save-excursion
             (set-buffer copy-buf)
+            ;; First put the article in the destination group.
             (gnus-request-article-this-buffer article gnus-newsgroup-name)
-            (nnheader-replace-header "xref" new-xref)
-            (gnus-request-accept-article
-             to-newsgroup select-method (not articles)))))))
+            (setq art-group
+                  (gnus-request-accept-article
+                   to-newsgroup select-method (not articles)))
+            (setq new-xref (concat new-xref " " (car art-group)
+                                   ":" (cdr art-group)))
+            ;; Now we have the new Xrefs header, so we insert
+            ;; it and replace the new article.
+            (nnheader-replace-header "Xref" new-xref)
+            (gnus-request-replace-article
+             (cdr art-group) to-newsgroup (current-buffer))
+            art-group)))))
       (if (not art-group)
          (gnus-message 1 "Couldn't %s article %s"
                        (cadr (assq action names)) article)
@@ -6665,9 +6675,7 @@ and `request-accept' functions."
            (save-excursion
              (set-buffer copy-buf)
              (gnus-request-article-this-buffer article gnus-newsgroup-name)
-             (nnheader-replace-header
-              "xref" (concat new-xref " " (car art-group)
-                             ":" (cdr art-group)))
+             (nnheader-replace-header "Xref" new-xref)
              (gnus-request-replace-article
               article gnus-newsgroup-name (current-buffer)))))
 
index cb7bff0..c6667f9 100644 (file)
@@ -30,6 +30,7 @@
 
 (require 'custom)
 (require 'gnus-load)
+(require 'message)
 
 (defgroup gnus nil
   "The coffee-brewing, all singing, all dancing, kitchen sink newsreader."
@@ -225,7 +226,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.4.19"
+(defconst gnus-version-number "5.4.20"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
index 8d706ac..d299e26 100644 (file)
@@ -600,21 +600,113 @@ actually occur."
 (defvar message-mode-abbrev-table text-mode-abbrev-table
   "Abbrev table used in Message mode buffers.
 Defaults to `text-mode-abbrev-table'.")
+(defgroup message-headers nil
+  "Message headers."
+  :link '(custom-manual "(message)Variables")
+  :group 'message)
+
+(defface message-header-to-face 
+  '((((class color)
+      (background dark))
+     (:foreground "light blue" :bold t :italic t))
+    (((class color)
+      (background light))
+     (:foreground "MidnightBlue" :bold t :italic t))
+    (t 
+     (:bold t :italic t)))
+  "Face used for displaying from headers."
+  :group 'message-headers)
+
+(defface message-header-subject-face 
+  '((((class color)
+      (background dark))
+     (:foreground "pink" :bold t :italic t))
+    (((class color)
+      (background light))
+     (:foreground "firebrick" :bold t :italic t))
+    (t 
+     (:bold t :italic t)))
+  "Face used for displaying subject headers."
+  :group 'message-headers)
+
+(defface message-header-newsgroups-face 
+  '((((class color)
+      (background dark))
+     (:foreground "yellow" :bold t :italic t))
+    (((class color)
+      (background light))
+     (:foreground "indianred" :bold t :italic t))
+    (t 
+     (:bold t :italic t)))
+  "Face used for displaying newsgroups headers."
+  :group 'message-headers)
+
+(defface message-header-name-face 
+  '((((class color)
+      (background dark))
+     (:foreground "cyan" :bold t))
+    (((class color)
+      (background light))
+     (:foreground "DarkGreen" :bold t))
+    (t 
+     (:bold t)))
+  "Face used for displaying header names."
+  :group 'message-headers)
+
+(defface message-header-xheader-face 
+  '((((class color)
+      (background dark))
+     (:foreground "blue" :bold t))
+    (((class color)
+      (background light))
+     (:foreground "blue" :bold t))
+    (t 
+     (:bold t)))
+  "Face used for displaying X-Header headers."
+  :group 'message-headers)
+
+(defface message-separator-face 
+  '((((class color)
+      (background dark))
+     (:foreground "red" :bold t))
+    (((class color)
+      (background light))
+     (:foreground "brown" :bold t))
+    (t 
+     (:bold t)))
+  "Face used for displaying the separator."
+  :group 'message-headers)
+
+(defface message-cited-text-face 
+  '((((class color)
+      (background dark))
+     (:foreground "LightBlue" :bold t))
+    (((class color)
+      (background light))
+     (:foreground "DarkGreen" :bold t))
+    (t 
+     (:bold t)))
+  "Face used for displaying cited text names."
+  :group 'message-headers)
 
 (defvar message-font-lock-keywords
-  (let* ((cite-prefix "A-Za-z") (cite-suffix (concat cite-prefix "0-9_.@-")))
-    (list '("^To:" . font-lock-function-name-face)
+  (let* ((cite-prefix "A-Za-z")
+        (cite-suffix (concat cite-prefix "0-9_.@-")))
+    (list '("^To:" . message-header-to-face)
           '("^[GBF]?[Cc][Cc]:\\|^Reply-To:" . font-lock-keyword-face)
          '("^\\(Subject:\\)[ \t]*\\(.+\\)?"
-           (1 font-lock-comment-face) (2 font-lock-type-face nil t))
+           (1 message-header-name-face) (2 message-header-subject-face nil t))
+         '("^\\(Newsgroups:\\|Followup-to:\\)[ \t]*\\(.+\\)?"
+           (1 message-header-name-face)
+           (2 message-header-newsgroups-face nil t))
          (list (concat "^\\(" (regexp-quote mail-header-separator) "\\)$")
-               1 'font-lock-comment-face)
+               1 'message-separator-face)
          (cons (concat "^[ \t]*"
                        "\\([" cite-prefix "]+[" cite-suffix "]*\\)?"
                        "[>|}].*")
-               'font-lock-reference-face)
+               'message-cited-text-face)
          '("^\\(X-[A-Za-z0-9-]+\\|In-Reply-To\\):.*"
-           . font-lock-string-face)))
+           . message-header-xheader-face)))
   "Additional expressions to highlight in Message mode.")
 
 (defvar message-face-alist
index 6cc8b7a..82e83a1 100644 (file)
@@ -369,7 +369,7 @@ time saver for large mailboxes.")
   (nnfolder-possibly-change-group group server)
   (nnmail-check-syntax)
   (let ((buf (current-buffer))
-       result)
+       result art-group)
     (goto-char (point-min))
     (when (looking-at "X-From-Line: ")
       (replace-match "From "))
@@ -387,10 +387,11 @@ time saver for large mailboxes.")
             (car (nnfolder-save-mail
                   (if (stringp group)
                       (list (cons group (nnfolder-active-number group)))
-                    (nnmail-article-group 'nnfolder-active-number))))))
+                    (setq art-group
+                          (nnmail-article-group 'nnfolder-active-number)))))))
      (when last
        (save-excursion
-        (nnfolder-possibly-change-folder group)
+        (nnfolder-possibly-change-folder (or (car art-group) group))
         (nnfolder-save-buffer)
         (nnmail-cache-close))))
     (nnmail-save-active nnfolder-group-alist nnfolder-active-file)
diff --git a/todo b/todo
index de2e2c9..fc8a56e 100644 (file)
--- a/todo
+++ b/todo
@@ -596,3 +596,5 @@ interface like
 
 then you could run the relevant function to complete the information in
 the header
+
+* cache the newsgroups file locally to avoid reloading it all the time.