*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 5 Mar 1997 01:40:41 +0000 (01:40 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 5 Mar 1997 01:40:41 +0000 (01:40 +0000)
17 files changed:
lisp/ChangeLog
lisp/Makefile
lisp/gnus-art.el
lisp/gnus-demon.el
lisp/gnus-group.el
lisp/gnus-load.el
lisp/gnus-srvr.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/message.el
lisp/nnfolder.el
lisp/nnmail.el
lisp/nnml.el
texi/ChangeLog
texi/gnus.texi

index 2fbddae..70048eb 100644 (file)
@@ -1,3 +1,48 @@
+Mon Jan  6 11:23:05 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-process-babyl-mail-format): Widen at the right
+       place.
+
+       * nnfolder.el (nnfolder-possibly-change-group): Set current group
+       before reading folder.
+
+       * message.el (message-send-mail-with-mh): Expand file name.
+       (message-mode-menu): Check whether mark-active exists.
+
+       * gnus-group.el (gnus-group-get-new-news): Don't pass ARG to the
+       listing function.
+
+       * gnus-xmas.el (gnus-xmas-article-show-hidden-text): Deleted.
+
+Sun Jan  5 21:35:37 1997  Sudish Joseph  <sudish@mindspring.com>
+
+       * gnus-xmas.el (gnus-xmas-article-show-hidden-text): Use
+       'article-type as the textprop of interest.  Speed fix.
+
+       * gnus-art.el (gnus-article-show-hidden-text): Speed fix.
+
+Sun Jan  5 11:43:08 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-retrieve-headers-with-nov): Use faster method for
+       finding the right range.
+
+       * gnus-demon.el (gnus-demon): Would fire off even if not idle.
+
+       * gnus-srvr.el (gnus-server-add-server): Error when defining an
+       existing server.
+
+       * gnus-start.el (gnus-get-unread-articles): Update info for native
+       groups.
+
+       * gnus-load.el (gnus-nocem): New file.
+
+       * gnus-sum.el (gnus-get-newsgroup-headers-xover): Make sure the
+       group name isn't nil.
+
+Sun Jan  5 11:18:22 1997  Lars Magne Ingebrigtsen  <menja.larsi@ifi.uio.no>
+
+       * gnus.el: Red Gnus v0.78 is released.
+
 Sun Jan  5 09:39:14 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus-sum.el (gnus-summary-exit-no-update): Prompt change.
index 461677e..4c72470 100644 (file)
@@ -22,3 +22,15 @@ separately:
 
 pot:
        xpot -drgnus -r`cat ./version` *.el > rgnus.pot
