*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 16 Aug 1997 18:40:32 +0000 (18:40 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 16 Aug 1997 18:40:32 +0000 (18:40 +0000)
20 files changed:
lisp/ChangeLog
lisp/gnus-cache.el
lisp/gnus-group.el
lisp/gnus-nocem.el
lisp/gnus-srvr.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus-win.el
lisp/gnus.el
lisp/message.el
lisp/nnfolder.el
lisp/nnkiboze.el
lisp/nnml.el
lisp/nntp.el
lisp/nnvirtual.el
lisp/smiley.el
texi/gnus.texi
texi/message.texi
todo

index 925585b..78b8a83 100644 (file)
@@ -1,3 +1,100 @@
+Sat Aug 16 20:36:31 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.4.65 is released.
+
+Sat Aug 16 20:10:09 1997  Sigbjorn Finne  <sof@dcs.gla.ac.uk>
+
+       * gnus-srvr.el (gnus-browse-foreign-server): Message fix.
+
+Sat Aug 16 17:44:31 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-1): Don't read the dribble file
+       unconditionally in slaves.
+
+       * gnus-sum.el (gnus-summary-edit-article): Restore original date
+       header. 
+
+       * gnus-start.el (gnus-1): Set gnus-slave earlier.
+
+       * gnus-sum.el (gnus-parent-headers): Would infloop.
+
+       * message.el (message-make-message-id): Make better Message-ID
+       when superseding.
+
+Sat Aug 16 17:36:25 1997  Jason Rumney  <jasonr@pec.co.nz>
+
+       * nnkiboze.el (nnkiboze-request-delete-group): Transliate file
+       chars. 
+
+Sat Aug 16 17:26:59 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-directory): Dox fox.
+
+       * gnus-topic.el (gnus-topic-make-menu-bar): Added
+       gnus-topic-edit-parameters. 
+
+Sat Aug 16 17:21:21 1997  Jay Sachs  <sachs@interactive.net>
+
+       * gnus-win.el (gnus-buffer-configuration): New entry:
+       score-trace. 
+
+Sat Aug 16 16:51:24 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-delete): Mark as changed.
+       (gnus-topic-change-level): Make last param optional.
+
+       * gnus-group.el (gnus-group-iterate): Make sure window is
+       selected. 
+
+Sat Aug 16 16:56:23 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-check-topology): Add new groups to the
+       end of the first topic.
+
+       * gnus-cache.el (gnus-jog-cache): Use gnus-group-iterate.
+
+Wed Aug 13 22:00:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Escape
+       newlines. 
+
+Thu Aug  7 20:51:12 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * smiley.el (smiley-deformed-regexp-alist): Fix.
+
+Wed Jul 30 13:46:30 1997  Danny Siu  <dsiu@adobe.com>
+
+       * smiley.el (smiley-buffer): make smiley case sensitive
+       (smiley-deformed-regexp-alist): added more regexp for happy smiley
+       (smiley-nosey-regexp-alist): same as above
+
+Sat Aug  2 01:48:26 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-nocem.el (gnus-nocem-close): Nix out
+       gnus-real-group-hashtb. 
+
+Sat Aug  2 01:46:49 1997  roth@klondike.cse.ucsc.edu (Carl D. Roth)
+
+       * gnus-nocem.el (gnus-fill-real-hashtb): New function.
+
+Sat Aug  2 01:26:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-group-read-init-file): Message.
+
+Fri Jul 25 20:48:31 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-nov-gap): Changed default.
+
+       * gnus-nocem.el (gnus-nocem-issuers): Fixed names.
+
+Wed Jul 23 20:11:24 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-catchup): Also removed cached
+       articles. 
+
+       * nnvirtual.el (nnvirtual-update-xref-header): Don't double
+       Xrefs. 
+
 Sat Jul 19 23:32:28 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.4.64 is released.
index 9df270f..485c4d3 100644 (file)
@@ -544,18 +544,15 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
     (gnus)
     ;; Go through all groups...
     (gnus-group-mark-buffer)
