*** pub/qgnus/lisp/gnus-agent.el Sun Jan 4 11:11:48 1998 --- qgnus/lisp/gnus-agent.el Tue Jan 6 07:48:27 1998 *************** *** 1258,1263 **** --- 1258,1272 ---- (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 *** pub/qgnus/lisp/gnus-draft.el Sun Jan 4 14:35:15 1998 --- qgnus/lisp/gnus-draft.el Tue Jan 6 07:48:27 1998 *************** *** 148,154 **** (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. --- 148,153 ---- *** pub/qgnus/lisp/gnus-ems.el Sat Dec 6 17:45:09 1997 --- qgnus/lisp/gnus-ems.el Tue Jan 6 07:48:27 1998 *************** *** 182,188 **** (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 --- 182,188 ---- (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 *** pub/qgnus/lisp/gnus-start.el Sun Jan 4 14:35:20 1998 --- qgnus/lisp/gnus-start.el Tue Jan 6 07:48:29 1998 *************** *** 384,389 **** --- 384,392 ---- ;;; 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,802 **** (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? ") (setq gnus-dribble-eval-file t))))))) (defun gnus-dribble-eval-file () --- 798,806 ---- (setq modes (file-modes gnus-current-startup-file))) (set-file-modes dribble-file modes)) ;; Possibly eval the file later. ! (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,2494 **** (fboundp 'gnus-mule-get-coding-system) (gnus-mule-get-coding-system (symbol-name group))))) (if coding ! (setq str (decode-coding-string str (car coding)))) (set group str))) (forward-line 1)))) (gnus-message 5 "Reading descriptions file...done") --- 2492,2498 ---- (fboundp 'gnus-mule-get-coding-system) (gnus-mule-get-coding-system (symbol-name group))))) (if coding ! (setq str (gnus-decode-coding-string str (car coding)))) (set group str))) (forward-line 1)))) (gnus-message 5 "Reading descriptions file...done") *** pub/qgnus/lisp/gnus-sum.el Sun Jan 4 14:35:26 1998 --- qgnus/lisp/gnus-sum.el Tue Jan 6 07:48:36 1998 *************** *** 6698,6705 **** (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)) (kill-buffer buffer)))))) (defun gnus-summary-show-article (&optional arg) --- 6698,6716 ---- (copy-to-buffer buffer (point-min) (point-max)) (set-buffer buffer) (gnus-article-delete-invisible-text) ! (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) *** pub/qgnus/lisp/gnus.el Mon Jan 5 03:59:44 1998 --- qgnus/lisp/gnus.el Tue Jan 6 07:48:38 1998 *************** *** 246,252 **** :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "0.21" "Version number for this version of Gnus.") (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number) --- 246,252 ---- :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (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,1661 **** 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-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article gnus-dup-enter-articles) ("gnus-range" gnus-copy-sequence) --- 1655,1661 ---- 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-read-init-file) ("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article gnus-dup-enter-articles) ("gnus-range" gnus-copy-sequence) *************** *** 1669,1677 **** 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" :interactive t ! gnus-unplugged gnus-agentize) ("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)))) --- 1669,1677 ---- 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-fetch-session) ("gnus-agent" :interactive t ! 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)))) *** pub/qgnus/lisp/message.el Sun Jan 4 11:12:05 1998 --- qgnus/lisp/message.el Tue Jan 6 07:48:40 1998 *************** *** 1183,1188 **** --- 1183,1189 ---- (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,1203 **** --- 1199,1205 ---- ["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] *************** *** 1440,1445 **** --- 1442,1454 ---- (point)))) (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." *** pub/qgnus/lisp/nnml.el Sun Jan 4 11:12:08 1998 --- qgnus/lisp/nnml.el Tue Jan 6 07:48:40 1998 *************** *** 738,744 **** ;; Do this directory. (let ((files (sort (nnheader-article-to-file-alist dir) 'car-less-than-car))) ! (when files (funcall nnml-generate-active-function dir) ;; Generate the nov file. (nnml-generate-nov-file dir files) --- 738,749 ---- ;; Do this directory. (let ((files (sort (nnheader-article-to-file-alist dir) 'car-less-than-car))) ! (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) *** pub/qgnus/lisp/nnoo.el Sun Jan 4 14:35:30 1998 --- qgnus/lisp/nnoo.el Tue Jan 6 07:48:40 1998 *************** *** 103,109 **** (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) ! (apply function args))) (defun nnoo-execute (backend function &rest args) "Execute FUNCTION on behalf of BACKEND." --- 103,115 ---- (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) ! (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,118 **** (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) ! (apply function args))) (defmacro nnoo-map-functions (backend &rest maps) `(nnoo-map-functions-1 ',backend ',maps)) --- 118,130 ---- (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) ! (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)) *** pub/qgnus/lisp/ChangeLog Mon Jan 5 03:59:42 1998 --- qgnus/lisp/ChangeLog Tue Jan 6 07:48:26 1998 *************** *** 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. *** pub/qgnus/texi/gnus.texi Mon Jan 5 03:59:53 1998 --- qgnus/texi/gnus.texi Tue Jan 6 07:48:46 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Quassia Gnus 0.21 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Quassia Gnus 0.22 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 313,319 **** @tex @titlepage ! @title Quassia Gnus 0.21 Manual @author by Lars Magne Ingebrigtsen @page --- 313,319 ---- @tex @titlepage ! @title Quassia Gnus 0.22 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 349,355 **** 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. @end ifinfo --- 349,355 ---- spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Quassia Gnus 0.22. @end ifinfo *************** *** 11062,11067 **** --- 11062,11068 ---- * 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,11539 **** --- 11535,11554 ---- 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,16751 **** next-article; else next-group; ! @end example @item My precise need here would have been to limit files to Incoming*. --- 16760,16766 ---- next-article; else next-group; ! @end example @item My precise need here would have been to limit files to Incoming*. *************** *** 17091,17096 **** --- 17106,17115 ---- @item 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 *** pub/qgnus/texi/message.texi Mon Jan 5 03:59:53 1998 --- qgnus/texi/message.texi Tue Jan 6 07:48:47 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Message 0.21 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Message 0.22 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 39,45 **** @tex @titlepage ! @title Message 0.21 Manual @author by Lars Magne Ingebrigtsen @page --- 39,45 ---- @tex @titlepage ! @title Message 0.22 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 80,86 **** * Key Index:: List of Message mode keys. @end menu ! This manual corresponds to Message 0.21. Message is distributed with the Gnus distribution bearing the same version number as this manual has. --- 80,86 ---- * Key Index:: List of Message mode keys. @end menu ! This manual corresponds to Message 0.22. Message is distributed with the Gnus distribution bearing the same version number as this manual has. *************** *** 524,529 **** --- 524,535 ---- 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 *** pub/qgnus/texi/ChangeLog Sun Jan 4 14:35:36 1998 --- qgnus/texi/ChangeLog Tue Jan 6 07:48:47 1998 *************** *** 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. *** pub/qgnus/texi/dir Wed Jun 18 00:54:19 1997 --- qgnus/texi/dir Tue Nov 25 06:16:59 1997 *************** *** 0 **** --- 1,9 ---- + -*- Text -*- + The Gnus-related top node. +  + File: dir Node: Top This is the Gnus Info tree + + * Menu: + + * Gnus: (gnus). The news reader Gnus. + * Message: (message). The Message sending thingamabob.