*** pub/rgnus/lisp/gnus-art.el Tue Jan 28 22:13:59 1997 --- rgnus/lisp/gnus-art.el Sat Feb 1 14:24:00 1997 *************** *** 1453,1462 **** (save-excursion (save-restriction (widen) ! (if (and (file-readable-p filename) (mail-file-babyl-p filename)) ! (gnus-output-to-rmail filename) ! (let ((mail-use-rfc822 t)) ! (rmail-output filename 1 t t)))))) ;; Remember the directory name to save articles. (setq gnus-newsgroup-last-mail filename))) --- 1453,1462 ---- (save-excursion (save-restriction (widen) ! (if (and (file-readable-p filename) ! (mail-file-babyl-p filename)) ! (gnus-output-to-rmail filename t) ! (gnus-output-to-mail filename t))))) ;; Remember the directory name to save articles. (setq gnus-newsgroup-last-mail filename))) *************** *** 1953,2008 **** ;;; Article savers. - (defun gnus-output-to-rmail (file-name) - "Append the current article to an Rmail file named FILE-NAME." - (require 'rmail) - ;; Most of these codes are borrowed from rmailout.el. - (setq file-name (expand-file-name file-name)) - (setq rmail-default-rmail-file file-name) - (let ((artbuf (current-buffer)) - (tmpbuf (get-buffer-create " *Gnus-output*"))) - (save-excursion - (or (get-file-buffer file-name) - (file-exists-p file-name) - (if (gnus-yes-or-no-p - (concat "\"" file-name "\" does not exist, create it? ")) - (let ((file-buffer (create-file-buffer file-name))) - (save-excursion - (set-buffer file-buffer) - (rmail-insert-rmail-file-header) - (let ((require-final-newline nil)) - (gnus-write-buffer file-name))) - (kill-buffer file-buffer)) - (error "Output file does not exist"))) - (set-buffer tmpbuf) - (buffer-disable-undo (current-buffer)) - (erase-buffer) - (insert-buffer-substring artbuf) - (gnus-convert-article-to-rmail) - ;; Decide whether to append to a file or to an Emacs buffer. - (let ((outbuf (get-file-buffer file-name))) - (if (not outbuf) - (append-to-file (point-min) (point-max) file-name) - ;; File has been visited, in buffer OUTBUF. - (set-buffer outbuf) - (let ((buffer-read-only nil) - (msg (and (boundp 'rmail-current-message) - (symbol-value 'rmail-current-message)))) - ;; If MSG is non-nil, buffer is in RMAIL mode. - (when msg - (widen) - (narrow-to-region (point-max) (point-max))) - (insert-buffer-substring tmpbuf) - (when msg - (goto-char (point-min)) - (widen) - (search-backward "\^_") - (narrow-to-region (point) (point-max)) - (goto-char (1+ (point-min))) - (rmail-count-new-messages t) - (rmail-show-message msg)))))) - (kill-buffer tmpbuf))) - (defun gnus-output-to-file (file-name) "Append the current article to a file named FILE-NAME." (let ((artbuf (current-buffer))) --- 1953,1958 ---- *************** *** 2014,2031 **** (insert "\n") (append-to-file (point-min) (point-max) file-name)))) - (defun gnus-convert-article-to-rmail () - "Convert article in current buffer to Rmail message format." - (let ((buffer-read-only nil)) - ;; Convert article directly into Babyl format. - ;; Suggested by Rob Austein - (goto-char (point-min)) - (insert "\^L\n0, unseen,,\n*** EOOH ***\n") - (while (search-forward "\n\^_" nil t) ;single char - (replace-match "\n^_" t t)) ;2 chars: "^" and "_" - (goto-char (point-max)) - (insert "\^_"))) - (defun gnus-narrow-to-page (&optional arg) "Narrow the article buffer to a page. If given a numerical ARG, move forward ARG pages." --- 1964,1969 ---- *************** *** 2517,2529 **** :type 'regexp) (defcustom gnus-button-alist ! `(("\\(\\b\n\t ]*\\)>?\\)" 1 t gnus-button-message-id 3) ! ("\\(\\b\n\t ]*\\)>?\\)" 1 t gnus-button-fetch-group 4) ("\\bin\\( +article\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 t gnus-button-message-id 3) ! ("\\( \n\t]+\\)>?" 0 t gnus-url-mailto 2) ;; This is how URLs _should_ be embedded in text... ("]*\\)>" 0 t gnus-button-embedded-url 1) ;; Raw URLs. --- 2455,2470 ---- :type 'regexp) (defcustom gnus-button-alist ! `(("\\(\\b<\\(url: ?\\)?news:\\([^>\n\t ]*\\)>\\)" 1 t gnus-button-message-id 3) ! ("\\bnews:\\([^\n\t ]+\\)" 0 t gnus-button-message-id 1) ! ("\\(\\b<\\(url: ?\\)?news:\\(//\\)?\\([^>\n\t ]*\\)>\\)" 1 t gnus-button-fetch-group 4) + ("\\bnews:\\(//\\)?\\([^>\n\t ]+\\)" 0 t gnus-button-fetch-group 2) ("\\bin\\( +article\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 t gnus-button-message-id 3) ! ("\\( \n\t]+\\)>" 0 t gnus-url-mailto 1) ! ("\\bmailto:\\([^ \n\t]+\\)" 0 t gnus-url-mailto 2) ;; This is how URLs _should_ be embedded in text... ("]*\\)>" 0 t gnus-button-embedded-url 1) ;; Raw URLs. *** pub/rgnus/lisp/gnus-group.el Thu Jan 30 04:29:15 1997 --- rgnus/lisp/gnus-group.el Sat Feb 1 14:24:01 1997 *************** *** 46,53 **** :group 'gnus-group-foreign :type 'directory) ! ;; Suggested by Andrew Eskilsson . ! (defcustom gnus-no-groups-message "No news is horrible news" "*Message displayed by Gnus when no groups are available." :group 'gnus-start :type 'string) --- 46,52 ---- :group 'gnus-group-foreign :type 'directory) ! (defcustom gnus-no-groups-message "No news is no news" "*Message displayed by Gnus when no groups are available." :group 'gnus-start :type 'string) *************** *** 1827,1841 **** (unless (gnus-check-backend-function 'request-rename-group (gnus-group-group-name)) (error "This backend does not support renaming groups")) ! (gnus-read-group "Rename group to: " (gnus-group-group-name))))) (unless (gnus-check-backend-function 'request-rename-group group) (error "This backend does not support renaming groups")) (unless group (error "No group to rename")) ! (when (string-match "^[ \t]*$" new-name) ! (error "Not a valid group name")) ! (when (equal group new-name) (error "Can't rename to the same name")) ;; We find the proper prefixed name. --- 1826,1839 ---- (unless (gnus-check-backend-function 'request-rename-group (gnus-group-group-name)) (error "This backend does not support renaming groups")) ! (gnus-read-group "Rename group to: " ! (gnus-group-real-name (gnus-group-group-name)))))) (unless (gnus-check-backend-function 'request-rename-group group) (error "This backend does not support renaming groups")) (unless group (error "No group to rename")) ! (when (equal (gnus-group-real-name group) new-name) (error "Can't rename to the same name")) ;; We find the proper prefixed name. *** pub/rgnus/lisp/gnus-msg.el Sat Jan 25 09:34:58 1997 --- rgnus/lisp/gnus-msg.el Sat Feb 1 14:24:01 1997 *************** *** 309,314 **** --- 309,321 ---- (push `((lambda () (gnus-cache-possibly-remove-article ,article nil nil nil t))) + message-send-actions) + (push + `((lambda () + (when (buffer-name (get-buffer ,gnus-summary-buffer)) + (save-excursion + (set-buffer (get-buffer ,gnus-summary-buffer)) + (gnus-summary-mark-as-read ,article gnus-canceled-mark))))) message-send-actions)))) *** pub/rgnus/lisp/gnus-start.el Tue Jan 21 09:27:01 1997 --- rgnus/lisp/gnus-start.el Sat Feb 1 14:24:01 1997 *************** *** 2183,2188 **** --- 2183,2189 ---- (defun gnus-gnus-to-quick-newsrc-format () "Insert Gnus variables such as gnus-newsrc-alist in lisp format." (let ((print-quoted t)) + (insert ";; -*- emacs-lisp -*-\n") (insert ";; Gnus startup file.\n") (insert ";; Never delete this file - touch .newsrc instead to force Gnus\n") *************** *** 2201,2215 **** (delq 'gnus-killed-list (copy-sequence gnus-variable-list)))) ;; Peel off the "dummy" group. (gnus-newsrc-alist (cdr gnus-newsrc-alist)) - ;; Make sure the printing isn't abbreviated. - (print-length nil) variable) ;; Insert the variables into the file. (while variables (when (and (boundp (setq variable (pop variables))) (symbol-value variable)) (insert "(setq " (symbol-name variable) " '") ! (prin1 (symbol-value variable) (current-buffer)) (insert ")\n")))))) (defun gnus-strip-killed-list () --- 2202,2214 ---- (delq 'gnus-killed-list (copy-sequence gnus-variable-list)))) ;; Peel off the "dummy" group. (gnus-newsrc-alist (cdr gnus-newsrc-alist)) variable) ;; Insert the variables into the file. (while variables (when (and (boundp (setq variable (pop variables))) (symbol-value variable)) (insert "(setq " (symbol-name variable) " '") ! (gnus-prin1 (symbol-value variable)) (insert ")\n")))))) (defun gnus-strip-killed-list () *** pub/rgnus/lisp/gnus-topic.el Tue Jan 28 22:14:01 1997 --- rgnus/lisp/gnus-topic.el Sat Feb 1 14:24:02 1997 *************** *** 1147,1153 **** "Remove the process mark from all groups in the topic." (interactive (list (gnus-group-topic-name))) (if (not topic) ! (call-interactively 'gnus-group-mark-group) (gnus-topic-mark-topic topic t))) (defun gnus-topic-get-new-news-this-topic (&optional n) --- 1147,1153 ---- "Remove the process mark from all groups in the topic." (interactive (list (gnus-group-topic-name))) (if (not topic) ! (call-interactively 'gnus-group-unmark-group) (gnus-topic-mark-topic topic t))) (defun gnus-topic-get-new-news-this-topic (&optional n) *** pub/rgnus/lisp/gnus-util.el Fri Jan 24 03:11:18 1997 --- rgnus/lisp/gnus-util.el Sat Feb 1 14:24:02 1997 *************** *** 102,122 **** (when (gnus-buffer-exists-p buf) (kill-buffer buf)))) ! (defsubst gnus-point-at-bol () ! "Return point at the beginning of the line." ! (let ((p (point))) ! (beginning-of-line) ! (prog1 ! (point) ! (goto-char p)))) ! ! (defsubst gnus-point-at-eol () ! "Return point at the end of the line." ! (let ((p (point))) ! (end-of-line) ! (prog1 ! (point) ! (goto-char p)))) (defun gnus-delete-first (elt list) "Delete by side effect the first occurrence of ELT as a member of LIST." --- 102,126 ---- (when (gnus-buffer-exists-p buf) (kill-buffer buf)))) ! (if (fboundp 'point-at-bol) ! (fset 'gnus-point-at-bol 'point-at-bol) ! (defsubst gnus-point-at-bol () ! "Return point at the beginning of the line." ! (let ((p (point))) ! (beginning-of-line) ! (prog1 ! (point) ! (goto-char p))))) ! ! (if (fboundp 'point-at-eol) ! (fset 'gnus-point-at-eol 'point-at-eol) ! (defsubst gnus-point-at-eol () ! "Return point at the end of the line." ! (let ((p (point))) ! (end-of-line) ! (prog1 ! (point) ! (goto-char p))))) (defun gnus-delete-first (elt list) "Delete by side effect the first occurrence of ELT as a member of LIST." *************** *** 570,576 **** (defun gnus-prin1 (form) "Use `prin1' on FORM in the current buffer. Bind `print-quoted' to t while printing." ! (let ((print-quoted t)) (prin1 form (current-buffer)))) (defun gnus-prin1-to-string (form) --- 574,581 ---- (defun gnus-prin1 (form) "Use `prin1' on FORM in the current buffer. Bind `print-quoted' to t while printing." ! (let ((print-quoted t) ! print-level print-length) (prin1 form (current-buffer)))) (defun gnus-prin1-to-string (form) *************** *** 696,701 **** --- 701,805 ---- ;(put 'gnus-atomic-setq 'edebug-form-spec '(body)) + + ;;; Functions for saving to babyl/mail files. + + (defun gnus-output-to-rmail (filename &optional ask) + "Append the current article to an Rmail file named FILENAME." + (require 'rmail) + ;; Most of these codes are borrowed from rmailout.el. + (setq filename (expand-file-name filename)) + (setq rmail-default-rmail-file filename) + (let ((artbuf (current-buffer)) + (tmpbuf (get-buffer-create " *Gnus-output*"))) + (save-excursion + (or (get-file-buffer filename) + (file-exists-p filename) + (if (or (not ask) + (gnus-yes-or-no-p + (concat "\"" filename "\" does not exist, create it? "))) + (let ((file-buffer (create-file-buffer filename))) + (save-excursion + (set-buffer file-buffer) + (rmail-insert-rmail-file-header) + (let ((require-final-newline nil)) + (gnus-write-buffer filename))) + (kill-buffer file-buffer)) + (error "Output file does not exist"))) + (set-buffer tmpbuf) + (erase-buffer) + (insert-buffer-substring artbuf) + (gnus-convert-article-to-rmail) + ;; Decide whether to append to a file or to an Emacs buffer. + (let ((outbuf (get-file-buffer filename))) + (if (not outbuf) + (append-to-file (point-min) (point-max) filename) + ;; File has been visited, in buffer OUTBUF. + (set-buffer outbuf) + (let ((buffer-read-only nil) + (msg (and (boundp 'rmail-current-message) + (symbol-value 'rmail-current-message)))) + ;; If MSG is non-nil, buffer is in RMAIL mode. + (when msg + (widen) + (narrow-to-region (point-max) (point-max))) + (insert-buffer-substring tmpbuf) + (when msg + (goto-char (point-min)) + (widen) + (search-backward "\^_") + (narrow-to-region (point) (point-max)) + (goto-char (1+ (point-min))) + (rmail-count-new-messages t) + (rmail-show-message msg)))))) + (kill-buffer tmpbuf))) + + (defun gnus-output-to-mail (filename &optional ask) + "Append the current article to a mail file named FILENAME." + (setq filename (expand-file-name filename)) + (let ((artbuf (current-buffer)) + (tmpbuf (get-buffer-create " *Gnus-output*"))) + (save-excursion + ;; Create the file, if it doesn't exist. + (when (and (not (get-file-buffer filename)) + (not (file-exists-p filename))) + (if (or (not ask) + (gnus-yes-or-no-p + (concat "\"" filename "\" does not exist, create it? "))) + (let ((file-buffer (create-file-buffer filename))) + (save-excursion + (set-buffer file-buffer) + (let ((require-final-newline nil)) + (gnus-write-buffer filename))) + (kill-buffer file-buffer)) + (error "Output file does not exist"))) + (set-buffer tmpbuf) + (erase-buffer) + (insert-buffer-substring artbuf) + (goto-char (point-min)) + (unless (looking-at "From ") + (insert "From nobody " (current-time-string) "\n")) + ;; Decide whether to append to a file or to an Emacs buffer. + (let ((outbuf (get-file-buffer filename))) + (if (not outbuf) + (append-to-file (point-min) (point-max) filename) + ;; File has been visited, in buffer OUTBUF. + (set-buffer outbuf) + (let ((buffer-read-only nil)) + (goto-char (point-max)) + (insert-buffer-substring tmpbuf))))) + (kill-buffer tmpbuf))) + + (defun gnus-convert-article-to-rmail () + "Convert article in current buffer to Rmail message format." + (let ((buffer-read-only nil)) + ;; Convert article directly into Babyl format. + (goto-char (point-min)) + (insert "\^L\n0, unseen,,\n*** EOOH ***\n") + (while (search-forward "\n\^_" nil t) ;single char + (replace-match "\n^_" t t)) ;2 chars: "^" and "_" + (goto-char (point-max)) + (insert "\^_"))) (provide 'gnus-util) *** pub/rgnus/lisp/gnus-xmas.el Thu Jan 9 11:59:35 1997 --- rgnus/lisp/gnus-xmas.el Sat Feb 1 14:24:02 1997 *************** *** 381,387 **** (unless (face-differs-from-default-p 'underline) (funcall (intern "set-face-underline-p") 'underline t)) ! (fset 'gnus-characterp 'characterp) (fset 'gnus-make-overlay 'make-extent) (fset 'gnus-overlay-put 'set-extent-property) (fset 'gnus-move-overlay 'gnus-xmas-move-overlay) --- 381,394 ---- (unless (face-differs-from-default-p 'underline) (funcall (intern "set-face-underline-p") 'underline t)) ! (cond ! ((fboundp 'char-or-char-int-p) ! ;; Handle both types of marks for XEmacs-20.x. ! (fset 'gnus-characterp 'char-or-char-int-p)) ! ;; V19 of XEmacs, probably. ! (t ! (fset 'gnus-characterp 'characterp))) ! (fset 'gnus-make-overlay 'make-extent) (fset 'gnus-overlay-put 'set-extent-property) (fset 'gnus-move-overlay 'gnus-xmas-move-overlay) *************** *** 391,398 **** (fset 'gnus-put-text-property 'gnus-xmas-put-text-property) (require 'text-props) ! (when (< emacs-minor-version 14) ! (fset 'gnus-set-text-properties 'gnus-xmas-set-text-properties)) (when (fboundp 'turn-off-scroll-in-place) (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place)) --- 398,406 ---- (fset 'gnus-put-text-property 'gnus-xmas-put-text-property) (require 'text-props) ! (if (and (<= emacs-major-version 19) ! (< emacs-minor-version 14)) ! (fset 'gnus-set-text-properties 'gnus-xmas-set-text-properties)) (when (fboundp 'turn-off-scroll-in-place) (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place)) *** pub/rgnus/lisp/gnus.el Thu Jan 30 04:29:18 1997 --- rgnus/lisp/gnus.el Sat Feb 1 14:24:03 1997 *************** *** 133,152 **** :link '(custom-manual "(gnus)Various Summary Stuff") :group 'gnus-summary) ! ;; Belongs to to gnus-uu.el (defgroup gnus-extract-view nil "Viewing extracted files." :link '(custom-manual "(gnus)Viewing Files") :group 'gnus-extract) ! ;; Other (defgroup gnus-score nil "Score and kill file handling." ! :group 'gnus ) ! (defgroup gnus-exit nil ! "Exiting gnus." ! :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) (defgroup gnus-various nil --- 133,191 ---- :link '(custom-manual "(gnus)Various Summary Stuff") :group 'gnus-summary) ! ;; Belongs to gnus-uu.el (defgroup gnus-extract-view nil "Viewing extracted files." :link '(custom-manual "(gnus)Viewing Files") :group 'gnus-extract) ! ;; Belongs to gnus-score.el (defgroup gnus-score nil "Score and kill file handling." ! :group 'gnus) ! (defgroup gnus-score-kill nil ! "Kill files." ! :group 'gnus-score) ! ! (defgroup gnus-score-adapt nil ! "Adaptive score files." ! :group 'gnus-score) ! ! (defgroup gnus-score-files nil ! "Score and kill file names." ! :group 'gnus-score ! :group 'gnus-files) ! ! (defgroup gnus-score-various nil ! "Various scoring and killing options." ! :group 'gnus-score) ! ! ;; Other ! (defgroup gnus-visual nil ! "Options controling the visual fluff." ! :group 'gnus) ! ! (defgroup gnus-mail-expire nil ! "Expiring articles in mail backends." ! :group 'gnus-mail) ! ! (defgroup gnus-files nil ! "Files used by Gnus." ! :group 'gnus) ! ! (defgroup gnus-server nil ! "Options related to newsservers and other servers used by Gnus." ! :group 'gnus) ! ! (defgroup gnus-message '((message custom-group)) ! "Composing replies and followups in Gnus." ! :group 'gnus) ! ! (defgroup gnus-meta nil ! "Meta variables controling major portions of Gnus. ! In general, modifying these variables does not take affect until Gnus ! is restarted, and sometimes reloaded." :group 'gnus) (defgroup gnus-various nil *************** *** 154,160 **** :link '(custom-manual "(gnus)Various Various") :group 'gnus) ! (defconst gnus-version-number "5.4.8" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) --- 193,204 ---- :link '(custom-manual "(gnus)Various Various") :group 'gnus) ! (defgroup gnus-exit nil ! "Exiting gnus." ! :link '(custom-manual "(gnus)Exiting Gnus") ! :group 'gnus) ! ! (defconst gnus-version-number "5.4.9" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) *************** *** 640,659 **** (require 'gnus-util) (require 'nnheader) - (defgroup gnus-meta nil - "Meta variables controling major portions of Gnus. - In general, modifying these variables does not take affect until Gnus - is restarted, and sometimes reloaded." - :group 'gnus) - (defcustom gnus-directory (or (getenv "SAVEDIR") "~/News/") "Directory variable from which all other Gnus file variables are derived." ! :group 'gnus-meta :type 'directory) (defcustom gnus-default-directory nil "*Default directory for all Gnus buffers." ! :group 'gnus-start :type '(choice (const :tag "current" nil) directory)) --- 684,697 ---- (require 'gnus-util) (require 'nnheader) (defcustom gnus-directory (or (getenv "SAVEDIR") "~/News/") "Directory variable from which all other Gnus file variables are derived." ! :group 'gnus-files :type 'directory) (defcustom gnus-default-directory nil "*Default directory for all Gnus buffers." ! :group 'gnus-files :type '(choice (const :tag "current" nil) directory)) *************** *** 678,684 **** (defcustom gnus-nntpserver-file "/etc/nntpserver" "A file with only the name of the nntp server in it." ! :group 'gnus-start :type 'file) ;; This function is used to check both the environment variable --- 716,723 ---- (defcustom gnus-nntpserver-file "/etc/nntpserver" "A file with only the name of the nntp server in it." ! :group 'gnus-files ! :group 'gnus-server :type 'file) ;; This function is used to check both the environment variable *************** *** 728,734 **** There is a lot more to know about select methods and virtual servers - see the manual for details." ! :group 'gnus-start :type 'gnus-select-method) (defcustom gnus-message-archive-method --- 767,773 ---- There is a lot more to know about select methods and virtual servers - see the manual for details." ! :group 'gnus-server :type 'gnus-select-method) (defcustom gnus-message-archive-method *************** *** 745,757 **** It's probably not a very effective to change this variable once you've run Gnus once. After doing that, you must edit this server from the server buffer." ! :group 'gnus-start :type 'gnus-select-method) - (defgroup gnus-message '((message custom-group)) - "Interface from gnus to message mode." - :group 'gnus) - (defcustom gnus-message-archive-group nil "*Name of the group in which to save the messages you've written. This can either be a string, a list of strings; or an alist --- 784,793 ---- It's probably not a very effective to change this variable once you've run Gnus once. After doing that, you must edit this server from the server buffer." ! :group 'gnus-server ! :group 'gnus-message :type 'gnus-select-method) (defcustom gnus-message-archive-group nil "*Name of the group in which to save the messages you've written. This can either be a string, a list of strings; or an alist *************** *** 780,793 **** "List of NNTP servers that the user can choose between interactively. To make Gnus query you for a server, you have to give `gnus' a non-numeric prefix - `C-u M-x gnus', in short." ! :group 'gnus-start :type '(repeat string)) (defcustom gnus-nntp-server nil "*The name of the host running the NNTP server. This variable is semi-obsolete. Use the `gnus-select-method' variable instead." ! :group 'gnus-start :type '(choice (const :tag "disable" nil) string)) --- 816,829 ---- "List of NNTP servers that the user can choose between interactively. To make Gnus query you for a server, you have to give `gnus' a non-numeric prefix - `C-u M-x gnus', in short." ! :group 'gnus-server :type '(repeat string)) (defcustom gnus-nntp-server nil "*The name of the host running the NNTP server. This variable is semi-obsolete. Use the `gnus-select-method' variable instead." ! :group 'gnus-server :type '(choice (const :tag "disable" nil) string)) *************** *** 800,806 **** you could set this variable: \(setq gnus-secondary-select-methods '((nnml \"\")))" ! :group 'gnus-start :type '(repeat gnus-select-method)) (defvar gnus-backup-default-subscribed-newsgroups --- 836,842 ---- you could set this variable: \(setq gnus-secondary-select-methods '((nnml \"\")))" ! :group 'gnus-server :type '(repeat gnus-select-method)) (defvar gnus-backup-default-subscribed-newsgroups *************** *** 813,819 **** The DOMAINNAME environment variable is used instead if it is defined. If the `system-name' function returns the full Internet name, there is no need to set this variable." ! :group 'gnus-start :type '(choice (const :tag "default" nil) string)) --- 849,855 ---- The DOMAINNAME environment variable is used instead if it is defined. If the `system-name' function returns the full Internet name, there is no need to set this variable." ! :group 'gnus-message :type '(choice (const :tag "default" nil) string)) *************** *** 827,833 **** In any case, if the string (either in the variable, in the environment variable, or returned by the function) is a file name, the contents of this file will be used as the organization." ! :group 'gnus-start :type '(choice (const :tag "default" nil) string)) --- 863,869 ---- In any case, if the string (either in the variable, in the environment variable, or returned by the function) is a file name, the contents of this file will be used as the organization." ! :group 'gnus-message :type '(choice (const :tag "default" nil) string)) *************** *** 841,847 **** The value of this variable must be a valid select method as discussed in the documentation of `gnus-select-method'." ! :group 'gnus-start :type '(choice (const :tag "default" nil) gnus-select-method)) --- 877,883 ---- The value of this variable must be a valid select method as discussed in the documentation of `gnus-select-method'." ! :group 'gnus-server :type '(choice (const :tag "default" nil) gnus-select-method)) *************** *** 890,896 **** If nil, ignore cross references. If t, mark articles as read in subscribed newsgroups. If neither t nor nil, mark as read in all newsgroups." ! :group 'gnus-start :type '(choice (const :tag "off" nil) (const :tag "subscribed" t) (sexp :format "all" --- 926,932 ---- If nil, ignore cross references. If t, mark articles as read in subscribed newsgroups. If neither t nor nil, mark as read in all newsgroups." ! :group 'gnus-server :type '(choice (const :tag "off" nil) (const :tag "subscribed" t) (sexp :format "all" *************** *** 898,909 **** (defcustom gnus-process-mark ?# "*Process mark." ! :group 'gnus-start :type 'character) (defcustom gnus-asynchronous nil "*If non-nil, Gnus will supply backends with data needed for async article fetching." ! :group 'gnus-start :type 'boolean) (defcustom gnus-large-newsgroup 200 --- 934,946 ---- (defcustom gnus-process-mark ?# "*Process mark." ! :group 'gnus-group-visual ! :group 'gnus-summary-marks :type 'character) (defcustom gnus-asynchronous nil "*If non-nil, Gnus will supply backends with data needed for async article fetching." ! :group 'gnus-asynchronous :type 'boolean) (defcustom gnus-large-newsgroup 200 *************** *** 931,942 **** (defcustom gnus-kill-files-directory gnus-directory "*Name of the directory where kill files will be stored (default \"~/News\")." ! :group 'gnus-score :type 'directory) (defcustom gnus-save-score nil "*If non-nil, save group scoring info." ! :group 'gnus-score :group 'gnus-start :type 'boolean) --- 968,980 ---- (defcustom gnus-kill-files-directory gnus-directory "*Name of the directory where kill files will be stored (default \"~/News\")." ! :group 'gnus-score-files ! :group 'gnus-score-kill :type 'directory) (defcustom gnus-save-score nil "*If non-nil, save group scoring info." ! :group 'gnus-score-various :group 'gnus-start :type 'boolean) *************** *** 951,956 **** --- 989,995 ---- former will perform adaption on individual words in the subject header while `line' will perform adaption on several headers." :group 'gnus-meta + :group 'gnus-score-adapt :type '(set (const word) (const line))) (defcustom gnus-use-cache 'passive *************** *** 1046,1052 **** which is the default, quite fast, and too simplistic solution, and `mail-extract-address-components', which works much better, but is slower." ! :group 'gnus-start :type '(radio (function-item gnus-extract-address-components) (function-item mail-extract-address-components) (function :tag "Other"))) --- 1085,1091 ---- which is the default, quite fast, and too simplistic solution, and `mail-extract-address-components', which works much better, but is slower." ! :group 'gnus-summary-format :type '(radio (function-item gnus-extract-address-components) (function-item mail-extract-address-components) (function :tag "Other"))) *************** *** 1058,1064 **** (defcustom gnus-shell-command-separator ";" "String used to separate to shell commands." ! :group 'gnus-start :type 'string) (defcustom gnus-valid-select-methods --- 1097,1103 ---- (defcustom gnus-shell-command-separator ";" "String used to separate to shell commands." ! :group 'gnus-files :type 'string) (defcustom gnus-valid-select-methods *************** *** 1085,1091 **** properties that this method has (like being respoolable). If you implement a new select method, all you should have to change is this variable. I think." ! :group 'gnus-start :type '(repeat (group (string :tag "Name") (radio-button-choice (const :format "%v " post) (const :format "%v " mail) --- 1124,1130 ---- properties that this method has (like being respoolable). If you implement a new select method, all you should have to change is this variable. I think." ! :group 'gnus-server :type '(repeat (group (string :tag "Name") (radio-button-choice (const :format "%v " post) (const :format "%v " mail) *************** *** 1116,1122 **** `summary'. If the corresponding symbol is present, Gnus will keep that mode line updated with information that may be pertinent. If this variable is nil, screen refresh may be quicker." ! :group 'gnus-start :type '(set (const group) (const article) (const summary) --- 1155,1161 ---- `summary'. If the corresponding symbol is present, Gnus will keep that mode line updated with information that may be pertinent. If this variable is nil, screen refresh may be quicker." ! :group 'gnus-various :type '(set (const group) (const article) (const summary) *************** *** 1127,1133 **** "*Max length of mode-line non-string contents. If this is nil, Gnus will take space as is needed, leaving the rest of the modeline intact." ! :group 'gnus-start :type '(choice (const nil) integer)) --- 1166,1172 ---- "*Max length of mode-line non-string contents. If this is nil, Gnus will take space as is needed, leaving the rest of the modeline intact." ! :group 'gnus-various :type '(choice (const nil) integer)) *************** *** 1135,1141 **** "*Groups in which to automatically mark read articles as expirable. If non-nil, this should be a regexp that should match all groups in which to perform auto-expiry. This only makes sense for mail groups." ! :group 'gnus-mail :type '(choice (const nil) regexp)) --- 1174,1180 ---- "*Groups in which to automatically mark read articles as expirable. If non-nil, this should be a regexp that should match all groups in which to perform auto-expiry. This only makes sense for mail groups." ! :group 'gnus-mail-expire :type '(choice (const nil) regexp)) *************** *** 1145,1151 **** expiring - which means that all read articles will be deleted after \(say) one week. (This only goes for mail groups and the like, of course.)" ! :group 'gnus-mail :type '(choice (const nil) regexp)) --- 1184,1190 ---- expiring - which means that all read articles will be deleted after \(say) one week. (This only goes for mail groups and the like, of course.)" ! :group 'gnus-mail-expire :type '(choice (const nil) regexp)) *************** *** 1183,1204 **** (cond ((string-match \"control\" gnus-newsgroup-name) (gnus-kill \"Subject\" \"rmgroup\") (gnus-expunge \"X\"))))))" ! :group 'gnus-score :options '(gnus-apply-kill-file) :type 'hook) (defcustom gnus-group-change-level-function nil "Function run when a group level is changed. It is called with three parameters -- GROUP, LEVEL and OLDLEVEL." ! :group 'gnus-start :type 'function) ;;; Face thingies. - (defgroup gnus-visual nil - "Options controling the visual fluff." - :group 'gnus) - (defcustom gnus-visual '(summary-highlight group-highlight article-highlight mouse-face --- 1222,1239 ---- (cond ((string-match \"control\" gnus-newsgroup-name) (gnus-kill \"Subject\" \"rmgroup\") (gnus-expunge \"X\"))))))" ! :group 'gnus-score-kill :options '(gnus-apply-kill-file) :type 'hook) (defcustom gnus-group-change-level-function nil "Function run when a group level is changed. It is called with three parameters -- GROUP, LEVEL and OLDLEVEL." ! :group 'gnus-group-level :type 'function) ;;; Face thingies. (defcustom gnus-visual '(summary-highlight group-highlight article-highlight mouse-face *************** *** 2272,2278 **** (defcustom gnus-kill-file-name "KILL" "Suffix of the kill files." ! :group 'gnus-score :type 'string) (defun gnus-newsgroup-kill-file (newsgroup) --- 2307,2314 ---- (defcustom gnus-kill-file-name "KILL" "Suffix of the kill files." ! :group 'gnus-score-kill ! :group 'gnus-score-files :type 'string) (defun gnus-newsgroup-kill-file (newsgroup) *************** *** 2393,2399 **** (when (string-match "[: `'\"/]\\|^$" (setq group (read-string (concat prefix prompt) ! (or default "") 'gnus-group-history))) (setq prefix (format "Illegal group name: \"%s\". " group) group nil))) --- 2429,2435 ---- (when (string-match "[: `'\"/]\\|^$" (setq group (read-string (concat prefix prompt) ! (cons (or default "") 0) 'gnus-group-history))) (setq prefix (format "Illegal group name: \"%s\". " group) group nil))) *** pub/rgnus/lisp/message.el Thu Jan 30 04:29:19 1997 --- rgnus/lisp/message.el Sat Feb 1 14:24:03 1997 *************** *** 109,115 **** :type 'function) ;;;###autoload ! (defcustom message-fcc-handler-function 'rmail-output "*A function called to save outgoing articles. This function will be called with the name of the file to store the article in. The default function is `rmail-output' which saves in Unix --- 109,115 ---- :type 'function) ;;;###autoload ! (defcustom message-fcc-handler-function 'message-output "*A function called to save outgoing articles. This function will be called with the name of the file to store the article in. The default function is `rmail-output' which saves in Unix *************** *** 725,731 **** (eval-and-compile (autoload 'message-setup-toolbar "messagexmas") ! (autoload 'mh-send-letter "mh-comp")) --- 725,733 ---- (eval-and-compile (autoload 'message-setup-toolbar "messagexmas") ! (autoload 'mh-send-letter "mh-comp") ! (autoload 'gnus-output-to-mail "gnus-util") ! (autoload 'gnus-output-to-rmail "gnus-util")) *************** *** 2139,2153 **** (setq file (expand-file-name file)) (unless (file-exists-p (file-name-directory file)) (make-directory (file-name-directory file) t)) ! (if (and message-fcc-handler-function ! (not (eq message-fcc-handler-function 'rmail-output))) ! (funcall message-fcc-handler-function file) ! (if (and (file-readable-p file) (mail-file-babyl-p file)) ! (rmail-output file 1 nil t) ! (let ((mail-use-rfc822 t)) ! (rmail-output file 1 t t)))))) (kill-buffer (current-buffer))))) (defun message-cleanup-headers () "Do various automatic cleanups of the headers." ;; Remove empty lines in the header. --- 2141,2157 ---- (setq file (expand-file-name file)) (unless (file-exists-p (file-name-directory file)) (make-directory (file-name-directory file) t)) ! (funcall message-fcc-handler-function file))) ! (kill-buffer (current-buffer))))) + (defun message-output (filename) + "Append this article to Unix/babyl mail file.." + (if (and (file-readable-p filename) + (mail-file-babyl-p filename)) + (gnus-output-to-rmail filename t) + (gnus-output-to-mail filename t))) + (defun message-cleanup-headers () "Do various automatic cleanups of the headers." ;; Remove empty lines in the header. *************** *** 3183,3188 **** --- 3187,3196 ---- (while (re-search-backward "^\\(Also-\\)?Resent-" beg t) (beginning-of-line) (insert "Also-")) + ;; Quote any "From " lines at the beginning. + (goto-char beg) + (when (looking-at "From ") + (replace-match "X-From-Line: ")) ;; Send it. (message-send-mail) (kill-buffer (current-buffer))) *** pub/rgnus/lisp/nnml.el Thu Jan 30 04:29:19 1997 --- rgnus/lisp/nnml.el Sat Feb 1 14:24:04 1997 *************** *** 710,716 **** (file-directory-p dir)) (nnml-generate-nov-databases-1 dir seen)))) ;; Do this directory. ! (let ((files (nreverse (nnheader-article-to-file-alist dir)))) (when files (funcall nnml-generate-active-function dir) ;; Generate the nov file. --- 710,717 ---- (file-directory-p dir)) (nnml-generate-nov-databases-1 dir seen)))) ;; Do this directory. ! (let ((files (sort (nnheader-article-to-file-alist dir) ! (lambda (a b) (< (car a) (car b)))))) (when files (funcall nnml-generate-active-function dir) ;; Generate the nov file. *************** *** 724,733 **** (setq nnml-group-alist (delq (assoc group nnml-group-alist) nnml-group-alist)) (push (list group ! (cons (cdaar files) (let ((f files)) (while (cdr f) (setq f (cdr f))) ! (cdaar f)))) nnml-group-alist))) (defun nnml-generate-nov-file (dir files) --- 725,734 ---- (setq nnml-group-alist (delq (assoc group nnml-group-alist) nnml-group-alist)) (push (list group ! (cons (caar files) (let ((f files)) (while (cdr f) (setq f (cdr f))) ! (caar f)))) nnml-group-alist))) (defun nnml-generate-nov-file (dir files) *** pub/rgnus/lisp/nntp.el Sat Jan 18 07:29:58 1997 --- rgnus/lisp/nntp.el Sat Feb 1 14:24:04 1997 *************** *** 225,232 **** (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) (zerop (% received 20)) ! (message "NNTP: Receiving headers... %d%%" ! (/ (* received 100) number))) (nntp-accept-response)))) ;; Wait for text of last command. (goto-char (point-max)) --- 225,232 ---- (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) (zerop (% received 20)) ! (nnheader-message 6 "NNTP: Receiving headers... %d%%" ! (/ (* received 100) number))) (nntp-accept-response)))) ;; Wait for text of last command. (goto-char (point-max)) *************** *** 238,244 **** (nntp-accept-response))) (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) ! (message "NNTP: Receiving headers...done")) ;; Now all of replies are received. Fold continuation lines. (nnheader-fold-continuation-lines) --- 238,244 ---- (nntp-accept-response))) (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) ! (nnheader-message 6 "NNTP: Receiving headers...done")) ;; Now all of replies are received. Fold continuation lines. (nnheader-fold-continuation-lines) *************** *** 353,364 **** (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) (zerop (% received 20)) ! (message "NNTP: Receiving articles... %d%%" ! (/ (* received 100) number))) (nntp-accept-response)))) (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) ! (message "NNTP: Receiving headers...done")) ;; Now we have all the responses. We go through the results, ;; washes it and copies it over to the server buffer. --- 353,364 ---- (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) (zerop (% received 20)) ! (nnheader-message 6 "NNTP: Receiving articles... %d%%" ! (/ (* received 100) number))) (nntp-accept-response)))) (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) ! (nnheader-message 6 "NNTP: Receiving headers...done")) ;; Now we have all the responses. We go through the results, ;; washes it and copies it over to the server buffer. *************** *** 823,829 **** (let ((len (/ (point-max) 1024))) (unless (< len 10) (setq nntp-have-messaged t) ! (message "nntp read: %dk" len))) (accept-process-output process 1))) (defun nntp-accept-response () --- 823,829 ---- (let ((len (/ (point-max) 1024))) (unless (< len 10) (setq nntp-have-messaged t) ! (nnheader-message 7 "nntp read: %dk" len))) (accept-process-output process 1))) (defun nntp-accept-response () *** pub/rgnus/lisp/smiley.el Thu Jan 9 11:59:31 1997 --- rgnus/lisp/smiley.el Sat Feb 1 14:24:04 1997 *************** *** 131,136 **** --- 131,145 ---- :type 'string :group 'smiley) + (defcustom smiley-mouse-face 'highlight + "Face used for mouse highlighting in the smiley buffer. + + Smiley buttons will be displayed in this face when the cursor is + above them." + :type 'face + :group 'smiley) + + (defvar smiley-glyph-cache nil) (defvar smiley-running-xemacs (string-match "XEmacs" emacs-version)) *************** *** 215,224 **** (set-extent-property ext 'start-open t) (set-extent-property ext 'invisible t) (set-extent-property ext 'keymap smiley-map) ! (set-extent-property ext 'mouse-face gnus-article-mouse-face) (set-extent-property ext 'intangible t) ;; set annotation params ! (set-extent-property ant 'mouse-face gnus-article-mouse-face) (set-extent-property ant 'keymap smiley-map) ;; remember each other (set-extent-property ant 'smiley-extent ext) --- 224,233 ---- (set-extent-property ext 'start-open t) (set-extent-property ext 'invisible t) (set-extent-property ext 'keymap smiley-map) ! (set-extent-property ext 'mouse-face 'smiley-mouse-face) (set-extent-property ext 'intangible t) ;; set annotation params ! (set-extent-property ant 'mouse-face 'smiley-mouse-face) (set-extent-property ant 'keymap smiley-map) ;; remember each other (set-extent-property ant 'smiley-extent ext) *** pub/rgnus/lisp/ChangeLog Thu Jan 30 04:29:20 1997 --- rgnus/lisp/ChangeLog Sat Feb 1 14:24:05 1997 *************** *** 1,3 **** --- 1,79 ---- + Sat Feb 1 14:19:54 1997 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.4.9 is released. + + Sat Feb 1 13:30:33 1997 Hrvoje Niksic + + * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Insert + "-*- emacs-lisp -*-" at the first line. + + Sat Feb 1 13:23:19 1997 Mark Borges + + * gnus-xmas.el (gnus-xmas-define): Do the right characterp thing. + + Sat Feb 1 12:28:33 1997 Lars Magne Ingebrigtsen + + * smiley.el (smiley-mouse-face): New variable. + (smiley-buffer): Use it. + + * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Use gnus-prin1. + + * gnus-util.el (gnus-prin1): Bind print-level and print-length to + nil + + * gnus-art.el (gnus-button-alist): Let mailto: be less greedy. + (gnus-button-alist): Ditto with news:. + + * gnus-topic.el (gnus-topic-unmark-topic): Let groups be unmarked. + + * gnus.el (gnus-read-group): Place point at bol. + + * gnus-util.el ((fboundp 'point-at-bol)): Use the functions if + they exist. + + * gnus-msg.el (gnus-summary-supersede-article): Mark article as + canceled. + + Wed Jan 29 22:28:44 1997 Steven L Baur + + * gnus-xmas.el (gnus-xmas-define): Correct XEmacs version test to + handle v20. + + Sat Feb 1 12:19:14 1997 Katsumi Yamaoka + + * nnml.el (nnml-generate-active-info): Don't bug out. + + Sat Feb 1 00:52:03 1997 Lars Magne Ingebrigtsen + + * message.el (message-fcc-handler-function): Changed default. + (message-output): New function. + (message-do-fcc): Use it. + + * gnus-util.el (gnus-convert-article-to-rmail, + gnus-output-to-rmail): Moved here. + + * message.el (message-check-news-header-syntax): Allow trailing + periods. + (message-check-news-header-syntax): Don't allow trailing periods. + + Fri Jan 31 22:18:03 1997 Lars Magne Ingebrigtsen + + * message.el (message-resend): Rename "From ". + + * nntp.el (nntp-accept-process-output): Use nnheader-message. + + Fri Jan 31 11:51:18 1997 Katsumi Yamaoka + + * nnml.el (nnml-generate-nov-databases-1): Sort the file alist. + + Thu Jan 30 13:13:39 1997 Per Abrahamsen + + * gnus.el: More cleanup of customization groups. + + Thu Jan 30 04:33:01 1997 Sudish Joseph + + * gnus-xmas.el (gnus-xmas-define): Use `char-or-char-int-p'. + Thu Jan 30 04:15:28 1997 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.4.8 is released.