From 5cf1bf31eafd256be3ca429ab16d542914057bd7 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 17 Sep 1998 12:51:47 +0000 Subject: [PATCH] 1998-09-17 Katsumi Yamaoka * lisp/message.el (message-make-user-agent): Use `gnus-inviolable-extended-version' if `message-user-agent' is nil. * lisp/message.el (message-make-user-agent): In message-mode, make the most of the `User-Agent' field value if already exists. * lisp/gnus-msg.el (gnus-inviolable-extended-version): New constant. * lisp/gnus-msg.el (gnus-extended-version): Remove trailing white space. 1998-09-17 Tsukamoto Tetsuo * lisp/gnus-draft.el (gnus-draft-send-draft): Expire queued message after news posting. 1998-09-17 Tatsuya Ichikawa * lisp/gnus-draft.el (gnus-draft-send-draft): Error if no recipients. 1998-09-17 Tsukamoto Tetsuo * lisp/gnus-draft.el (gnus-draft-decoding-function): Uncommented. 1998-09-17 Tatsuya Ichikawa * lisp/gnus-draft.el (gnus-draft-edit-message): Use `gnus-draft-setup-for-editing' instead of `gnus-draft-setup'. * lisp/gnus-draft.el (gnus-draft-send): Use `gnus-draft-setup-for-sending' instead of `gnus-draft-setup'. * lisp/gnus-draft.el (gnus-draft-setup-for-editing): New function. * lisp/gnus-draft.el (gnus-draft-setup-for-sending): Renamed from `gnus-draft-setup'. 1998-09-16 Katsumi Yamaoka * texi/gnus-ja.texi: Sync up with Semi-gnus 6.8.18. * Makefile.in: Add entry `info-ja'. * texi/Makefile.in: Add entry `ja'. A snapshot is available from ftp://ftp.jpl.org/pub/tmp/semi-gnus-pgnus-ichikawa-19980917-1.tar.gz --- ChangeLog | 47 +++++++++++++++++ Makefile.in | 3 ++ lisp/gnus-draft.el | 47 ++++++++++++----- lisp/gnus-msg.el | 4 +- lisp/message.el | 148 +++++++++++++++++++++++++++++++--------------------- texi/Makefile.in | 4 +- texi/gnus-ja.texi | 6 +-- 7 files changed, 181 insertions(+), 78 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7baa73a..906e679 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,50 @@ +1998-09-17 Katsumi Yamaoka + + * lisp/message.el (message-make-user-agent): Use + `gnus-inviolable-extended-version' if `message-user-agent' is nil. + + * lisp/message.el (message-make-user-agent): In message-mode, make + the most of the `User-Agent' field value if already exists. + + * lisp/gnus-msg.el (gnus-inviolable-extended-version): New constant. + + * lisp/gnus-msg.el (gnus-extended-version): Remove trailing white + space. + +1998-09-17 Tsukamoto Tetsuo + + * lisp/gnus-draft.el (gnus-draft-send-draft): Expire queued message + after news posting. + +1998-09-17 Tatsuya Ichikawa + + * lisp/gnus-draft.el (gnus-draft-send-draft): Error if no + recipients. + +1998-09-17 Tsukamoto Tetsuo + + * lisp/gnus-draft.el (gnus-draft-decoding-function): Uncommented. + +1998-09-17 Tatsuya Ichikawa + + * lisp/gnus-draft.el (gnus-draft-edit-message): Use + `gnus-draft-setup-for-editing' instead of `gnus-draft-setup'. + + * lisp/gnus-draft.el (gnus-draft-send): Use + `gnus-draft-setup-for-sending' instead of `gnus-draft-setup'. + + * lisp/gnus-draft.el (gnus-draft-setup-for-editing): New function. + + * lisp/gnus-draft.el (gnus-draft-setup-for-sending): Renamed from + `gnus-draft-setup'. + +1998-09-16 Katsumi Yamaoka + + * texi/gnus-ja.texi: Sync up with Semi-gnus 6.8.18. + + * Makefile.in: Add entry `info-ja'. + * texi/Makefile.in: Add entry `ja'. + 1998-09-16 Katsumi Yamaoka * lisp/gnus.el (gnus-version-number): Update to 6.10.020. diff --git a/Makefile.in b/Makefile.in index b28cda9..874e729 100644 --- a/Makefile.in +++ b/Makefile.in @@ -25,6 +25,9 @@ l: info: cd texi && $(MAKE) EMACS="$(EMACS)" all +info-ja: + cd texi && $(MAKE) EMACS=$(EMACS) MAKEINFO=no ja + clean: rm -f */*.orig */*.rej *.orig *.rej diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index ef7d868..eed0ceb 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -95,7 +95,7 @@ (interactive) (let ((article (gnus-summary-article-number))) (gnus-summary-mark-as-read article gnus-canceled-mark) - (gnus-draft-setup article gnus-newsgroup-name) + (gnus-draft-setup-or-editing article gnus-newsgroup-name) (let ((gnus-verbose-backends nil)) (gnus-request-expire-articles (list article) gnus-newsgroup-name t)) (push @@ -149,7 +149,7 @@ (defvar gnus-draft-send-draft-buffer " *send draft*") (defun gnus-draft-send (article &optional group) "Send message ARTICLE." - (gnus-draft-setup article (or group "nndraft:queue")) + (gnus-draft-setup-for-sending article (or group "nndraft:queue")) (let ((message-syntax-checks 'dont-check-for-anything-just-trust-me) message-send-hook type method) ;; We read the meta-information that says how and where @@ -182,10 +182,14 @@ (gnus-request-expire-articles (list article) (or group "nndraft:queue") t)) (if (get-buffer gnus-draft-send-draft-buffer) - (kill-buffer gnus-draft-send-draft-buffer)))))) + (kill-buffer gnus-draft-send-draft-buffer))) + (error "No recipients.")))) ;; Send draft via NNTP. (gnus-open-server method) (gnus-request-post method) + (let ((gnus-verbose-backends nil)) + (gnus-request-expire-articles + (list article) (or group "nndraft:queue") t)) (if (get-buffer gnus-draft-send-draft-buffer) (kill-buffer gnus-draft-send-draft-buffer)))) ;; For draft TEST @@ -213,15 +217,15 @@ ;;; Utility functions -;;(defcustom gnus-draft-decoding-function -;; (function -;; (lambda () -;; (mime-edit-decode-buffer nil) -;; (eword-decode-header) -;; )) -;; "*Function called to decode the message from network representation." -;; :group 'gnus-agent -;; :type 'function) +(defcustom gnus-draft-decoding-function + (function + (lambda () + (mime-edit-decode-buffer nil) + (eword-decode-header) + )) + "*Function called to decode the message from network representation." + :group 'gnus-agent + :type 'function) ;;;!!!If this is byte-compiled, it fails miserably. ;;;!!!This is because `gnus-setup-message' uses uninterned symbols. @@ -247,7 +251,24 @@ ;; ;; For draft TEST (progn -(defun gnus-draft-setup (narticle group) +(defun gnus-draft-setup-for-editing (narticle group) + (gnus-setup-message 'forward + (let ((article narticle)) + (message-mail) + (erase-buffer) + (if (not (gnus-request-restore-buffer article group)) + (error "Couldn't restore the article") + Insert the separator. + (funcall gnus-draft-decoding-function) + (goto-char (point-min)) + (search-forward "\n\n") + (forward-char -1) + (insert mail-header-separator) + (forward-line 1) + (message-set-auto-save-file-name)))))) +;; +(progn +(defun gnus-draft-setup-for-sending (narticle group) (let ((article narticle)) (if (not (get-buffer gnus-draft-send-draft-buffer)) (get-buffer-create gnus-draft-send-draft-buffer)) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index a23d93c..875d510 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -193,7 +193,9 @@ Thank you for your help in stamping out bugs. "Stringified gnus version." (interactive) ; ??? (concat gnus-product-name "/" gnus-version-number " (based on " - gnus-original-product-name " " gnus-original-version-number ") ")) + gnus-original-product-name " " gnus-original-version-number ")")) + +(defconst gnus-inviolable-extended-version (gnus-extended-version)) (defvar gnus-article-reply nil) (defmacro gnus-setup-message (config &rest forms) diff --git a/lisp/message.el b/lisp/message.el index e44e4ad..e07355d 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -3123,66 +3123,94 @@ give as trustworthy answer as possible." (defun message-make-user-agent () "Return user-agent info." (let ((user-agent - (concat - ;; SEMI: '("SEMI" "CODENAME" V1 V2 V3) - (format "%s/%s (%s)" - (nth 0 mime-user-interface-version) - (mapconcat #'number-to-string - (cdr (cdr mime-user-interface-version)) - ".") - (nth 1 mime-user-interface-version)) - ;; FLIM: "FLIM VERSION - \"CODENAME\"[...]" - (if (string-match - "\\`\\([^ ]+\\) \\([^ ]+\\) - \"\\([^\"]+\\)\"\\(.*\\)\\'" - mime-library-version-string) - (format " %s/%s (%s%s)" - (match-string 1 mime-library-version-string) - (match-string 2 mime-library-version-string) - (match-string 3 mime-library-version-string) - (match-string 4 mime-library-version-string)) - " FLIM") - "\n " - ;; EMACS/VERSION - (if (featurep 'xemacs) - ;; XEmacs - (concat - (format "XEmacs/%d.%d" emacs-major-version emacs-minor-version) - (if (and (boundp 'emacs-beta-version) emacs-beta-version) - (format "beta%d" emacs-beta-version) - "") - (if (and (boundp 'xemacs-codename) xemacs-codename) - (concat " (" xemacs-codename ")") - "") - ) - ;; not XEmacs - (concat - (format "Emacs/%d.%d" emacs-major-version emacs-minor-version) - (if (>= emacs-major-version 20) - (if (and (boundp 'enable-multibyte-characters) - enable-multibyte-characters) - "" ; Should return " (multibyte)"? - " (unibyte)")) - )) - ;; MULE[/VERSION] - (if (featurep 'mule) - (if (and (boundp 'mule-version) mule-version) - (concat " MULE/" mule-version) - " MULE") ; no mule-version - "") ; not Mule - ;; Meadow/VERSION - (if (featurep 'meadow) - (let ((version (Meadow-version))) - (if (string-match "\\`Meadow.\\([^ ]*\\)\\( (.*)\\)\\'" version) - (concat " Meadow/" - (match-string 1 version) - (match-string 2 version) - ) - "Meadow")) ; unknown format - "") ; not Meadow - ))) - (if message-user-agent - (concat message-user-agent "\n " user-agent) - user-agent))) + (or + (if (eq message-encoding-buffer (current-buffer)) + (save-excursion + (save-restriction + (message-narrow-to-headers) + (let ((case-fold-search t) + (inhibit-read-only t) + buffer-read-only start value) + (when (and (not (re-search-forward + "^Resent-User-Agent" nil t)) + (re-search-forward "^User-Agent:" nil t)) + (setq start (match-beginning 0) + value (buffer-substring-no-properties + (match-end 0) (std11-field-end))) + (when (string-match "^[\n\t ]+" value) + (setq value (substring value (match-end 0)))) + (when (string-match "[\n\t ]+$" value) + (setq value + (substring value 0 (match-beginning 0)))) + (unless (string-match + (concat + "^" (regexp-quote + gnus-inviolable-extended-version)) + value) + (delete-region start (1+ (point)))) + (if (string-equal "" value) + nil + value)))))) + (concat + ;; SEMI: '("SEMI" "CODENAME" V1 V2 V3) + (format "%s/%s (%s)" + (nth 0 mime-user-interface-version) + (mapconcat #'number-to-string + (cdr (cdr mime-user-interface-version)) + ".") + (nth 1 mime-user-interface-version)) + ;; FLIM: "FLIM VERSION - \"CODENAME\"[...]" + (if (string-match + "\\`\\([^ ]+\\) \\([^ ]+\\) - \"\\([^\"]+\\)\"\\(.*\\)\\'" + mime-library-version-string) + (format " %s/%s (%s%s)" + (match-string 1 mime-library-version-string) + (match-string 2 mime-library-version-string) + (match-string 3 mime-library-version-string) + (match-string 4 mime-library-version-string)) + " FLIM") + "\n " + ;; EMACS/VERSION + (if (featurep 'xemacs) + ;; XEmacs + (concat + (format "XEmacs/%d.%d" emacs-major-version emacs-minor-version) + (if (and (boundp 'emacs-beta-version) emacs-beta-version) + (format "beta%d" emacs-beta-version) + "") + (if (and (boundp 'xemacs-codename) xemacs-codename) + (concat " (" xemacs-codename ")") + "") + ) + ;; not XEmacs + (concat + (format "Emacs/%d.%d" emacs-major-version emacs-minor-version) + (if (>= emacs-major-version 20) + (if (and (boundp 'enable-multibyte-characters) + enable-multibyte-characters) + "" ; Should return " (multibyte)"? + " (unibyte)")) + )) + ;; MULE[/VERSION] + (if (featurep 'mule) + (if (and (boundp 'mule-version) mule-version) + (concat " MULE/" mule-version) + " MULE") ; no mule-version + "") ; not Mule + ;; Meadow/VERSION + (if (featurep 'meadow) + (let ((version (Meadow-version))) + (if (string-match + "\\`Meadow.\\([^ ]*\\)\\( (.*)\\)\\'" version) + (concat " Meadow/" + (match-string 1 version) + (match-string 2 version) + ) + "Meadow")) ; unknown format + "") ; not Meadow + )))) + (concat (or message-user-agent gnus-inviolable-extended-version) + "\n " user-agent))) (defun message-generate-headers (headers) "Prepare article HEADERS. diff --git a/texi/Makefile.in b/texi/Makefile.in index 107434a..5af7a70 100644 --- a/texi/Makefile.in +++ b/texi/Makefile.in @@ -20,6 +20,8 @@ PAPERTYPE=a4 all: gnus message emacs-mime +ja: gnus-ja message-ja + most: texi2latex.elc latex latexps .SUFFIXES: .texi .dvi .ps @@ -115,7 +117,7 @@ distclean: install: $(SHELL) $(top_srcdir)/mkinstalldirs $(infodir) - @for file in gnus message emacs-info; do \ + @for file in gnus message emacs-info gnus-ja message-ja; do \ for ifile in `echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ if test -f $$ifile; then \ echo " $(INSTALL_DATA) $$ifile $(infodir)/$$ifile"; \ diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 923d4b1..f18a7f0 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -12754,9 +12754,9 @@ line)} に設定してください。 @lisp (setq gnus-home-score-file ;; All groups that match the regexp "\\.emacs" - '("\\.emacs" "emacs.SCORE") - ;; All the comp groups in one score file - ("^comp" "comp.SCORE")) + '(("\\.emacs" "emacs.SCORE") + ;; All the comp groups in one score file + ("^comp" "comp.SCORE"))) @end lisp @vindex gnus-home-adapt-file -- 1.7.10.4