1998-09-17 Katsumi Yamaoka <yamaoka@jpl.org>
authoryamaoka <yamaoka>
Thu, 17 Sep 1998 12:51:47 +0000 (12:51 +0000)
committeryamaoka <yamaoka>
Thu, 17 Sep 1998 12:51:47 +0000 (12:51 +0000)
* 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

ChangeLog
Makefile.in
lisp/gnus-draft.el
lisp/gnus-msg.el
lisp/message.el
texi/Makefile.in
texi/gnus-ja.texi

index 7baa73a..906e679 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,50 @@
+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.
index b28cda9..874e729 100644 (file)
@@ -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
 
index ef7d868..eed0ceb 100644 (file)
@@ -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
 (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))
index a23d93c..875d510 100644 (file)
@@ -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)
index e44e4ad..e07355d 100644 (file)
@@ -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.
index 107434a..5af7a70 100644 (file)
@@ -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"; \
index 923d4b1..f18a7f0 100644 (file)
@@ -12754,9 +12754,9 @@ line)} \e$B$K@_Dj$7$F$/$@$5$$!#\e(B
 @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