+2002-02-19 Paul Jarc <prj@po.cwru.edu>
+
+ * gnus-sum.el (gnus-summary-toggle-header): Fix handling of
+ articles with no body and no blank line after the header.
+
+2002-02-19 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * mm-decode.el (mm-dissect-multipart): Consider the case of empty
+ parts.
+
+ * ietf-drums.el (ietf-drums-syntax-table): Modify syntax of
+ non-ascii chars.
+
+ * rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
+
+ * gnus-art.el (gnus-article-wash-html-with-w3): Remove
+ w3-delay-image-loads.
+ * mm-view.el (mm-inline-text-html-render-with-w3): Ditto.
+ (mm-w3-prepare-buffer): Ditto.
+
+ * mail-source.el (mail-source-fetch-directory): Run scripts.
+
+2002-02-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-fun.el (gnus-respond-to-confirmation): Do the right thing
+ for Majordomo confirmations.
+
+2002-02-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-fun.el (gnus-respond-to-confirmation): New command.
+
+2002-02-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * nnultimate.el (nnultimate-retrieve-headers): Clean up.
+
2002-02-18 Paul Jarc <prj@po.cwru.edu>
* gnus-util.el (gnus-parent-id): Ignore trailing whitespace in the
* gnus-sum.el (gnus-summary-edit-article): Remove a hack.
* gnus-art.el (gnus-mime-save-part-and-strip): New function.
(gnus-mime-action-alist): Use it.
- (gnus-mime-button-commands): USe it.
+ (gnus-mime-button-commands): Use it.
* mm-extern.el (mm-extern-local-file): Error when the file is gone.
(mm-inline-external-body): unwind-protect.
(let ((w3-strict-width (window-width))
(url-standalone-mode t)
(url-gateway-unplugged t)
- (w3-honor-stylesheets nil)
- (w3-delay-image-loads t))
+ (w3-honor-stylesheets nil))
(condition-case var
(w3-region (point-min) (point-max))
(error))))
(gnus-convert-image-to-gray-x-face (concat file ".gif") 3)
(delete-file (concat file ".gif"))))
+(defun gnus-respond-to-confirmation ()
+ "Respond to a Gmane confirmation message."
+ (interactive)
+ (gnus-summary-show-article 'raw)
+ (set-buffer gnus-article-buffer)
+ (let ((buffer-read-only nil))
+ (goto-char (point-min))
+ (gnus-article-goto-header "Original-To")
+ (replace-match "To:"))
+ (let ((auth nil))
+ (when (and (search-forward "Majordomo" nil t)
+ (re-search-forward "auth.*subscribe.*$" nil t))
+ (setq auth (match-string 0)))
+ (message-wide-reply)
+ (goto-char (point-min))
+ (gnus-article-goto-header "Cc")
+ (replace-match "From:")
+ (message-goto-body)
+ (delete-region (point) (point-max))
+ (when auth
+ (insert auth "\n"))))
+
(provide 'gnus-fun)
;;; gnus-fun.el ends here
(let* ((buffer-read-only nil)
(inhibit-point-motion-hooks t)
hidden e)
- (setq hidden
- (if (numberp arg)
- (>= arg 0)
- (save-restriction
- (article-narrow-to-head)
- (gnus-article-hidden-text-p 'headers))))
- (goto-char (point-min))
- (when (search-forward "\n\n" nil t)
- (delete-region (point-min) (1- (point))))
+ (save-restriction
+ (article-narrow-to-head)
+ (setq e (point-max)
+ hidden (if (numberp arg)
+ (>= arg 0)
+ (gnus-article-hidden-text-p 'headers))))
+ (delete-region (point-min) e)
(goto-char (point-min))
(save-excursion
(set-buffer gnus-original-article-buffer)
(goto-char (point-min))
- (setq e (1- (or (search-forward "\n\n" nil t) (point-max)))))
+ (setq e (search-forward "\n\n" nil t)
+ e (if e (1- e) (point-max))))
(insert-buffer-substring gnus-original-article-buffer 1 e)
(save-restriction
(narrow-to-region (point-min) (point))
(modify-syntax-entry ?* " " table)
(modify-syntax-entry ?\; " " table)
(modify-syntax-entry ?\' " " table)
+ (if (featurep 'xemacs)
+ (let ((i 128))
+ (while (< i 256)
+ (modify-syntax-entry i "w" table)
+ (setq i (1+ i)))))
table))
(defun ietf-drums-token-to-list (token)
;;; mail-source.el --- functions for fetching mail
-;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
(:path (or (getenv "MAIL")
(expand-file-name (user-login-name) rmail-spool-directory))))
(directory
+ (:prescript)
+ (:prescript-delay)
+ (:postscript)
(:path)
(:suffix ".spool")
(:predicate identity))
(defun mail-source-fetch-directory (source callback)
"Fetcher for directory sources."
(mail-source-bind (directory source)
+ (mail-source-run-script
+ prescript (format-spec-make ?t path)
+ prescript-delay)
(let ((found 0)
(mail-source-string (format "directory:%s" path)))
(dolist (file (directory-files
(funcall predicate file)
(mail-source-movemail file mail-source-crash-box))
(incf found (mail-source-callback callback file))))
+ (mail-source-run-script
+ postscript (format-spec-make ?t path))
found)))
(defun mail-source-fetch-pop (source callback)
(save-restriction
(narrow-to-region start (point))
(setq parts (nconc (list (mm-dissect-buffer t)) parts)))))
- (forward-line 2)
+ (end-of-line 2)
+ (or (looking-at boundary)
+ (forward-line 1))
(setq start (point)))
(when (and start (< start end))
(save-excursion
(url-standalone-mode t)
(url-gateway-unplugged t)
(w3-honor-stylesheets nil)
- (w3-delay-image-loads t)
(url-current-object
(url-generic-parse-url (format "cid:%s" (mm-handle-id handle))))
(width (window-width))
(require 'w3)
(let ((url-standalone-mode t)
(url-gateway-unplugged t)
- (w3-honor-stylesheets nil)
- (w3-delay-image-loads t))
+ (w3-honor-stylesheets nil))
(w3-prepare-buffer)))
(defun mm-view-message ()
datel nil))
(pop datel))
(when date
- (setq date (delete "" (split-string
- date "[-, \n\t\r ]")))
- (if (or (member "AM" date)
- (member "PM" date))
- (setq date (format
- "%s %s %s %s"
- (nth 1 date)
- (if (and (>= (length (nth 0 date)) 3)
- (assoc (downcase
- (substring (nth 0 date) 0 3))
- parse-time-months))
- (substring (nth 0 date) 0 3)
- (car (rassq (string-to-number (nth 0 date))
- parse-time-months)))
- (nth 2 date) (nth 3 date)))
- (setq date (format "%s %s %s %s"
- (car (rassq (string-to-number (nth 1 date))
- parse-time-months))
- (nth 0 date) (nth 2 date) (nth 3 date)))))
+ (setq date (delete "" (split-string date "[-, \n\t\r ]")))
+ (setq date
+ (if (or (member "AM" date)
+ (member "PM" date))
+ (format
+ "%s %s %s %s"
+ (nth 1 date)
+ (if (and (>= (length (nth 0 date)) 3)
+ (assoc (downcase
+ (substring (nth 0 date) 0 3))
+ parse-time-months))
+ (substring (nth 0 date) 0 3)
+ (car (rassq (string-to-number (nth 0 date))
+ parse-time-months)))
+ (nth 2 date) (nth 3 date))
+ (format "%s %s %s %s"
+ (car (rassq (string-to-number (nth 1 date))
+ parse-time-months))
+ (nth 0 date) (nth 2 date) (nth 3 date)))))
(push
(cons
article
;;; rfc2231.el --- Functions for decoding rfc2231 headers
-;; Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
(setq value
(buffer-substring (1+ (point))
(progn (forward-sexp 1) (1- (point))))))
- ((and (memq c ttoken)
+ ((and (or (memq c ttoken)
+ (> c ?\177)) ;; EXTENSION: Support non-ascii chars.
(not (memq c stoken)))
(setq value (buffer-substring
- (point) (progn (forward-sexp 1) (point)))))
+ (point) (progn (forward-sexp) (point)))))
(t
(error "Invalid header: %s" string)))
(when encoded