From: shuhei-k Date: Tue, 6 Jan 1998 21:00:56 +0000 (+0000) Subject: Importing qgnus-0.22 X-Git-Tag: qgnus-0_22~1 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=ca7b9508754fa00b3be36074d8a1fb791374acec;p=elisp%2Fgnus.git- Importing qgnus-0.22 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6c87b23..b8d4bdb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,34 @@ +Tue Jan 6 07:45:39 1998 Lars Magne Ingebrigtsen + + * gnus.el: Quassia Gnus v0.22 is released. + +Tue Jan 6 07:32:02 1998 Lars Magne Ingebrigtsen + + * message.el (message-kill-to-signature): Don't use mark. + +Tue Jan 6 07:30:46 1998 Russ Allbery + + * message.el (message-kill-to-signature): New command and keystroke. + +Tue Jan 6 06:39:29 1998 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-print-article): New defaults for + headers and stuff. + + * gnus-agent.el (gnus-agent-batch): New command. + + * nnoo.el (nnoo-execute): Copy vars from parent into child. + (nnoo-parent-function): Ditto. + + * gnus-draft.el (gnus-draft-setup): Removed message. + + * gnus-start.el (gnus-read-descriptions-file): Naked muleism. + +Mon Jan 5 05:20:16 1998 Lars Magne Ingebrigtsen + + * nnml.el (nnml-generate-nov-databases-1): Fix lower bound on + empty groups. + Sun Jan 4 14:38:36 1998 Lars Magne Ingebrigtsen * gnus.el: Quassia Gnus v0.21 is released. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index a76b502..ed3d89f 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -1258,6 +1258,15 @@ The following commands are available: (delete-file file)))))) (gnus-agent-save-alist nil nil nil dir)))) +;;;###autoload +(defun gnus-agent-batch () + (interactive) + (let ((init-file-user "") + (gnus-always-read-dribble-file t)) + (gnus)) + (gnus-group-send-drafts) + (gnus-agent-fetch-session)) + (provide 'gnus-agent) ;;; gnus-agent.el ends here diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index e7cd8a2..f482e5e 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -148,7 +148,6 @@ (let ((article narticle)) (message-mail) (erase-buffer) - (message "%s %s" group article) (if (not (gnus-request-restore-buffer article group)) (error "Couldn't restore the article") ;; Insert the separator. diff --git a/lisp/gnus-ems.el b/lisp/gnus-ems.el index b9c9b1d..142aa32 100644 --- a/lisp/gnus-ems.el +++ b/lisp/gnus-ems.el @@ -182,7 +182,7 @@ (fset 'gnus-summary-set-display-table 'ignore) (fset 'gnus-encode-coding-string 'encode-coding-string) (fset 'gnus-decode-coding-string 'decode-coding-string) - + (when (boundp 'gnus-check-before-posting) (setq gnus-check-before-posting (delq 'long-lines diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index 71801d3..cc2cb3b 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -384,6 +384,9 @@ Can be used to turn version control on or off." ;;; Internal variables +(defvar gnus-always-read-dribble-file nil + "Uncoditionally read the dribble file.") + (defvar gnus-newsrc-file-version nil) (defvar gnus-override-subscribe-method nil) (defvar gnus-dribble-buffer nil) @@ -795,8 +798,9 @@ prompt the user for the name of an NNTP server to use." (setq modes (file-modes gnus-current-startup-file))) (set-file-modes dribble-file modes)) ;; Possibly eval the file later. - (when (gnus-y-or-n-p - "Gnus auto-save file exists. Do you want to read it? ") + (when (or gnus-always-read-dribble-file + (gnus-y-or-n-p + "Gnus auto-save file exists. Do you want to read it? ")) (setq gnus-dribble-eval-file t))))))) (defun gnus-dribble-eval-file () @@ -2488,7 +2492,7 @@ If FORCE is non-nil, the .newsrc file is read." (fboundp 'gnus-mule-get-coding-system) (gnus-mule-get-coding-system (symbol-name group))))) (if coding - (setq str (decode-coding-string str (car coding)))) + (setq str (gnus-decode-coding-string str (car coding)))) (set group str))) (forward-line 1)))) (gnus-message 5 "Reading descriptions file...done") diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 49cada5..c87d7f7 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -6698,8 +6698,19 @@ to save in." (copy-to-buffer buffer (point-min) (point-max)) (set-buffer buffer) (gnus-article-delete-invisible-text) - (run-hooks 'gnus-ps-print-hook) - (ps-print-buffer-with-faces filename)) + (let ((ps-left-header + (list + (concat "(" + (mail-header-subject gnus-current-headers) ")") + (concat "(" + (mail-header-from gnus-current-headers) ")"))) + (ps-right-header + (list + "/pagenumberstring load" + (concat "(" + (mail-header-date gnus-current-headers) ")")))) + (run-hooks 'gnus-ps-print-hook) + (ps-print-buffer-with-faces filename))) (kill-buffer buffer)))))) (defun gnus-summary-show-article (&optional arg) diff --git a/lisp/gnus.el b/lisp/gnus.el index ff7b9e1..f1fc1b3 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -246,7 +246,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "0.21" +(defconst gnus-version-number "0.22" "Version number for this version of Gnus.") (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number) @@ -1655,7 +1655,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-start-date-timer gnus-stop-date-timer) ("gnus-int" gnus-request-type) ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1 - gnus-dribble-enter) + gnus-dribble-enter gnus-read-init-file) ("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article gnus-dup-enter-articles) ("gnus-range" gnus-copy-sequence) @@ -1669,9 +1669,9 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-async-halt-prefetch) ("gnus-agent" gnus-open-agent gnus-agent-get-function gnus-agent-save-groups gnus-agent-save-active gnus-agent-method-p - gnus-agent-get-undownloaded-list) + gnus-agent-get-undownloaded-list gnus-agent-fetch-session) ("gnus-agent" :interactive t - gnus-unplugged gnus-agentize) + gnus-unplugged gnus-agentize gnus-agent-batch) ("gnus-vm" :interactive t gnus-summary-save-in-vm gnus-summary-save-article-vm) ("gnus-draft" :interactive t gnus-draft-mode gnus-group-send-drafts)))) diff --git a/lisp/message.el b/lisp/message.el index 57ddb09..5cf5e27 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1183,6 +1183,7 @@ Return the number of headers removed." (define-key message-mode-map "\C-c\C-e" 'message-elide-region) (define-key message-mode-map "\C-c\C-v" 'message-delete-not-region) + (define-key message-mode-map "\C-c\C-z" 'message-kill-to-signature) (define-key message-mode-map "\M-\r" 'message-newline-and-reformat) (define-key message-mode-map "\t" 'message-tab)) @@ -1198,6 +1199,7 @@ Return the number of headers removed." ["Caesar (rot13) Region" message-caesar-region (mark t)] ["Elide Region" message-elide-region (mark t)] ["Delete Outside Region" message-delete-not-region (mark t)] + ["Kill To Signature" message-kill-to-signature t] ["Newline and Reformat" message-newline-and-reformat t] ["Rename buffer" message-rename-buffer t] ["Spellcheck" ispell-message t] @@ -1441,6 +1443,13 @@ With the prefix argument FORCE, insert the header anyway." (message-goto-signature) (forward-line -2)) +(defun message-kill-to-signature () + "Deletes all text up to the signature." + (interactive) + (let ((point (point))) + (message-goto-signature) + (kill-region point (point)))) + (defun message-newline-and-reformat () "Insert four newlines, and then reformat if inside quoted text." (interactive) diff --git a/lisp/nnml.el b/lisp/nnml.el index 8b73f7a..ea36ca8 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -738,7 +738,12 @@ all. This may very well take some time.") ;; Do this directory. (let ((files (sort (nnheader-article-to-file-alist dir) 'car-less-than-car))) - (when files + (if (not files) + (let* ((group (nnheader-file-to-group + (directory-file-name dir) nnml-directory)) + (info (cadr (assoc group nnml-group-alist)))) + (when info + (setcar info (1+ (cdr info))))) (funcall nnml-generate-active-function dir) ;; Generate the nov file. (nnml-generate-nov-file dir files) diff --git a/lisp/nnoo.el b/lisp/nnoo.el index eea499e..28f9f98 100644 --- a/lisp/nnoo.el +++ b/lisp/nnoo.el @@ -103,7 +103,13 @@ (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) - (apply function args))) + (prog1 + (apply function args) + ;; Copy the changed variables back into the child. + (let ((vars (cdr (assq pbackend (nnoo-parents backend))))) + (while vars + (set (cadar vars) (symbol-value (caar vars))) + (setq vars (cdr vars))))))) (defun nnoo-execute (backend function &rest args) "Execute FUNCTION on behalf of BACKEND." @@ -112,7 +118,13 @@ (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) - (apply function args))) + (prog1 + (apply function args) + ;; Copy the changed variables back into the child. + (let ((vars (cdr (assq pbackend (nnoo-parents backend))))) + (while vars + (set (cadar vars) (symbol-value (caar vars))) + (setq vars (cdr vars))))))) (defmacro nnoo-map-functions (backend &rest maps) `(nnoo-map-functions-1 ',backend ',maps)) diff --git a/texi/ChangeLog b/texi/ChangeLog index 5f2650c..247084e 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,12 @@ +Tue Jan 6 07:22:41 1998 Lars Magne Ingebrigtsen + + * gnus.texi (Batching Agents): New. + +1998-01-04 Christoph Wedler + + * gnus.texi (Newest Features): Delete spaces after @end example. + In XEmacs, `texinfo-format-buffer' would bug out. + Sun Jan 4 12:04:45 1998 Lars Magne Ingebrigtsen * gnus.texi (Conformity): Removed GNKSA. diff --git a/texi/gnus.texi b/texi/gnus.texi index 1759690..a5533b7 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Quassia Gnus 0.21 Manual +@settitle Quassia Gnus 0.22 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -313,7 +313,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Quassia Gnus 0.21 Manual +@title Quassia Gnus 0.22 Manual @author by Lars Magne Ingebrigtsen @page @@ -349,7 +349,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 Quassia Gnus 0.21. +This manual corresponds to Quassia Gnus 0.22. @end ifinfo @@ -11062,6 +11062,7 @@ Of course, to use it as such, you have to learn a few new commands. * Outgoing Messages:: What happens when you post/mail something? * Agent Variables:: Customizing is fun. * Example Setup:: An example @file{.gnus.el} file for offline people. +* Batching Agents:: How to fetch news from a @code{cron} job. @end menu @@ -11534,6 +11535,20 @@ with the @kbd{J s} command. And then read the rest of this manual to find out which of the other gazillion things you want to customize. +@node Batching Agents +@subsection Batching Agents + +Having the Gnus Agent fetch articles (and post whatever messages you've +written) is quite easy once you've gotten things set up properly. The +following shell script will do everything that is necessary: + +@example +#!/bin/sh +emacs -batch -l ~/.emacs -f gnus-agent-batch >/dev/null +@end example + + + @node Scoring @chapter Scoring @cindex scoring @@ -16745,7 +16760,7 @@ Article-mode next-article; else next-group; -@end example +@end example @item My precise need here would have been to limit files to Incoming*. @@ -17092,6 +17107,10 @@ snews://secnews.netscape.com/netscape.communicator.unix When the nntp server hangs up while the user is composing the message, when sending the message and the nntp server asks for AUTH, Gnus hangs. +@item +One command to edit the original version if an article, and one to edit +the displayed version. + @c TODO @end itemize diff --git a/texi/message.texi b/texi/message.texi index d5e15ba..f8d08ac 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Message 0.21 Manual +@settitle Message 0.22 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 0.21 Manual +@title Message 0.22 Manual @author by Lars Magne Ingebrigtsen @page @@ -80,7 +80,7 @@ Message mode buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message 0.21. Message is distributed with +This manual corresponds to Message 0.22. Message is distributed with the Gnus distribution bearing the same version number as this manual has. @@ -525,6 +525,12 @@ Elide the text between point and mark (@code{message-elide-region}). The text is killed and an ellipsis (@samp{[...]}) will be inserted in its place. +@item C-c C-z +@kindex C-c C-x +@findex message-kill-to-signature +Kill all the text up to the signature, or if that's missing, up to the +end of the message (@code{message-kill-to-signature}). + @item C-c C-v @kindex C-c C-v @findex message-delete-not-region