From d48e99b2da1516da4277df6f6ada793a01b5c81e Mon Sep 17 00:00:00 2001 From: ichikawa Date: Fri, 25 Sep 1998 12:50:23 +0000 Subject: [PATCH] Sync up with pgnus-0.33 --- ChangeLog | 6 ++++++ lisp/ChangeLog | 46 ++++++++++++++++++++++++++++++++++++++++++++++ lisp/base64.el | 2 +- lisp/gnus-agent.el | 14 ++++---------- lisp/gnus-art.el | 51 ++++++++++++++++++++++++++------------------------- lisp/gnus-cus.el | 8 ++++++-- lisp/gnus-draft.el | 2 ++ lisp/gnus-sum.el | 2 +- lisp/gnus.el | 9 ++++++--- lisp/mm-decode.el | 27 ++++++++++++++++++--------- lisp/mm-util.el | 15 ++++++++++----- texi/gnus-ja.texi | 6 +++--- texi/gnus.texi | 18 +++++++++--------- texi/message.texi | 6 +++--- 14 files changed, 141 insertions(+), 71 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6e31b3..32d8f5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-09-25 Tatsuya Ichikawa + + * lisp/gnus.el (gnus-version-number): Update to 6.10.022. + + * Sync up with Pterodactyl Gnus 0.32. + 1998-09-24 Tatsuya Ichikawa * lisp/gnus.el (gnus-version-number): Update to 6.10.021. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0b45042..0555050 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,49 @@ +Thu Sep 24 20:28:31 1998 Lars Magne Ingebrigtsen + + * gnus.el: Pterodactyl Gnus v0.33 is released. + +1998-09-24 18:47:31 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-insert-mime-button): Get buffer size. + + * mm-decode.el (mm-display-external): Don't switch for externals. + (mm-dissect-multipart): Don't include end-sep. + + * mm-util.el (mm-get-coding-system-list): New function. + (mm-coding-system-list): New variable. + +Thu Sep 24 02:08:10 1998 ZHU Shenghuo + + * gnus-cus.el (gnus-group-parameters): Add charset as a parameter + +Thu Sep 24 02:05:48 1998 ZHU Shenghuo + + * gnus-cus.el (gnus-group-customize): Use variable as cons not as + group + +Thu Sep 24 01:41:03 1998 ZHU Shenghuo + + * base64.el (base64-run-command-on-region): External base64 + decoder do not use coding system + +Thu Sep 24 01:39:44 1998 ZHU Shenghuo + + * mm-decode.el (mm-interactively-view-part): Typo. + +Thu Sep 24 01:37:30 1998 ZHU Shenghuo + + * mm-decode.el (mm-dissect-multipart): Display last part when the + article has no close-delimiter + +Thu Sep 24 01:28:54 1998 ZHU Shenghuo + + * mm-decode.el (mm-dissect-buffer): Display parts which have no + content-type. + +Thu Sep 24 01:23:57 1998 ZHU Shenghuo + + * gnus-art.el (gnus-display-mime): Typo. + Thu Sep 24 02:29:57 1998 Lars Magne Ingebrigtsen * gnus.el: Pterodactyl Gnus v0.32 is released. diff --git a/lisp/base64.el b/lisp/base64.el index 093673e..c874b22 100644 --- a/lisp/base64.el +++ b/lisp/base64.el @@ -75,7 +75,7 @@ base64-encoder-program.") (defun base64-run-command-on-region (start end output-buffer command &rest arg-list) - (let ((tempfile nil) status errstring) + (let ((tempfile nil) status errstring default-process-coding-system) (unwind-protect (progn (setq tempfile (make-temp-name "base64")) diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index e9ef2a0..cb1493d 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -533,15 +533,10 @@ the actual number of articles toggled is returned." (let* ((gnus-command-method method) (file (gnus-agent-lib-file "groups"))) (gnus-make-directory (file-name-directory file)) - (let ((coding-system-for-write - gnus-agent-file-coding-system)) + (let ((coding-system-for-write gnus-agent-file-coding-system)) (write-region (point-min) (point-max) file nil 'silent)) - - );;<-- correct? - (when (file-exists-p (gnus-agent-lib-file "active")) - (delete-file (gnus-agent-lib-file "active")))) -; ) + (delete-file (gnus-agent-lib-file "active"))))) (defun gnus-agent-save-group-info (method group active) (when (gnus-agent-method-p method) @@ -560,7 +555,7 @@ the actual number of articles toggled is returned." (concat "^" (regexp-quote group) " ") nil t) (gnus-delete-line)) (insert group " " (number-to-string (cdr active)) " " - (number-to-string (car active)) "\n")) + (number-to-string (car active)) " y\n")) (when (re-search-forward (concat (regexp-quote group) " ") nil t) (gnus-delete-line)) (insert-buffer-substring nntp-server-buffer)))))) @@ -610,8 +605,7 @@ the actual number of articles toggled is returned." (save-excursion (set-buffer gnus-agent-current-history) (gnus-make-directory (file-name-directory gnus-agent-file-name)) - (let ((coding-system-for-write - gnus-agent-file-coding-system)) + (let ((coding-system-for-write gnus-agent-file-coding-system)) (write-region (1+ (point-min)) (point-max) gnus-agent-file-name nil 'silent)))) diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 78ce1cf..4c78cee 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -2261,8 +2261,9 @@ If ALL-HEADERS is non-nil, no headers are hidden." (let ((gnus-tmp-name (mail-content-type-get (mm-handle-type handle) 'name)) (gnus-tmp-type (car (mm-handle-type handle))) (gnus-tmp-description (mm-handle-description handle)) - (gnus-tmp-length (with-temp-buffer (mm-handle-buffer handle) - (buffer-size))) + (gnus-tmp-length (save-excursion + (set-buffer (mm-handle-buffer handle)) + (buffer-size))) b e) (setq gnus-tmp-name (if gnus-tmp-name @@ -2295,29 +2296,29 @@ If ALL-HEADERS is non-nil, no headers are hidden." (mail-narrow-to-head) (when (setq ct (mail-fetch-field "content-type")) (setq ctl (condition-case () - (mail-header-parse-content-type ct) (error nil))) - (let* ((handles (mm-dissect-buffer)) - handle name type b e) - (mapcar 'mm-destroy-part gnus-article-mime-handles) - (setq gnus-article-mime-handles handles) - (when handles - (goto-char (point-min)) - (search-forward "\n\n" nil t) - (delete-region (point) (point-max)) - (if (not (equal (car ctl) "multipart/alternative")) - (while (setq handle (pop handles)) - (gnus-insert-mime-button handle) - (insert "\n\n") - (when (and (mm-automatic-display-p - (car (mm-handle-type handle))) - (or (not (mm-handle-disposition handle)) - (equal (car (mm-handle-disposition handle)) - "inline"))) - (forward-line -2) - (mm-display-part handle t) - (goto-char (point-max)))) - ;; Here we have multipart/alternative - (gnus-mime-display-alternative handles)))))))) + (mail-header-parse-content-type ct) (error nil))))) + (let* ((handles (mm-dissect-buffer)) + handle name type b e) + (mapcar 'mm-destroy-part gnus-article-mime-handles) + (setq gnus-article-mime-handles handles) + (when handles + (goto-char (point-min)) + (search-forward "\n\n" nil t) + (delete-region (point) (point-max)) + (if (not (equal (car ctl) "multipart/alternative")) + (while (setq handle (pop handles)) + (gnus-insert-mime-button handle) + (insert "\n\n") + (when (and (mm-automatic-display-p + (car (mm-handle-type handle))) + (or (not (mm-handle-disposition handle)) + (equal (car (mm-handle-disposition handle)) + "inline"))) + (forward-line -2) + (mm-display-part handle t) + (goto-char (point-max)))) + ;; Here we have multipart/alternative + (gnus-mime-display-alternative handles)))))) (defun gnus-mime-display-alternative (handles &optional preferred) (let* ((preferred (mm-preferred-alternative handles preferred)) diff --git a/lisp/gnus-cus.el b/lisp/gnus-cus.el index 025273b..501d27d 100644 --- a/lisp/gnus-cus.el +++ b/lisp/gnus-cus.el @@ -159,7 +159,11 @@ An arbitrary comment on the group.") (visible (const :tag "Permanently visible" t) "\ Always display this group, even when there are no unread articles -in it..")) +in it..") + + (charset (string :tag "Charset") "\ +The default charset to use in the group.") +) "Alist of valid group parameters. Each entry has the form (NAME TYPE DOC), where NAME is the parameter @@ -232,7 +236,7 @@ like. If you want to hear a beep when you enter a group, you could put something like `(dummy-variable (ding))' in the parameters of that group. `dummy-variable' will be set to the result of the `(ding)' form, but who cares?" - (group :value (nil nil) + (cons :format "%v" :value (nil . nil) (symbol :tag "Variable") (sexp :tag "Value"))) diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index 493af58..fbba88a 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -96,6 +96,8 @@ (let ((article (gnus-summary-article-number))) (gnus-summary-mark-as-read article gnus-canceled-mark) (gnus-draft-setup-for-editing article gnus-newsgroup-name) + (set-buffer-modified-p t) + (save-buffer) (let ((gnus-verbose-backends nil)) (gnus-request-expire-articles (list article) gnus-newsgroup-name t)) (push diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 041782e..283536a 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -7161,7 +7161,7 @@ re-spool using this method." (defcustom gnus-summary-respool-default-method nil "Default method for respooling an article. If nil, use to the current newsgroup method." - :type `(choice (gnus-select-method :value (nnml "")) + :type '(choice (gnus-select-method :value (nnml "")) (const nil)) :group 'gnus-summary-mail) diff --git a/lisp/gnus.el b/lisp/gnus.el index e021f52..ac75c36 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -253,10 +253,10 @@ is restarted, and sometimes reloaded." (defconst gnus-product-name "T-gnus" "Product name of this version of gnus.") -(defconst gnus-version-number "6.10.021" +(defconst gnus-version-number "6.10.022" "Version number for this version of gnus.") -(defconst gnus-original-version-number "0.32" +(defconst gnus-original-version-number "0.33" "Version number for this version of Gnus.") (defconst gnus-original-product-name "Pterodactyl Gnus" @@ -1675,7 +1675,10 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-summary-mail-forward gnus-summary-mail-other-window gnus-summary-resend-message gnus-summary-resend-bounced-mail gnus-summary-wide-reply gnus-summary-followup-to-mail - gnus-summary-followup-to-mail-with-original gnus-bug) + gnus-summary-followup-to-mail-with-original gnus-bug + gnus-summary-wide-reply-with-original + gnus-summary-post-forward gnus-summary-wide-reply-with-original + gnus-summary-post-forward) ("gnus-picon" :interactive t gnus-article-display-picons gnus-group-display-picons gnus-picons-article-display-x-face gnus-picons-display-x-face) diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 487b63e..7090855 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -102,7 +102,8 @@ cd (mail-fetch-field "content-disposition") description (mail-fetch-field "content-description") id (mail-fetch-field "content-id")))) - (when ctl + (if (not ctl) + (mm-dissect-singlepart '("text/plain") nil no-strict-mime nil nil) (setq type (split-string (car ctl) "/")) (setq subtype (cadr type) type (pop type)) @@ -140,9 +141,15 @@ (defun mm-dissect-multipart (ctl) (goto-char (point-min)) - (let ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary))) - start parts end) - (while (search-forward boundary nil t) + (let* ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary))) + (close-delimiter (concat boundary "--[ \t]*$")) + start parts + (end (save-excursion + (goto-char (point-max)) + (if (re-search-backward close-delimiter nil t) + (match-beginning 0) + (point-max))))) + (while (search-forward boundary end t) (goto-char (match-beginning 0)) (when start (save-excursion @@ -151,6 +158,11 @@ (setq parts (nconc (mm-dissect-buffer t) parts))))) (forward-line 2) (setq start (point))) + (when start + (save-excursion + (save-restriction + (narrow-to-region start end) + (setq parts (nconc (mm-dissect-buffer t) parts))))) (nreverse parts))) (defun mm-copy-to-buffer () @@ -217,10 +229,7 @@ (start-process "*display*" nil "xterm" "-e" (format method file)) - (switch-to-buffer (generate-new-buffer "*mm*")) - (buffer-disable-undo) - (mm-set-buffer-file-coding-system 'no-conversion) - (start-process "*display*" (current-buffer) + (start-process "*display*" (generate-new-buffer "*mm*") shell-file-name "-c" (format method file)))) (mm-handle-set-undisplayer handle (cons file process)) @@ -367,7 +376,7 @@ This overrides entries in the mailcap file." "Display HANDLE using METHOD." (let* ((type (car (mm-handle-type handle))) (methods - (mapcar (lambda (i) (list (cdr (assoc "viewer" i)))) + (mapcar (lambda (i) (list (cdr (assoc 'viewer i)))) (mailcap-mime-info type 'all))) (method (completing-read "Viewer: " methods))) (mm-display-external (copy-sequence handle) method))) diff --git a/lisp/mm-util.el b/lisp/mm-util.el index fecab8e..1db5d60 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -78,8 +78,8 @@ '((decode-coding-string . (lambda (s a) s)) (encode-coding-string . (lambda (s a) s)) (encode-coding-region . ignore) - (decode-coding-region . ignore) (coding-system-list . ignore) + (decode-coding-region . ignore) (char-int . identity) (device-type . ignore) (coding-system-equal . equal) @@ -95,12 +95,18 @@ prompt (mapcar (lambda (s) (list (symbol-name (car s)))) mm-mime-mule-charset-alist))))))) +(defvar mm-coding-system-list nil) +(defun mm-get-coding-system-list () + "Get the coding system list." + (or mm-coding-system-list + (setq mm-coding-system-list (mm-coding-system-list)))) + (defvar mm-charset-coding-system-alist (let ((rest '((gb2312 . cn-gb-2312) (iso-2022-jp-2 . iso-2022-7bit-ss2) (x-ctext . ctext))) - (systems (mm-coding-system-list)) + (systems (mm-get-coding-system-list)) dest) (while rest (let ((pair (car rest))) @@ -110,7 +116,6 @@ dest) "Charset/coding system alist.") - (defun mm-mule-charset-to-mime-charset (charset) "Return the MIME charset corresponding to MULE CHARSET." (let ((alist mm-mime-mule-charset-alist) @@ -136,14 +141,14 @@ used as the line break code type of the coding system." (setq charset (intern (format "%s-%s" charset lbt)))) (cond ;; Running in a non-MULE environment. - ((and (null (mm-coding-system-list)) + ((and (null (mm-get-coding-system-list)) (memq charset mm-known-charsets)) charset) ;; ascii ((eq charset 'us-ascii) 'ascii) ;; Check to see whether we can handle this charset. - ((memq charset (mm-coding-system-list)) + ((memq charset (mm-get-coding-system-list)) charset) ;; Nope. (t diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 87cbd68..ab88ca3 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus-ja -@settitle Semi-gnus 6.10.021 Manual +@settitle Semi-gnus 6.10.022 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -345,7 +345,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Semi-gnus 6.10.021 Manual +@title Semi-gnus 6.10.022 Manual @author by Lars Magne Ingebrigtsen @author by members of Semi-gnus mailing-list @@ -399,7 +399,7 @@ Semi-gnus は、大きな絵が入っていたりさまざまな形式を用いたりしているちょっ な言語圏を差別しません。ああ、クリンゴンの方は Unicode Next Generationを お待ちください。 -この説明書は Semi-gnus 6.10.021 に対応します。 +この説明書は Semi-gnus 6.10.022 に対応します。 @end ifinfo diff --git a/texi/gnus.texi b/texi/gnus.texi index abb72ac..a8b1801 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Semi-gnus 6.10.021 Manual +@settitle Semi-gnus 6.10.022 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Semi-gnus 6.10.021 Manual +@title Semi-gnus 6.10.022 Manual @author by Lars Magne Ingebrigtsen @page @@ -361,7 +361,7 @@ internationalization/localization and multiscript features based on MULE API. So Semi-gnus does not discriminate various language communities. Oh, if you are a Klingon, please wait Unicode Next Generation. -This manual corresponds to Semi-gnus 6.10.021. +This manual corresponds to Semi-gnus 6.10.022. @end ifinfo @@ -13087,11 +13087,11 @@ If @code{gnus-adaptive-word-minimum} is set to a number, the adaptive word scoring process will never bring down the score of an article to below this number. The default is @code{nil}. -@vindex gnus-adative-word-no-group-words -If @code{gnus-adative-word-no-group-words} is set to t, gnus won't -adaptively word score any of the words in the group name. Useful for -groups like comp.editors.emacs, where most of the subject lines contain -the word "emacs". +@vindex gnus-adaptive-word-no-group-words +If @code{gnus-adaptive-word-no-group-words} is set to @code{t}, gnus +won't adaptively word score any of the words in the group name. Useful +for groups like @samp{comp.editors.emacs}, where most of the subject +lines contain the word @samp{emacs}. After using this scheme for a while, it might be nice to write a @code{gnus-psychoanalyze-user} command to go through the rules and see @@ -18134,7 +18134,7 @@ gnus-ignored-mime-types to avoid seeing buttons for Vcards and the like. @item -Boucing articles should do MIME. +Bouncing articles should do MIME. @item Solve the halting problem. diff --git a/texi/message.texi b/texi/message.texi index ec14254..314bba7 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Pterodactyl Message 0.32 Manual +@settitle Pterodactyl Message 0.33 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Pterodactyl Message 0.32 Manual +@title Pterodactyl Message 0.33 Manual @author by Lars Magne Ingebrigtsen @page @@ -83,7 +83,7 @@ Message mode buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Pterodactyl Message 0.32. Message is +This manual corresponds to Pterodactyl Message 0.33. Message is distributed with the Gnus distribution bearing the same version number as this manual. -- 1.7.10.4