From 5b18f44a7745e8fd9b916161333dd5c43622a65b Mon Sep 17 00:00:00 2001 From: yamaoka Date: Sun, 15 Nov 1998 22:03:40 +0000 Subject: [PATCH] Importing Pterodactyl Gnus 0.47. --- lisp/ChangeLog | 13 ++++++ lisp/gnus.el | 2 +- lisp/message.el | 32 +++++++++------ lisp/mm-util.el | 3 +- lisp/mml.el | 22 +++++++---- make.bat | 114 ++++++++++++++++++++++++++--------------------------- texi/gnus.texi | 6 +-- texi/message.texi | 6 +-- 8 files changed, 112 insertions(+), 86 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 074bb13..9123068 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +Sun Nov 15 22:01:55 1998 Lars Magne Ingebrigtsen + + * gnus.el: Pterodactyl Gnus v0.47 is released. + +1998-11-15 20:11:33 Lars Magne Ingebrigtsen + + * message.el (message-encode-message-body): Insert MIME warning. + + * mml.el (mml-read-tag): Look for #tag. + + * mm-util.el (mm-find-charset-region): Check whether + enable-multibyte-characters is bound. + Sun Nov 15 02:01:31 1998 Lars Magne Ingebrigtsen * gnus.el: Pterodactyl Gnus v0.46 is released. diff --git a/lisp/gnus.el b/lisp/gnus.el index 0d5a045..327ca8a 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -254,7 +254,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "0.46" +(defconst gnus-version-number "0.47" "Version number for this version of Gnus.") (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number) diff --git a/lisp/message.el b/lisp/message.el index 7d43608..2864796 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -4087,23 +4087,29 @@ regexp varstr." (format "MIME type for %s: " file) (mapcar (lambda (m) (list (cdr m))) mailcap-mime-extensions) nil nil type)))) - (insert (format "\n" + (insert (format "<#part type=%s filename=\"%s\"><#/part>\n" type file))) (defun message-encode-message-body () (message-goto-body) - (narrow-to-region (point) (point-max)) - (let ((new (mml-generate-mime))) - (delete-region (point-min) (point-max)) - (insert new) - (goto-char (point-min)) - (widen) - (forward-line -1) - (let ((beg (point)) - (line (buffer-substring (point) (progn (forward-line 1) (point))))) - (delete-region beg (point)) - (insert "Mime-Version: 1.0\n") - (insert line)))) + (save-restriction + (narrow-to-region (point) (point-max)) + (let ((new (mml-generate-mime))) + (delete-region (point-min) (point-max)) + (insert new) + (goto-char (point-min)) + (widen) + (forward-line -1) + (let ((beg (point)) + (line (buffer-substring (point) (progn (forward-line 1) (point))))) + (delete-region beg (point)) + (insert "Mime-Version: 1.0\n") + (search-forward "\n\n") + (insert line) + (when (save-excursion + (re-search-backward "^Content-Type: multipart/" nil t)) + (insert "This is a MIME multipart message. If you are reading\n") + (insert "this, you shouldn't.\n\n")))))) (run-hooks 'message-load-hook) diff --git a/lisp/mm-util.el b/lisp/mm-util.el index 699e183..e0d8920 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -224,7 +224,8 @@ See also `with-temp-file' and `with-output-to-string'." (defun mm-find-charset-region (b e) "Return a list of charsets in the region." - (if enable-multibyte-characters + (if (and (boundp 'enable-multibyte-characters) + enable-multibyte-characters) (find-charset-region b e) ;; We are in a unibyte buffer, so we futz around a bit. (save-excursion diff --git a/lisp/mml.el b/lisp/mml.el index c31e7fd..5f4d8e3 100644 --- a/lisp/mml.el +++ b/lisp/mml.el @@ -50,11 +50,11 @@ "Parse the current buffer as an MML document." (let (struct) (while (and (not (eobp)) - (not (looking-at "")) @@ -84,10 +84,10 @@ (defun mml-read-part () "Return the buffer up till the next part, multipart or closing part or multipart." (let ((beg (point))) - (if (re-search-forward "") + (unless (equal (match-string 0) "<#/part>") (goto-char (match-beginning 0)))) (buffer-substring beg (goto-char (point-max)))))) @@ -113,7 +113,13 @@ (with-temp-buffer (if (setq filename (cdr (assq 'filename cont))) (insert-file-contents-literally filename) - (insert (cdr (assq 'contents cont)))) + (save-restriction + (narrow-to-region (point) (point)) + (insert (cdr (assq 'contents cont))) + (goto-char (point-min)) + (while (re-search-forward "<#!+\\(part\\|multipart\\)" nil t) + (delete-region (+ (match-beginning 0) 2) + (+ (match-beginning 0) 3))))) (if (equal (car (split-string type "/")) "text") (setq charset (mm-encode-body) encoding (mm-body-encoding)) @@ -141,7 +147,7 @@ (mml-generate-mime-1 (pop cont))) (insert "--" mml-boundary "--\n"))) (t - (error "%S" cont)))) + (error "Invalid element: %S" cont)))) (provide 'mml) diff --git a/make.bat b/make.bat index d183af9..4a6b8a0 100755 --- a/make.bat +++ b/make.bat @@ -1,57 +1,57 @@ -@echo off - -rem Written by David Charlap - -rem There are two catches, however. The emacs.bat batch file may not exist -rem in all distributions. It is part of the Voelker build of Emacs 19.34 -rem (http://www.cs.washington.edu/homes/voelker/ntemacs.html). If the user -rem installs Gnus with some other build, he may have to replace calls to -rem %1\emacs.bat with something else. -rem -rem Also, the emacs.bat file that Voelker ships does not accept more than 9 -rem parameters, so the attempts to compile the .texi files will fail. To -rem fix that (at least on NT. I don't know about Win95), the following -rem change should be made to emacs.bat: -rem -rem %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 -rem -rem should become -rem -rem %emacs_dir%\bin\emacs.exe %* -rem -rem which will allow the batch file to accept an unlimited number of -rem parameters. - -if "%1" == "" goto usage - -cd lisp -call %1\bin\emacs.bat -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-compile -if not "%2" == "copy" goto info -copy *.el* %1\lisp - -:info -cd ..\texi -call %1\bin\emacs.bat -batch -q -no-site-file gnus.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer -call %1\bin\emacs.bat -batch -q -no-site-file message.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer -if not "%2" == "copy" goto done -copy gnus %1\info -copy gnus-?? %1\info -copy message %1\info - -:etc -cd ..\etc -copy gnus-tut.txt %1\etc - -:done -cd .. -goto end - -:usage -echo Usage: make ^ [copy] -echo. -echo where: ^ is the directory you installed emacs in -echo eg. d:\emacs\19.34 -echo copy indicates that the compiled files should be copied to your -echo emacs lisp, info, and etc directories - -:end +@echo off + +rem Written by David Charlap + +rem There are two catches, however. The emacs.bat batch file may not exist +rem in all distributions. It is part of the Voelker build of Emacs 19.34 +rem (http://www.cs.washington.edu/homes/voelker/ntemacs.html). If the user +rem installs Gnus with some other build, he may have to replace calls to +rem %1\emacs.bat with something else. +rem +rem Also, the emacs.bat file that Voelker ships does not accept more than 9 +rem parameters, so the attempts to compile the .texi files will fail. To +rem fix that (at least on NT. I don't know about Win95), the following +rem change should be made to emacs.bat: +rem +rem %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 +rem +rem should become +rem +rem %emacs_dir%\bin\emacs.exe %* +rem +rem which will allow the batch file to accept an unlimited number of +rem parameters. + +if "%1" == "" goto usage + +cd lisp +call %1\bin\emacs.bat -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-compile +if not "%2" == "copy" goto info +copy *.el* %1\lisp + +:info +cd ..\texi +call %1\bin\emacs.bat -batch -q -no-site-file gnus.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer +call %1\bin\emacs.bat -batch -q -no-site-file message.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer +if not "%2" == "copy" goto done +copy gnus %1\info +copy gnus-?? %1\info +copy message %1\info + +:etc +cd ..\etc +copy gnus-tut.txt %1\etc + +:done +cd .. +goto end + +:usage +echo Usage: make ^ [copy] +echo. +echo where: ^ is the directory you installed emacs in +echo eg. d:\emacs\19.34 +echo copy indicates that the compiled files should be copied to your +echo emacs lisp, info, and etc directories + +:end diff --git a/texi/gnus.texi b/texi/gnus.texi index 84e29b3..d10eb96 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Pterodactyl Gnus 0.46 Manual +@settitle Pterodactyl Gnus 0.47 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 Pterodactyl Gnus 0.46 Manual +@title Pterodactyl Gnus 0.47 Manual @author by Lars Magne Ingebrigtsen @page @@ -354,7 +354,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Pterodactyl Gnus 0.46. +This manual corresponds to Pterodactyl Gnus 0.47. @end ifinfo diff --git a/texi/message.texi b/texi/message.texi index 5bdae93..f75be29 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Pterodactyl Message 0.46 Manual +@settitle Pterodactyl Message 0.47 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.46 Manual +@title Pterodactyl Message 0.47 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.46. Message is +This manual corresponds to Pterodactyl Message 0.47. Message is distributed with the Gnus distribution bearing the same version number as this manual. -- 1.7.10.4