+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.
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
(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
(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))
(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).
+;;; 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
(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))
;; 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)
(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)))))
(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)
;; 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
(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 ()
(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)))
(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)
(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"))
(eval '(run-hooks 'gnus-load-hook))
(require 'custom)
+(require 'gnus-load)
(defgroup gnus nil
"The coffee-brewing, all singing, all dancing, kitchen sink newsreader."
"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)
["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]
"----"
"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.
(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
: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
(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)
;; 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))
(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
(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))))))
(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)
(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)
+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.
\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
@tex
@titlepage
-@title Red Gnus 0.78 Manual
+@title Red Gnus 0.79 Manual
@author by Lars Magne Ingebrigtsen
@page
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
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