*** pub/sgnus/lisp/gnus-msg.el Tue Jun 11 06:47:31 1996 --- sgnus/lisp/gnus-msg.el Thu Jun 13 00:26:42 1996 *************** *** 61,67 **** This can either be a string, a list of strings; or an alist of regexps/functions/forms to be evaluated to return a string (or a list of strings). The functions are called with the name of the current ! group (or nil) as a parameter.") (defvar gnus-mailing-list-groups nil "*Regexp matching groups that are really mailing lists. --- 61,73 ---- This can either be a string, a list of strings; or an alist of regexps/functions/forms to be evaluated to return a string (or a list of strings). The functions are called with the name of the current ! group (or nil) as a parameter. ! ! Normally the group names returned by this variable should be ! unprefixed -- which implictly means \"store on the archive server\". ! However, you may wish to store the message on some other server. In ! that case, just return a fully prefixed name of the group -- ! \"nnml+private:mail.misc\", for instance.") (defvar gnus-mailing-list-groups nil "*Regexp matching groups that are really mailing lists. *************** *** 881,887 **** (t (eval (car var))))))) (setq var (cdr var))) ! result)))) (when groups (when (stringp groups) (setq groups (list groups))) --- 887,894 ---- (t (eval (car var))))))) (setq var (cdr var))) ! result))) ! name) (when groups (when (stringp groups) (setq groups (list groups))) *************** *** 890,898 **** (gnus-inews-narrow-to-headers) (goto-char (point-max)) (insert "Gcc: ") ! (while groups ! (insert (gnus-group-prefixed-name ! (pop groups) gnus-message-archive-method)) (insert " ")) (insert "\n")))))) --- 897,907 ---- (gnus-inews-narrow-to-headers) (goto-char (point-max)) (insert "Gcc: ") ! (while (setq name (pop groups)) ! (insert (if (string-match ":" name) ! name ! (gnus-group-prefixed-name ! name gnus-message-archive-method))) (insert " ")) (insert "\n")))))) *** pub/sgnus/lisp/gnus-score.el Tue Jun 11 06:47:33 1996 --- sgnus/lisp/gnus-score.el Thu Jun 13 00:26:40 1996 *************** *** 797,803 **** (setq gnus-prev-winconf winconf)) (gnus-message 4 (substitute-command-keys ! "\\\\[gnus-score-edit-done] to save edits"))) (defun gnus-score-edit-file (file) "Edit a score file." --- 797,803 ---- (setq gnus-prev-winconf winconf)) (gnus-message 4 (substitute-command-keys ! "\\\\[gnus-score-edit-exit] to save edits"))) (defun gnus-score-edit-file (file) "Edit a score file." *** pub/sgnus/lisp/gnus-srvr.el Tue Jun 11 06:47:33 1996 --- sgnus/lisp/gnus-srvr.el Thu Jun 13 02:28:35 1996 *************** *** 68,99 **** (defun gnus-server-make-menu-bar () (gnus-visual-turn-off-edit-menu 'server) ! (or ! (boundp 'gnus-server-menu) ! (progn ! (easy-menu-define ! gnus-server-menu gnus-server-mode-map "" ! '("Server" ! ["Add" gnus-server-add-server t] ! ["Browse" gnus-server-read-server t] ! ["List" gnus-server-list-servers t] ! ["Kill" gnus-server-kill-server t] ! ["Yank" gnus-server-yank-server t] ! ["Copy" gnus-server-copy-server t] ! ["Edit" gnus-server-edit-server t] ! ["Exit" gnus-server-exit t] ! )) ! (easy-menu-define ! gnus-server-menu gnus-server-mode-map "" ! '("Connections" ! ["Open" gnus-server-open-server t] ! ["Close" gnus-server-close-server t] ! ["Deny" gnus-server-deny-servers t] ! ["Reset" gnus-server-remove-denials t] ! )) ! (run-hooks 'gnus-server-menu-hook)))) (defvar gnus-server-mode-map nil) (put 'gnus-server-mode 'mode-class 'special) --- 68,97 ---- (defun gnus-server-make-menu-bar () (gnus-visual-turn-off-edit-menu 'server) ! (unless (boundp 'gnus-server-menu) ! (easy-menu-define ! gnus-server-menu gnus-server-mode-map "" ! '("Server" ! ["Add" gnus-server-add-server t] ! ["Browse" gnus-server-read-server t] ! ["List" gnus-server-list-servers t] ! ["Kill" gnus-server-kill-server t] ! ["Yank" gnus-server-yank-server t] ! ["Copy" gnus-server-copy-server t] ! ["Edit" gnus-server-edit-server t] ! ["Exit" gnus-server-exit t] ! )) ! (easy-menu-define ! gnus-server-menu gnus-server-mode-map "" ! '("Connections" ! ["Open" gnus-server-open-server t] ! ["Close" gnus-server-close-server t] ! ["Deny" gnus-server-deny-server t] ! ["Reset" gnus-server-remove-denials t] ! )) ! (run-hooks 'gnus-server-menu-hook))) (defvar gnus-server-mode-map nil) (put 'gnus-server-mode 'mode-class 'special) *** pub/sgnus/lisp/gnus-vis.el Tue Jun 11 06:47:36 1996 --- sgnus/lisp/gnus-vis.el Wed Jun 12 23:55:28 1996 *************** *** 214,227 **** (defvar gnus-button-alist `(("\\bin\\( +article\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 t gnus-button-message-id 3) ;; This is how URLs _should_ be embedded in text... ("]*\\)>" 0 t gnus-button-url 1) ;; Next regexp stolen from highlight-headers.el. ;; Modified by Vladimir Alexiev. ! (,gnus-button-url-regexp 0 t gnus-button-url 0) ! ("\\(\n\t ]*\\)>?\\)" 1 t ! gnus-button-message-id 3) ! ("\\(?" 0 t gnus-button-reply 2)) "Alist of regexps matching buttons in article bodies. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where --- 214,227 ---- (defvar gnus-button-alist `(("\\bin\\( +article\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 t gnus-button-message-id 3) + ("\\(\n\t ]*\\)>?\\)" 1 t + gnus-button-message-id 3) + ("\\(?" 0 t gnus-button-reply 2) ;; This is how URLs _should_ be embedded in text... ("]*\\)>" 0 t gnus-button-url 1) ;; Next regexp stolen from highlight-headers.el. ;; Modified by Vladimir Alexiev. ! (,gnus-button-url-regexp 0 t gnus-button-url 0)) "Alist of regexps matching buttons in article bodies. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where *************** *** 1493,1506 **** 0 (length string) nil string) string)) (nthcdr 4 entry)))) ! (cond ((fboundp fun) ! (apply fun args)) ! ((and (boundp fun) ! (fboundp (symbol-value fun))) ! (apply (symbol-value fun) args)) ! (t ! (gnus-message 1 "You must define `%S' to use this button" ! (cons fun args))))))) (defun gnus-button-message-id (message-id) "Fetch MESSAGE-ID." --- 1493,1507 ---- 0 (length string) nil string) string)) (nthcdr 4 entry)))) ! (cond ! ((fboundp fun) ! (apply fun args)) ! ((and (boundp fun) ! (fboundp (symbol-value fun))) ! (apply (symbol-value fun) args)) ! (t ! (gnus-message 1 "You must define `%S' to use this button" ! (cons fun args))))))) (defun gnus-button-message-id (message-id) "Fetch MESSAGE-ID." *** pub/sgnus/lisp/gnus-xmas.el Tue Jun 11 06:47:36 1996 --- sgnus/lisp/gnus-xmas.el Thu Jun 13 04:39:52 1996 *************** *** 316,321 **** --- 316,329 ---- (gnus-xmas-menu-add tree gnus-tree-menu)) + (defun gnus-xmas-server-menu-add () + (gnus-xmas-menu-add menu + gnus-server-menu)) + + (defun gnus-xmas-browse-menu-add () + (gnus-xmas-menu-add browse + gnus-browse-menu)) + (defun gnus-xmas-grouplens-menu-add () (gnus-xmas-menu-add grouplens gnus-grouplens-menu)) *************** *** 496,501 **** --- 504,511 ---- (add-hook 'gnus-tree-mode-hook 'gnus-xmas-tree-menu-add) (add-hook 'gnus-binary-mode-hook 'gnus-xmas-binary-menu-add) (add-hook 'gnus-grouplens-mode-hook 'gnus-xmas-grouplens-menu-add) + (add-hook 'gnus-server-mode-hook 'gnus-xmas-server-menu-add) + (add-hook 'gnus-browse-mode-hook 'gnus-xmas-browse-menu-add) (add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar) (add-hook 'gnus-summary-mode-hook 'gnus-xmas-setup-summary-toolbar) *************** *** 680,687 **** (when (featurep 'xface) (setq xface-glyph (make-glyph (vector 'xface :data ! (concat "X-Face: " ! (buffer-substring beg end))))) (goto-char (point-min)) (re-search-forward "^From:" nil t) (beginning-of-line) --- 690,697 ---- (when (featurep 'xface) (setq xface-glyph (make-glyph (vector 'xface :data ! (setq my (concat "X-Face: " ! (buffer-substring beg end)))))) (goto-char (point-min)) (re-search-forward "^From:" nil t) (beginning-of-line) *** pub/sgnus/lisp/gnus.el Tue Jun 11 06:47:37 1996 --- sgnus/lisp/gnus.el Thu Jun 13 02:45:56 1996 *************** *** 283,289 **** `not-score', long file names will not be used for score files; if it contains the element `not-save', long file names will not be used for saving; and if it contains the element `not-kill', long file names ! will not be used for kill files.") (defvar gnus-article-save-directory gnus-directory "*Name of the directory articles will be saved in (default \"~/News\").") --- 283,293 ---- `not-score', long file names will not be used for score files; if it contains the element `not-save', long file names will not be used for saving; and if it contains the element `not-kill', long file names ! will not be used for kill files. ! ! Note that the default for this variable varies according to what system ! type you're using. On `usg-unix-v' and `xenix' this variable defaults ! to nil while on all other systems it defaults to t.") (defvar gnus-article-save-directory gnus-directory "*Name of the directory articles will be saved in (default \"~/News\").") *************** *** 1726,1732 **** "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version-number "5.2.15" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) --- 1730,1736 ---- "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version-number "5.2.16" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) *************** *** 2078,2090 **** gnus-uu-decode-binhex-view) ("gnus-msg" (gnus-summary-send-map keymap) gnus-mail-yank-original gnus-mail-send-and-exit ! gnus-sendmail-setup-mail gnus-article-mail ! gnus-inews-message-id gnus-new-mail gnus-mail-reply) ("gnus-msg" :interactive t gnus-group-post-news gnus-group-mail gnus-summary-post-news gnus-summary-followup gnus-summary-followup-with-original gnus-summary-cancel-article gnus-summary-supersede-article ! gnus-post-news gnus-inews-news gnus-cancel-news gnus-summary-reply gnus-summary-reply-with-original gnus-summary-mail-forward gnus-summary-mail-other-window gnus-bug) --- 2082,2093 ---- gnus-uu-decode-binhex-view) ("gnus-msg" (gnus-summary-send-map keymap) gnus-mail-yank-original gnus-mail-send-and-exit ! gnus-article-mail gnus-new-mail gnus-mail-reply) ("gnus-msg" :interactive t gnus-group-post-news gnus-group-mail gnus-summary-post-news gnus-summary-followup gnus-summary-followup-with-original gnus-summary-cancel-article gnus-summary-supersede-article ! gnus-post-news gnus-inews-news gnus-summary-reply gnus-summary-reply-with-original gnus-summary-mail-forward gnus-summary-mail-other-window gnus-bug) *************** *** 6511,6517 **** "Fetch the FAQ for the current group." (interactive (list ! (gnus-group-real-name (gnus-group-group-name)) (cond (current-prefix-arg (completing-read "Faq dir: " (and (listp gnus-group-faq-directory) --- 6514,6521 ---- "Fetch the FAQ for the current group." (interactive (list ! (and (gnus-group-group-name) ! (gnus-group-real-name (gnus-group-group-name))) (cond (current-prefix-arg (completing-read "Faq dir: " (and (listp gnus-group-faq-directory) *************** *** 11201,11206 **** --- 11205,11212 ---- (gnus-save-hidden-threads (gnus-summary-select-article) (set-buffer gnus-article-buffer) + (when backward + (forward-line -1)) (while (not found) (gnus-message 7 "Searching article: %d..." (cdr gnus-article-current)) (if (if backward *************** *** 11680,11686 **** (current-time-string (nth 5 atts)) (current-time-zone now) (current-time-zone now)) "\n" ! "Message-ID: " (gnus-inews-message-id) "\n" "Lines: " (int-to-string lines) "\n" "Chars: " (int-to-string (nth 7 atts)) "\n\n")) (gnus-request-accept-article group nil t) --- 11686,11692 ---- (current-time-string (nth 5 atts)) (current-time-zone now) (current-time-zone now)) "\n" ! "Message-ID: " (message-make-message-id) "\n" "Lines: " (int-to-string lines) "\n" "Chars: " (int-to-string (nth 7 atts)) "\n\n")) (gnus-request-accept-article group nil t) *** pub/sgnus/lisp/message.el Tue Jun 11 06:47:39 1996 --- sgnus/lisp/message.el Thu Jun 13 02:23:38 1996 *************** *** 47,52 **** --- 47,55 ---- (defvar message-max-buffers 10 "*How many buffers to keep before starting to kill them off.") + (defvar message-send-rename-function nil + "Function called to rename the buffer after sending it.") + ;;;###autoload (defvar message-fcc-handler-function 'rmail-output "*A function called to save outgoing articles. *************** *** 139,145 **** ;;;###autoload (defvar message-generate-new-buffers t ! "*Non-nil means that a new message buffer will be created whenever `mail-setup' is called.") ;;;###autoload (defvar message-kill-buffer-on-exit nil --- 142,151 ---- ;;;###autoload (defvar message-generate-new-buffers t ! "*Non-nil means that a new message buffer will be created whenever `mail-setup' is called. ! If this is a function, call that function with three parameters: The type, ! the to address and the group name. (Any of these may be nil.) The function ! should return the new buffer name.") ;;;###autoload (defvar message-kill-buffer-on-exit nil *************** *** 942,951 **** ;; Remove blank lines at the end of the message. (goto-char (point-max)) (skip-chars-backward " \t\n") ! (end-of-line) (delete-region (point) (point-max)) ;; Insert the signature. ! (insert "\n\n-- \n") (if (eq signature t) (insert-file-contents message-signature-file) (insert signature)) --- 948,957 ---- ;; Remove blank lines at the end of the message. (goto-char (point-max)) (skip-chars-backward " \t\n") ! (forward-line 1) (delete-region (point) (point-max)) ;; Insert the signature. ! (insert "\n-- \n") (if (eq signature t) (insert-file-contents message-signature-file) (insert signature)) *************** *** 1214,1219 **** --- 1220,1227 ---- (y-or-n-p "No changes in the buffer; really send? "))) ;; Make it possible to undo the coming changes. (undo-boundary) + (let ((inhibit-read-only t)) + (put-text-property (point-min) (point-max) 'read-only nil)) (message-fix-before-sending) (run-hooks 'message-send-hook) (message "Sending...") *************** *** 1495,1501 **** (goto-char (point-min)) (insert "Followup-To: " to "\n")) t)) ! ;; Check for Approved. (or (message-check-element 'approved) (save-excursion --- 1503,1516 ---- (goto-char (point-min)) (insert "Followup-To: " to "\n")) t)) ! ;; Check "Shoot me". ! (or (message-check-element 'shoot) ! (save-excursion ! (if (search-forward ! ".i-have-a-misconfigured-system-so-shoot-me" nil t) ! (y-or-n-p ! "You appear to have a misconfigured system. Really post? ") ! t))) ;; Check for Approved. (or (message-check-element 'approved) (save-excursion *************** *** 1778,1784 **** (mail-header-subject message-reply-headers)) (message-strip-subject-re psubject)))) "_-_" "")) ! "@" (message-make-fqdm) ">")) (defvar message-unique-id-char nil) --- 1793,1799 ---- (mail-header-subject message-reply-headers)) (message-strip-subject-re psubject)))) "_-_" "")) ! "@" (message-make-fqdn) ">")) (defvar message-unique-id-char nil) *************** *** 1966,1999 **** (when user-mail-address (nth 1 (mail-extract-address-components user-mail-address)))) ! (defun message-make-fqdm () "Return user's fully qualified domain name." ! (let ((system-name (system-name))) (cond ((string-match "[^.]\\.[^.]" system-name) ;; `system-name' returned the right result. system-name) - ;; We try `user-mail-address' as a backup. - ((string-match "@\\(.*\\)\\'" (message-user-mail-address)) - (match-string 1 user-mail-address)) ;; Try `mail-host-address'. ((and (boundp 'mail-host-address) ! mail-host-address) mail-host-address) ;; Default to this bogus thing. (t (concat system-name ".i-have-a-misconfigured-system-so-shoot-me"))))) (defun message-make-host-name () "Return the name of the host." ! (let ((fqdm (message-make-fqdm))) ! (string-match "^[^.]+\\." fqdm) ! (substring fqdm 0 (1- (match-end 0))))) (defun message-make-domain () "Return the domain name." (or mail-host-address ! (message-make-fqdm))) (defun message-generate-headers (headers) "Prepare article HEADERS. --- 1981,2017 ---- (when user-mail-address (nth 1 (mail-extract-address-components user-mail-address)))) ! (defun message-make-fqdn () "Return user's fully qualified domain name." ! (let ((system-name (system-name)) ! (user-mail (message-user-mail-address))) (cond ((string-match "[^.]\\.[^.]" system-name) ;; `system-name' returned the right result. system-name) ;; Try `mail-host-address'. ((and (boundp 'mail-host-address) ! (stringp mail-host-address) ! (string-match "\\." mail-host-address)) mail-host-address) + ;; We try `user-mail-address' as a backup. + ((and (string-match "\\." user-mail) + (string-match "@\\(.*\\)\\'" user-mail)) + (match-string 1 user-mail)) ;; Default to this bogus thing. (t (concat system-name ".i-have-a-misconfigured-system-so-shoot-me"))))) (defun message-make-host-name () "Return the name of the host." ! (let ((fqdn (message-make-fqdn))) ! (string-match "^[^.]+\\." fqdn) ! (substring fqdn 0 (1- (match-end 0))))) (defun message-make-domain () "Return the domain name." (or mail-host-address ! (message-make-fqdn))) (defun message-generate-headers (headers) "Prepare article HEADERS. *************** *** 2205,2221 **** (defun message-buffer-name (type &optional to group) "Return a new (unique) buffer name based on TYPE and TO." ! (if message-generate-new-buffers ! (generate-new-buffer-name ! (concat "*" type ! (if to ! (concat " to " ! (or (car (mail-extract-address-components to)) ! to) "") ! "") ! (if group (concat " on " group) "") ! "*")) ! (format "*%s message*" type))) (defun message-pop-to-buffer (name) "Pop to buffer NAME, and warn if it already exists and is modified." --- 2223,2247 ---- (defun message-buffer-name (type &optional to group) "Return a new (unique) buffer name based on TYPE and TO." ! (cond ! ;; Check whether `message-generate-new-buffers' is a function, ! ;; and if so, call it. ! ((message-functionp message-generate-new-buffers) ! (funcall message-generate-new-buffers type to group)) ! ;; Generate a new buffer name The Message Way. ! (message-generate-new-buffers ! (generate-new-buffer-name ! (concat "*" type ! (if to ! (concat " to " ! (or (car (mail-extract-address-components to)) ! to) "") ! "") ! (if group (concat " on " group) "") ! "*"))) ! ;; Use standard name. ! (t ! (format "*%s message*" type)))) (defun message-pop-to-buffer (name) "Pop to buffer NAME, and warn if it already exists and is modified." *************** *** 2245,2253 **** (not (buffer-modified-p buffer))) (kill-buffer buffer)))) ;; Rename the buffer. ! (when (string-match "\\`\\*" (buffer-name)) ! (rename-buffer ! (concat "*sent " (substring (buffer-name) (match-end 0))) t)) ;; Push the current buffer onto the list. (when message-max-buffers (setq message-buffer-list --- 2271,2281 ---- (not (buffer-modified-p buffer))) (kill-buffer buffer)))) ;; Rename the buffer. ! (if message-send-rename-function ! (funcall message-send-rename-function) ! (when (string-match "\\`\\*" (buffer-name)) ! (rename-buffer ! (concat "*sent " (substring (buffer-name) (match-end 0))) t))) ;; Push the current buffer onto the list. (when message-max-buffers (setq message-buffer-list *************** *** 2281,2287 **** (point) (progn (insert mail-header-separator "\n") ! (point)) 'read-only nil) (forward-line -1) (when (message-news-p) --- 2309,2315 ---- (point) (progn (insert mail-header-separator "\n") ! (1- (point))) 'read-only nil) (forward-line -1) (when (message-news-p) *** pub/sgnus/lisp/nnbabyl.el Tue Jun 11 06:47:39 1996 --- sgnus/lisp/nnbabyl.el Thu Jun 13 02:45:48 1996 *************** *** 313,318 **** --- 313,319 ---- (deffoo nnbabyl-request-accept-article (group &optional server last) (nnbabyl-possibly-change-newsgroup group server) + (nnmail-check-syntax) (let ((buf (current-buffer)) result beg) (and *** pub/sgnus/lisp/nndb.el Tue Jun 11 06:47:39 1996 --- sgnus/lisp/nndb.el Wed Jun 12 22:30:39 1996 *************** *** 103,108 **** --- 103,113 ---- (nnoo-define-basics nndb) + ;; Import other stuff from nntp as is. + + (nnoo-import nndb + (nntp)) + ;;- maybe this should be mail?? ;;-(defun nndb-request-type (group &optional article) ;;- 'news) *************** *** 218,232 **** ; nndb-request-rename-group does not exist ; todo -- maybe later - - ;; Import stuff from nntp - - - - ;; Import other stuff from nntp as is. - - (nnoo-import nndb - (nntp)) (provide 'nndb) --- 223,228 ---- *** pub/sgnus/lisp/nnfolder.el Tue Jun 11 06:47:40 1996 --- sgnus/lisp/nnfolder.el Thu Jun 13 02:45:48 1996 *************** *** 372,377 **** --- 372,378 ---- (deffoo nnfolder-request-accept-article (group &optional server last) (nnfolder-possibly-change-group group server) + (nnmail-check-syntax) (and (stringp group) (nnfolder-possibly-change-group group)) (let ((buf (current-buffer)) result) *** pub/sgnus/lisp/nnheader.el Tue Jun 11 06:47:40 1996 --- sgnus/lisp/nnheader.el Thu Jun 13 03:25:10 1996 *************** *** 233,239 **** (or (mail-header-subject header) "(none)") "\t" (or (mail-header-from header) "(nobody)") "\t" (or (mail-header-date header) "") "\t" ! (or (mail-header-id header) "") "\t" (or (mail-header-references header) "") "\t") (princ (or (mail-header-chars header) 0) (current-buffer)) (insert "\t") --- 233,240 ---- (or (mail-header-subject header) "(none)") "\t" (or (mail-header-from header) "(nobody)") "\t" (or (mail-header-date header) "") "\t" ! (or (mail-header-id header) ! (nnmail-message-id)) "\t" (or (mail-header-references header) "") "\t") (princ (or (mail-header-chars header) 0) (current-buffer)) (insert "\t") *** pub/sgnus/lisp/nnmail.el Tue Jun 11 06:47:41 1996 --- sgnus/lisp/nnmail.el Thu Jun 13 02:45:52 1996 *************** *** 269,277 **** ;;; Internal variables. - (eval-and-compile - (autoload 'ange-ftp-read-passwd "ange-ftp")) - (defvar nnmail-split-fancy-syntax-table (copy-syntax-table (standard-syntax-table)) "Syntax table used by `nnmail-split-fancy'.") --- 269,274 ---- *************** *** 378,384 **** (setq password nnmail-pop-password) (when (and nnmail-pop-password-required (not nnmail-pop-password)) (setq password ! (ange-ftp-read-passwd (format "Password for %s: " (substring inbox (+ popmail 3)))))) (message "Getting mail from post office ...")) --- 375,381 ---- (setq password nnmail-pop-password) (when (and nnmail-pop-password-required (not nnmail-pop-password)) (setq password ! (nnmail-read-passwd (format "Password for %s: " (substring inbox (+ popmail 3)))))) (message "Getting mail from post office ...")) *************** *** 899,905 **** (cdr (assq value nnmail-split-abbrev-alist)) value) ! "\\>\\)"))) (setq nnmail-split-cache (cons (cons split regexp) nnmail-split-cache)) (goto-char (point-max)) --- 896,902 ---- (cdr (assq value nnmail-split-abbrev-alist)) value) ! "\\)\\>"))) (setq nnmail-split-cache (cons (cons split regexp) nnmail-split-cache)) (goto-char (point-max)) *************** *** 1172,1177 **** --- 1169,1191 ---- (setq days (nnmail-days-to-time days)) ;; Compare the time with the current time. (nnmail-time-less days (nnmail-time-since time))))))) + + (defvar nnmail-read-passwd nil) + (defun nnmail-read-passwd (prompt) + (unless nnmail-read-passwd + (if (load "passwd" t) + (setq nnmail-read-passwd 'read-passwd) + (autoload 'ange-ftp-read-passwd "ange-ftp") + (setq nnmail-read-passwd 'ange-ftp-read-passwd))) + (funcall nnmail-read-passwd prompt)) + + (defun nnmail-check-syntax () + "Check (and modify) the syntax of the message in the current buffer." + (save-restriction + (message-narrow-to-head) + (let ((case-fold-search t)) + (unless (re-search-forward "^Message-Id:" nil t) + (insert "Message-ID: " (nnmail-message-id) "\n"))))) (run-hooks 'nnmail-load-hook) *** pub/sgnus/lisp/nnmbox.el Tue Jun 11 06:47:41 1996 --- sgnus/lisp/nnmbox.el Thu Jun 13 02:45:49 1996 *************** *** 282,287 **** --- 282,288 ---- (deffoo nnmbox-request-accept-article (group &optional server last) (nnmbox-possibly-change-newsgroup group server) + (nnmail-check-syntax) (let ((buf (current-buffer)) result) (goto-char (point-min)) *** pub/sgnus/lisp/nnmh.el Tue Jun 11 06:47:41 1996 --- sgnus/lisp/nnmh.el Thu Jun 13 02:45:49 1996 *************** *** 278,283 **** --- 278,284 ---- (deffoo nnmh-request-accept-article (group &optional server last noinsert) (nnmh-possibly-change-directory group server) + (nnmail-check-syntax) (if (stringp group) (and (nnmail-activate 'nnmh) *** pub/sgnus/lisp/nnml.el Tue Jun 11 06:47:41 1996 --- sgnus/lisp/nnml.el Thu Jun 13 02:45:50 1996 *************** *** 318,323 **** --- 318,324 ---- (deffoo nnml-request-accept-article (group &optional server last) (nnml-possibly-change-directory group server) + (nnmail-check-syntax) (let (result) (if (stringp group) (and *** pub/sgnus/lisp/ChangeLog Tue Jun 11 06:47:49 1996 --- sgnus/lisp/ChangeLog Thu Jun 13 03:29:05 1996 *************** *** 1,4 **** --- 1,83 ---- + Thu Jun 13 02:28:26 1996 Lars Magne Ingebrigtsen + + * nnheader.el (nnheader-insert-nov): Fudge a message-id if + necessary. + + * nnml.el (nnml-request-accept-article): Use it. + + * nnmail.el (nnmail-check-syntax): New function. + + * gnus.el (gnus-group-fetch-faq): Would bug out when not called in + the group buffer. + (gnus-use-long-file-name): Doc fix. + (gnus-summary-search-article): Search backward from where we left + off. + + * gnus-xmas.el (gnus-xmas-server-menu-add): New function. + (gnus-xmas-browse-menu-add): Ditto. + + Wed Jun 12 18:32:57 1996 Christoph Wedler + + * gnus-srvr.el (gnus-server-make-menu-bar): Use + `gnus-server-deny-server' + + Wed Jun 12 23:02:19 1996 Lars Magne Ingebrigtsen + + * message.el (message-send-rename-function): New variable. + (message-do-send-housekeeping): Use it. + + Wed Jun 12 22:53:32 1996 Richard Mlynarik + + * message.el (message-make-fqdn): Make sure `user-mail-address' + and `mail-host-address' looks like a full address. + + Wed Jun 12 22:06:39 1996 Lars Magne Ingebrigtsen + + * message.el (message-generate-new-buffers): Extended syntax. + (message-buffer-name): Use it. + (message-make-fqdn): Checked `user-mail-address' directly. + (message-check-news-syntax): Check for misconfiguration. + + * nnmail.el (nnmail-move-inbox): Use it. + + Wed Jun 12 22:06:10 1996 Richard Pieri + + * nnmail.el (nnmail-read-password): New function. + + Wed Jun 12 21:59:40 1996 Lars Magne Ingebrigtsen + + * message.el (message-send): Make buffer read/write before + sending. + + * gnus-score.el (gnus-score-edit-current-scores): Correct + message. + + Wed Jun 12 19:31:50 1996 Lars Magne Ingebrigtsen + + * gnus-msg.el (gnus-inews-insert-archive-gcc): If ":" in name, + just use name. + (gnus-message-archive-group): Doc fix. + + * nnmail.el (nnmail-split-it): Regexp bogosity. + + * gnus-vis.el (gnus-button-alist): Have "news:" rule come before + URL rule. + + * message.el (message-setup): Really be read-only. + + * gnus.el (gnus-summary-import-article): Use message. + + Tue Jun 11 10:04:55 1996 Lars Magne Ingebrigtsen + + * message.el (message-make-fqdm): Use `mail-host-address' before + `user-mail-address'. + (message-make-fqdn): Typo is function name. + + * nndb.el: Make byte-compiler silent. + Tue Jun 11 02:29:33 1996 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.2.15 is released. * gnus-score.el (gnus-score-find-trace): Erase contents first. *** pub/sgnus/Makefile Tue Jun 11 06:47:50 1996 --- sgnus/Makefile Wed Jun 12 22:30:30 1996 *************** *** 10,12 **** --- 10,15 ---- info: cd texi; $(MAKE) EMACS=$(EMACS) all + + clean: + rm -f */*.orig */*.rej *** pub/sgnus/texi/gnus.texi Tue Jun 11 06:47:52 1996 --- sgnus/texi/gnus.texi Wed Jun 12 22:30:45 1996 *************** *** 5734,5744 **** (@code{gnus-summary-import-article}). You will be prompted for a file name, a @code{From} header and a @code{Subject} header. - Something similar can be done by just starting to compose a mail - message. Instead of typing @kbd{C-c C-c} to mail it off, you can type - @kbd{C-c M-C-p} instead. This will put the message you have just created - into the current mail group. - @item B r @kindex B r (Summary) @findex gnus-summary-respool-article --- 5734,5739 ---- *** pub/sgnus/texi/message.texi Tue Jun 11 06:47:52 1996 --- sgnus/texi/message.texi Thu Jun 13 01:08:06 1996 *************** *** 921,935 **** @table @code @item message-generate-new-buffers ! @findex message-generate-new-buffers ! If non-@code{nil}, generate new buffers. The default is @code{t}. @item message-max-buffers ! @findex message-max-buffers This variable says how many old message buffers to keep. If there are more message buffers than this, the oldest buffer will be killed. The default is 10. If this variable is @code{nil}, no old message buffers will ever be killed. @item message-kill-buffer-on-exit @findex message-kill-buffer-on-exit --- 921,950 ---- @table @code @item message-generate-new-buffers ! @vindex message-generate-new-buffers ! If non-@code{nil}, generate new buffers. The default is @code{t}. If ! this is a function, call that function with three parameters: The type, ! the to address and the group name. (Any of these may be @code{nil}.) ! The function should return the new buffer name. @item message-max-buffers ! @vindex message-max-buffers This variable says how many old message buffers to keep. If there are more message buffers than this, the oldest buffer will be killed. The default is 10. If this variable is @code{nil}, no old message buffers will ever be killed. + + @item message-send-rename-function + @vindex message-send-rename-function + After sending a message, the buffer is renamed from, for instance, + @samp{*reply to Lars*} to @samp{*sent reply to Lars*}. If you don't + like this, set this variable to a function that renames the buffer in a + manner you like. If you don't want to rename the buffer at all, you can + say: + + @lisp + (setq message-send-rename-function 'ignore) + @end lisp @item message-kill-buffer-on-exit @findex message-kill-buffer-on-exit *** pub/sgnus/texi/ChangeLog Tue Jun 11 06:47:50 1996 --- sgnus/texi/ChangeLog Thu Jun 13 01:08:08 1996 *************** *** 1,3 **** --- 1,12 ---- + Wed Jun 12 22:44:25 1996 Lars Magne Ingebrigtsen + + * message.texi (Message Buffers): Addition. + (Message Buffers): Addition. + + Wed Jun 12 19:32:44 1996 Lars Magne Ingebrigtsen + + * gnus.texi: Deletia. + Mon Jun 10 03:21:04 1996 Lars Magne Ingebrigtsen * message.texi (Various Message Variables): Addition. *** pub/sgnus/GNUS-NEWS Tue Jun 11 06:47:50 1996 --- sgnus/GNUS-NEWS Thu Jun 13 02:54:04 1996 *************** *** 2,16 **** Gnus, the Emacs newsreader, has undergone further rewriting. Many new commands and variables have been added. There should be no ! significant imcompatabilities between this Gnus version and the ! previosly released version, except in the message composition area. Below is a list of the more user-visible changes. Coding changes between Gnus 5.1 and 5.2 are more extensive. *** A new message composition mode is used. All old customization variables for mail-mode, rnews-reply-mode and gnus-msg are now ! absolete. *** Gnus is now able to generate "sparse" threads -- threads where missing articles are represented by empty nodes. --- 2,16 ---- Gnus, the Emacs newsreader, has undergone further rewriting. Many new commands and variables have been added. There should be no ! significant incompatibilities between this Gnus version and the ! previously released version, except in the message composition area. Below is a list of the more user-visible changes. Coding changes between Gnus 5.1 and 5.2 are more extensive. *** A new message composition mode is used. All old customization variables for mail-mode, rnews-reply-mode and gnus-msg are now ! obsolete. *** Gnus is now able to generate "sparse" threads -- threads where missing articles are represented by empty nodes. *************** *** 49,55 **** (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) ! *** Gnus can resend and bounce mail. Use the `S D r' and `S D b'. --- 49,55 ---- (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) ! *** Gnus can re-send and bounce mail. Use the `S D r' and `S D b'.