+Sun Nov 15 22:01:55 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Pterodactyl Gnus v0.47 is released.
+
+1998-11-15 20:11:33 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * 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 <larsi@menja.ifi.uio.no>
* gnus.el: Pterodactyl Gnus v0.46 is released.
: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)
(format "MIME type for %s: " file)
(mapcar (lambda (m) (list (cdr m))) mailcap-mime-extensions)
nil nil type))))
- (insert (format "<part type=%s filename=\"%s\"></part>\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)
(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
"Parse the current buffer as an MML document."
(let (struct)
(while (and (not (eobp))
- (not (looking-at "</multipart")))
+ (not (looking-at "</#multipart")))
(cond
- ((looking-at "<multipart")
+ ((looking-at "<#multipart")
(push (nconc (mml-read-tag) (mml-parse-1)) struct))
- ((looking-at "<part")
+ ((looking-at "<#part")
(push (nconc (mml-read-tag) (list (cons 'contents (mml-read-part))))
struct))
(t
(defun mml-read-tag ()
"Read a tag and return the contents."
(let (contents name elem val)
- (forward-char 1)
+ (forward-char 2)
(setq name (buffer-substring (point) (progn (forward-sexp 1) (point))))
(skip-chars-forward " \t\n")
(while (not (looking-at ">"))
(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 "</?\\(multi\\)?part." nil t)
+ (if (re-search-forward "<#/?\\(multi\\)?part." nil t)
(prog1
(buffer-substring beg (match-beginning 0))
- (unless (equal (match-string 0) "</part>")
+ (unless (equal (match-string 0) "<#/part>")
(goto-char (match-beginning 0))))
(buffer-substring beg (goto-char (point-max))))))
(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))
(mml-generate-mime-1 (pop cont)))
(insert "--" mml-boundary "--\n")))
(t
- (error "%S" cont))))
+ (error "Invalid element: %S" cont))))
(provide 'mml)
-@echo off
-
-rem Written by David Charlap <shamino@writeme.com>
-
-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 ^<emacs-dir^> [copy]
-echo.
-echo where: ^<emacs-dir^> 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\r
+\r
+rem Written by David Charlap <shamino@writeme.com>\r
+\r
+rem There are two catches, however. The emacs.bat batch file may not exist\r
+rem in all distributions. It is part of the Voelker build of Emacs 19.34\r
+rem (http://www.cs.washington.edu/homes/voelker/ntemacs.html). If the user\r
+rem installs Gnus with some other build, he may have to replace calls to\r
+rem %1\emacs.bat with something else.\r
+rem \r
+rem Also, the emacs.bat file that Voelker ships does not accept more than 9\r
+rem parameters, so the attempts to compile the .texi files will fail. To\r
+rem fix that (at least on NT. I don't know about Win95), the following\r
+rem change should be made to emacs.bat:\r
+rem \r
+rem %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9\r
+rem \r
+rem should become\r
+rem \r
+rem %emacs_dir%\bin\emacs.exe %*\r
+rem \r
+rem which will allow the batch file to accept an unlimited number of\r
+rem parameters.\r
+\r
+if "%1" == "" goto usage\r
+\r
+cd lisp\r
+call %1\bin\emacs.bat -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-compile\r
+if not "%2" == "copy" goto info\r
+copy *.el* %1\lisp\r
+\r
+:info\r
+cd ..\texi\r
+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\r
+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\r
+if not "%2" == "copy" goto done\r
+copy gnus %1\info\r
+copy gnus-?? %1\info\r
+copy message %1\info\r
+\r
+:etc\r
+cd ..\etc\r
+copy gnus-tut.txt %1\etc\r
+\r
+:done\r
+cd ..\r
+goto end\r
+\r
+:usage\r
+echo Usage: make ^<emacs-dir^> [copy]\r
+echo.\r
+echo where: ^<emacs-dir^> is the directory you installed emacs in\r
+echo eg. d:\emacs\19.34\r
+echo copy indicates that the compiled files should be copied to your\r
+echo emacs lisp, info, and etc directories\r
+\r
+:end\r
\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
@tex
@titlepage
-@title Pterodactyl Gnus 0.46 Manual
+@title Pterodactyl Gnus 0.47 Manual
@author by Lars Magne Ingebrigtsen
@page
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
\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
@tex
@titlepage
-@title Pterodactyl Message 0.46 Manual
+@title Pterodactyl Message 0.47 Manual
@author by Lars Magne Ingebrigtsen
@page
* 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.