+Fri Jun 7 19:59:45 1996 Lars Magne Ingebrigtsen <larsi@hler.ifi.uio.no>
+
+ * gnus.el (gnus-summary-save-article): Would set
+ `gnus-original-article-buffer' to a bogus value.
+ (gnus-header-value): Didn't understand continuation headers!
+ (gnus-get-newsgroup-headers): Use new value and pick out
+ references when `^'.
+ (gnus-number-to-header): New function.
+ (gnus-summary-refer-article): Didn't work when sparse articles
+ were in action.
+
+Fri Jun 7 17:19:21 1996 Christoph Wedler <wedler@fmi.uni-passau.de>
+
+ * nnheader.el (nnheader-insert-head): Use
+ `nnheader-insert-file-contents-literally'.
+ (nnheader-mail-file-mbox-p): Ditto.
+
+Fri Jun 7 14:05:28 1996 Jens Lautenbacher <jens@lemcbed.lem.uni-karlsruhe.de>
+
+ * custom.el ((string-match "XEmacs" emacs-version)): dito
+
+ * gnus-vis.el (gnus-group-make-menu-bar): enable customize for XEmacs
+
+Fri Jun 7 19:20:22 1996 Richard Pieri <ratinox@unilab.dfci.harvard.edu>
+
+ * nnheaderems.el (nnheader-ms-strip-cr): New function.
+
Thu Jun 6 18:22:04 1996 Lars Magne Ingebrigtsen <larsi@hler.ifi.uio.no>
+ * gnus.el: Gnus v5.2.10 is released.
+
* message.el (message-header-format-alist): Use
`message-fill-address' for To and Cc.
(message-fill-address): New function.
(if (string-match "XEmacs" emacs-version)
;; XEmacs (disabled because it doesn't work)
(and current-menubar
- (add-menu-item '("Help") "Customize..." 'customize nil))
+ (add-menu-item '("Help") "Customize..." 'customize t))
;; Emacs 19.28 and earlier
(global-set-key [ menu-bar help customize ]
'("Customize..." . customize))
(put 'gnus-setup-message 'lisp-indent-function 1)
(put 'gnus-setup-message 'lisp-indent-hook 1)
+(put 'gnus-setup-message 'edebug-form-spec '(form body))
;;; Post news commands of Gnus group mode and summary mode
["Send a bug report" gnus-bug t]
["Send a mail" gnus-group-mail t]
["Post an article..." gnus-group-post-news t]
- ["Customize score file" gnus-score-customize
- (not (string-match "XEmacs" emacs-version))]
+ ["Customize score file" gnus-score-customize t]
["Check for new news" gnus-group-get-new-news t]
["Activate all groups" gnus-activate-all-groups t]
["Delete bogus groups" gnus-group-check-bogus-groups t]
"gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
"The mail address of the Gnus maintainers.")
-(defconst gnus-version-number "5.2.10"
+(defconst gnus-version-number "5.2.11"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Gnus v%s" gnus-version-number)
(gnus-data-compute-positions)
(setq gnus-newsgroup-threads (nconc threads gnus-newsgroup-threads)))))
+(defun gnus-number-to-header (number)
+ "Return the header for article NUMBER."
+ (let ((headers gnus-newsgroup-headers))
+ (while (and headers
+ (not (= number (mail-header-number (car headers)))))
+ (pop headers))
+ (when headers
+ (car headers))))
+
(defun gnus-id-to-thread (id)
"Return the (sub-)thread where ID appears."
(gnus-gethash id gnus-newsgroup-dependencies))
(equal (nth 1 m1) (nth 1 m2)))))))
(defsubst gnus-header-value ()
- (buffer-substring (match-end 0) (gnus-point-at-eol)))
+ (buffer-substring
+ (match-end 0)
+ (if (re-search-forward "^[^ \t]" nil t)
+ (progn
+ (backward-char 2)
+ (point))
+ (gnus-point-at-eol))))
(defvar gnus-newsgroup-none-id 0)
(progn
(goto-char p)
(if (search-forward "\nreferences: " nil t)
- (prog1
- (gnus-header-value)
- (setq end (match-end 0))
- (save-excursion
+ (progn
+ (setq end (point))
+ (prog1
+ (gnus-header-value)
(setq ref
(buffer-substring
(progn
(setq message-id (concat "<" message-id)))
(unless (string-match ">$" message-id)
(setq message-id (concat message-id ">")))
- (let ((header (gnus-id-to-header message-id)))
+ (let* ((header (gnus-id-to-header message-id))
+ (sparse (memq (mail-header-number header) gnus-newsgroup-sparse)))
(if header
- ;; The article is present in the buffer, to we just go to it.
- (gnus-summary-goto-article (mail-header-number header) nil header)
+ (prog1
+ ;; The article is present in the buffer, to we just go to it.
+ (gnus-summary-goto-article
+ (mail-header-number header) nil header)
+ (when sparse
+ (gnus-summary-update-article (mail-header-number header))))
;; We fetch the article
(let ((gnus-override-method
(and (gnus-news-group-p gnus-newsgroup-name)
;; !!! Magic! The saving functions all save
;; `gnus-original-article-buffer' (or so they think),
;; but we bind that variable to out save-buffer.
+ (set-buffer gnus-article-buffer)
(let ((gnus-original-article-buffer save-buffer))
(setq file (funcall
gnus-default-article-saver
(when (file-exists-p file)
(if (eq nnheader-max-head-length t)
;; Just read the entire file.
- (insert-file-contents-literally file)
+ (nnheader-insert-file-contents-literally file)
;; Read 1K blocks until we find a separator.
(let ((beg 0)
format-alist
(file-regular-p file))
(save-excursion
(nnheader-set-temp-buffer " *mail-file-mbox-p*")
- (insert-file-contents-literally file)
+ (nnheader-insert-file-contents-literally file)
(goto-char (point-min))
(prog1
(looking-at message-unix-mail-delimiter)
(after-find-file error (not nowarn)))))
buf)))
+(defun nnheader-ms-strip-cr ()
+ "Strip ^M from the end of all lines."
+ (save-excursion
+ (goto-char (point-min))
+ (while (re-search-forward "\r$" nil t)
+ (delete-backward-char 1))))
+
(eval-and-compile
(cond
;; Do XEmacs function bindings.
(fset 'nnheader-find-file-noselect 'find-file-noselect)
(fset 'nnheader-insert-file-contents-literally
'insert-file-contents-literally)
- )))
+ ))
+ (when (memq system-type '())
+ (add-hook 'nnmail-prepare-incoming-hook 'nnheader-ms-strip-cr)))
(provide 'nnheaderems)