1998-08-30 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+ * New branch ... pgnus-ichikawa
+
+ * lisp/gnus.el (gnus-original-version-number)
+ (gnus-original-product-name) : New variable.
+
+ * lisp/gnus.el (gnus-version-number): Update to 6.0.01.
+ Third version number 0x means Original gnus's status in beta version.
+
+ * Sync up with Pterodactyl Gnus 0.6.
+
+1998-08-30 Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+
* lisp/gnus-agent.el (gnus-agent-fetch-headers): Bug Fix.
When add a new newsgroup , gnus-agent cannot fetch articles.
** Gnus changes.
-*** The Gnus distribution no longer bundles Custom and Widget.
-If your Emacs doesn't come with these libraries, fetch them from
-<URL:http://www.dina.kvl.dk/~abraham/custom/>. You also then need to
-add the following to the lisp/dgnushack.el file:
-
- (push "~/lisp/custom" load-path)
-
-Modify to suit your needs.
-
-*** New functionality for using Gnus as an offline newsreader has been
-added. A plethora of new commands and modes have been added. See the
-Gnus manual for the full story.
-
-*** The nndraft backend has returned, but works differently than
-before. All Message buffers are now also articles in the nndraft
-group, which is created automatically.
-
-*** `gnus-alter-header-function' can now be used to alter header
-values.
-
-*** `gnus-summary-goto-article' now accept Message-ID's.
-
-*** A new Message command for deleting text in the body of a message
-outside the region: `C-c C-v'.
-
-*** You can now post to component group in nnvirtual groups with
-`C-u C-c C-c'.
-
-*** `nntp-rlogin-program' -- new variable to ease customization.
-
-*** `C-u C-c C-c' in `gnus-article-edit-mode' will now inhibit
-re-highlighting of the article buffer.
-
-*** New element in `gnus-boring-article-headers' -- `long-to'.
-
-*** `M-i' symbolic prefix command. See the section "Symbolic
-Prefixes" in the Gnus manual for details.
-
-*** `L' and `I' in the summary buffer now take the symbolic prefix
-`a' to add the score rule to the "all.SCORE" file.
-
-*** `gnus-simplify-subject-functions' variable to allow greater
-control over simplification.
-
-*** `A T' -- new command for fetching the current thread.
-
-*** `/ T' -- new command for including the current thread in the
-limit.
-
-*** `M-RET' is a new Message command for breaking cited text.
-
-*** \\1-expressions are now valid in `nnmail-split-methods'.
-
-*** The `custom-face-lookup' function has been removed.
-If you used this function in your initialization files, you must
-rewrite them to use `face-spec-set' instead.
-
-*** Cancelling now uses the current select method. Symbolic prefix
-`a' forces normal posting method.
-
-*** New command to translate M******** sm*rtq**t*s into proper text
--- `W d'.
-
-*** For easier debugging of nntp, you can set `nntp-record-commands'
-to a non-nil value.
-
-*** nntp now uses ~/.authinfo, a .netrc-like file, for controlling
-where and how to send AUTHINFO to NNTP servers.
-
-*** A command for editing group parameters from the summary buffer
-has been added.
-
-*** A history of where mails have been split is available.
-
-*** A new article date command has been added -- `article-date-iso8601'.
-
-*** Subjects can be simplified when threading by setting
-`gnus-score-thread-simplify'.
-
-*** A new function for citing in Message has been added --
-`message-cite-original-without-signature'.
-
-*** `article-strip-all-blank-lines' -- new article command.
-
-*** A new Message command to kill to the end of the article has
-been added.
-
-*** A minimum adaptive score can be specified by using the
-`gnus-adaptive-word-minimum' variable.
-
-*** The "lapsed date" article header can be kept continually
-updated by the `gnus-start-date-timer' command.
-
-*** Web listserv archives can be read with the nnlistserv backend.
-
-*** Old dejanews archives can now be read by nnweb.
-
-*** Byte-compilation of user-specs now works under XEmacs.
-
-*** `gnus-posting-styles' has been re-activated.
@SET_MAKE@
EMACS = @EMACS@
-XEMACS = xemacs
+XEMACS = xemacs21
all: lick info
rm lisp/*.elc
x:
- make EMACS=xemacs
+ make EMACS=xemacs21
distclean:
make clean
rm -f config.log config.status Makefile
osome:
- make EMACS=emacs-19.34 some
+ make EMACS=xemacs21 some
config.status: $(srcdir)/configure
$(SHELL) ./config.status --recheck
+ Sun Aug 30 00:59:15 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Pterodactyl Gnus v0.6 is released.
+
+1998-08-30 00:36:28 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * nnheader.el (fboundp): Protect code-coding-string.
+
+ * gnus-art.el (gnus-article-mode): Check that set-buffer-multibyte
+ is available.
+
+Sat Aug 29 23:24:31 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Pterodactyl Gnus v0.5 is released.
+
+1998-08-29 22:38:35 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-article-mode): Make article buffer multibyte.
+ (gnus-hack-decode-rfc1522): Removed.
+
+ * mm-decode.el (mm-charset-coding-system-alist): Check better.
+
+Sat Aug 29 22:20:39 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Gnus v0.4 is released.
+
+1998-08-29 20:53:29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-article-decode-mime-words): New command and
+ keystroke.
+
+ * qp.el (quoted-printable-decode-region): Don't use hexl.
+
+ * gnus-xmas.el (gnus-xmas-logo-color-style): Changed to dino.
+
+ * gnus-sum.el (gnus-parse-headers-hook): Default to nil.
+ (gnus-structured-field-decoder): Removed.
+ (gnus-unstructured-field-decoder): Ditto.
+
+ * mm-decode.el: New file.
+
+ * qp.el: New file.
+
+ * gnus-art.el (article-mime-decode-quoted-printable): Removed.
+
+ * gnus-ems.el (fboundp): Removed gnus-split-string.
+
+ * gnus.el (gnus-splash-face): Doc fix.
+
+ * gnus-ems.el (fboundp): Don't bind mail-file-babyl-p.
+
+ * gnus-art.el (article-mime-decode-quoted-printable): Don't use
+ hexl.
+
+ * nnheader.el (nnheader-temp-write): Removed.
+
+Sat Aug 29 20:34:17 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Gnus v0.3 is released.
+
+Sat Aug 29 19:32:06 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Gnus v0.2 is released.
+
Sat Aug 29 19:17:19 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Gnus v5.6.42 is released.
* gnus-sum.el (gnus-remove-thread): Didn't work with sparse
threads.
-1998-08-14 François Pinard <pinard@iro.umontreal.ca>
+1998-08-14 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* nndoc.el (nndoc-generate-mime-parts-head): Use original Subject,
Message-ID, and References in fully blown articles.
* gnus.el: Gnus v5.6.31 is released.
-1998-08-09 François Pinard <pinard@iro.umontreal.ca>
+1998-08-09 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* nndoc.el: Split MIME multipart messages, maybe recursively.
(nndoc-mime-parts-type-p, nndoc-transform-mime-parts,
* gnus-group.el (gnus-group-read-ephemeral-group): Make the server
unique.
-1998-07-28 François Pinard <pinard@iro.umontreal.ca>
+1998-07-28 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* gnus-uu.el (gnus-uu-reginize-string): Consider the number of
parts as part of the fixed subject, instead of a wild quantity.
* nntp.el (nntp-server-opened-hook): Doc change.
-Fri Jul 10 03:03:48 1998 François Pinard <pinard@iro.umontreal.ca>
+Fri Jul 10 03:03:48 1998 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* gnus-sum.el (gnus-summary-respool-trace): New command and
keystroke.
* nntp.el (nntp-record-command): Give more precise time info.
(nntp-next-result-arrived-p): Look for the end of error lines.
-Wed Jul 1 12:24:06 1998 François Pinard <pinard@iro.umontreal.ca>
+Wed Jul 1 12:24:06 1998 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* gnus-util.el (gnus-delete-if): Would do the opposite.
* gnus-picon.el (gnus-picons-display-x-face): `buf' -- unbound
var.
-Sat Feb 28 08:03:23 1998 François Pinard <pinard@iro.umontreal.ca>
+Sat Feb 28 08:03:23 1998 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* gnus: configure'd.
* gnus-sum.el (gnus-summary-exit): Call purging function.
-Fri Feb 13 18:59:16 1998 François Pinard <pinard@iro.umontreal.ca>
+Fri Feb 13 18:59:16 1998 Fran\e$BmP\e(Bis Pinard <pinard@iro.umontreal.ca>
* nnmail.el (nnmail-get-new-mail): Don't clear split-history.
(nnmail-purge-split-history): New function.
(defun gnus-agent-read-file (file)
"Load FILE and do a `read' there."
- (nnheader-temp-write nil
+ (with-temp-buffer
(ignore-errors
(nnheader-insert-file-contents file)
(goto-char (point-min))
(defun gnus-agent-write-servers ()
"Write the alist of covered servers."
- (nnheader-temp-write (nnheader-concat gnus-agent-directory "lib/servers")
+ (with-temp-file (nnheader-concat gnus-agent-directory "lib/servers")
(prin1 gnus-agent-covered-methods (current-buffer))))
;;;
(gnus-agent-lib-file "active")
(gnus-agent-lib-file "groups"))))
(gnus-make-directory (file-name-directory file))
- (nnheader-temp-write file
+ (with-temp-file file
(when (file-exists-p file)
(nnheader-insert-file-contents file))
(goto-char (point-min))
;; Fetch the articles from the backend.
(if (gnus-check-backend-function 'retrieve-articles group)
(setq pos (gnus-retrieve-articles articles group))
- (nnheader-temp-write nil
+ (with-temp-file nil
(let (article)
(while (setq article (pop articles))
(when (gnus-request-article article group)
nil 'silent)
(pop gnus-agent-buffer-alist))
(while gnus-agent-group-alist
- (nnheader-temp-write (caar gnus-agent-group-alist)
+ (with-temp-file (caar gnus-agent-group-alist)
(princ (cdar gnus-agent-group-alist))
(insert "\n"))
(pop gnus-agent-group-alist))))
(defun gnus-agent-save-alist (group &optional articles state dir)
"Save the article-state alist for GROUP."
- (nnheader-temp-write (if dir
- (concat dir ".agentview")
- (gnus-agent-article-name ".agentview" group))
+ (with-temp-file (if dir
+ (concat dir ".agentview")
+ (gnus-agent-article-name ".agentview" group))
(princ (setq gnus-agent-article-alist
(nconc gnus-agent-article-alist
(mapcar (lambda (article) (cons article state))
"Write the category alist."
(setq gnus-category-predicate-cache nil
gnus-category-group-cache nil)
- (nnheader-temp-write (nnheader-concat gnus-agent-directory "lib/categories")
+ (with-temp-file (nnheader-concat gnus-agent-directory "lib/categories")
(prin1 gnus-category-alist (current-buffer))))
(defun gnus-category-edit-predicate (category)
:group 'gnus-article-washing)
(eval-and-compile
- (autoload 'hexl-hex-string-to-integer "hexl")
(autoload 'timezone-make-date-arpa-standard "timezone")
(autoload 'mail-extract-address-components "mail-extr"))
(process-send-region "article-x-face" beg end)
(process-send-eof "article-x-face"))))))))))
+(defun gnus-article-decode-mime-words ()
+ "Decode all MIME-encoded words in the article."
+ (interactive)
+ (save-excursion
+ (let ((inhibit-point-motion-hooks t)
+ buffer-read-only)
+ (mm-decode-words-region (point-min) (point-max)))))
+
+(defalias 'gnus-decode-rfc1522 'gnus-article-decode-rfc1522)
+
+;;
+;; Semi-gnus specific
(defun gnus-article-decode-rfc1522 ()
"Decode MIME encoded-words in header fields."
(let (buffer-read-only)
default-mime-charset)))
(eword-decode-header charset)
)))
+;;
+;; Semi-gnus specific
+
+(defun article-de-quoted-unreadable (&optional force)
+ "Translate a quoted-printable-encoded article.
+If FORCE, decode the article whether it is marked as quoted-printable
+or not."
+ (interactive (list 'force))
+ (save-excursion
+ (let ((buffer-read-only nil)
+ (type (gnus-fetch-field "content-transfer-encoding")))
+ (gnus-article-decode-rfc1522)
+ (when (or force
+ (and type (string-match "quoted-printable" (downcase type))))
+ (goto-char (point-min))
+ (search-forward "\n\n" nil 'move)
+ (quoted-printable-decode-region (point) (point-max))))))
+
+(defun article-mime-decode-quoted-printable-buffer ()
+ "Decode Quoted-Printable in the current buffer."
+ (quoted-printable-decode-region (point-min) (point-max)))
(defun article-hide-pgp (&optional arg)
"Toggle hiding of any PGP headers and signatures in the current article.
(setq b (point))
(point-max))
(setq e (point-max)))
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-buffer-substring gnus-article-buffer b e)
(require 'url)
(save-window-excursion
(buffer-disable-undo (current-buffer))
(setq buffer-read-only t)
(set-syntax-table gnus-article-mode-syntax-table)
+ (when (fboundp 'set-buffer-multibyte)
+ (set-buffer-multibyte t))
(gnus-run-hooks 'gnus-article-mode-hook))
(defun gnus-article-setup-buffer ()
(defun gnus-output-to-file (file-name)
"Append the current article to a file named FILE-NAME."
(let ((artbuf (current-buffer)))
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-buffer-substring artbuf)
;; Append newline at end of the buffer as separator, and then
;; save it to file.
(defun gnus-url-parse-query-string (query &optional downcase)
(let (retval pairs cur key val)
- (setq pairs (gnus-split-string query "&"))
+ (setq pairs (split-string query "&"))
(while pairs
(setq cur (car pairs)
pairs (cdr pairs))
(when (or force
(and gnus-cache-active-hashtb
gnus-cache-active-altered))
- (nnheader-temp-write gnus-cache-active-file
+ (with-temp-file gnus-cache-active-file
(mapatoms
(lambda (sym)
(when (and sym (boundp sym))
"Save the duplicate suppression list."
(when (and gnus-save-duplicate-list
gnus-dup-list-dirty)
- (nnheader-temp-write gnus-duplicate-file
+ (with-temp-file gnus-duplicate-file
(gnus-prin1 `(setq gnus-dup-list ',gnus-dup-list))))
(setq gnus-dup-list-dirty nil))
(push (cons header regexps) scores))
scores)))
(gnus-group-make-group group "nnkiboze" address)
- (nnheader-temp-write (gnus-score-file-name (concat "nnkiboze:" group))
+ (with-temp-file (gnus-score-file-name (concat "nnkiboze:" group))
(let (emacs-lisp-mode-hook)
(pp scores (current-buffer)))))
(save-excursion
(let ((dependencies (make-vector 10 nil))
headers header)
- (nnheader-temp-write nil
+ (with-temp-buffer
(setq headers
(if (eq 'nov
(gnus-retrieve-headers
"Save the NoCeM cache."
(when (and gnus-nocem-alist
gnus-nocem-touched-alist)
- (nnheader-temp-write (gnus-nocem-cache-file)
+ (with-temp-file (gnus-nocem-cache-file)
(gnus-prin1 `(setq gnus-nocem-alist ',gnus-nocem-alist)))
(setq gnus-nocem-touched-alist nil)))
(defun gnus-nocem-save-active ()
"Save the NoCeM active file."
- (nnheader-temp-write (gnus-nocem-active-file)
+ (with-temp-file (gnus-nocem-active-file)
(gnus-prin1 `(setq gnus-nocem-active ',gnus-nocem-active))))
(defun gnus-nocem-alist-to-hashtb ()
;; Perform adaptive word scoring.
(when (and (listp gnus-newsgroup-adaptive)
(memq 'word gnus-newsgroup-adaptive))
- (nnheader-temp-write nil
+ (with-temp-buffer
(let* ((hashtb (gnus-make-hashtable 1000))
(date (gnus-day-number (current-time-string)))
(data gnus-newsgroup-data)
(defun gnus-sort-score-files (files)
"Sort FILES so that the most general files come first."
- (nnheader-temp-write nil
+ (with-temp-buffer
(let ((alist
(mapcar
(lambda (file)
"Write the AREAS file."
(interactive)
(when gnus-soup-areas
- (nnheader-temp-write (concat gnus-soup-directory "AREAS")
+ (with-temp-file (concat gnus-soup-directory "AREAS")
(let ((areas gnus-soup-areas)
area)
(while (setq area (pop areas))
(defun gnus-soup-write-replies (dir areas)
"Write a REPLIES file in DIR containing AREAS."
- (nnheader-temp-write (concat dir "REPLIES")
+ (with-temp-file (concat dir "REPLIES")
(let (area)
(while (setq area (pop areas))
(insert (format "%s\t%s\t%s\n"
enable-multibyte-characters
(fboundp 'gnus-mule-get-coding-system)
(gnus-mule-get-coding-system (symbol-name group)))))
- (if coding
- (setq str (gnus-decode-coding-string str (car coding))))
+ (when coding
+ (setq str (nnheader-decode-coding-string str (car coding))))
(set group str)))
(forward-line 1))))
(gnus-message 5 "Reading descriptions file...done")
"c" gnus-article-highlight-citation
"s" gnus-article-highlight-signature)
+ (gnus-define-keys (gnus-summary-wash-mime-map "M" gnus-summary-wash-map)
+ "w" gnus-article-decode-mime-words)
+
(gnus-define-keys (gnus-summary-wash-time-map "T" gnus-summary-wash-map)
"z" gnus-article-date-ut
"u" gnus-article-date-ut
["Headers" gnus-article-highlight-headers t]
["Signature" gnus-article-highlight-signature t]
["Citation" gnus-article-highlight-citation t])
+ ("MIME"
+ ["Words" gnus-article-decode-mime-words t]
+ ["QP" gnus-article-de-quoted-unreadable t])
("Date"
["Local" gnus-article-date-local t]
["ISO8601" gnus-article-date-iso8601 t]
number dependencies force-new))))
(push header headers))
(forward-line 1))
- (error
- (gnus-error 4 "Strange nov line (%d)"
- (count-lines (point-min) (point)))))
+ ;(error
+ ; (gnus-error 4 "Strange nov line (%d)"
+ ; (count-lines (point-min) (point))))
+ )
(forward-line 1))
;; A common bug in inn is that if you have posted an article and
;; then retrieves the active file, it will answer correctly --
(gnus-summary-remove-process-mark article)
(when (gnus-summary-display-article article)
(save-excursion
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-buffer-substring gnus-original-article-buffer)
;; Remove some headers that may lead nndoc to make
;; the wrong guess.
(interactive)
;; Replace the article.
(let ((buf (current-buffer)))
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-buffer buf)
(if (and (not read-only)
(not (gnus-request-replace-article
(message-narrow-to-head)
(let ((head (buffer-string))
header)
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert (format "211 %d Article retrieved.\n"
(cdr gnus-article-current)))
(insert head)
(gnus-summary-select-article t t nil current-article))
(set-buffer gnus-original-article-buffer)
(let ((buf (format "%s" (buffer-string))))
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert buf)
(goto-char (point-min))
(if (re-search-forward "^References: " nil t)
(when (gnus-buffer-exists-p buf)
(kill-buffer buf))))
-(if (fboundp 'point-at-bol)
- (fset 'gnus-point-at-bol 'point-at-bol)
+(cond
+ ((fboundp 'point-at-bol)
+ (fset 'gnus-point-at-bol 'point-at-bol))
+ ((fboundp 'line-beginning-position)
+ (fset 'gnus-point-at-bol 'line-beginning-position))
+ (t
(defun gnus-point-at-bol ()
"Return point at the beginning of the line."
(let ((p (point)))
(beginning-of-line)
(prog1
(point)
- (goto-char p)))))
-
-(if (fboundp 'point-at-eol)
- (fset 'gnus-point-at-eol 'point-at-eol)
+ (goto-char p))))))
+
+(cond
+ ((fboundp 'point-at-eol)
+ (fset 'gnus-point-at-eol 'point-at-eol))
+ ((fboundp 'line-end-position)
+ (fset 'gnus-point-at-eol 'line-end-position))
+ (t
(defun gnus-point-at-eol ()
"Return point at the end of the line."
(let ((p (point)))
(end-of-line)
(prog1
(point)
- (goto-char p)))))
+ (goto-char p))))))
(defun gnus-delete-first (elt list)
"Delete by side effect the first occurrence of ELT as a member of LIST."
(grape "#b264cc" "#cf7df")
(labia "#cc64c2" "#fd7dff")
(berry "#cc6485" "#ff7db5")
+ (dino "#cc6485" "#ff7db5")
(neutral "#b4b4b4" "#878787")
(september "#bf9900" "#ffcc00"))
"Color alist used for the Gnus logo.")
-(defcustom gnus-xmas-logo-color-style 'moss
+(defcustom gnus-xmas-logo-color-style 'dino
"*Color styles used for the Gnus logo."
:type '(choice (const flame) (const pine) (const moss)
(const irish) (const sky) (const tin)
(defconst gnus-product-name "T-gnus"
"Product name of this version of gnus.")
-(defconst gnus-version-number "6.8.17"
+(defconst gnus-version-number "6.9.01"
"Version number for this version of gnus.")
+(defconst gnus-original-version-number "0.6"
+ "Version number for this version of Gnus.")
+
+(defconst gnus-original-product-name "Pterodactyl Gnus"
+ "Version number for this version of Gnus.")
+
(defconst gnus-version
- (format "%s %s (based on Gnus 5.6.42; for SEMI 1.8, FLIM 1.8/1.9)"
- gnus-product-name gnus-version-number)
+ (format "%s %s (based on %s %s ; for SEMI 1.8, FLIM 1.8/1.9)"
+ gnus-product-name gnus-version-number
+ gnus-original-product-name gnus-original-version-number)
"Version string for this version of gnus.")
(defcustom gnus-inhibit-startup-message nil
(defface gnus-splash-face
'((((class color)
(background dark))
- (:foreground "ForestGreen"))
+ (:foreground "Brown"))
(((class color)
(background light))
- (:foreground "ForestGreen"))
+ (:foreground "Brown"))
(t
()))
- "Level 1 newsgroup face.")
+ "Face of the splash screen.")
(defun gnus-splash ()
(save-excursion
'(("info" Info-goto-node)
("hexl" hexl-hex-string-to-integer)
("pp" pp pp-to-string pp-eval-expression)
+ ("qp" quoted-printable-decode-region quoted-printable-decode-string)
+ ("mm-decode" mm-decode-words-region mm-decode-words-string)
("ps-print" ps-print-preprint)
("mail-extr" mail-extract-address-components)
("browse-url" browse-url)
((member alpha '("September" "s")) "5.01")
((member alpha '("Red" "r")) "5.03")
((member alpha '("Quassia" "q")) "5.05")
- ((member alpha '("p")) "5.07")
+ ((member alpha '("Pterodactyl" "p")) "5.07")
((member alpha '("o")) "5.09")
((member alpha '("n")) "5.11"))
minor least)
make-char-table set-char-table-range font-create-object
x-color-values widget-make-intangible error-message-string
w3-form-encode-xwfu gnus-mule-get-coding-system
- decode-coding-string mail-aliases-setup))
+ decode-coding-string mail-aliases-setup
+ mm-copy-tree url-view-url w3-prepare-buffer
+ set-buffer-multibyte))
(maybe-bind '(global-face-data
mark-active transient-mark-mode mouse-selection-click-count
mouse-selection-click-count-buffer buffer-display-table
font-lock-defaults user-full-name user-login-name
gnus-newsgroup-name gnus-article-x-face-too-ugly
mail-mode-hook enable-multibyte-characters
- adaptive-fill-first-line-regexp adaptive-fill-regexp)))
+ adaptive-fill-first-line-regexp adaptive-fill-regexp
+ url-current-mime-headers)))
(maybe-bind '(mail-mode-hook
enable-multibyte-characters browse-url-browser-function
- adaptive-fill-first-line-regexp adaptive-fill-regexp))
+ adaptive-fill-first-line-regexp adaptive-fill-regexp
+ url-current-mime-headers))
(maybe-fbind '(color-instance-rgb-components
make-color-instance color-instance-name specifier-instance
device-type device-class get-popup-menu-response event-object
device-on-window-system-p make-gui-button Info-goto-node
pp-to-string color-name
gnus-mule-get-coding-system decode-coding-string
- mail-aliases-setup)))
+ mail-aliases-setup
+ mm-copy-tree url-view-url w3-prepare-buffer
+ char-int mule-write-region-no-coding-system)))
(setq load-path (cons "." load-path))
(require 'custom)
(when (and (file-exists-p file)
(file-readable-p file)
(file-regular-p file))
- (nnheader-temp-write nil
+ (with-temp-buffer
(nnheader-insert-file-contents file)
(goto-char (point-min))
(looking-at message-unix-mail-delimiter))))
(goto-char (point-min)))
(defun message-narrow-to-head ()
- "Narrow the buffer to the head of the message."
+ "Narrow the buffer to the head of the message.
+Point is left at the beginning of the narrowed-to region."
(widen)
(narrow-to-region
(goto-char (point-min))
(let ((max 988)
(cut 4)
refs)
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert references)
(goto-char (point-min))
(while (re-search-forward "<[^>]+>" nil t)
(defun message-wash-subject (subject)
"Remove junk like \"Re:\", \"(fwd)\", etc. that was added to the subject by previous forwarders, replyers, etc."
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-string subject)
(goto-char (point-min))
;; strip Re/Fwd stuff off the beginning
(let ((gnus-verbose-backends nil)
(buf (current-buffer))
article file)
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-buffer buf)
(setq article (nndraft-request-accept-article
group (nnoo-current-server 'nndraft) t 'noinsert))
\f
-(autoload 'gnus-encode-coding-string "gnus-ems")
-
;;; Interface functions.
(nnoo-define-basics nneething)
(setq files (cdr files)))
(when (and touched
(not nneething-read-only))
- (nnheader-temp-write map-file
+ (with-temp-file map-file
(insert "(setq nneething-map '")
(gnus-prin1 nneething-map)
(insert ")\n(setq nneething-active '")
(defun nnfolder-group-pathname (group)
"Make pathname for GROUP."
- (setq group (gnus-encode-coding-string group nnmail-pathname-coding-system))
+ (setq group
+ (nnheader-encode-coding-string group nnmail-pathname-coding-system))
(let ((dir (file-name-as-directory (expand-file-name nnfolder-directory))))
;; If this file exists, we use it directly.
(if (or nnmail-use-long-file-names
(nngateway-open-server server))
;; Rewrite the header.
(let ((buf (current-buffer)))
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-buffer-substring buf)
(message-narrow-to-head)
(funcall nngateway-header-transformation nngateway-address)
(autoload 'cancel-function-timers "timers")
(autoload 'gnus-point-at-eol "gnus-util")
(autoload 'gnus-delete-line "gnus-util")
- (autoload 'gnus-buffer-live-p "gnus-util")
- (autoload 'gnus-encode-coding-string "gnus-ems"))
+ (autoload 'gnus-buffer-live-p "gnus-util"))
;;; Header access macros.
(erase-buffer))
(current-buffer))
-(defmacro nnheader-temp-write (file &rest forms)
- "Create a new buffer, evaluate FORMS there, and write the buffer to FILE.
-Return the value of FORMS.
-If FILE is nil, just evaluate FORMS and don't save anything.
-If FILE is t, return the buffer contents as a string."
- (let ((temp-file (make-symbol "temp-file"))
- (temp-buffer (make-symbol "temp-buffer"))
- (temp-results (make-symbol "temp-results")))
- `(save-excursion
- (let* ((,temp-file ,file)
- (default-major-mode 'fundamental-mode)
- (,temp-buffer
- (set-buffer
- (get-buffer-create
- (generate-new-buffer-name " *nnheader temp*"))))
- ,temp-results)
- (unwind-protect
- (progn
- (setq ,temp-results (progn ,@forms))
- (cond
- ;; Don't save anything.
- ((null ,temp-file)
- ,temp-results)
- ;; Return the buffer contents.
- ((eq ,temp-file t)
- (set-buffer ,temp-buffer)
- (buffer-string))
- ;; Save a file.
- (t
- (set-buffer ,temp-buffer)
- ;; Make sure the directory where this file is
- ;; to be saved exists.
- (when (not (file-directory-p
- (file-name-directory ,temp-file)))
- (make-directory (file-name-directory ,temp-file) t))
- ;; Save the file.
- (write-region (point-min) (point-max)
- ,temp-file nil 'nomesg)
- ,temp-results)))
- ;; Kill the buffer.
- (when (buffer-name ,temp-buffer)
- (kill-buffer ,temp-buffer)))))))
-
-(put 'nnheader-temp-write 'lisp-indent-function 1)
-(put 'nnheader-temp-write 'edebug-form-spec '(form body))
-
(defvar jka-compr-compression-info-list)
(defvar nnheader-numerical-files
(if (boundp 'jka-compr-compression-info-list)
(concat dir group "/")
;; If not, we translate dots into slashes.
(concat dir
- (gnus-encode-coding-string
+ (nnheader-encode-coding-string
(nnheader-replace-chars-in-string group ?. ?/)
nnheader-pathname-coding-system)
"/")))
(fset 'nnheader-cancel-timer 'cancel-timer)
(fset 'nnheader-cancel-function-timers 'cancel-function-timers)
+(if (fboundp 'encode-coding-string)
+ (fset 'nnheader-encode-coding-string 'encode-coding-string)
+ (fset 'nnheader-encode-coding-string (lambda (s a) s)))
+
+(if (fboundp 'decode-coding-string)
+ (fset 'nnheader-decode-coding-string 'decode-coding-string)
+ (fset 'nnheader-decode-coding-string (lambda (s a) s)))
+
(when (string-match "XEmacs\\|Lucid" emacs-version)
(require 'nnheaderxm))
;; Remove NOV lines of articles that are marked as read.
(when (and (file-exists-p (nnkiboze-nov-file-name))
nnkiboze-remove-read-articles)
- (nnheader-temp-write (nnkiboze-nov-file-name)
+ (with-temp-file (nnkiboze-nov-file-name)
(let ((cur (current-buffer)))
(nnheader-insert-file-contents (nnkiboze-nov-file-name))
(goto-char (point-min))
;; Load the kiboze newsrc file for this group.
(when (file-exists-p newsrc-file)
(load newsrc-file))
- (nnheader-temp-write nov-file
+ (with-temp-file nov-file
(when (file-exists-p nov-file)
(nnheader-insert-file-contents nov-file))
(setq nov-buffer (current-buffer))
(gnus-message 3 "nnkiboze: Checking %s...done" (caar newsrc))
(setq newsrc (cdr newsrc))))
;; We save the kiboze newsrc for this group.
- (nnheader-temp-write newsrc-file
+ (with-temp-file newsrc-file
(insert "(setq nnkiboze-newsrc '")
(gnus-prin1 nnkiboze-newsrc)
(insert ")\n")))
(eval-and-compile
(autoload 'gnus-error "gnus-util")
- (autoload 'gnus-buffer-live-p "gnus-util")
- (autoload 'gnus-encode-coding-string "gnus-ems"))
+ (autoload 'gnus-buffer-live-p "gnus-util"))
(defgroup nnmail nil
"Reading mail with Gnus."
(concat dir group "/")
;; If not, we translate dots into slashes.
(concat dir
- (gnus-encode-coding-string
+ (nnheader-encode-coding-string
(nnheader-replace-chars-in-string group ?. ?/)
nnmail-pathname-coding-system)
"/")))
"Save GROUP-ASSOC in ACTIVE-FILE."
(let ((coding-system-for-write nnmail-active-file-coding-system))
(when file-name
- (nnheader-temp-write file-name
+ (with-temp-file file-name
(nnmail-generate-active group-assoc)))))
(defun nnmail-generate-active (alist)
(insert (format "Xref: %s" (system-name)))
(while group-alist
(insert (format " %s:%d"
- (gnus-encode-coding-string (caar group-alist)
- nnmail-pathname-coding-system)
+ (nnheader-encode-coding-string
+ (caar group-alist)
+ nnmail-pathname-coding-system)
(cdar group-alist)))
(setq group-alist (cdr group-alist)))
(insert "\n"))))
(expand-file-name nnmh-toplev))))
dir)
(nnheader-replace-chars-in-string
- (gnus-decode-coding-string (substring dir (match-end 0))
- nnmail-pathname-coding-system)
+ (nnheader-decode-coding-string (substring dir (match-end 0))
+ nnmail-pathname-coding-system)
?/ ?.))
(apply 'max files)
(apply 'min files)))))))
(setq articles (sort articles (lambda (art1 art2)
(> (car art1) (car art2)))))
;; Finally write this list back to the .nnmh-articles file.
- (nnheader-temp-write nnmh-file
+ (with-temp-file nnmh-file
(insert ";; Gnus article active file for " group "\n\n")
(insert "(setq nnmh-newsgroup-articles '")
(gnus-prin1 articles)
((not (file-exists-p file))
(nnheader-report 'nnml "File %s does not exist" file))
(t
- (nnheader-temp-write file
+ (with-temp-file file
(nnheader-insert-file-contents file)
(nnmail-replace-status name value))
t))))
(or force
nnsoup-group-alist-touched))
(setq nnsoup-group-alist-touched nil)
- (nnheader-temp-write nnsoup-active-file
+ (with-temp-file nnsoup-active-file
(gnus-prin1 `(setq nnsoup-group-alist ',nnsoup-group-alist))
(insert "\n")
(gnus-prin1 `(setq nnsoup-current-prefix ,nnsoup-current-prefix))
The authinfo login name is taken from the user's login name and the
password contained in '~/.nntp-authinfo'."
(when (file-exists-p "~/.nntp-authinfo")
- (nnheader-temp-write nil
+ (with-temp-buffer
(insert-file-contents "~/.nntp-authinfo")
(goto-char (point-min))
(nntp-send-command "^3.*\r?\n" "AUTHINFO USER" (user-login-name))
(defun nnweb-read-overview (group)
"Read the overview of GROUP and build the map."
(when (file-exists-p (nnweb-overview-file group))
- (nnheader-temp-write nil
+ (with-temp-buffer
(nnheader-insert-file-contents (nnweb-overview-file group))
(goto-char (point-min))
(let (header)
(defun nnweb-write-overview (group)
"Write the overview file for GROUP."
- (nnheader-temp-write (nnweb-overview-file group)
+ (with-temp-file (nnweb-overview-file group)
(let ((articles nnweb-articles))
(while articles
(nnheader-insert-nov (cadr (pop articles)))))))
(defun nnweb-write-active ()
"Save the active file."
- (nnheader-temp-write (nnheader-concat nnweb-directory "active")
+ (with-temp-file (nnheader-concat nnweb-directory "active")
(prin1 `(setq nnweb-group-alist ',nnweb-group-alist) (current-buffer))))
(defun nnweb-read-active ()
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Semi-gnus 6.8.17 Manual
+@settitle Semi-gnus 6.9.01 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Semi-gnus 6.8.17 Manual
+@title Semi-gnus 6.9.01 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.8.17.
+This manual corresponds to Semi-gnus 6.9.01.
@end ifinfo
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message 5.6.42 Manual
+@settitle Pterodactyl Message 0.6 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Message 5.6.42 Manual
+@title Pterodactyl Message 0.6 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Message 5.6.42. Message is distributed with
-the Gnus distribution bearing the same version number as this manual
-has.
+This manual corresponds to Pterodactyl Message 0.6. Message is
+distributed with the Gnus distribution bearing the same version number
+as this manual has.
@node Interface