From adafa7e40194bcb87937e4c64b6cb76a7d980041 Mon Sep 17 00:00:00 2001 From: ichikawa Date: Fri, 28 Aug 1998 14:17:30 +0000 Subject: [PATCH] Update --- ChangeLog | 14 ++++++++++++++ lisp/gnus-i18n.el | 49 ++++++++++++++++++++++++++++--------------------- lisp/gnus-spec.el | 6 +++--- lisp/message.el | 33 +++++++++++++++++++++------------ 4 files changed, 66 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2c0f8cc..1d775d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +1998-08-28 Shuhei KOBAYASHI + + * lisp/gnus-i18n.el (gnus-set-summary-default-charset): Try + "qualified" newsgroup name first. + +1998-08-28 Shuhei KOBAYASHI + + * lisp/gnus-i18n.el (gnus-set-summary-default-charset): Match + "real" newsgroup name; strip "backend+server" prefix. + + * lisp/message.el (message-make-in-reply-to): + Use `std11-extract-address-components'. + (message-use-mail-reply-to): Doc fix. + 1998-08-28 Katsumi Yamaoka * lisp/message.el (message-make-user-agent): New function. diff --git a/lisp/gnus-i18n.el b/lisp/gnus-i18n.el index c352379..b45b119 100644 --- a/lisp/gnus-i18n.el +++ b/lisp/gnus-i18n.el @@ -25,6 +25,9 @@ ;;; Code: +(require 'gnus-sum) +(require 'gnus-util) + ;;; @ newsgroup default charset ;;; @@ -60,28 +63,32 @@ newsgroup name. SYMBOL is MIME charset or coding-system.") It is specified by variable `gnus-newsgroup-default-charset-alist' \(cf. function `gnus-set-newsgroup-default-charset')." (if (buffer-live-p gnus-summary-buffer) - (let ((charset - (catch 'found - (let ((group - (save-excursion - (set-buffer gnus-summary-buffer) - gnus-newsgroup-name)) - (alist gnus-newsgroup-default-charset-alist)) - (while alist - (let ((pair (car alist))) - (if (string-match (car pair) group) - (throw 'found (cdr pair)) - )) - (setq alist (cdr alist))) - )))) + (let* ((qgroup (save-excursion + (set-buffer gnus-summary-buffer) + gnus-newsgroup-name)) + (rgroup (gnus-group-real-name qgroup)) + alist pair charset) + (setq charset (catch 'found + ;; First, use "qualified" newsgroup name. + (setq alist gnus-newsgroup-default-charset-alist) + (while (setq pair (car alist)) + (if (string-match (car pair) qgroup) + (throw 'found (cdr pair))) + (setq alist (cdr alist))) + ;; Next, try "real" newsgroup name. + (setq alist gnus-newsgroup-default-charset-alist) + (while (setq pair (car alist)) + (if (string-match (car pair) rgroup) + (throw 'found (cdr pair))) + (setq alist (cdr alist))))) (if charset - (progn - (save-excursion - (set-buffer gnus-summary-buffer) - (make-local-variable 'default-mime-charset) - (setq default-mime-charset charset)) - (make-local-variable 'default-mime-charset) - (setq default-mime-charset charset)) + (progn + (save-excursion + (set-buffer gnus-summary-buffer) + (make-local-variable 'default-mime-charset) + (setq default-mime-charset charset)) + (make-local-variable 'default-mime-charset) + (setq default-mime-charset charset)) (kill-local-variable 'default-mime-charset))))) diff --git a/lisp/gnus-spec.el b/lisp/gnus-spec.el index 2a1e355..0e52f33 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -333,11 +333,11 @@ ;; This function parses the FORMAT string with the help of the ;; SPEC-ALIST and returns a list that can be eval'ed to return a ;; string. - (let (max-width + (let ((xemacs-mule-p (and gnus-xemacs (featurep 'mule))) + max-width spec flist fstring elem result dontinsert user-defined type value pad-width spec-beg cut-width ignore-value - tilde-form tilde elem-type - (xemacs-mule-p (and gnus-xemacs (featurep 'mule)))) + tilde-form tilde elem-type) (save-excursion (gnus-set-work-buffer) (insert format) diff --git a/lisp/message.el b/lisp/message.el index ee0f5d2..7cea25a 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -2,9 +2,9 @@ ;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen -;; MORIOKA Tomohiko -;; Shuhei KOBAYASHI -;; Keiichi Suzuki +;; MORIOKA Tomohiko +;; Shuhei KOBAYASHI +;; Keiichi Suzuki ;; Keywords: mail, news, MIME ;; This file is part of GNU Emacs. @@ -1050,7 +1050,8 @@ The cdr of ech entry is a function for applying the face to a region.") (Lines) (Expires) (Message-ID) - (References . message-fill-references) + ;; (References . message-shorten-references) + (References . message-fill-header) (User-Agent)) "Alist used for formatting headers.") @@ -3404,10 +3405,12 @@ Headers already prepared in the buffer are not modified." (special-display-regexps special-display-regexps) (same-window-buffer-names same-window-buffer-names) (same-window-regexps same-window-regexps) - (buffer (get-buffer name))) + (buffer (get-buffer name)) + (cur (current-buffer))) (if (or (and (featurep 'xemacs) (not (eq 'tty (device-type)))) - window-system) + window-system + (>= emacs-major-version 20)) (when message-use-multi-frames (setq pop-up-frames t special-display-buffer-names nil @@ -3938,13 +3941,18 @@ that further discussion should take place only in " This is done simply by taking the old article and adding a Supersedes header line with the old Message-ID." (interactive) - (let ((cur (current-buffer))) + (let ((cur (current-buffer)) + (sender (message-fetch-field "sender")) + (from (message-fetch-field "from"))) ;; Check whether the user owns the article that is to be superseded. - (unless (string-equal - (downcase (or (message-fetch-field "sender") - (cadr (std11-extract-address-components - (message-fetch-field "from"))))) - (downcase (message-make-sender))) + (unless (or (and sender + (string-equal + (downcase sender) + (downcase (message-make-sender)))) + (string-equal + (downcase (cadr (std11-extract-address-components from))) + (downcase (cadr (std11-extract-address-components + (message-make-from)))))) (error "This article is not yours")) ;; Get a normal message buffer. (message-pop-to-buffer (message-buffer-name "supersede")) @@ -4425,6 +4433,7 @@ regexp varstr." (run-hooks 'mime-edit-exit-hook) )) +;;; XXX: currently broken; message-yank-original resets message-reply-buffer. (defun message-mime-insert-article (&optional message) (interactive) (let ((message-cite-function 'mime-edit-inserted-message-filter) -- 1.7.10.4