* 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 <czkmt@remus.dti.ne.jp>
* lisp/gnus-draft.el (gnus-draft-send-draft): Expire queued message
after news posting.
1998-09-17 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
* lisp/gnus-draft.el (gnus-draft-send-draft): Error if no
recipients.
1998-09-17 Tsukamoto Tetsuo <czkmt@remus.dti.ne.jp>
* lisp/gnus-draft.el (gnus-draft-decoding-function): Uncommented.
1998-09-17 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
* 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 <yamaoka@jpl.org>
* 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
+1998-09-17 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * 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 <czkmt@remus.dti.ne.jp>
+
+ * lisp/gnus-draft.el (gnus-draft-send-draft): Expire queued message
+ after news posting.
+
+1998-09-17 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+
+ * lisp/gnus-draft.el (gnus-draft-send-draft): Error if no
+ recipients.
+
+1998-09-17 Tsukamoto Tetsuo <czkmt@remus.dti.ne.jp>
+
+ * lisp/gnus-draft.el (gnus-draft-decoding-function): Uncommented.
+
+1998-09-17 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+
+ * 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 <yamaoka@jpl.org>
+
+ * 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 <yamaoka@jpl.org>
* lisp/gnus.el (gnus-version-number): Update to 6.10.020.
info:
cd texi && $(MAKE) EMACS="$(EMACS)" all
+info-ja:
+ cd texi && $(MAKE) EMACS=$(EMACS) MAKEINFO=no ja
+
clean:
rm -f */*.orig */*.rej *.orig *.rej
(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
(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
(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
;;; 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.
;;
;; 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))
"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)
(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.
all: gnus message emacs-mime
+ja: gnus-ja message-ja
+
most: texi2latex.elc latex latexps
.SUFFIXES: .texi .dvi .ps
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"; \
@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