From: Lars Magne Ingebrigtsen Date: Wed, 5 Mar 1997 05:48:42 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://cgit.sxemacs.org/?a=commitdiff_plain;h=cb7891a6614b1094a44036775fb6520b9992de79;p=gnus *** empty log message *** --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5d95fa9e6..ef8a8e2a9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,113 @@ +Mon Feb 10 14:19:55 1997 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.4.12 is released. + +Mon Feb 10 12:47:41 1997 Lars Magne Ingebrigtsen + + * message.el (message-fetch-field): Accept an optional param. + (message-reply): Only fetch the first Message-ID. + + * gnus-score.el (gnus-summary-score-effect): Update mode line. + +Mon Feb 10 12:32:38 1997 Hrvoje Niksic + + * gnus-art.el: Simplify. + +Mon Feb 10 12:23:48 1997 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-prev-page): Don't scroll when the + article buffer isn't visible. + + * gnus.el ((featurep 'gnus-xmas)): Removed + `gnus-make-local-hook'. + +Mon Feb 10 12:08:31 1997 Adrian Aichner + + * gnus-util.el (gnus-turn-off-edit-menu): Doc fix. + +Mon Feb 10 07:42:37 1997 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-prepare-unthreaded): Make sure point + is at bol. + + * gnus-srvr.el (gnus-browse-mode-map): Define gnus-bug. + (gnus-server-mode-map): Ditto. + + * gnus-sum.el (gnus-summary-edit-article-done): Update original + article buffer. + + * gnus-uu.el (gnus-uu-digest-mail-forward): Restore window + config. + + * nnmail.el (nnmail-move-inbox): Make sure tofile exists before + setting modes. + + * gnus-xmas.el (gnus-xmas-region-active-p): New function. + + * gnus-ems.el (gnus-region-active-p): New function. + +Mon Feb 10 07:40:45 1997 Hrvoje Niksic + + * gnus-sum.el (gnus-summary-work-articles): Use zmacs-region. + +Mon Feb 10 07:06:44 1997 Lars Magne Ingebrigtsen + + * message.el (message-mode): Nix out all local variables. + + * gnus-art.el (gnus-summary-save-in-mail): Don't ask. + + * gnus-sum.el (gnus-ps-print-hook): New hook. + (gnus-summary-print-article): Use it. + + * message.el (message-reply): Make sure there is something + inserted as a To. + +Mon Feb 10 05:54:28 1997 Paul Franklin + + * gnus-group.el (gnus-group-edit-group): Ignore errors while + closing group. + +Mon Feb 10 05:22:09 1997 Steven L. Baur + + * messagexmas.el (message-xmas-maybe-fontify): New function. + (message-mode-hook): Use it. + +Sat Feb 8 21:18:25 1997 Lars Magne Ingebrigtsen + + * message.el (message-user-organization): Only use string values + of `gnus-local-organization'. + +Tue Feb 4 20:26:20 1997 Paul Franklin + + * nnmail.el (nnmail-get-spool-files): Don't call file-directory-p + on pop spool specifiers. + +Wed Feb 5 01:56:07 1997 Lars Magne Ingebrigtsen + + * message.el (message-delete-mh-headers): Changed default. + (message-send-mail-with-mh): Use it. + (message-mh-deletable-headers): Renamed. + + * gnus-sum.el (gnus-read-header): Don't do anything if the article + can't be requested. + +Wed Feb 5 01:51:07 1997 Joev Dubach + + * gnus-sum.el (gnus-select-newsgroup): Update group line. + +Tue Feb 4 20:23:30 1997 Lars Magne Ingebrigtsen + + * gnus-util.el (gnus-output-to-mail): Insert a newline before the + "From ". + + * nnml.el (nnml-request-move-article): Update active ranges. + (nnml-nov-delete-article): Update active ranges. + +Tue Feb 4 17:54:09 1997 HISASHIGE Kenji + + * gnus-msg.el (gnus-summary-reply-with-original): Pass on the + `wide' param. + Tue Feb 4 03:49:59 1997 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.4.11 is released. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index b0e4a27dc..68e00d270 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -179,10 +179,11 @@ asynchronously. The compressed face will be piped to this command." '(("_" "_" underline) ("/" "/" italic) ("\\*" "\\*" bold) - ("_/" "/_" underline-italic) - ("_\\*" "\\*_" underline-bold) + ;;("_/" "/_" underline-italic) + ;;("_\\*" "\\*_" underline-bold) ("\\*/" "/\\*" bold-italic) - ("_\\*/" "/\\*_" underline-bold-italic)))) + ;;("_\\*/" "/\\*_" underline-bold-italic) + ))) `(("\\(\\s-\\|^\\)\\(_\\(\\(\\w\\|_[^_]\\)+\\)_\\)\\(\\s-\\|[?!.,;]\\)" 2 3 gnus-emphasis-underline) ,@(mapcar @@ -1458,7 +1459,7 @@ Directory to save to is default to `gnus-article-save-directory'." (if (and (file-readable-p filename) (mail-file-babyl-p filename)) (gnus-output-to-rmail filename t) - (gnus-output-to-mail filename t))))) + (gnus-output-to-mail filename))))) ;; Remember the directory name to save articles. (setq gnus-newsgroup-last-mail filename))) diff --git a/lisp/gnus-ems.el b/lisp/gnus-ems.el index 1da6a1dc8..b42037fd4 100644 --- a/lisp/gnus-ems.el +++ b/lisp/gnus-ems.el @@ -195,6 +195,12 @@ asynchronously. The compressed face will be piped to this command.")) (insert " " gnus-tmp-subject-or-nil "\n")) ))) +(defun gnus-region-active-p () + "Say whether the region is active." + (and (boundp 'transient-mark-mode) + transient-mark-mode + (boundp 'mark-active) + mark-active)) (provide 'gnus-ems) diff --git a/lisp/gnus-gl.el b/lisp/gnus-gl.el index 31e566aac..b6ca6f5d9 100644 --- a/lisp/gnus-gl.el +++ b/lisp/gnus-gl.el @@ -810,9 +810,9 @@ recommend using both scores and grouplens predictions together." (if (null arg) (not gnus-grouplens-mode) (> (prefix-numeric-value arg) 0))) (when gnus-grouplens-mode - (gnus-make-local-hook 'gnus-select-article-hook) + (make-local-hook 'gnus-select-article-hook) (gnus-add-hook 'gnus-select-article-hook 'grouplens-do-time nil 'local) - (gnus-make-local-hook 'gnus-exit-group-hook) + (make-local-hook 'gnus-exit-group-hook) (gnus-add-hook 'gnus-exit-group-hook 'bbb-exit-group nil 'local) (make-local-variable 'gnus-score-find-score-files-function) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index b6798d1af..9bc499965 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -762,7 +762,7 @@ The following commands are available: (gnus-set-default-directory) (gnus-update-format-specifications nil 'group 'group-mode) (gnus-update-group-mark-positions) - (gnus-make-local-hook 'post-command-hook) + (make-local-hook 'post-command-hook) (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t) (when gnus-use-undo (gnus-undo-mode 1)) @@ -1871,7 +1871,8 @@ and NEW-NAME will be prompted for." (error "No group on current line")) (unless (setq info (gnus-get-info group)) (error "Killed group; can't be edited")) - (gnus-close-group group) + (ignore-errors + (gnus-close-group group)) (gnus-edit-form ;; Find the proper form to edit. (cond ((eq part 'method) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 7d72d5462..3029eb758 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -175,7 +175,7 @@ Thank you for your help in stamping out bugs. (gnus-configure-windows ,config t)))) (defun gnus-inews-add-send-actions (winconf buffer article) - (gnus-make-local-hook 'message-sent-hook) + (make-local-hook 'message-sent-hook) (gnus-add-hook 'message-sent-hook 'gnus-inews-do-gcc nil t) (setq message-post-method `(lambda (arg) @@ -594,7 +594,7 @@ automatically." "Start composing a reply mail to the current message. The original article will be yanked." (interactive "P") - (gnus-summary-reply (gnus-summary-work-articles n))) + (gnus-summary-reply (gnus-summary-work-articles n) wide)) (defun gnus-summary-wide-reply (&optional yank) "Start composing a wide reply mail to the current message. diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 46407d2a5..6ff0baef1 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -829,7 +829,8 @@ SCORE is the score to add." regexp) (string-match regexp content)) (gnus-summary-raise-score score)))) - (beginning-of-line 2))))) + (beginning-of-line 2)))) + (gnus-set-mode-line 'summary)) (defun gnus-summary-score-crossposting (score date) ;; Enter score file entry for current crossposting. diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index c1049c1a3..289bb2012 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -129,7 +129,8 @@ with some simple extensions.") "g" gnus-server-regenerate-server - "\C-c\C-i" gnus-info-find-node)) + "\C-c\C-i" gnus-info-find-node + "\C-c\C-b" gnus-bug)) (defun gnus-server-mode () "Major mode for listing and editing servers. @@ -512,7 +513,8 @@ The following commands are available: "\C-c\C-c" gnus-browse-exit "?" gnus-browse-describe-briefly - "\C-c\C-i" gnus-info-find-node)) + "\C-c\C-i" gnus-info-find-node + "\C-c\C-b" gnus-bug)) (defun gnus-browse-make-menu-bar () (gnus-turn-off-edit-menu 'browse) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index ad34dbf59..1e2f0ceda 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -647,6 +647,11 @@ automatically when it is selected." :group 'gnus-group-select :type 'hook) +(defcustom gnus-ps-print-hook nil + "*A hook run before ps-printing something from Gnus." + :group 'gnus-summary + :type 'hook) + (defcustom gnus-summary-selected-face 'gnus-summary-selected-face "Face used for highlighting the current article in the summary buffer." :group 'gnus-summary-visual @@ -701,6 +706,7 @@ mark: The articles mark." :type '(repeat (cons (sexp :tag "Form" nil) face))) + ;;; Internal variables (defvar gnus-scores-exclude-files nil) @@ -1888,7 +1894,7 @@ The following commands are available: (make-local-variable 'gnus-summary-line-format) (make-local-variable 'gnus-summary-line-format-spec) (make-local-variable 'gnus-summary-mark-positions) - (gnus-make-local-hook 'post-command-hook) + (make-local-hook 'post-command-hook) (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t) (run-hooks 'gnus-summary-mode-hook) (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy) @@ -3530,6 +3536,8 @@ or a straight list of headers." "Generate an unthreaded summary buffer based on HEADERS." (let (header number mark) + (beginning-of-line) + (while headers ;; We may have to root out some bad articles... (when (memq (setq number (mail-header-number @@ -3604,6 +3612,10 @@ If READ-ALL is non-nil, all articles in the group are selected." (setq gnus-newsgroup-processable nil) + (gnus-update-read-articles group gnus-newsgroup-unreads) + (unless (gnus-ephemeral-group-p gnus-newsgroup-name) + (gnus-group-update-group group)) + (setq articles (gnus-articles-to-read group read-all)) (cond @@ -4407,10 +4419,7 @@ taken into consideration." (gnus-summary-find-next nil article))) (decf n))) (nreverse articles))) - ((and (boundp 'transient-mark-mode) - transient-mark-mode - (boundp 'mark-active) - mark-active) + ((gnus-region-active-p) ;; Work on the region between point and mark. (let ((max (max (point) (mark))) articles article) @@ -5421,7 +5430,8 @@ article." Argument LINES specifies lines to be scrolled down." (interactive "P") (gnus-set-global-variables) - (let ((article (gnus-summary-article-number))) + (let ((article (gnus-summary-article-number)) + (article-window (get-buffer-window gnus-article-buffer))) (gnus-configure-windows 'article) (if (or (null gnus-current-article) (null gnus-article-current) @@ -5430,8 +5440,9 @@ Argument LINES specifies lines to be scrolled down." ;; Selected subject is different from current article's. (gnus-summary-display-article article) (gnus-summary-recenter) - (gnus-eval-in-buffer-window gnus-article-buffer - (gnus-article-prev-page lines)))) + (when article-window + (gnus-eval-in-buffer-window gnus-article-buffer + (gnus-article-prev-page lines))))) (gnus-summary-position-point)) (defun gnus-summary-scroll-up (lines) @@ -6367,6 +6378,7 @@ 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)) (kill-buffer buffer))))) @@ -6622,6 +6634,13 @@ and `request-accept' functions." (memq article gnus-newsgroup-dormant) (memq article gnus-newsgroup-unreads))) + (when (and (equal to-group gnus-newsgroup-name) + (not (memq article gnus-newsgroup-unreads))) + ;; Mark this article as read in this group. + (push (cons to-article gnus-read-mark) gnus-newsgroup-reads) + (setcdr (gnus-active to-group) to-article) + (setcdr gnus-newsgroup-active to-article)) + (while marks (when (memq article (symbol-value (intern (format "gnus-newsgroup-%s" @@ -6634,7 +6653,7 @@ and `request-accept' functions." (symbol-value (intern (format "gnus-newsgroup-%s" (caar marks))))))) - ;; Copy mark to other group. + ;; Copy the marks to other group. (gnus-add-marked-articles to-group (cdar marks) (list to-article) info)) (setq marks (cdr marks))))) @@ -6942,7 +6961,10 @@ groups." ;; Prettify the article buffer again. (save-excursion (set-buffer gnus-article-buffer) - (run-hooks 'gnus-article-display-hook)) + (run-hooks 'gnus-article-display-hook) + (set-buffer gnus-original-article-buffer) + (gnus-request-article + (cdr gnus-article-current) (car gnus-article-current) (current-buffer))) ;; Prettify the summary buffer line. (when (gnus-visual-p 'summary-highlight 'highlight) (run-hooks 'gnus-visual-mark-article-hook)))) @@ -8367,7 +8389,8 @@ save those articles instead." (t gnus-reffed-article-number)) (current-buffer)) (insert " Article retrieved.\n")) - (if (not (setq header (car (gnus-get-newsgroup-headers nil t)))) + (if (or (not where) + (not (setq header (car (gnus-get-newsgroup-headers nil t))))) () ; Malformed head. (unless (gnus-summary-article-sparse-p (mail-header-number header)) (when (and (stringp id) diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 81fbb20e5..c4f8a84d5 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -399,7 +399,7 @@ articles in the topic and its subtopics." (point-max (point-max)) (unread 0) (topic (car type)) - info entry end active) + info entry end active tick) ;; Insert any sub-topics. (while topicl (incf unread @@ -429,13 +429,17 @@ articles in the topic and its subtopics." (not (member (gnus-info-group (setq info (nth 2 entry))) gnus-topic-tallied-groups))) (push (gnus-info-group info) gnus-topic-tallied-groups) - (incf unread (car entry)))) + (incf unread (car entry))) + (when (and (listp entry) + (numberp (car entry))) + (setq tick t))) (goto-char beg) ;; Insert the topic line. (when (and (not silent) - (or gnus-topic-display-empty-topics - (not (zerop unread)) - (/= point-max (point-max)))) + (or gnus-topic-display-empty-topics ;We want empty topics + (not (zerop unread)) ;Non-empty + tick ;Ticked articles + (/= point-max (point-max)))) ;Unactivated groups (gnus-extent-start-open (point)) (gnus-topic-insert-topic-line (car type) visiblep @@ -929,7 +933,7 @@ articles in the topic and its subtopics." 'gnus-group-sort-topic) (setq gnus-group-change-level-function 'gnus-topic-change-level) (setq gnus-goto-missing-group-function 'gnus-topic-goto-missing-group) - (gnus-make-local-hook 'gnus-check-bogus-groups-hook) + (make-local-hook 'gnus-check-bogus-groups-hook) (add-hook 'gnus-check-bogus-groups-hook 'gnus-topic-clean-alist) (setq gnus-topology-checked-p nil) ;; We check the topology. diff --git a/lisp/gnus-undo.el b/lisp/gnus-undo.el index 9461835bf..39c0a50b9 100644 --- a/lisp/gnus-undo.el +++ b/lisp/gnus-undo.el @@ -96,7 +96,7 @@ (unless (assq 'gnus-undo-mode minor-mode-map-alist) (push (cons 'gnus-undo-mode gnus-undo-mode-map) minor-mode-map-alist)) - (gnus-make-local-hook 'post-command-hook) + (make-local-hook 'post-command-hook) (gnus-add-hook 'post-command-hook 'gnus-undo-boundary nil t) (add-hook 'gnus-summary-exit-hook 'gnus-undo-boundary) (run-hooks 'gnus-undo-mode-hook))) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 3f804ca1c..69a3ecc54 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -567,7 +567,7 @@ Timezone package is used." `(,(car funs) t1 t2))) (defun gnus-turn-off-edit-menu (type) - "Turn off edit meny in `gnus-TYPE-mode-map'." + "Turn off edit menu in `gnus-TYPE-mode-map'." (define-key (symbol-value (intern (format "gnus-%s-mode-map" type))) [menu-bar edit] 'undefined)) @@ -764,7 +764,7 @@ with potentially long computations." (when (and (not (get-file-buffer filename)) (not (file-exists-p filename))) (if (or (not ask) - (gnus-yes-or-no-p + (gnus-y-or-n-p (concat "\"" filename "\" does not exist, create it? "))) (let ((file-buffer (create-file-buffer filename))) (save-excursion @@ -787,6 +787,9 @@ with potentially long computations." (set-buffer outbuf) (let ((buffer-read-only nil)) (goto-char (point-max)) + (unless (eobp) + (insert "\n")) + (insert "\n") (insert-buffer-substring tmpbuf))))) (kill-buffer tmpbuf))) diff --git a/lisp/gnus-uu.el b/lisp/gnus-uu.el index 979cdc171..6acaed755 100644 --- a/lisp/gnus-uu.el +++ b/lisp/gnus-uu.el @@ -505,43 +505,43 @@ didn't work, and overwrite existing files. Otherwise, ask each time." (let ((gnus-uu-save-in-digest t) (file (make-temp-name (nnheader-concat gnus-uu-tmp-dir "forward"))) buf subject from newsgroups) - (setq gnus-uu-digest-from-subject nil) - (gnus-uu-decode-save n file) - (setq buf (switch-to-buffer (get-buffer-create " *gnus-uu-forward*"))) - (gnus-add-current-to-buffer-list) - (erase-buffer) - (delete-other-windows) - (insert-file file) - (let ((fs gnus-uu-digest-from-subject)) - (when fs - (setq from (caar fs) - subject (gnus-simplify-subject-fuzzy (cdar fs)) - fs (cdr fs)) - (while (and fs (or from subject)) - (when from - (unless (string= from (caar fs)) - (setq from nil))) - (when subject - (unless (string= (gnus-simplify-subject-fuzzy (cdar fs)) - subject) - (setq subject nil))) - (setq fs (cdr fs)))) - (unless subject - (setq subject "Digested Articles")) - (unless from - (setq from - (if (gnus-news-group-p gnus-newsgroup-name) - gnus-newsgroup-name - "Various")))) - (goto-char (point-min)) - (when (re-search-forward "^Subject: ") - (delete-region (point) (gnus-point-at-eol)) - (insert subject)) - (goto-char (point-min)) - (when (re-search-forward "^From: ") - (delete-region (point) (gnus-point-at-eol)) - (insert from)) - (message-forward post) + (gnus-setup-message 'forward + (setq gnus-uu-digest-from-subject nil) + (gnus-uu-decode-save n file) + (setq buf (switch-to-buffer (get-buffer-create " *gnus-uu-forward*"))) + (gnus-add-current-to-buffer-list) + (erase-buffer) + (insert-file file) + (let ((fs gnus-uu-digest-from-subject)) + (when fs + (setq from (caar fs) + subject (gnus-simplify-subject-fuzzy (cdar fs)) + fs (cdr fs)) + (while (and fs (or from subject)) + (when from + (unless (string= from (caar fs)) + (setq from nil))) + (when subject + (unless (string= (gnus-simplify-subject-fuzzy (cdar fs)) + subject) + (setq subject nil))) + (setq fs (cdr fs)))) + (unless subject + (setq subject "Digested Articles")) + (unless from + (setq from + (if (gnus-news-group-p gnus-newsgroup-name) + gnus-newsgroup-name + "Various")))) + (goto-char (point-min)) + (when (re-search-forward "^Subject: ") + (delete-region (point) (gnus-point-at-eol)) + (insert subject)) + (goto-char (point-min)) + (when (re-search-forward "^From: ") + (delete-region (point) (gnus-point-at-eol)) + (insert from)) + (message-forward post)) (delete-file file) (kill-buffer buf) (setq gnus-uu-digest-from-subject nil))) diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index 581f81927..8801f0300 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -434,6 +434,9 @@ call it with the value of the `gnus-data' text property." (color-instance-rgb-components (make-color-instance color)))))) +(defun gnus-xmas-region-active-p () + (and (fboundp 'region-active-p) + (region-active-p))) (defun gnus-xmas-redefine () "Redefine lots of Gnus functions for XEmacs." @@ -450,13 +453,13 @@ call it with the value of the `gnus-data' text property." (fset 'gnus-appt-select-lowest-window 'gnus-xmas-appt-select-lowest-window) (fset 'gnus-mail-strip-quoted-names 'gnus-xmas-mail-strip-quoted-names) - (fset 'gnus-make-local-hook 'make-local-variable) (fset 'gnus-add-hook 'gnus-xmas-add-hook) (fset 'gnus-character-to-event 'character-to-event) (fset 'gnus-mode-line-buffer-identification 'gnus-xmas-mode-line-buffer-identification) (fset 'gnus-key-press-event-p 'key-press-event-p) - + (fset 'gnus-region-active-p 'gnus-xmas-region-active-p) + (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add) (add-hook 'gnus-summary-mode-hook 'gnus-xmas-summary-menu-add) (add-hook 'gnus-article-mode-hook 'gnus-xmas-article-menu-add) diff --git a/lisp/gnus.el b/lisp/gnus.el index f0b39798c..60e6e017a 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -198,7 +198,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "5.4.11" +(defconst gnus-version-number "5.4.12" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) @@ -230,7 +230,6 @@ be set in `.emacs' instead." (defalias 'gnus-topic-remove-excess-properties 'ignore) (defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window) (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names) - (defalias 'gnus-make-local-hook 'make-local-hook) (defalias 'gnus-add-hook 'add-hook) (defalias 'gnus-character-to-event 'identity) (defalias 'gnus-add-text-properties 'add-text-properties) diff --git a/lisp/message.el b/lisp/message.el index 9ed90a49b..6fbaa4b07 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -247,6 +247,7 @@ should return the new buffer name." (defvar gnus-local-organization) (defcustom message-user-organization (or (and (boundp 'gnus-local-organization) + (stringp gnus-local-organization) gnus-local-organization) (getenv "ORGANIZATION") t) @@ -583,7 +584,7 @@ actually occur." 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)) -(defvar message-delete-mh-headers t +(defvar message-mh-deletable-headers '(Message-ID Date Lines Sender) "If non-nil, delete the deletable headers before feeding to mh.") ;;; Internal variables. @@ -794,9 +795,9 @@ The cdr of ech entry is a function for applying the face to a region.") (setq paren nil)))) (nreverse elems))))) -(defun message-fetch-field (header) +(defun message-fetch-field (header &optional not-all) "The same as `mail-fetch-field', only remove all newlines." - (let ((value (mail-fetch-field header nil t))) + (let ((value (mail-fetch-field header nil (not not-all)))) (when value (nnheader-replace-chars-in-string value ?\n ? )))) @@ -1052,10 +1053,10 @@ C-c C-r message-caesar-buffer-body (rot13 the message body)." (kill-all-local-variables) (make-local-variable 'message-reply-buffer) (setq message-reply-buffer nil) - (make-local-variable 'message-send-actions) - (make-local-variable 'message-exit-actions) - (make-local-variable 'message-kill-actions) - (make-local-variable 'message-postpone-actions) + (set (make-local-variable 'message-send-actions) nil) + (set (make-local-variable 'message-exit-actions) nil) + (set (make-local-variable 'message-kill-actions) nil) + (set (make-local-variable 'message-postpone-actions) nil) (set-syntax-table message-mode-syntax-table) (use-local-map message-mode-map) (setq local-abbrev-table message-mode-abbrev-table) @@ -1766,8 +1767,8 @@ to find out how to use this." "msg.")))) (setq buffer-file-name name) ;; MH wants to generate these headers itself. - (when message-delete-mh-headers - (let ((headers message-deletable-headers)) + (when message-mh-deletable-headers + (let ((headers message-mh-deletable-headers)) (while headers (goto-char (point-min)) (and (re-search-forward @@ -1945,7 +1946,7 @@ to find out how to use this." ;; Check the Message-ID header. (message-check 'message-id (let* ((case-fold-search t) - (message-id (message-fetch-field "message-id"))) + (message-id (message-fetch-field "message-id" t))) (or (not message-id) (and (string-match "@" message-id) (string-match "@[^\\.]*\\." message-id)) @@ -2840,7 +2841,7 @@ Headers already prepared in the buffer are not modified." mct (message-fetch-field "mail-copies-to") reply-to (unless ignore-reply-to (message-fetch-field "reply-to")) references (message-fetch-field "references") - message-id (message-fetch-field "message-id")) + message-id (message-fetch-field "message-id" t)) ;; Remove any (buggy) Re:'s that are present and make a ;; proper one. (when (string-match "^[ \t]*[Rr][Ee]:[ \t]*" subject) @@ -2875,6 +2876,9 @@ Headers already prepared in the buffer are not modified." (insert (prog1 (rmail-dont-reply-to (buffer-string)) (erase-buffer))) (goto-char (point-min)) + ;; Perhaps Mail-Copies-To: never removed the only address? + (when (eobp) + (insert (or reply-to from ""))) (setq ccalist (mapcar (lambda (addr) @@ -2938,7 +2942,7 @@ If TO-NEWSGROUPS, use that as the new Newsgroups line." date (message-fetch-field "date") subject (or (message-fetch-field "subject") "none") references (message-fetch-field "references") - message-id (message-fetch-field "message-id") + message-id (message-fetch-field "message-id" t) followup-to (message-fetch-field "followup-to") newsgroups (message-fetch-field "newsgroups") reply-to (message-fetch-field "reply-to") @@ -3034,7 +3038,7 @@ responses here are directed to other newsgroups.")) (message-narrow-to-head) (setq from (message-fetch-field "from") newsgroups (message-fetch-field "newsgroups") - message-id (message-fetch-field "message-id") + message-id (message-fetch-field "message-id" t) distribution (message-fetch-field "distribution"))) ;; Make sure that this article was written by the user. (unless (string-equal diff --git a/lisp/messagexmas.el b/lisp/messagexmas.el index 4a9d28a1e..1921fa658 100644 --- a/lisp/messagexmas.el +++ b/lisp/messagexmas.el @@ -92,6 +92,13 @@ If it is non-nil, it must be a toolbar. The five legal values are (fset 'message-exchange-point-and-mark 'message-xmas-exchange-point-and-mark) +(defun message-xmas-maybe-fontify () + (when (and (featurep 'font-lock) + font-lock-auto-fontify) + (turn-on-font-lock))) + +(add-hook 'message-mode-hook 'message-xmas-maybe-fontify) + (provide 'messagexmas) ;;; messagexmas.el ends here diff --git a/lisp/nnmail.el b/lisp/nnmail.el index b9c812f10..71a089d9f 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -556,7 +556,8 @@ parameter. It should return nil, `warn' or `delete'." ;; No output => movemail won (progn (unless popmail - (set-file-modes tofile nnmail-default-file-modes)) + (when (file-exists-p tofile) + (set-file-modes tofile nnmail-default-file-modes))) (push inbox nnmail-moved-inboxes)) (set-buffer errors) ;; There may be a warning about older revisions. We @@ -565,7 +566,8 @@ parameter. It should return nil, `warn' or `delete'." (if (search-forward "older revision" nil t) (progn (unless popmail - (set-file-modes tofile nnmail-default-file-modes)) + (when (file-exists-p tofile) + (set-file-modes tofile nnmail-default-file-modes))) (push inbox nnmail-moved-inboxes)) ;; Probably a real error. (subst-char-in-region (point-min) (point-max) ?\n ?\ ) @@ -1254,19 +1256,19 @@ See the documentation for the variable `nnmail-split-fancy' for documentation." 'nconc (mapcar (lambda (file) - (if (file-directory-p file) + (if (and (not (string-match "^po:" file)) + (file-directory-p file)) (nnheader-directory-regular-files file) (list file))) nnmail-spool-file)) procmails)) - ((and (stringp nnmail-spool-file) - (not (file-directory-p nnmail-spool-file))) - (cons nnmail-spool-file procmails)) - ((and (stringp nnmail-spool-file) - (file-directory-p nnmail-spool-file)) - (nconc - (nnheader-directory-regular-files nnmail-spool-file) - procmails)) + ((stringp nnmail-spool-file) + (if (and (not (string-match "^po:" nnmail-spool-file)) + (file-directory-p nnmail-spool-file)) + (nconc + (nnheader-directory-regular-files nnmail-spool-file) + procmails) + (cons nnmail-spool-file procmails))) ((eq nnmail-spool-file 'pop) (cons (format "po:%s" (user-login-name)) procmails)) (t diff --git a/lisp/nnml.el b/lisp/nnml.el index d35a1efad..462e33e3a 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -318,7 +318,9 @@ all. This may very well take some time.") (int-to-string article))) (file-error nil)) (nnml-nov-delete-article group article) - (and last (nnml-save-nov)))) + (when last + (nnml-save-nov) + (nnmail-save-active nnml-group-alist nnml-active-file)))) result)) (deffoo nnml-request-accept-article (group &optional server last) @@ -774,9 +776,17 @@ all. This may very well take some time.") (defun nnml-nov-delete-article (group article) (save-excursion (set-buffer (nnml-open-nov group)) - (goto-char (point-min)) - (when (re-search-forward (concat "^" (int-to-string article) "\t") nil t) - (delete-region (match-beginning 0) (progn (forward-line 1) (point)))) + (when (nnheader-find-nov-line article) + (delete-region (point) (progn (forward-line 1) (point))) + (when (bobp) + (let ((active (cadr (assoc group nnml-group-alist))) + num) + (when active + (if (eobp) + (setf (car active) (1+ (cdr active))) + (when (and (setq num (ignore-errors (read (current-buffer)))) + (numberp num)) + (setf (car active) num))))))) t)) (provide 'nnml) diff --git a/lisp/nntp.el b/lisp/nntp.el index 39147f894..4a9db8733 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -548,8 +548,7 @@ It will prompt for a password." (defun nntp-send-authinfo-from-file () "Send the AUTHINFO to the nntp server. -This function is supposed to be called from `nntp-server-opened-hook'. -It will prompt for a password." +This function is supposed to be called from `nntp-server-opened-hook'." (when (file-exists-p "~/.nntp-authinfo") (nnheader-temp-write nil (insert-file-contents "~/.nntp-authinfo") diff --git a/texi/ChangeLog b/texi/ChangeLog index 1d7b1a4a9..e2ce95145 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,5 +1,20 @@ +Mon Feb 10 07:18:16 1997 Lars Magne Ingebrigtsen + + * gnus.texi (Article Commands): Addition. + +Mon Feb 3 19:59:10 1997 Paul Franklin + + * gnus-group.el (gnus-group-edit-group): Allow editing of bad + groups. + +Wed Feb 5 02:00:46 1997 Lars Magne Ingebrigtsen + + * message.texi (Mail Variables): Change. + Tue Feb 4 02:33:31 1997 Lars Magne Ingebrigtsen + * message.texi (Mail Aliases): New. + * gnus.texi (Splitting Mail): Addition. Mon Feb 3 07:31:47 1997 Lars Magne Ingebrigtsen diff --git a/texi/gnus.texi b/texi/gnus.texi index c8b762ecd..672d6ddb8 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -2855,7 +2855,6 @@ news. @item H f @kindex H f (Group) -@itemx M-f @findex gnus-group-fetch-faq @vindex gnus-group-faq-directory @cindex FAQ @@ -6203,9 +6202,11 @@ listed above. @cindex PostScript @cindex printing @kindex A P (Summary) +@vindex gnus-ps-print-hook @findex gnus-summary-print-article Generate and print a PostScript image of the article buffer -(@code{gnus-summary-print-article}). +(@code{gnus-summary-print-article}). @code{gnus-ps-print-hook} will be +run just before printing the buffer. @end table @@ -7578,8 +7579,9 @@ spell-checking via the @code{ispell} package: Gnus provides a few different methods for storing the mail you send. The default method is to use the @dfn{archive virtual server} to store -the mail. If you want to disable this completely, you should set -@code{gnus-message-archive-group} to @code{nil}. +the mail. If you want to disable this completely, the +@code{gnus-message-archive-group} variable should be @code{nil}, which +is the default. @vindex gnus-message-archive-method @code{gnus-message-archive-method} says what virtual server Gnus is to @@ -8687,6 +8689,8 @@ password, you can either set @code{nnmail-pop-password-required} to @code{t} and be prompted for the password, or set @code{nnmail-pop-password} to the password itself. +@code{nnmail-spool-file} can also be a list of mailboxes. + Your Emacs has to have been configured with @samp{--with-pop} before compilation. This is the default, but some installations have it switched off. @@ -13790,9 +13794,10 @@ David S. Goldberg, D. Hall, Magnus Hammerin, Raja R. Harinath, +Hisashige Kenji, @c Hisashige Marc Horowitz, +François Felix Ingrand, Ishikawa Ichiro, @c Ishikawa -Francois Felix Ingrand, Lee Iverson, Rajappa Iyer, Randell Jesup, diff --git a/texi/message.texi b/texi/message.texi index eb5203f24..040114d1b 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -299,6 +299,7 @@ will be removed before popping up the buffer. The default is * Insertion:: Inserting things into message buffers. * Various Commands:: Various things. * Sending:: Actually sending the message. +* Mail Aliases:: How to use mail aliases. @end menu @@ -555,6 +556,30 @@ Kill the message buffer and exit (@code{message-kill-buffer}). @end table + +@node Mail Aliases +@section Mail Aliases +@cindex mail aliases +@cindex aliases + +Message uses @code{mailabbrev} to handle mail aliases. +@code{mailabbrev} works by parsing the @file{/etc/mailrc} and +@file{~/.mailrc} files. These files look like: + +@example +alias lmi "Lars Magne Ingebrigtsen " +alias ding "ding@@ifi.uio.no (ding mailing list)" +@end example + +After adding lines like this to your @file{~/.mailrc} file, you should +be able to just write @samp{lmi} in the @code{To} or @code{Cc} (and so +on) headers and press @kbd{SPC} to expand the alias. + +No expansion will be performed upon sending of the message---all +expansions have to be done explicitly. + + + @node Variables @chapter Variables @@ -696,8 +721,10 @@ to. If it isn't present already, it will be prompted for. @cindex organization This optional header will be filled out depending on the @code{message-user-organization} variable. -@code{message-user-organization-file} will be used if that variable is -@code{t}. +@code{message-user-organization-file} will be used if this variable is +@code{t}. This variable can also be a string (in which case this string +will be used), or it can be a function (which will be called with no +parameters and should return a string to be used). @item Lines @cindex Lines