+1998-09-25 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+
+ * lisp/gnus.el (gnus-version-number): Update to 6.10.022.
+
+ * Sync up with Pterodactyl Gnus 0.32.
+
1998-09-24 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
* lisp/gnus.el (gnus-version-number): Update to 6.10.021.
+Thu Sep 24 20:28:31 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Pterodactyl Gnus v0.33 is released.
+
+1998-09-24 18:47:31 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * 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 <zsh@cs.rochester.edu>
+
+ * gnus-cus.el (gnus-group-parameters): Add charset as a parameter
+
+Thu Sep 24 02:05:48 1998 ZHU Shenghuo <zsh@cs.rochester.edu>
+
+ * gnus-cus.el (gnus-group-customize): Use variable as cons not as
+ group
+
+Thu Sep 24 01:41:03 1998 ZHU Shenghuo <zsh@cs.rochester.edu>
+
+ * base64.el (base64-run-command-on-region): External base64
+ decoder do not use coding system
+
+Thu Sep 24 01:39:44 1998 ZHU Shenghuo <zsh@cs.rochester.edu>
+
+ * mm-decode.el (mm-interactively-view-part): Typo.
+
+Thu Sep 24 01:37:30 1998 ZHU Shenghuo <zsh@cs.rochester.edu>
+
+ * 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 <zsh@cs.rochester.edu>
+
+ * mm-decode.el (mm-dissect-buffer): Display parts which have no
+ content-type.
+
+Thu Sep 24 01:23:57 1998 ZHU Shenghuo <zsh@cs.rochester.edu>
+
+ * gnus-art.el (gnus-display-mime): Typo.
+
Thu Sep 24 02:29:57 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Pterodactyl Gnus v0.32 is released.
(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"))
(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)
(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))))))
(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))))
(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
(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))
(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
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")))
(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
(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)
(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"
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)
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))
(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
(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 ()
(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))
"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)))
'((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)
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)))
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)
(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
\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
@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
\e$B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O\e(B Unicode Next Generation\e$B$r\e(B
\e$B$*BT$A$/$@$5$$!#\e(B
-\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10.021 \e$B$KBP1~$7$^$9!#\e(B
+\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10.022 \e$B$KBP1~$7$^$9!#\e(B
@end ifinfo
\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
@tex
@titlepage
-@title Semi-gnus 6.10.021 Manual
+@title Semi-gnus 6.10.022 Manual
@author by Lars Magne Ingebrigtsen
@page
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
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
like.
@item
-Boucing articles should do MIME.
+Bouncing articles should do MIME.
@item
Solve the halting problem.
\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
@tex
@titlepage
-@title Pterodactyl Message 0.32 Manual
+@title Pterodactyl Message 0.33 Manual
@author by Lars Magne Ingebrigtsen
@page
* 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.