+
+gnus-load.el: 
+       echo ";;; gnus-load.el --- automatically extracted custom dependencies" > gnus-load.el
+       echo ";;" >> gnus-load.el
+       echo ";;; Code:" >> gnus-load.el
+       echo >> gnus-load.el
+       $(EMACS)  $(FLAGS) -l ./dgnushack.el -l custom-edit.el *.el \
+               -f custom-make-dependencies >> gnus-load.el
+       echo >> gnus-load.el
+       echo "(provide 'gnus-load)" >> gnus-load.el
+       echo >> gnus-load.el
+       echo ";;; gnus-load.el ends here" >> gnus-load.el
index 18a699b..ee6e6ef 100644 (file)
@@ -1045,15 +1045,15 @@ If HIDE, hide the text instead."
   (save-excursion
     (let ((buffer-read-only nil)
          (inhibit-point-motion-hooks t)
-         (beg (point-min)))
-      (while (gnus-goto-char (text-property-any
-                             beg (point-max) 'article-type type))
-       (setq beg (point))
-       (forward-char)
+         (end (point-min))
+         beg)
+      (while (setq beg (text-property-any end (point-max) 'article-type type))
+       (goto-char beg)
+       (setq end (text-property-not-all beg (point-max) 'article-type type))
        (if hide
-           (gnus-article-hide-text beg (point) gnus-hidden-properties)
-         (gnus-article-unhide-text beg (point)))
-       (setq beg (point)))
+           (gnus-article-hide-text beg end gnus-hidden-properties)
+         (gnus-article-unhide-text beg end))
+       (goto-char end))
       t)))
 
 (defconst article-time-units
index d5e0c11..9436214 100644 (file)
@@ -187,7 +187,7 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
             (or (not (setq idle (nth 2 handler))) ; Don't care about idle.
                 (and (numberp idle)    ; Numerical idle...
                      (< idle gnus-demon-idle-time)) ; Idle timed out.
-                gnus-demon-idle-time)  ; Or just need to be idle.
+                idle)                  ; Or just need to be idle.
             ;; So we call the handler.
             (progn
               (funcall (car handler))
index 9f93728..db22077 100644 (file)
@@ -2836,7 +2836,7 @@ re-scanning.  If ARG is non-nil and not a number, this will force
     (let ((gnus-read-active-file (if arg nil gnus-read-active-file)))
       (gnus-get-unread-articles arg)))
   (run-hooks 'gnus-after-getting-new-news-hook)
-  (gnus-group-list-groups arg))
+  (gnus-group-list-groups))
 
 (defun gnus-group-get-new-news-this-group (&optional n)
   "Check for newly arrived news in the current group (and the N-1 next groups).
index e69de29..491ef85 100644 (file)
@@ -0,0 +1,60 @@
+;;; gnus-load.el --- automatically extracted custom dependencies
+;;
+;;; Code:
+
+(put 'gnus-visual 'custom-loads '("smiley" "gnus-sum" "gnus-picon" "earcon"))
+(put 'gnus-summary-maneuvering 'custom-loads '("gnus-sum"))
+(put 'gnus-start 'custom-loads '("gnus" "gnus-util" "gnus-start" "gnus-int"))
+(put 'gnus-extract-view 'custom-loads '("gnus-sum"))
+(put 'article-hiding-headers 'custom-loads '("gnus-sum"))
+(put 'gnus-various 'custom-loads '("gnus-sum"))
+(put 'gnus-meta 'custom-loads '("gnus"))
+(put 'message-news 'custom-loads '("message"))
+(put 'gnus-thread 'custom-loads '("gnus-sum"))
+(put 'gnus-treading 'custom-loads '("gnus-sum"))
+(put 'message-various 'custom-loads '("message"))
+(put 'gnus-summary-exit 'custom-loads '("gnus-sum"))
+(put 'gnus 'custom-loads '("nnmail" "gnus" "gnus-win" "gnus-uu" "gnus-sum" "gnus-group" "gnus-eform" "gnus-dup" "gnus-demon" "gnus-cache" "gnus-async" "gnus-art"))
+(put 'gnus-summary-visual 'custom-loads '("gnus-sum"))
+(put 'gnus-score 'custom-loads '("gnus-sum" "gnus-score" "gnus-nocem" "gnus-kill"))
+(put 'gnus-group-select 'custom-loads '("gnus-sum"))
+(put 'message-buffers 'custom-loads '("message"))
+(put 'gnus-threading 'custom-loads '("gnus-sum"))
+(put 'article 'custom-loads '("gnus-sum" "gnus-cite" "gnus-art"))
+(put 'gnus-nocem 'custom-loads '("gnus-nocem"))
+(put 'gnus-cite 'custom-loads '("gnus-cite"))
+(put 'gnus-demon 'custom-loads '("gnus-demon"))
+(put 'gnus-mail 'custom-loads '("nnmail"))
+(put 'message-interface 'custom-loads '("message"))
+(put 'gnus-edit-form 'custom-loads '("gnus-eform"))
+(put 'emacs 'custom-loads '("custom" "widget-edit" "message" "gnus" "custom-opt"))
+(put 'gnus-summary-mail 'custom-loads '("gnus-sum"))
+(put 'gnus-topic 'custom-loads '("gnus-topic"))
+(put 'gnus-summary-choose 'custom-loads '("gnus-sum"))
+(put 'message-headers 'custom-loads '("message"))
+(put 'message-forwarding 'custom-loads '("message"))
+(put 'gnus-duplicate 'custom-loads '("gnus-dup"))
+(put 'widgets 'custom-loads '("widget-edit"))
+(put 'earcon 'custom-loads '("earcon"))
+(put 'gnus-summary-format 'custom-loads '("gnus-sum"))
+(put 'gnus-windows 'custom-loads '("gnus-win"))
+(put 'gnus-summary 'custom-loads '("gnus-sum"))
+(put 'gnus-group 'custom-loads '("gnus-topic" "gnus-sum" "gnus-group"))
+(put 'gnus-summary-marks 'custom-loads '("gnus-sum"))
+(put 'message-mail 'custom-loads '("message"))
+(put 'gnus-summary-various 'custom-loads '("gnus-sum"))
+(put 'message 'custom-loads '("message"))
+(put 'message-sending 'custom-loads '("message"))
+(put 'message-insertion 'custom-loads '("message"))
+(put 'gnus-summary-sort 'custom-loads '("gnus-sum"))
+(put 'customize 'custom-loads '("custom" "custom-edit"))
+(put 'gnus-asynchronous 'custom-loads '("gnus-async"))
+(put 'article-mime 'custom-loads '("gnus-sum"))
+(put 'gnus-extract 'custom-loads '("gnus-uu" "gnus-sum"))
+(put 'article-various 'custom-loads '("gnus-sum"))
+(put 'mesage-sending 'custom-loads '("message"))
+(put 'picons 'custom-loads '("gnus-picon"))
+
+(provide 'gnus-load)
+
+;;; gnus-load.el ends here
index 0cbfc23..93d1aa8 100644 (file)
@@ -422,6 +422,8 @@ The following commands are available:
    (list (intern (completing-read "Server method: "
                                  gnus-valid-select-methods nil t))
         (read-string "Server name: ")))
+  (when (assq where gnus-server-alist)
+    (error "Server with that name already defined"))
   (push (list where how where) gnus-server-killed-servers)
   (gnus-server-yank-server))
 
index 3819eaf..8a83e26 100644 (file)
@@ -1411,7 +1411,7 @@ newsgroup."
 
       ;; Get the number of unread articles in the group.
       (if active
-         (inline (gnus-get-unread-articles-in-group info active))
+         (inline (gnus-get-unread-articles-in-group info active t))
        ;; The group couldn't be reached, so we nix out the number of
        ;; unread articles and stuff.
        (gnus-set-active group nil)
@@ -1448,8 +1448,8 @@ newsgroup."
     (setq gnus-killed-hashtb
          (gnus-make-hashtable
           (+ (length gnus-killed-list) (length gnus-zombie-list))))
-    (while (setq list (pop lists))
-      (setq list (symbol-value list))
+    (while lists
+      (setq list (symbol-value (pop lists)))
       (while list
        (gnus-sethash (car list) (pop list) gnus-killed-hashtb)))))
 
index a6a6a5e..be4757f 100644 (file)
@@ -3715,7 +3715,8 @@ If READ-ALL is non-nil, all articles in the group are selected."
                                     (not (eq gnus-fetch-old-headers 'some))
                                     (not (numberp gnus-fetch-old-headers)))
                                    (> (length articles) 1))))))
-               (gnus-get-newsgroup-headers-xover articles)
+               (gnus-get-newsgroup-headers-xover 
+                articles nil nil gnus-newsgroup-name)
              (gnus-get-newsgroup-headers)))
       (gnus-message 5 "Fetching headers for %s...done" gnus-newsgroup-name)
 
@@ -4353,7 +4354,8 @@ The resulting hash table is returned, or nil if no Xrefs were found."
 
 ;; Goes through the xover lines and returns a list of vectors
 (defun gnus-get-newsgroup-headers-xover (sequence &optional 
-                                                 force-new dependencies)
+                                                 force-new dependencies
+                                                 group)
   "Parse the news overview data in the server buffer, and return a
 list of headers that match SEQUENCE (see `nntp-retrieve-headers')."
   ;; Get the Xref when the users reads the articles since most/some
@@ -4399,7 +4401,7 @@ list of headers that match SEQUENCE (see `nntp-retrieve-headers')."
              (nntp-nov-is-evil t))
          (nconc
           (nreverse headers)
-          (when (gnus-retrieve-headers sequence gnus-newsgroup-name)
+          (when (gnus-retrieve-headers sequence group)
             (gnus-get-newsgroup-headers))))))))
 
 (defun gnus-article-get-xrefs ()
@@ -4490,6 +4492,7 @@ taken into consideration."
       (nreverse articles)))
    ((and (boundp 'transient-mark-mode)
         transient-mark-mode
+        (boundp 'mark-active)
         mark-active)
     ;; Work on the region between point and mark.
     (let ((max (max (point) (mark)))
index 4bd9a59..5e3dc56 100644 (file)
@@ -445,7 +445,6 @@ call it with the value of the `gnus-data' text property."
   (fset 'gnus-make-local-hook 'make-local-variable)
   (fset 'gnus-add-hook 'gnus-xmas-add-hook)
   (fset 'gnus-character-to-event 'character-to-event)
-  (fset 'gnus-article-show-hidden-text 'gnus-xmas-article-show-hidden-text)
   (fset 'gnus-mode-line-buffer-identification
        'gnus-xmas-mode-line-buffer-identification)
   (fset 'gnus-key-press-event-p 'key-press-event-p)
@@ -708,27 +707,6 @@ XEmacs compatibility workaround."
       (set-extent-begin-glyph 
        (make-extent (point) (1+ (point))) xface-glyph))))
 
-(defun gnus-xmas-article-show-hidden-text (type &optional hide)
-  "Show all hidden text of type TYPE.
-If HIDE, hide the text instead."
-  (save-excursion
-    (set-buffer gnus-article-buffer)
-    (let ((buffer-read-only nil)
-         (inhibit-point-motion-hooks t)
-         (beg (point-min)))
-      (while (gnus-goto-char (text-property-any
-                             beg (point-max) 'gnus-type type))
-       (setq beg (point))
-       (forward-char)
-       (if hide
-           (gnus-article-hide-text beg (point) gnus-hidden-properties)
-         (gnus-article-unhide-text beg (point)))
-       (setq beg (point)))
-      (save-window-excursion
-       (select-window (get-buffer-window (current-buffer)))
-       (recenter))
-      t)))
-
 (defvar gnus-xmas-pointer-glyph 
   (progn
     (setq gnus-xmas-glyph-directory (message-xmas-find-glyph-directory "gnus"))
index ccfa5ad..48fd0cf 100644 (file)
@@ -29,6 +29,7 @@
 (eval '(run-hooks 'gnus-load-hook))
 
 (require 'custom)
+(require 'gnus-load)
 
 (defgroup gnus nil
   "The coffee-brewing, all singing, all dancing, kitchen sink newsreader."
@@ -42,7 +43,7 @@
   "Score and kill file handling."
   :group 'gnus )
 
-(defconst gnus-version-number "0.78"
+(defconst gnus-version-number "0.79"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Red Gnus v%s" gnus-version-number)
index 467d098..ac35ef8 100644 (file)
@@ -982,8 +982,8 @@ Return the number of headers removed."
    ["Fill Yanked Message" message-fill-yanked-message t]
    ["Insert Signature" message-insert-signature t]
    ["Caesar (rot13) Message" message-caesar-buffer-body t]
-   ["Caesar (rot13) Region" message-caesar-region mark-active]
-   ["Elide Region" message-elide-region mark-active]
+   ["Caesar (rot13) Region" message-caesar-region (mark t)]
+   ["Elide Region" message-elide-region (mark t)]
    ["Rename buffer" message-rename-buffer t]
    ["Spellcheck" ispell-message t]
    "----"
@@ -1730,7 +1730,8 @@ to find out how to use this."
   "Send the prepared message buffer with mh."
   (let ((mh-previous-window-config nil)
        (name (make-temp-name
-              (concat (file-name-as-directory message-autosave-directory)
+              (concat (file-name-as-directory 
+                       (expand-file-name message-autosave-directory))
                       "msg."))))
     (setq buffer-file-name name)
     ;; MH wants to generate these headers itself.
index ccc2f92..81c2b90 100644 (file)
@@ -517,6 +517,7 @@ time saver for large mailboxes.")
              (unless (file-exists-p file)
                (gnus-make-directory (file-name-directory file))
                (nnmail-write-region 1 1 file t 'nomesg))
+             (setq nnfolder-current-group group)
              (setq nnfolder-current-buffer
                    (nnfolder-read-folder file scanning))
              (when nnfolder-current-buffer 
index f80e342..1d018f4 100644 (file)
@@ -247,7 +247,7 @@ that) from the headers before splitting and saving the messages."
   :type 'hook)
 
 (defcustom nnmail-list-identifiers nil
-  "Regexp that match list identifiers to be removed.
+  "Regexp that matches list identifiers to be removed.
 This can also be a list of regexps."
   :group 'gnus-mail
   :type '(choice regexp
@@ -656,7 +656,7 @@ is a spool.  If not using procmail, return GROUP."
             (search-forward "\1f\f"))
         (point)))
       (run-hooks 'nnmail-prepare-incoming-header-hook)
-      (widen)
+      (goto-char (point-max))
       ;; Find the Message-ID header.
       (save-excursion
        (if (re-search-backward "^Message-ID:[ \t]*\\(<[^>]*>\\)" nil t)
@@ -684,6 +684,7 @@ is a spool.  If not using procmail, return GROUP."
                      ;; a (possibly) faulty header.
                      (progn (insert "X-") t))))
          (setq do-search t)
+       (widen)
        (if (or (= (+ (point) content-length) (point-max))
                (save-excursion
                  (goto-char (+ (point) content-length))
@@ -692,6 +693,7 @@ is a spool.  If not using procmail, return GROUP."
              (goto-char (+ (point) content-length))
              (setq do-search nil))
          (setq do-search t)))
+      (widen)
       ;; Go to the beginning of the next article - or to the end
       ;; of the buffer.  
       (when do-search
@@ -1056,7 +1058,7 @@ Return the number of characters in the body."
     (when regexp
       (goto-char (point-min))
       (when (re-search-forward
-            (concat "Subject: +\\(Re: +\\)?\\(" regexp "\\) *")
+            (concat "^Subject: +\\(Re: +\\)?\\(" regexp "\\) *")
             nil t)
        (delete-region (match-beginning 2) (match-end 0))))))
 
index 6307777..b5822d3 100644 (file)
@@ -526,10 +526,7 @@ all.  This may very well take some time.")
 (defun nnml-retrieve-headers-with-nov (articles &optional fetch-old)
   (if (or gnus-nov-is-evil nnml-nov-is-evil)
       nil
-    (let ((first (car articles))
-         (last (progn (while (cdr articles) (setq articles (cdr articles)))
-                      (car articles)))
-         (nov (concat nnml-current-directory nnml-nov-file-name)))
+    (let ((nov (concat nnml-current-directory nnml-nov-file-name)))
       (when (file-exists-p nov)
        (save-excursion
          (set-buffer nntp-server-buffer)
@@ -538,19 +535,10 @@ all.  This may very well take some time.")
          (if (and fetch-old
                   (not (numberp fetch-old)))
              t                         ; Don't remove anything.
-           (when fetch-old
-             (setq first (max 1 (- first fetch-old))))
-           (goto-char (point-min))
-           (while (and (not (eobp)) (> first (read (current-buffer))))
-             (forward-line 1))
-           (beginning-of-line)
-           (when (not (eobp))
-             (delete-region 1 (point)))
-           (while (and (not (eobp)) (>= last (read (current-buffer))))
-             (forward-line 1))
-           (beginning-of-line)
-           (when (not (eobp))
-             (delete-region (point) (point-max)))
+           (nnheader-nov-delete-outside-range
+            (if fetch-old (max 1 (- (car articles) fetch-old))
+              (car articles))
+            (car (last articles)))
            t))))))
 
 (defun nnml-possibly-change-directory (group &optional server)
index f46fcc4..e1ba36c 100644 (file)
@@ -1,3 +1,7 @@
+Mon Jan  6 22:49:12 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NoCeM): Addition.
+
 Fri Jan  3 18:13:02 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * message.texi (Various Commands): Addition.
index c198956..95048ac 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Red Gnus 0.78 Manual
+@settitle Red Gnus 0.79 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -287,7 +287,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Red Gnus 0.78 Manual
+@title Red Gnus 0.79 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -323,7 +323,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 Red Gnus 0.78
+This manual corresponds to Red Gnus 0.79
 
 @end ifinfo
 
@@ -12942,6 +12942,14 @@ postings to non-binary groups and removes spews (regurgitated articles).
 You do not have to heed NoCeM messages from all these people---just the
 ones you want to listen to.
 
+@item gnus-nocem-verifyer
+@vindex gnus-nocem-verifyer
+@findex mc-verify
+This should be a function for verifying that the NoCeM issuer is who she
+says she is.  The default is @code{mc-verify}, which is a Mailcrypt
+function.  If this is too slow and you don't care for verification
+(which may be dangerous), you can set this variable to @code{nil}.
+
 @item gnus-nocem-directory
 @vindex gnus-nocem-directory
 This is where Gnus will store its NoCeM cache files.  The default is