-    (gnus-group-universal-argument
-     nil nil
-     (lambda ()
-       (interactive)
-       (when (gnus-group-group-name)
-        (let (gnus-auto-select-next)
-          (gnus-summary-read-group (gnus-group-group-name) nil t)
-          ;; ... and enter the articles into the cache.
-          (when (eq major-mode 'gnus-summary-mode)
-            (gnus-uu-mark-buffer)
-            (gnus-cache-enter-article)
-            (kill-buffer (current-buffer)))))))))
+    (gnus-group-iterate nil
+      (lambda (group)
+       (let (gnus-auto-select-next)
+         (gnus-summary-read-group group nil t)
+         ;; ... and enter the articles into the cache.
+         (when (eq major-mode 'gnus-summary-mode)
+           (gnus-uu-mark-buffer)
+           (gnus-cache-enter-article)
+           (kill-buffer (current-buffer))))))))
 
 (defun gnus-cache-read-active (&optional force)
   "Read the cache active file."
index 0058c12..df7ac8f 100644 (file)
@@ -1448,11 +1448,13 @@ Take into consideration N (the prefix) and the list of marked groups."
 FUNCTION will be called with the group name as the paremeter
 and with point over the group in question."
   (let ((groups (gnus-group-process-prefix arg))
+       (window (selected-window))
        group)
     (while (setq group (pop groups))
+      (select-window window)
       (gnus-group-remove-mark group)
-      (save-excursion
-       (save-selected-window
+      (save-selected-window
+       (save-excursion
          (funcall function group))))))
 
 (put 'gnus-group-iterate 'lisp-indent-function 1)
@@ -3084,7 +3086,8 @@ If FORCE, force saving whether it is necessary or not."
 (defun gnus-group-read-init-file ()
   "Read the Gnus elisp init file."
   (interactive)
-  (gnus-read-init-file))
+  (gnus-read-init-file)
+  (gnus-message 5 "Read %s" gnus-init-file))
 
 (defun gnus-group-check-bogus-groups (&optional silent)
   "Check bogus newsgroups.
index ca7b3e0..2eabb85 100644 (file)
   :type '(repeat (string :tag "Group")))
 
 (defcustom gnus-nocem-issuers
'("AutoMoose-1" "Automoose-1"   ; CancelMoose[tm]
-   "rbraver@ohww.norman.ok.us"   ; Robert Braver
-   "clewis@ferret.ocunix.on.ca;" ; Chris Lewis
-   "jem@xpat.com;"              ; Despammer from Korea
-   "snowhare@xmission.com"       ; Benjamin "Snowhare" Franz
-   "red@redpoll.mrfs.oh.us (Richard E. Depew)" ; ARMM! ARMM!
-   )
 '("AutoMoose-1" "Automoose-1"                ; CancelMoose[tm]
+    "rbraver@ohww.norman.ok.us"                ; Robert Braver
+    "clewis@ferret.ocunix.on.ca"       ; Chris Lewis
+    "jem@xpat.com"                     ; Despammer from Korea
+    "snowhare@xmission.com"            ; Benjamin "Snowhare" Franz
+    "red@redpoll.mrfs.oh.us (Richard E. Depew)" ; ARMM! ARMM!
+    )
   "List of NoCeM issuers to pay attention to."
   :group 'gnus-nocem
   :type '(repeat string))
@@ -96,6 +96,23 @@ matches an previously scanned and verified nocem message."
 (defun gnus-nocem-cache-file ()
   (concat (file-name-as-directory gnus-nocem-directory) "cache"))
 
+;;
+;; faster lookups for group names:
+;;
+
+(defvar gnus-nocem-real-group-hashtb nil
+  "Real-name mappings of subscribed groups.")
+
+(defun gnus-fill-real-hashtb ()
+  "Fill up a hash table with the real-name mappings from the user's
+active file."
+  (setq gnus-nocem-real-group-hashtb (gnus-make-hashtable
+                                     (length gnus-newsrc-alist)))
+  (mapcar (lambda (group)
+           (setq group (gnus-group-real-name (car group)))
+           (gnus-sethash group t gnus-nocem-real-group-hashtb))
+         gnus-newsrc-alist))
+
 (defun gnus-nocem-scan-groups ()
   "Scan all NoCeM groups for new NoCeM messages."
   (interactive)
@@ -105,6 +122,8 @@ matches an previously scanned and verified nocem message."
     (gnus-make-directory gnus-nocem-directory)
     ;; Load any previous NoCeM headers.
     (gnus-nocem-load-cache)
+    ;; Get the group name mappings:
+    (gnus-fill-real-hashtb)
     ;; Read the active file if it hasn't been read yet.
     (and (file-exists-p (gnus-nocem-active-file))
         (not gnus-nocem-active)
@@ -185,6 +204,8 @@ matches an previously scanned and verified nocem message."
        (narrow-to-region b e)
        (setq issuer (mail-fetch-field "issuer"))
        (widen)
+       (or (member issuer gnus-nocem-issuers)
+           (message "invalid NoCeM issuer: %s" issuer))
        (and (member issuer gnus-nocem-issuers) ; We like her....
             (gnus-nocem-verify-issuer issuer) ; She is who she says she is...
             (gnus-nocem-enter-article) ; We gobble the message..
@@ -223,7 +244,7 @@ matches an previously scanned and verified nocem message."
          (set group nil))
         (t
          (when (gnus-gethash (gnus-group-real-name (symbol-name group))
-                             gnus-newsrc-hashtb)
+                             gnus-nocem-real-group-hashtb)
            ;; Valid group.
            (beginning-of-line)
            (while (= (following-char) ?\t)
@@ -294,7 +315,8 @@ matches an previously scanned and verified nocem message."
        gnus-nocem-hashtb nil
        gnus-nocem-active nil
        gnus-nocem-touched-alist nil
-       gnus-nocem-seen-message-ids nil))
+       gnus-nocem-seen-message-ids nil
+       gnus-nocem-real-group-hashtb nil))
 
 (defun gnus-nocem-unwanted-article-p (id)
   "Say whether article ID in the current group is wanted."
index fc4ec01..f7b9301 100644 (file)
@@ -551,7 +551,8 @@ The following commands are available:
     (cond
      ((not (gnus-check-server method))
       (gnus-message
-       1 "Unable to contact server: %s" (gnus-status-message method))
+       1 "Unable to contact server %s: %s" (nth 1 method)
+       (gnus-status-message method))
       nil)
      ((not
        (prog2
@@ -746,6 +747,8 @@ buffer.
              'request-regenerate (car (gnus-server-to-method server))))
        (error "This backend doesn't support regeneration")
       (gnus-message 5 "Requesting regeneration of %s..." server)
+      (unless (gnus-open-server server)
+       (error "Couldn't open server"))
       (if (gnus-request-regenerate server)
          (gnus-message 5 "Requesting regeneration of %s...done" server)
        (gnus-message 5 "Couldn't regenerate %s" server)))))
index 0a4ab48..116c3ac 100644 (file)
@@ -643,8 +643,8 @@ prompt the user for the name of an NNTP server to use."
     (gnus-splash)
     (gnus-clear-system)
     (nnheader-init-server-buffer)
-    (gnus-read-init-file)
     (setq gnus-slave slave)
+    (gnus-read-init-file)
 
     (when (and (string-match "XEmacs" (emacs-version))
               gnus-simple-splash)
@@ -2211,7 +2211,8 @@ If FORCE is non-nil, the .newsrc file is read."
 
 (defun gnus-gnus-to-quick-newsrc-format ()
   "Insert Gnus variables such as gnus-newsrc-alist in lisp format."
-  (let ((print-quoted t))
+  (let ((print-quoted t)
+       (print-escape-newlines t))
     (insert ";; -*- emacs-lisp -*-\n")
     (insert ";; Gnus startup file.\n")
     (insert
index b9a5dad..d159bdb 100644 (file)
@@ -3048,8 +3048,9 @@ If NO-DISPLAY, don't generate a summary buffer."
   "Return the headers of the GENERATIONeth parent of HEADERS."
   (unless generation
     (setq generation 1))
-  (let (references parent)
-    (while (and headers (not (zerop generation)))
+  (let ((parent t)
+       references)
+    (while (and parent headers (not (zerop generation)))
       (setq references (mail-header-references headers))
       (when (and references
                 (setq parent (gnus-parent-id references))
@@ -7045,6 +7046,7 @@ groups."
     (unless (eq (gnus-summary-article-number)
                gnus-current-article)
       (gnus-summary-select-article t))
+    (gnus-article-date-original)
     (gnus-article-edit-article
      `(lambda ()
        (gnus-summary-edit-article-done
@@ -7740,7 +7742,9 @@ The number of articles marked as read is returned."
          (if (and not-mark
                   (not gnus-newsgroup-adaptive)
                   (not gnus-newsgroup-auto-expire)
-                  (not gnus-suppress-duplicates))
+                  (not gnus-suppress-duplicates)
+                  (or (not gnus-use-cache)
+                      (not (eq gnus-use-cache 'passive))))
              (progn
                (when all
                  (setq gnus-newsgroup-marked nil
index 05fa582..e95af93 100644 (file)
@@ -673,12 +673,13 @@ articles in the topic and its subtopics."
   ;; they belong to some topic.
   (let* ((tgroups (apply 'append (mapcar (lambda (entry) (cdr entry))
                                         gnus-topic-alist)))
-        (entry (assoc (caar gnus-topic-topology) gnus-topic-alist))
+        (entry (last (assoc (caar gnus-topic-topology) gnus-topic-alist)))
         (newsrc (cdr gnus-newsrc-alist))
         group)
     (while newsrc
       (unless (member (setq group (gnus-info-group (pop newsrc))) tgroups)
-       (setcdr entry (cons group (cdr entry))))))
+       (setcdr entry (list group))
+       (setq entry (cdr entry)))))
   ;; Go through all topics and make sure they contain only living groups.
   (let ((alist gnus-topic-alist)
        topic)
@@ -721,7 +722,7 @@ articles in the topic and its subtopics."
        (push (cons topic-name (nreverse filtered-topic)) result)))
     (setq gnus-topic-alist (nreverse result))))
 
-(defun gnus-topic-change-level (group level oldlevel previous)
+(defun gnus-topic-change-level (group level oldlevel &optional previous)
   "Run when changing levels to enter/remove groups from topics."
   (save-excursion
     (set-buffer gnus-group-buffer)
@@ -926,7 +927,8 @@ articles in the topic and its subtopics."
        ["Create" gnus-topic-create-topic t]
        ["Mark" gnus-topic-mark-topic t]
        ["Indent" gnus-topic-indent t]
-       ["Toggle hide empty" gnus-topic-toggle-display-empty-topics t])
+       ["Toggle hide empty" gnus-topic-toggle-display-empty-topics t]
+       ["Edit parameters" gnus-topic-edit-parameters t])
        ["List active" gnus-topic-list-active t]))))
 
 (defun gnus-topic-mode (&optional arg redisplay)
@@ -1229,7 +1231,8 @@ If COPYP, copy the groups instead."
     ;; Remove from alist.
     (setq gnus-topic-alist (delq entry gnus-topic-alist))
     ;; Remove from topology.
-    (gnus-topic-find-topology topic nil nil 'delete)))
+    (gnus-topic-find-topology topic nil nil 'delete)
+    (gnus-dribble-touch)))
 
 (defun gnus-topic-rename (old-name new-name)
   "Rename a topic."
index ad0cc06..d0fc36b 100644 (file)
@@ -182,6 +182,7 @@ See the Gnus manual for an explanation of the syntax used.")
     (faq . gnus-faq-buffer)
     (picons . "*Picons*")
     (tree . gnus-tree-buffer)
+    (score-trace . "*Score Trace*")
     (info . gnus-info-buffer)
     (article-copy . gnus-article-copy)
     (draft . gnus-draft-buffer))
index 514fa20..40bf400 100644 (file)
@@ -238,7 +238,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.4.64"
+(defconst gnus-version-number "5.4.65"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
index 3aafaf5..545d382 100644 (file)
@@ -2407,16 +2407,21 @@ to find out how to use this."
 (defun message-make-message-id ()
   "Make a unique Message-ID."
   (concat "<" (message-unique-id)
-         (let ((psubject (save-excursion (message-fetch-field "subject"))))
-           (if (and message-reply-headers
-                    (mail-header-references message-reply-headers)
-                    (mail-header-subject message-reply-headers)
-                    psubject
-                    (mail-header-subject message-reply-headers)
-                    (not (string=
-                          (message-strip-subject-re
-                           (mail-header-subject message-reply-headers))
-                          (message-strip-subject-re psubject))))
+         (let ((psubject (save-excursion (message-fetch-field "subject")))
+               (psupersedes
+                (save-excursion (message-fetch-field "supersedes"))))
+           (if (or
+                (and message-reply-headers
+                     (mail-header-references message-reply-headers)
+                     (mail-header-subject message-reply-headers)
+                     psubject
+                     (mail-header-subject message-reply-headers)
+                     (not (string=
+                           (message-strip-subject-re
+                            (mail-header-subject message-reply-headers))
+                           (message-strip-subject-re psubject))))
+                (and psupersedes
+                     (string-match "_-_@" psupersedes)))
                "_-_" ""))
          "@" (message-make-fqdn) ">"))
 
index f46c134..367e080 100644 (file)
@@ -448,6 +448,11 @@ time saver for large mailboxes.")
           (kill-buffer (current-buffer))
           t))))
 
+(defun nnfolder-request-regenerate (server)
+  (nnfolder-possibly-change-directory nil server)
+  (nnfolder-generate-active-file)
+  t)
+
 \f
 ;;; Internal functions.
 
index 6fba5d0..971d74a 100644 (file)
   (nnkiboze-possibly-change-group group)
   (when force
      (let ((files (list (nnkiboze-nov-file-name)
-                       (concat nnkiboze-directory group ".newsrc")
+                       (concat nnkiboze-directory
+                                (nnheader-translate-file-chars
+                                 (concat group ".newsrc")))
                        (nnkiboze-score-file group))))
        (while files
         (and (file-exists-p (car files))
@@ -205,8 +207,12 @@ Finds out what articles are to be part of the nnkiboze groups."
 
 (defun nnkiboze-generate-group (group)
   (let* ((info (nth 2 (gnus-gethash group gnus-newsrc-hashtb)))
-        (newsrc-file (concat nnkiboze-directory group ".newsrc"))
-        (nov-file (concat nnkiboze-directory group ".nov"))
+        (newsrc-file (concat nnkiboze-directory 
+                              (nnheader-translate-file-chars
+                               (concat group ".newsrc"))))
+        (nov-file (concat nnkiboze-directory
+                           (nnheader-translate-file-chars
+                            (concat group ".nov"))))
         method nnkiboze-newsrc gname newsrc active
         ginfo lowest glevel orig-info nov-buffer
         ;; Bind various things to nil to make group entry faster.
index ea6f95d..d616800 100644 (file)
@@ -38,7 +38,7 @@
 (nnoo-declare nnml)
 
 (defvoo nnml-directory message-directory
-  "Mail spool directory.")
+  "Spool directory for the nnml mail backend.")
 
 (defvoo nnml-active-file
   (concat (file-name-as-directory nnml-directory) "active")
index 1715c05..c0a0a10 100644 (file)
@@ -129,7 +129,7 @@ The strings are tried in turn until a positive response is gotten.  If
 none of the commands are successful, nntp will just grab headers one
 by one.")
 
-(defvoo nntp-nov-gap 20
+(defvoo nntp-nov-gap 5
   "*Maximum allowed gap between two articles.
 If the gap between two consecutive articles is bigger than this
 variable, split the XOVER request into two requests.")
index 50fb7b0..6aa9a8e 100644 (file)
@@ -374,22 +374,29 @@ to virtual article number.")
 
   (insert "Xref: " system-name " " group ":")
   (princ article (current-buffer))
+  (insert " ")
 
   ;; If there were existing xref lines, clean them up to have the correct
   ;; component server prefix.
-  (let ((xref-end (save-excursion
-                   (search-forward "\t" (gnus-point-at-eol) 'move)
-                   (point)))
-       (len (length prefix)))
-    (unless (= (point) xref-end)
+  (save-restriction
+    (narrow-to-region (point)
+                     (or (search-forward "\t" (gnus-point-at-eol) t)
+                         (gnus-point-at-eol)))
+    (goto-char (point-min))
+    (when (re-search-forward "Xref: *[^\n:0-9 ]+ *" nil t)
+      (replace-match "" t t))
+    (goto-char (point-min))
+    (when (re-search-forward
+          (concat (gnus-group-real-name group) ":[0-9]+")
+          nil t)
+      (replace-match "" t t))
+    (unless (= (point) (point-max))
       (insert " ")
       (when (not (string= "" prefix))
-       (while (re-search-forward "[^ ]+:[0-9]+" xref-end t)
+       (while (re-search-forward "[^ ]+:[0-9]+" nil t)
          (save-excursion
            (goto-char (match-beginning 0))
-           (insert prefix))
-         (setq xref-end (+ xref-end len)))
-       )))
+           (insert prefix))))))
 
   ;; Ensure a trailing \t.
   (end-of-line)
index cdcf3d9..2a66080 100644 (file)
     ("\\(\\^_?\\^;;\\)\\W" 1 "WideFaceAse2.xbm")
     ("\\(\\^_?\\^;\\)\\W" 1 "WideFaceAse1.xbm")
     ("\\(\\^_?\\^\\)\\W" 1 "WideFaceSmile.xbm")
-    ("\\(\\;_;\\)\\W" 1 "WideFaceWeep.xbm")
-    ("\\(\\T_T\\)\\W" 1 "WideFaceWeep.xbm")
+    ("\\(;_;\\)\\W" 1 "WideFaceWeep.xbm")
+    ("\\(T_T\\)\\W" 1 "WideFaceWeep.xbm")
     ("\\(:-*[<«]+\\)\\W" 1 "FaceAngry.xpm")
     ("\\(:-+\\]+\\)\\W" 1 "FaceGoofy.xpm")
     ("\\(:-*D\\)\\W" 1 "FaceGrinning.xpm")
     ("\\(:-*[)>}»]+\\)\\W" 1 "FaceHappy.xpm")
+    ("\\(=[)>»]+\\)\\W" 1 "FaceHappy.xpm")
     ("\\(:-*[/\\\"]\\)[^/]\\W" 1 "FaceIronic.xpm")
     ("\\([8|]-*[|Oo%]\\)\\W" 1 "FaceKOed.xpm")
     ("\\([:|]-*#+\\)\\W" 1 "FaceNyah.xpm")
     ("\\(:-*[({]+\\)\\W" 1 "FaceSad.xpm")
+    ("\\(=[({]+\\)\\W" 1 "FaceSad.xpm")
     ("\\(:-*[Oo\*]\\)\\W" 1 "FaceStartled.xpm")
     ("\\(:-*|\\)\\W" 1 "FaceStraight.xpm")
     ("\\(:-*p\\)\\W" 1 "FaceTalking.xpm")
     ("\\(:-+D\\)\\W" 1 "FaceGrinning.xpm")
     ("\\(:-+[}»]+\\)\\W" 1 "FaceHappy.xpm")
     ("\\(:-*)+\\)\\W" 1 "FaceHappy.xpm")
+    ("\\(=[)>]+\\)\\W" 1 "FaceHappy.xpm")
     ("\\(:-+[/\\\"]+\\)\\W" 1 "FaceIronic.xpm")
     ("\\([8|]-+[|Oo%]\\)\\W" 1 "FaceKOed.xpm")
     ("\\([:|]-+#+\\)\\W" 1 "FaceNyah.xpm")
     ("\\(:-+[({]+\\)\\W" 1 "FaceSad.xpm")
+    ("\\(=[({]+\\)\\W" 1 "FaceSad.xpm")
     ("\\(:-+[Oo\*]\\)\\W" 1 "FaceStartled.xpm")
     ("\\(:-+|\\)\\W" 1 "FaceStraight.xpm")
     ("\\(:-+p\\)\\W" 1 "FaceTalking.xpm")
@@ -208,6 +212,7 @@ above them."
            (alist (if (symbolp smiley-regexp-alist)
                       (symbol-value smiley-regexp-alist)
                     smiley-regexp-alist))
+           (case-fold-search nil)
            entry regexp beg group file)
        (goto-char (or st (point-min)))
        (setq beg (point))
index 3276e04..93c6097 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.4.64 Manual
+@settitle Gnus 5.4.65 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -309,7 +309,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Gnus 5.4.64 Manual
+@title Gnus 5.4.65 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -345,7 +345,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.4.64.
+This manual corresponds to Gnus 5.4.65.
 
 @end ifinfo
 
@@ -8706,7 +8706,7 @@ big a gap between two consecutive articles is allowed to be before the
 @code{XOVER} request is split into several request.  Note that if your
 network is fast, setting this variable to a really small number means
 that fetching will probably be slower.  If this variable is @code{nil},
-@code{nntp} will never split requests.
+@code{nntp} will never split requests.  The default is 5.
 
 @item nntp-prepare-server-hook
 @vindex nntp-prepare-server-hook
@@ -9852,7 +9852,7 @@ it, you might treat it as a newsgroup.  The files have to have numerical
 names, of course.
 
 This might be an opportune moment to mention @code{ange-ftp} (and its
-successor @code{ecf}), that most wonderful of all wonderful Emacs
+successor @code{efs}), that most wonderful of all wonderful Emacs
 packages.  When I wrote @code{nndir}, I didn't think much about it---a
 backend to read directories.  Big deal.
 
@@ -12851,7 +12851,7 @@ Here's a list of all possible keys for
 @code{summary-faq}, @code{edit-group}, @code{edit-server},
 @code{edit-score}, @code{post}, @code{reply}, @code{forward},
 @code{reply-yank}, @code{mail-bounce}, @code{draft}, @code{pipe},
-@code{bug}, @code{compose-bounce}.
+@code{bug}, @code{compose-bounce}, and @code{score-trace}.
 
 Note that the @code{message} key is used for both
 @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}.  If
index a2e939b..e6db314 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.4.64 Manual
+@settitle Message 5.4.65 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Message 5.4.64 Manual
+@title Message 5.4.65 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -79,7 +79,7 @@ buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.4.64.  Message is distributed with
+This manual corresponds to Message 5.4.65.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has. 
 
@@ -931,7 +931,8 @@ headers have been inserted but before the signature has been inserted.
 
 @item message-setup-hook
 @vindex message-setup-hook
-Hook run as the last thing when the message buffer has been initialized.
+Hook run as the last thing when the message buffer has been initialized,
+but before yanked text is inserted.
 
 @item message-header-setup-hook
 @vindex message-header-setup-hook
diff --git a/todo b/todo
index 9b6aa6a..476149f 100644 (file)
--- a/todo
+++ b/todo
@@ -745,3 +745,11 @@ sorted to if `gnus-group-sort-function' were run.
 on the lines.
 
 * `L M' command for lowering a moron in the all.SCORE file.
+
+* gnus-fetch-old-headers `invisible' -- just fetch the headers,
+do the threading and then exclude all the fetched headers.
+
+* check posting via msnews.microsoft.com.
+
+* use run-with-idle-timer for gnus-demon instead of the
+home-brewed stuff for better reliability.