Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

*** empty log message ***

  • Loading branch information...
commit 27df114db202e8a922cf5e6c59a90be21701765c 1 parent 58f65e7
@larsmagne larsmagne authored
Showing with 605 additions and 339 deletions.
  1. +138 −0 lisp/ChangeLog
  2. +1 −1  lisp/dgnushack.el
  3. +2 −1  lisp/gnus-agent.el
  4. +19 −16 lisp/gnus-art.el
  5. +1 −1  lisp/gnus-async.el
  6. +1 −1  lisp/gnus-bcklg.el
  7. +2 −2 lisp/gnus-cache.el
  8. +1 −1  lisp/gnus-cite.el
  9. +2 −4 lisp/gnus-demon.el
  10. +1 −1  lisp/gnus-draft.el
  11. +1 −1  lisp/gnus-dup.el
  12. +1 −1  lisp/gnus-eform.el
  13. +2 −2 lisp/gnus-ems.el
  14. +1 −1  lisp/gnus-gl.el
  15. +1 −1  lisp/gnus-group.el
  16. +5 −5 lisp/gnus-int.el
  17. +1 −1  lisp/gnus-kill.el
  18. +1 −1  lisp/gnus-logic.el
  19. +1 −1  lisp/gnus-mh.el
  20. +3 −1 lisp/gnus-move.el
  21. +1 −1  lisp/gnus-msg.el
  22. +1 −1  lisp/gnus-nocem.el
  23. +120 −100 lisp/gnus-picon.el
  24. +1 −1  lisp/gnus-range.el
  25. +1 −1  lisp/gnus-salt.el
  26. +2 −2 lisp/gnus-score.el
  27. +1 −1  lisp/gnus-soup.el
  28. +1 −1  lisp/gnus-spec.el
  29. +1 −1  lisp/gnus-srvr.el
  30. +1 −1  lisp/gnus-start.el
  31. +39 −13 lisp/gnus-sum.el
  32. +1 −1  lisp/gnus-topic.el
  33. +1 −1  lisp/gnus-undo.el
  34. +1 −1  lisp/gnus-util.el
  35. +1 −1  lisp/gnus-uu.el
  36. +1 −1  lisp/gnus-vm.el
  37. +1 −1  lisp/gnus-win.el
  38. +1 −1  lisp/gnus-xmas.el
  39. +2 −7 lisp/gnus.el
  40. +1 −1  lisp/ietf-drums.el
  41. +1 −1  lisp/mail-parse.el
  42. +16 −2 lisp/mailcap.el
  43. +17 −5 lisp/message.el
  44. +1 −1  lisp/messagexmas.el
  45. +1 −1  lisp/messcompat.el
  46. +7 −4 lisp/mm-bodies.el
  47. +42 −30 lisp/mm-decode.el
  48. +5 −3 lisp/mm-encode.el
  49. +1 −1  lisp/mm-util.el
  50. +16 −26 lisp/mm-view.el
  51. +12 −8 lisp/mml.el
  52. +4 −1 lisp/nnagent.el
  53. +1 −1  lisp/nnbabyl.el
  54. +1 −1  lisp/nndir.el
  55. +1 −1  lisp/nndoc.el
  56. +1 −1  lisp/nndraft.el
  57. +1 −1  lisp/nneething.el
  58. +1 −1  lisp/nnfolder.el
  59. +1 −1  lisp/nngateway.el
  60. +1 −1  lisp/nnheader.el
  61. +1 −1  lisp/nnheaderxm.el
  62. +1 −1  lisp/nnkiboze.el
  63. +1 −1  lisp/nnlistserv.el
  64. +6 −6 lisp/nnmail.el
  65. +1 −1  lisp/nnmbox.el
  66. +1 −1  lisp/nnmh.el
  67. +1 −1  lisp/nnml.el
  68. +1 −1  lisp/nnoo.el
  69. +1 −1  lisp/nnsoup.el
  70. +9 −4 lisp/nnspool.el
  71. +1 −1  lisp/nntp.el
  72. +1 −1  lisp/nnvirtual.el
  73. +1 −1  lisp/nnweb.el
  74. +26 −17 lisp/qp.el
  75. +1 −1  lisp/rfc2045.el
  76. +1 −1  lisp/rfc2047.el
  77. +4 −1 lisp/rfc2231.el
  78. +1 −1  lisp/smiley.el
  79. +1 −1  lisp/time-date.el
  80. +4 −0 texi/ChangeLog
  81. +43 −20 texi/gnus.texi
  82. +3 −4 texi/message.texi
View
138 lisp/ChangeLog
@@ -1,3 +1,141 @@
+Fri Jan 15 20:50:38 1999 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Pterodactyl Gnus v0.70 is released.
+
+1999-01-15 00:06:04 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-decode.el (mm-save-part): Use mm-get-part.
+ (mm-insert-part): New function.
+ (mm-get-part): Use it.
+ (mm-get-image): Ditto.
+ (mm-display-external): Ditto.
+
+ * mm-view.el (mm-inline-text): Ditto.
+
+ * gnus-move.el (gnus-move-group-to-server): Protect against nil
+ ranges.
+
+ * mm-decode.el (mm-display-external): Save the buffer.
+ (mm-remove-part): Kill it.
+
+ * qp.el (quoted-printable-decode-region): Do the right thing at eobp.
+
+ * nnagent.el (nnagent-request-set-mark): Defined stub.
+
+1999-01-14 23:05:31 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-score.el (gnus-score-load-score-alist): Bind
+ coding-system-for-read.
+
+ * gnus-sum.el (gnus-summary-exit): Do adaptive scoring before
+ prepare-exit-hook.
+
+ * mm-view.el (mm-setup-w3): Require w3.
+
+1999-01-13 Kiyokazu SUTO <suto@merry.xmath.ous.ac.jp>
+
+ * lisp/nnspool.el (nnspool-retrieve-headers): Protect against empty
+ body.
+
+1999-01-14 21:17:35 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-encode.el: Ditto.
+
+ * mm-bodies.el (mm-decode-content-transfer-encoding): Message the
+ error.
+
+ * mailcap.el (mailcap-mime-data): SAFER ps.
+
+ * message.el (message-encode-message-body): Always insert a
+ Content-Type header.
+
+ * mm-decode.el (mm-inline-media-tests): Default all text/* to be
+ shown inline.
+
+ * mm-view.el (mm-inline-text): Handle all sorts of text.
+
+ * mailcap.el (mailcap-mime-data): non-viewer for viewers that
+ don't view.
+
+ * mm-decode.el (mm-display-external): Use it.
+
+ * gnus-art.el (gnus-visible-headers): Added bcc, gcc, fcc.
+
+ * mm-decode.el (mm-save-part): Removed double code.
+
+1999-01-12 Dave Love <fx@gnu.org>
+
+ * mm-decode.el (mm-save-part): Avoid doubly-compressed
+ application/octet-stream .gz & al files with jka-compr.
+
+1999-01-12 Dave Love <fx@gnu.org>
+
+ * gnus-ems.el (gnus-down-mouse-3): New variable.
+ * gnus-art.el (gnus-mime-button-map): Use it.
+ (gnus-mime-button-menu): Set the clicked-on buffer initially.
+
+1999-01-13 19:41:57 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mailcap.el (mailcap-mime-data): Added ImageMagic and ee.
+
+1999-01-12 17:34:43 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-picon.el (gnus-picons-kill-buffer): Don't kill article
+ buffers.
+
+ * gnus-sum.el (gnus-summary-exit): Destroy all MIME.
+
+ * gnus-cache.el (gnus-cache-read-active): Reversed check.
+
+1999-01-12 17:18:25 Matt Armstrong <matta@geoworks.com>
+
+ * mml.el (mml-parameter-string): Strip directory component.
+
+1999-01-12 17:02:58 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.el (gnus-use-demon): Removed.
+
+1999-01-12 05:53:23 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * nnmail.el (nnmail-article-group): Don't infloop.
+
+1999-01-11 Colin Rafferty <colin@xemacs.org>
+
+ * gnus-art.el (article-update-date-lapsed): Made it work with
+ picons, and make it update on all visible frames.
+ (article-date-ut): Get summary-buffer's current-headers.
+
+1999-01-12 07:20:31 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-picon.el (gnus-picons-setup-buffer): Don't set major mode.
+ (gnus-picons-setup-p): New variable.
+
+1999-01-11 02:13:12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * nnmail.el (nnmail-split-header-length-limit): Lowered to 512.
+
+1999-01-04 12:58:13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-sum.el (gnus-summary-exit-no-update): Don't use run-hooks.
+ (gnus-summary-exit-no-update): Use mapcar.
+
+1999-01-02 14:36:32 Simon Josefsson <jas@pdc.kth.se>
+
+ * gnus-agent.el (gnus-category-write): Make directory.
+
+1998-09-26 19:39:31 Simon Josefsson <jas@pdc.kth.se>
+
+ * gnus-sum.el (gnus-update-read-articles):
+ (gnus-update-marks): Request backend update of mark.
+
+1999-01-03 15:29:52 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-bodies.el (mm-body-encoding): Use mm-find.
+
+1999-01-03 15:28:27 Kim-Minh Kaplan <kmkaplan@western.fr>
+
+ * gnus-picon.el (gnus-article-display-picons): Fix.
+
Sun Jan 3 13:32:02 1999 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Pterodactyl Gnus v0.69 is released.
View
2  lisp/dgnushack.el
@@ -1,5 +1,5 @@
;;; dgnushack.el --- a hack to set the load path for byte-compiling
-;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Version: 4.19
View
3  lisp/gnus-agent.el
@@ -1,5 +1,5 @@
;;; gnus-agent.el --- unplugged support for Gnus
-;; Copyright (C) 1997,98 Free Software Foundation, Inc.
+;; Copyright (C) 1997,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
@@ -1158,6 +1158,7 @@ The following commands are available:
"Write the category alist."
(setq gnus-category-predicate-cache nil
gnus-category-group-cache nil)
+ (gnus-make-directory (nnheader-concat gnus-agent-directory "lib"))
(with-temp-file (nnheader-concat gnus-agent-directory "lib/categories")
(prin1 gnus-category-alist (current-buffer))))
View
35 lisp/gnus-art.el
@@ -1,5 +1,5 @@
;;; gnus-art.el --- article mode commands for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -125,7 +125,7 @@ If `gnus-visible-headers' is non-nil, this variable will be ignored."
:group 'gnus-article-hiding)
(defcustom gnus-visible-headers
- "From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|X-Sent:"
+ "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^[BGF]?Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|^X-Sent:"
"*All headers that do not match this regexp will be hidden.
This variable can also be a list of regexp of headers to remain visible.
If this variable is non-nil, `gnus-ignored-headers' will be ignored."
@@ -1451,7 +1451,9 @@ If TYPE is `local', convert to local time; if it is `lapsed', output
how much time has lapsed since DATE."
(interactive (list 'ut t))
(let* ((header (or header
- (mail-header-date gnus-current-headers)
+ (mail-header-date (save-excursion
+ (set-buffer gnus-summary-buffer)
+ gnus-current-headers))
(message-fetch-field "date")
""))
(date (if (vectorp header) (mail-header-date header)
@@ -1604,7 +1606,8 @@ function and want to see what the date was before converting."
(when (eq major-mode 'gnus-article-mode)
(goto-char (point-min))
(when (re-search-forward "^X-Sent:" nil t)
- (article-date-lapsed t)))))))))
+ (article-date-lapsed t))))
+ nil 'visible)))))
(defun gnus-start-date-timer (&optional n)
"Start a timer to update the X-Sent header in the article buffers.
@@ -2335,7 +2338,7 @@ If ALL-HEADERS is non-nil, no headers are hidden."
(setq gnus-mime-button-map (make-sparse-keymap))
(set-keymap-parent gnus-mime-button-map gnus-article-mode-map)
(define-key gnus-mime-button-map gnus-mouse-2 'gnus-article-push-button)
- (define-key gnus-mime-button-map gnus-mouse-3 'gnus-mime-button-menu)
+ (define-key gnus-mime-button-map gnus-down-mouse-3 'gnus-mime-button-menu)
(mapcar (lambda (c)
(define-key gnus-mime-button-map (cadr c) (car c)))
gnus-mime-button-commands))
@@ -2343,17 +2346,18 @@ If ALL-HEADERS is non-nil, no headers are hidden."
(defun gnus-mime-button-menu (event)
"Construct a context-sensitive menu of MIME commands."
(interactive "e")
- (gnus-article-check-buffer)
- (let ((response (x-popup-menu
- t `("MIME Part"
- ("" ,@(mapcar (lambda (c)
- (cons (caddr c) (car c)))
- gnus-mime-button-commands)))))
- (pos (event-start event)))
- (when response
+ (save-excursion
+ (let ((pos (event-start event)))
(set-buffer (window-buffer (posn-window pos)))
(goto-char (posn-point pos))
- (funcall response))))
+ (gnus-article-check-buffer)
+ (let ((response (x-popup-menu
+ t `("MIME Part"
+ ("" ,@(mapcar (lambda (c)
+ (cons (caddr c) (car c)))
+ gnus-mime-button-commands))))))
+ (if response
+ (funcall response))))))
(defun gnus-mime-view-all-parts (&optional handles)
"View all the MIME parts."
@@ -2678,8 +2682,7 @@ If ALL-HEADERS is non-nil, no headers are hidden."
(not (gnus-unbuttonized-mime-type-p type)))
(gnus-article-insert-newline)
(gnus-insert-mime-button
- handle id (list (or display
- (and not-attachment text))))
+ handle id (list (or display (and not-attachment text))))
(gnus-article-insert-newline)
(gnus-article-insert-newline)
(setq move t)))
View
2  lisp/gnus-async.el
@@ -1,5 +1,5 @@
;;; gnus-async.el --- asynchronous support for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-bcklg.el
@@ -1,5 +1,5 @@
;;; gnus-bcklg.el --- backlog functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
4 lisp/gnus-cache.el
@@ -1,5 +1,5 @@
;;; gnus-cache.el --- cache interface for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -568,7 +568,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
"Read the cache active file."
(gnus-make-directory gnus-cache-directory)
(if (or (not (file-exists-p gnus-cache-active-file))
- (not (zerop (nth 7 (file-attributes gnus-cache-active-file))))
+ (zerop (nth 7 (file-attributes gnus-cache-active-file)))
force)
;; There is no active file, so we generate one.
(gnus-cache-generate-active)
View
2  lisp/gnus-cite.el
@@ -1,5 +1,5 @@
;;; gnus-cite.el --- parse citations in articles for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Per Abhiddenware; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
View
6 lisp/gnus-demon.el
@@ -1,5 +1,5 @@
;;; gnus-demon.el --- daemonic Gnus behaviour
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -115,8 +115,7 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
(nth 2 handler)))
gnus-demon-handlers))
(setq gnus-demon-idle-time 0)
- (setq gnus-demon-idle-has-been-called nil)
- (setq gnus-use-demon t)))
+ (setq gnus-demon-idle-has-been-called nil)))
(gnus-add-shutdown 'gnus-demon-cancel 'gnus)
@@ -126,7 +125,6 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
(when gnus-demon-timer
(nnheader-cancel-timer gnus-demon-timer))
(setq gnus-demon-timer nil
- gnus-use-demon nil
gnus-demon-idle-has-been-called nil)
(condition-case ()
(nnheader-cancel-function-timers 'gnus-demon)
View
2  lisp/gnus-draft.el
@@ -1,5 +1,5 @@
;;; gnus-draft.el --- draft message support for Gnus
-;; Copyright (C) 1997,98 Free Software Foundation, Inc.
+;; Copyright (C) 1997,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-dup.el
@@ -1,5 +1,5 @@
;;; gnus-dup.el --- suppression of duplicate articles in Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-eform.el
@@ -1,5 +1,5 @@
;;; gnus-eform.el --- a mode for editing forms for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
4 lisp/gnus-ems.el
@@ -1,5 +1,5 @@
;;; gnus-ems.el --- functions for making Gnus work under different Emacsen
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -33,7 +33,7 @@
"Non-nil if running under XEmacs.")
(defvar gnus-mouse-2 [mouse-2])
-(defvar gnus-mouse-3 [mouse-3])
+(defvar gnus-down-mouse-3 [down-mouse-3])
(defvar gnus-down-mouse-2 [down-mouse-2])
(defvar gnus-widget-button-keymap nil)
(defvar gnus-mode-line-modified
View
2  lisp/gnus-gl.el
@@ -1,5 +1,5 @@
;;; gnus-gl.el --- an interface to GroupLens for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Brad Miller <bmiller@cs.umn.edu>
;; Keywords: news, score
View
2  lisp/gnus-group.el
@@ -1,5 +1,5 @@
;;; gnus-group.el --- group mode commands for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
10 lisp/gnus-int.el
@@ -1,5 +1,5 @@
;;; gnus-int.el --- backend interface functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -320,11 +320,11 @@ If FETCH-OLD, retrieve all headers (or some subset thereof) in the group."
"Set marks on articles in the backend."
(let ((gnus-command-method (gnus-find-method-for-group group)))
(if (not (gnus-check-backend-function
- 'request-set-mark (car gnus-command-method)))
- action
+ 'request-set-mark (car gnus-command-method)))
+ action
(funcall (gnus-get-function gnus-command-method 'request-set-mark)
- (gnus-group-real-name group) action
- (nth 1 gnus-command-method)))))
+ (gnus-group-real-name group) action
+ (nth 1 gnus-command-method)))))
(defun gnus-request-update-mark (group article mark)
"Allow the backend to change the mark the user tries to put on an article."
View
2  lisp/gnus-kill.el
@@ -1,5 +1,5 @@
;;; gnus-kill.el --- kill commands for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/gnus-logic.el
@@ -1,5 +1,5 @@
;;; gnus-logic.el --- advanced scoring code for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-mh.el
@@ -1,5 +1,5 @@
;;; gnus-mh.el --- mh-e interface for Gnus
-;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
4 lisp/gnus-move.el
@@ -1,5 +1,5 @@
;;; gnus-move.el --- commands for moving Gnus from one server to another
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -90,6 +90,8 @@ Update the .newsrc.eld file to reflect the change of nntp server."
;; Then we read the headers from the `from-server'.
(when (and (gnus-request-group group nil from-server)
(gnus-active group)
+ (gnus-uncompress-range
+ (gnus-active group))
(setq type (gnus-retrieve-headers
(gnus-uncompress-range
(gnus-active group))
View
2  lisp/gnus-msg.el
@@ -1,5 +1,5 @@
;;; gnus-msg.el --- mail and post interface for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/gnus-nocem.el
@@ -1,5 +1,5 @@
;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
220 lisp/gnus-picon.el
@@ -1,5 +1,5 @@
;;; gnus-picon.el --- displaying pretty icons in Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Wes Hardaker <hardaker@ece.ucdavis.edu>
;; Keywords: news xpm annotation glyph faces
@@ -159,6 +159,7 @@ please tell me so that we can list it."
;;; Internal variables:
+(defvar gnus-picons-setup-p nil)
(defvar gnus-picons-processes-alist nil
"Picons processes currently running and their environment.")
(defvar gnus-picons-glyph-alist nil
@@ -212,7 +213,8 @@ arguments necessary for the job.")
(defun gnus-picons-kill-buffer ()
(let ((buf (get-buffer (gnus-picons-buffer-name))))
- (when (buffer-live-p buf)
+ (when (and (buffer-live-p buf)
+ (string-match "Picons" (buffer-name buf)))
(kill-buffer buf))))
(defun gnus-picons-setup-buffer ()
@@ -220,13 +222,13 @@ arguments necessary for the job.")
(save-excursion
(if (and (get-buffer name)
(with-current-buffer name
- (eq major-mode 'gnus-picons-mode)))
+ gnus-picons-setup-p))
(set-buffer name)
(set-buffer (gnus-get-buffer-create name))
(buffer-disable-undo)
(setq buffer-read-only t)
(run-hooks 'gnus-picons-setup-hook)
- (setq major-mode 'gnus-picons-mode)
+ (set (make-local-variable 'gnus-picons-setup-p) t)
(add-hook 'gnus-summary-prepare-exit-hook 'gnus-picons-kill-buffer))
(current-buffer))))
@@ -322,14 +324,13 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
(gnus-picons-prepare-for-annotations)
(gnus-group-display-picons)
(unless gnus-picons-display-article-move-p
- (save-restriction
- (let ((buffer-read-only nil))
- (when (re-search-forward "^From: " nil t)
- (narrow-to-region (point) (gnus-point-at-eol))
- (when (search-forward from nil t)
- (gnus-put-text-property
- (match-beginning 0) (match-end 0)
- 'invisible t))))))
+ (let ((buffer-read-only nil)
+ (case-fold-search t))
+ (when (re-search-forward "^From *: *" nil t)
+ (when (search-forward from (gnus-point-at-eol) t)
+ (gnus-put-text-property
+ (match-beginning 0) (match-end 0)
+ 'invisible t)))))
(if (null gnus-picons-piconsearch-url)
(progn
(gnus-picons-display-pairs (gnus-picons-lookup-pairs
@@ -344,7 +345,7 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
(gnus-picons-lookup-user username addrs)
username t))
(push (list 'gnus-article-annotations 'search username addrs
- gnus-picons-domain-directories t)
+ gnus-picons-domain-directories t (point-marker))
gnus-picons-jobs-alist)
(gnus-picons-next-job)))))))
@@ -359,7 +360,7 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
(let* ((newsgroups (mail-fetch-field "newsgroups"))
(groups
(if (or gnus-picons-display-article-move-p
- (not newsgroups))(mail-fetch-field "newsgroups")
+ (not newsgroups))
(list (gnus-group-real-name gnus-newsgroup-name))
(split-string newsgroups ",")))
group)
@@ -367,15 +368,17 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
(gnus-picons-prepare-for-annotations)
(while (setq group (pop groups))
(unless gnus-picons-display-article-move-p
- (save-restriction
- (let ((buffer-read-only nil))
+ (let ((buffer-read-only nil)
+ (case-fold-search t))
+ (goto-char (point-min))
+ (if (and (re-search-forward "^Newsgroups *: *" nil t)
+ (search-forward group (gnus-point-at-eol) t))
+ (gnus-put-text-property
+ (match-beginning 0) (match-end 0)
+ 'invisible t)
(goto-char (point-min))
- (when (re-search-forward "^Newsgroups:" nil t)
- (narrow-to-region (point) (gnus-point-at-eol))
- (when (search-forward group nil t)
- (gnus-put-text-property
- (match-beginning 0) (match-end 0)
- 'invisible t))))))
+ (search-forward "\n\n")
+ (backward-char 1))))
(if (null gnus-picons-piconsearch-url)
(gnus-picons-display-pairs
(gnus-picons-lookup-pairs
@@ -387,7 +390,7 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
(if (listp gnus-picons-news-directories)
gnus-picons-news-directories
(list gnus-picons-news-directories))
- nil)
+ nil (point-marker))
gnus-picons-jobs-alist)
(gnus-picons-next-job))
@@ -572,85 +575,98 @@ none, and whose CDR is the corresponding element of DOMAINS."
(defun gnus-picons-parse-value (name)
(goto-char (point-min))
- (re-search-forward (concat "<strong>"
+ (if (re-search-forward (concat "<strong>"
(regexp-quote name)
- "</strong> *= *<kbd> *\\([^ <][^<]*\\) *</kbd>"))
- (buffer-substring (match-beginning 1) (match-end 1)))
+ "</strong> *= *<kbd> *\\([^ <][^<]*\\) *</kbd>")
+ nil t)
+ (buffer-substring (match-beginning 1) (match-end 1))))
(defun gnus-picons-parse-filenames ()
;; returns an alist of ((USER ADDRS DB) . URL)
- (let* ((case-fold-search t)
- (user (gnus-picons-parse-value "user"))
- (host (gnus-picons-parse-value "host"))
- (dbs (message-tokenize-header (gnus-picons-parse-value "db") " "))
- (start-re
- (concat
- ;; dbs
- "^\\(" (mapconcat 'identity dbs "\\|") "\\)/"
- ;; host
- "\\(\\(" (replace-in-string host "\\." "/\\|" t) "/\\|MISC/\\)*\\)"
- ;; user
- "\\(" (regexp-quote user) "\\|unknown\\)/"
- "face\\."))
- cur-db cur-host cur-user types res)
+ (let ((case-fold-search t)
+ (user (gnus-picons-parse-value "user"))
+ (host (gnus-picons-parse-value "host"))
+ (dbs (message-tokenize-header (gnus-picons-parse-value "db") " "))
+ start-re cur-db cur-host cur-user types res)
;; now point will be somewhere in the header. Find beginning of
;; entries
- (re-search-forward "<p>[ \t\n]*")
- (while (re-search-forward start-re nil t)
- (setq cur-db (buffer-substring (match-beginning 1) (match-end 1))
- cur-host (buffer-substring (match-beginning 2) (match-end 2))
- cur-user (buffer-substring (match-beginning 4) (match-end 4))
- cur-host (nreverse (message-tokenize-header cur-host "/")))
- ;; XXX - KLUDGE: there is a blank picon in news/MISC/unknown
- (unless (and (string-equal cur-db "news")
- (string-equal cur-user "unknown")
- (equal cur-host '("MISC")))
- ;; ok now we have found an entry (USER HOST DB), find the
- ;; corresponding picon URL
- (save-restriction
- ;; restrict region to this entry
- (narrow-to-region (point) (search-forward "<br>"))
- (goto-char (point-min))
- (setq types gnus-picons-file-suffixes)
- (while (and types
- (not (re-search-forward
- (concat "<a[ \t\n]+href=\"\\([^\"]*\\."
- (regexp-quote (car types)) "\\)\"")
- nil t)))
- (pop types))
- (push (cons (list cur-user cur-host cur-db)
- (buffer-substring (match-beginning 1) (match-end 1)))
- res))))
- (nreverse res)))
+ (when (and user host dbs)
+ (setq start-re
+ (concat
+ ;; dbs
+ "^\\(" (mapconcat 'identity dbs "\\|") "\\)/"
+ ;; host
+ "\\(\\(" (replace-in-string host "\\." "/\\|" t) "/\\|MISC/\\)*\\)"
+ ;; user
+ "\\(" (regexp-quote user) "\\|unknown\\)/"
+ "face\\."))
+ (re-search-forward "<p>[ \t\n]*")
+ (while (re-search-forward start-re nil t)
+ (setq cur-db (buffer-substring (match-beginning 1) (match-end 1))
+ cur-host (buffer-substring (match-beginning 2) (match-end 2))
+ cur-user (buffer-substring (match-beginning 4) (match-end 4))
+ cur-host (nreverse (message-tokenize-header cur-host "/")))
+ ;; XXX - KLUDGE: there is a blank picon in news/MISC/unknown
+ (unless (and (string-equal cur-db "news")
+ (string-equal cur-user "unknown")
+ (equal cur-host '("MISC")))
+ ;; ok now we have found an entry (USER HOST DB), find the
+ ;; corresponding picon URL
+ (save-restriction
+ ;; restrict region to this entry
+ (narrow-to-region (point) (search-forward "<br>"))
+ (goto-char (point-min))
+ (setq types gnus-picons-file-suffixes)
+ (while (and types
+ (not (re-search-forward
+ (concat "<a[ \t\n]+href=\"\\([^\"]*\\."
+ (regexp-quote (car types)) "\\)\"")
+ nil t)))
+ (pop types))
+ (push (cons (list cur-user cur-host cur-db)
+ (buffer-substring (match-beginning 1) (match-end 1)))
+ res))))
+ (nreverse res))))
;;; picon network display functions :
-(defun gnus-picons-network-display-internal (sym-ann glyph part right-p)
- (gnus-picons-display-picon-or-name glyph part right-p)
+(defun gnus-picons-network-display-internal (sym-ann glyph part right-p marker)
+ (let ((buf (marker-buffer marker))
+ (pos (marker-position marker)))
+ (if (and buf pos)
+ (save-excursion
+ (set-buffer buf)
+ (goto-char pos)
+ (gnus-picons-display-picon-or-name glyph part right-p))))
(gnus-picons-next-job-internal))
-(defun gnus-picons-network-display-callback (url part sym-ann right-p)
+(defun gnus-picons-network-display-callback (url part sym-ann right-p marker)
(let ((glyph (gnus-picons-make-glyph (cdr (assoc url-current-mime-type
w3-image-mappings)))))
(kill-buffer (current-buffer))
(push (cons url glyph) gnus-picons-glyph-alist)
;; only do the job if it has not been preempted.
(if (equal gnus-picons-job-already-running
- (list sym-ann 'picon url part right-p))
- (gnus-picons-network-display-internal sym-ann glyph part right-p)
+ (list sym-ann 'picon url part right-p marker))
+ (gnus-picons-network-display-internal sym-ann glyph part right-p marker)
(gnus-picons-next-job-internal))))
-(defun gnus-picons-network-display (url part sym-ann right-p)
+(defun gnus-picons-network-display (url part sym-ann right-p marker)
(let ((cache (assoc url gnus-picons-glyph-alist)))
(if (or cache (null url))
- (gnus-picons-network-display-internal sym-ann (cdr cache) part right-p)
+ (gnus-picons-network-display-internal
+ sym-ann (cdr cache) part right-p marker)
(gnus-picons-url-retrieve url 'gnus-picons-network-display-callback
- (list url part sym-ann right-p)))))
+ (list url part sym-ann right-p marker)))))
;;; search job functions
+(defun gnus-picons-display-bar-p ()
+ (and (not (eq gnus-picons-display-where 'article))
+ gnus-picons-display-as-address))
+
(defun gnus-picons-network-search-internal (user addrs dbs sym-ann right-p
- &optional fnames)
+ marker &optional fnames)
(let (curkey dom pfx url dbs-tmp cache new-jobs)
;; First do the domain search
(dolist (part (if right-p
@@ -679,8 +695,8 @@ none, and whose CDR is the corresponding element of DOMAINS."
(push (setq cache (cons curkey url)) gnus-picons-url-alist))
;; Put this glyph in the job list
(if (and (not (eq dom part)) gnus-picons-display-as-address)
- (push (list sym-ann "." right-p) new-jobs))
- (push (list sym-ann 'picon (cdr cache) part right-p) new-jobs))
+ (push (list sym-ann "." right-p marker) new-jobs))
+ (push (list sym-ann 'picon (cdr cache) part right-p marker) new-jobs))
;; next, the user search
(when user
(setq curkey (list user dom gnus-picons-user-directories))
@@ -702,27 +718,30 @@ none, and whose CDR is the corresponding element of DOMAINS."
(push (setq cache (cons curkey (cdr picon)))
gnus-picons-url-alist)))
(if (and gnus-picons-display-as-address new-jobs)
- (push (list sym-ann "@" right-p) new-jobs))
- (push (list sym-ann 'picon (cdr cache) user right-p) new-jobs))
- (if (and gnus-picons-display-as-address (not right-p))
- (push (list sym-ann 'bar right-p) new-jobs))
+ (push (list sym-ann "@" right-p marker) new-jobs))
+ (push (list sym-ann 'picon (cdr cache) user right-p marker) new-jobs))
+ (if (and (gnus-picons-display-bar-p) (not right-p))
+ (push (list sym-ann 'bar right-p marker) new-jobs))
;; only put the jobs in the queue if this job has not been preempted.
(if (equal gnus-picons-job-already-running
- (list sym-ann 'search user addrs dbs right-p))
+ (list sym-ann 'search user addrs dbs right-p marker))
(setq gnus-picons-jobs-alist
- (nconc (if (and gnus-picons-display-as-address right-p)
- (list (list sym-ann 'bar right-p)))
+ (nconc (if (and (gnus-picons-display-bar-p) right-p)
+ (list (list sym-ann 'bar right-p marker)))
(nreverse new-jobs)
gnus-picons-jobs-alist)))
(gnus-picons-next-job-internal)))
-(defun gnus-picons-network-search-callback (user addrs dbs sym-ann right-p)
- (gnus-picons-network-search-internal user addrs dbs sym-ann right-p
- (prog1 (gnus-picons-parse-filenames)
- (kill-buffer (current-buffer)))))
+(defun gnus-picons-network-search-callback (user addrs dbs sym-ann right-p
+ marker)
+ (gnus-picons-network-search-internal
+ user addrs dbs sym-ann right-p marker
+ (prog1
+ (gnus-picons-parse-filenames)
+ (kill-buffer (current-buffer)))))
;; Initiate a query on the picon database
-(defun gnus-picons-network-search (user addrs dbs sym-ann right-p)
+(defun gnus-picons-network-search (user addrs dbs sym-ann right-p marker)
(let* ((host (mapconcat 'identity addrs "."))
(key (list (or user "unknown") host (if user
gnus-picons-user-directories
@@ -740,8 +759,9 @@ none, and whose CDR is the corresponding element of DOMAINS."
dbs)
"+"))
'gnus-picons-network-search-callback
- (list user addrs dbs sym-ann right-p))
- (gnus-picons-network-search-internal user addrs dbs sym-ann right-p))))
+ (list user addrs dbs sym-ann right-p marker))
+ (gnus-picons-network-search-internal
+ user addrs dbs sym-ann right-p marker))))
;;; Main jobs dispatcher function
@@ -752,22 +772,22 @@ none, and whose CDR is the corresponding element of DOMAINS."
(tag (pop job)))
(when tag
(cond
- ((stringp tag);; (SYM-ANN "..." RIGHT-P)
+ ((stringp tag);; (SYM-ANN "..." RIGHT-P MARKER)
(gnus-picons-network-display-internal
- sym-ann nil tag (pop job)))
- ((eq 'bar tag)
+ sym-ann nil tag (pop job) (pop job)))
+ ((eq 'bar tag);; (SYM-ANN 'bar RIGHT-P MARKER)
(gnus-picons-network-display-internal
sym-ann
(let ((gnus-picons-file-suffixes '("xbm")))
(gnus-picons-try-face
gnus-xmas-glyph-directory "bar."))
- nil (pop job)))
- ((eq 'search tag);; (SYM-ANN 'search USER ADDRS DBS RIGHT-P)
+ nil (pop job) (pop job)))
+ ((eq 'search tag);; (SYM-ANN 'search USER ADDRS DBS RIGHT-P MARKER)
(gnus-picons-network-search
- (pop job) (pop job) (pop job) sym-ann (pop job)))
- ((eq 'picon tag);; (SYM-ANN 'picon URL PART RIGHT-P)
+ (pop job) (pop job) (pop job) sym-ann (pop job) (pop job)))
+ ((eq 'picon tag);; (SYM-ANN 'picon URL PART RIGHT-P MARKER)
(gnus-picons-network-display
- (pop job) (pop job) sym-ann (pop job)))
+ (pop job) (pop job) sym-ann (pop job) (pop job)))
(t
(setq gnus-picons-job-already-running nil)
(error "Unknown picon job tag %s" tag)))))))
View
2  lisp/gnus-range.el
@@ -1,5 +1,5 @@
;;; gnus-range.el --- range and sequence functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-salt.el
@@ -1,5 +1,5 @@
;;; gnus-salt.el --- alternate summary mode interfaces for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
4 lisp/gnus-score.el
@@ -1,5 +1,5 @@
;;; gnus-score.el --- scoring code for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <amanda@iesd.auc.dk>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -1236,7 +1236,7 @@ EXTRA is the possible non-standard header."
(setq gnus-score-alist nil)
;; Read file.
(with-temp-buffer
- (let ((coding-system-for-write score-mode-coding-system))
+ (let ((coding-system-for-read score-mode-coding-system))
(insert-file-contents file))
(goto-char (point-min))
;; Only do the loading if the score file isn't empty.
View
2  lisp/gnus-soup.el
@@ -1,5 +1,5 @@
;;; gnus-soup.el --- SOUP packet writing support for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@iesd.auc.dk>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/gnus-spec.el
@@ -1,5 +1,5 @@
;;; gnus-spec.el --- format spec functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-srvr.el
@@ -1,5 +1,5 @@
;;; gnus-srvr.el --- virtual server support for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-start.el
@@ -1,5 +1,5 @@
;;; gnus-start.el --- startup functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
52 lisp/gnus-sum.el
@@ -1,5 +1,5 @@
;;; gnus-sum.el --- summary mode commands for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -4296,12 +4296,28 @@ If SELECT-ARTICLES, only select those articles from GROUP."
(setq arts (cdr arts)))
(setq list (cdr all))))
+ (when (gnus-check-backend-function 'request-set-mark
+ gnus-newsgroup-name)
+ ;; score & bookmark are not proper flags (they are cons cells)
+ ;; cache is a internal gnus flag
+ (unless (memq (cdr type) '(cache score bookmark))
+ (let* ((old (cdr (assq (cdr type) (gnus-info-marks info))))
+ (del (gnus-remove-from-range old list))
+ (add (gnus-remove-from-range list old)))
+ (if add
+ (push (list add 'add (list (cdr type))) delta-marks))
+ (if del
+ (push (list del 'del (list (cdr type))) delta-marks)))))
+
(push (cons (cdr type)
(if (memq (cdr type) uncompressed) list
(gnus-compress-sequence
(set symbol (sort list '<)) t)))
newmarked)))
+ (if delta-marks
+ (gnus-request-set-mark gnus-newsgroup-name delta-marks))
+
;; Enter these new marks into the info of the group.
(if (nthcdr 3 info)
(setcar (nthcdr 3 info) newmarked)
@@ -5230,6 +5246,10 @@ If FORCE (the prefix), also save the .newsrc file(s)."
gnus-exit-group-hook is called with no arguments if that value is non-nil."
(interactive)
(gnus-set-global-variables)
+ (when (gnus-buffer-live-p gnus-article-buffer)
+ (save-excursion
+ (set-buffer gnus-article-buffer)
+ (mm-destroy-parts gnus-article-mime-handles)))
(gnus-kill-save-kill-buffer)
(gnus-async-halt-prefetch)
(let* ((group gnus-newsgroup-name)
@@ -5237,6 +5257,12 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
(mode major-mode)
(group-point nil)
(buf (current-buffer)))
+ (unless quit-config
+ ;; Do adaptive scoring, and possibly save score files.
+ (when gnus-newsgroup-adaptive
+ (gnus-score-adaptive))
+ (when gnus-use-scoring
+ (gnus-score-save)))
(gnus-run-hooks 'gnus-summary-prepare-exit-hook)
;; If we have several article buffers, we kill them at exit.
(unless gnus-single-article-buffer
@@ -5255,12 +5281,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
;; Make all changes in this group permanent.
(unless quit-config
(gnus-run-hooks 'gnus-exit-group-hook)
- (gnus-summary-update-info)
- ;; Do adaptive scoring, and possibly save score files.
- (when gnus-newsgroup-adaptive
- (gnus-score-adaptive))
- (when gnus-use-scoring
- (gnus-score-save)))
+ (gnus-summary-update-info))
(gnus-close-group group)
;; Make sure where we were, and go to next newsgroup.
(set-buffer gnus-group-buffer)
@@ -5275,10 +5296,6 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
(setq group-point (point))
(if temporary
nil ;Nothing to do.
- (when (gnus-buffer-live-p gnus-article-buffer)
- (save-excursion
- (set-buffer gnus-article-buffer)
- (mm-destroy-parts gnus-article-mime-handles)))
;; If we have several article buffers, we kill them at exit.
(unless gnus-single-article-buffer
(gnus-kill-buffer gnus-article-buffer)
@@ -5322,8 +5339,9 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
gnus-expert-user
(gnus-y-or-n-p "Discard changes to this group and exit? "))
(gnus-async-halt-prefetch)
- (gnus-run-hooks (delq 'gnus-summary-expire-articles
- (copy-list gnus-summary-prepare-exit-hook)))
+ (mapcar 'funcall
+ (delq 'gnus-summary-expire-articles
+ (copy-list gnus-summary-prepare-exit-hook)))
(when (gnus-buffer-live-p gnus-article-buffer)
(save-excursion
(set-buffer gnus-article-buffer)
@@ -9120,6 +9138,14 @@ save those articles instead."
(gnus-info-set-read ',info ',(gnus-info-read info))
(gnus-get-unread-articles-in-group ',info (gnus-active ,group))
(gnus-group-update-group ,group t))))
+ ;; Propagate the read marks to the backend.
+ (if (gnus-check-backend-function 'request-set-mark group)
+ (let ((del (gnus-remove-from-range (gnus-info-read info) read))
+ (add (gnus-remove-from-range read (gnus-info-read info))))
+ (when (or add del)
+ (gnus-request-set-mark
+ group (delq nil (list (if add (list add 'add '(read)))
+ (if del (list del 'del '(read)))))))))
;; Enter this list into the group info.
(gnus-info-set-read info read)
;; Set the number of unread articles in gnus-newsrc-hashtb.
View
2  lisp/gnus-topic.el
@@ -1,5 +1,5 @@
;;; gnus-topic.el --- a folding minor mode for Gnus group buffers
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Ilja Weis <kult@uni-paderborn.de>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/gnus-undo.el
@@ -1,5 +1,5 @@
;;; gnus-undo.el --- minor mode for undoing in Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-util.el
@@ -1,5 +1,5 @@
;;; gnus-util.el --- utility functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-uu.el
@@ -1,5 +1,5 @@
;;; gnus-uu.el --- extract (uu)encoded files in Gnus
-;; Copyright (C) 1985,86,87,93,94,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 198,995,86,87,93,94,95,96,97,98 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Created: 2 Oct 1993
View
2  lisp/gnus-vm.el
@@ -1,5 +1,5 @@
;;; gnus-vm.el --- vm interface for Gnus
-;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc.
;; Author: Per Persson <pp@gnu.ai.mit.edu>
;; Keywords: news, mail
View
2  lisp/gnus-win.el
@@ -1,5 +1,5 @@
;;; gnus-win.el --- window configuration functions for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/gnus-xmas.el
@@ -1,5 +1,5 @@
;;; gnus-xmas.el --- Gnus functions for XEmacs
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
9 lisp/gnus.el
@@ -1,5 +1,5 @@
;;; gnus.el --- a newsreader for GNU Emacs
-;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98,99 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -254,7 +254,7 @@ is restarted, and sometimes reloaded."
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "0.69"
+(defconst gnus-version-number "0.70"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number)
@@ -1150,11 +1150,6 @@ articles. This is not a good idea."
:group 'gnus-meta
:type 'boolean)
-(defcustom gnus-use-demon nil
- "If non-nil, Gnus might use some demons."
- :group 'gnus-meta
- :type 'boolean)
-
(defcustom gnus-use-scoring t
"*If non-nil, enable scoring."
:group 'gnus-meta
View
2  lisp/ietf-drums.el
@@ -1,5 +1,5 @@
;;; ietf-drums.el --- Functions for parsing RFC822bis headers
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
View
2  lisp/mail-parse.el
@@ -1,5 +1,5 @@
;;; mail-parse.el --- Interface functions for parsing mail
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
View
18 lisp/mailcap.el
@@ -1,5 +1,5 @@
;;; mailcap.el --- Functions for displaying MIME parts
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: William M. Perry <wmperry@aventail.com>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -51,6 +51,7 @@
(type . "application/x-x509-user-cert"))
("octet-stream"
(viewer . mailcap-save-binary-file)
+ (non-viewer . t)
(type ."application/octet-stream"))
("dvi"
(viewer . "open %s")
@@ -70,6 +71,7 @@
(type . "application/emacs-lisp"))
("x-tar"
(viewer . mailcap-save-binary-file)
+ (non-viewer . t)
(type . "application/x-tar"))
("x-latex"
(viewer . tex-mode)
@@ -93,6 +95,7 @@
(type . "application/tex"))
("zip"
(viewer . mailcap-save-binary-file)
+ (non-viewer . t)
(type . "application/zip")
("copiousoutput"))
("pdf"
@@ -103,7 +106,7 @@
(type . "application/postscript")
(test . (eq (mm-device-type) 'ns)))
("postscript"
- (viewer . "ghostview %s")
+ (viewer . "ghostview -dSAFER %s")
(type . "application/postscript")
(test . (eq (mm-device-type) 'x))
("needsx11"))
@@ -118,6 +121,7 @@
(type . "audio/x-mpeg"))
(".*"
(viewer . mailcap-save-binary-file)
+ (non-viewer . t)
(test . (or (featurep 'nas-sound)
(featurep 'native-sound)))
(type . "audio/*"))
@@ -169,6 +173,16 @@
(type . "image/*")
(test . (eq (mm-device-type) 'ns)))
(".*"
+ (viewer . "display %s")
+ (type . "image/*")
+ (test . (eq (mm-device-type) 'x))
+ ("needsx11"))
+ (".*"
+ (viewer . "ee %s")
+ (type . "image/*")
+ (test . (eq (mm-device-type) 'x))
+ ("needsx11"))
+ (".*"
(viewer . "xv -perfect %s")
(type . "image/*")
(test . (eq (mm-device-type) 'x))
View
22 lisp/message.el
@@ -1,5 +1,5 @@
;;; message.el --- composing mail and news messages
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail, news
@@ -483,8 +483,7 @@ the signature is inserted."
;;;###autoload
(defcustom message-yank-prefix "> "
- "*Prefix inserted on the lines of yanked messages.
-nil means use indentation."
+ "*Prefix inserted on the lines of yanked messages."
:type 'string
:group 'message-insertion)
@@ -4215,7 +4214,7 @@ TYPE is the MIME type to use."
(defun message-encode-message-body ()
(let ((mm-default-charset message-default-charset)
- lines multipart-p)
+ lines multipart-p content-type-p)
(message-goto-body)
(save-restriction
(narrow-to-region (point) (point-max))
@@ -4237,6 +4236,9 @@ TYPE is the MIME type to use."
(when lines
(insert lines))
(setq multipart-p
+ (re-search-backward "^Content-Type: multipart/" nil t))
+ (goto-char (point-max))
+ (setq content-type-p
(re-search-backward "^Content-Type: multipart/" nil t)))
(save-restriction
(message-narrow-to-headers-or-head)
@@ -4245,7 +4247,17 @@ TYPE is the MIME type to use."
(when multipart-p
(message-goto-body)
(insert "This is a MIME multipart message. If you are reading\n")
- (insert "this, you shouldn't.\n"))))
+ (insert "this, you shouldn't.\n"))
+ ;; We always make sure that the message has a Content-Type header.
+ ;; This is because some broken MTAs and MUAs get awfully confused
+ ;; when confronted with a message with a MIME-Version header and
+ ;; without a Content-Type header. For instance, Solaris'
+ ;; /usr/bin/mail.
+ (unless content-type-p
+ (goto-char (point-min))
+ (re-search-forward "^MIME-Version:")
+ (forward-line 1)
+ (insert "Content-Type: text/plain; charset=us-ascii\n"))))
(provide 'message)
View
2  lisp/messagexmas.el
@@ -1,5 +1,5 @@
;;; messagexmas.el --- XEmacs extensions to message
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail, news
View
2  lisp/messcompat.el
@@ -1,5 +1,5 @@
;;; messcompat.el --- making message mode compatible with mail mode
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail, news
View
11 lisp/mm-bodies.el
@@ -1,5 +1,5 @@
;;; mm-bodies.el --- Functions for decoding MIME things
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
@@ -103,7 +103,8 @@ If no encoding was done, nil is returned."
'7bit))
(t
;; Mule version
- (if (and (null (delq 'ascii (find-charset-region (point-min) (point-max))))
+ (if (and (null (delq 'ascii
+ (mm-find-charset-region (point-min) (point-max))))
;;!!!The following is necessary because the function
;;!!!above seems to return the wrong result under
;;!!!Emacs 20.3. Sometimes.
@@ -120,7 +121,7 @@ If no encoding was done, nil is returned."
(defun mm-decode-content-transfer-encoding (encoding &optional type)
(prog1
- (condition-case ()
+ (condition-case error
(cond
((eq encoding 'quoted-printable)
(quoted-printable-decode-region (point-min) (point-max)))
@@ -138,7 +139,9 @@ If no encoding was done, nil is returned."
(funcall encoding (point-min) (point-max)))
(t
(message "Unknown encoding %s; defaulting to 8bit" encoding)))
- (error nil))
+ (error
+ (message "Error while decoding: %s" error)
+ nil))
(when (and
(memq encoding '(base64 x-uuencode x-binhex))
(equal type "text/plain"))
View
72 lisp/mm-decode.el
@@ -1,5 +1,5 @@
;;; mm-decode.el --- Functions for decoding MIME things
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
@@ -82,6 +82,7 @@
("text/richtext" mm-inline-text t)
("text/html" mm-inline-text (locate-library "w3"))
("message/delivery-status" mm-inline-text t)
+ ("text/.*" mm-inline-text t)
("audio/wav" mm-inline-audio
(and (or (featurep 'nas-sound) (featurep 'native-sound))
(device-sound-enabled-p)))
@@ -272,9 +273,7 @@ external if displayed external."
(progn
(set-buffer (generate-new-buffer "*mm*"))
(setq method nil))
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle) (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(let ((win (get-buffer-window cur t)))
(when win
(select-window win)))
@@ -283,23 +282,25 @@ external if displayed external."
(mm-set-buffer-file-coding-system mm-binary-coding-system)
(insert-buffer-substring cur)
(message "Viewing with %s" method)
- (let ((mm (current-buffer)))
+ (let ((mm (current-buffer))
+ (non-viewer (assoc "non-viewer"
+ (mailcap-mime-info
+ (car (mm-handle-type handle)) t))))
(unwind-protect
(if method
(funcall method)
(mm-save-part handle))
- (mm-handle-set-undisplayer handle mm))))
+ (unless non-viewer
+ (mm-handle-set-undisplayer handle mm)))))
;; The function is a string to be executed.
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle) (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(let* ((dir (make-temp-name (expand-file-name "emm." mm-tmp-directory)))
(filename (mail-content-type-get
(mm-handle-disposition handle) 'filename))
(needsterm (assoc "needsterm"
(mailcap-mime-info
(car (mm-handle-type handle)) t)))
- process file)
+ process file buffer)
;; We create a private sub-directory where we store our files.
(make-directory dir)
(set-file-modes dir 448)
@@ -317,11 +318,12 @@ external if displayed external."
"-e" shell-file-name "-c"
(format method
(mm-quote-arg file)))
- (start-process "*display*" (generate-new-buffer "*mm*")
+ (start-process "*display*"
+ (setq buffer (generate-new-buffer "*mm*"))
shell-file-name
"-c" (format method
(mm-quote-arg file)))))
- (mm-handle-set-undisplayer handle (cons file process)))
+ (mm-handle-set-undisplayer handle (cons file buffer)))
(message "Displaying %s..." (format method file))))))
(defun mm-remove-parts (handles)
@@ -378,7 +380,7 @@ external if displayed external."
(delete-directory (file-name-directory (car object)))
(error nil))
(condition-case ()
- (kill-process (cdr object))
+ (kill-buffer (cdr object))
(error nil)))
((bufferp object)
(when (buffer-live-p object)
@@ -473,12 +475,22 @@ This overrides entries in the mailcap file."
(defun mm-get-part (handle)
"Return the contents of HANDLE as a string."
(mm-with-unibyte-buffer
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle)
- (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(buffer-string)))
+(defun mm-insert-part (handle)
+ "Insert the contents of HANDLE in the current buffer."
+ (let ((cur (current-buffer)))
+ (save-excursion
+ (mm-with-unibyte-buffer
+ (insert-buffer-substring (mm-handle-buffer handle))
+ (mm-decode-content-transfer-encoding
+ (mm-handle-encoding handle)
+ (car (mm-handle-type handle)))
+ (let ((temp (current-buffer)))
+ (set-buffer cur)
+ (insert-buffer temp))))))
+
(defvar mm-default-directory nil)
(defun mm-save-part (handle)
@@ -496,10 +508,7 @@ This overrides entries in the mailcap file."
(or mm-default-directory default-directory))))
(setq mm-default-directory (file-name-directory file))
(mm-with-unibyte-buffer
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle)
- (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(when (or (not (file-exists-p file))
(yes-or-no-p (format "File %s already exists; overwrite? "
file)))
@@ -509,7 +518,16 @@ This overrides entries in the mailcap file."
(if (equal "text" (car (split-string
(car (mm-handle-type handle)) "/")))
buffer-file-coding-system
- 'binary)))
+ 'binary))
+ ;; Don't re-compress .gz & al. Arguably we should make
+ ;; `file-name-handler-alist' nil, but that would chop
+ ;; ange-ftp which it's reasonable to use here.
+ (inhibit-file-name-operation 'write-region)
+ (inhibit-file-name-handlers
+ (if (equal (car (mm-handle-type handle))
+ "application/octet-stream")
+ (cons 'jka-compr-handler inhibit-file-name-handlers)
+ inhibit-file-name-handlers)))
(write-region (point-min) (point-max) file))))))
(defun mm-pipe-part (handle)
@@ -518,10 +536,7 @@ This overrides entries in the mailcap file."
(command
(read-string "Shell command on MIME part: " mm-last-shell-command)))
(mm-with-unibyte-buffer
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle)
- (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(shell-command-on-region (point-min) (point-max) command nil))))
(defun mm-interactively-view-part (handle)
@@ -575,10 +590,7 @@ This overrides entries in the mailcap file."
(t type)))
(or (mm-handle-cache handle)
(mm-with-unibyte-buffer
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle)
- (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(prog1
(setq spec
(make-glyph `[,(intern type) :data ,(buffer-string)]))
View
8 lisp/mm-encode.el
@@ -1,5 +1,5 @@
;;; mm-encode.el --- Functions for encoding MIME things
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
@@ -66,9 +66,11 @@
(goto-char (point-min))
(while (search-forward "\n" nil t)
(replace-match "\r\n" t t)))
- (condition-case ()
+ (condition-case error
(base64-encode-region (point-min) (point-max))
- (error nil)))
+ (error
+ (message "Error while decoding: %s" error)
+ nil)))
((memq encoding '(7bit 8bit binary))
)
((null encoding)
View
2  lisp/mm-util.el
@@ -1,5 +1,5 @@
;;; mm-util.el --- Utility functions for MIME things
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
View
42 lisp/mm-view.el
@@ -1,5 +1,5 @@
;;; mm-view.el --- Functions for viewing MIME objects
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
@@ -42,6 +42,7 @@
(defvar mm-w3-setup nil)
(defun mm-setup-w3 ()
(unless mm-w3-setup
+ (require 'w3)
(w3-do-setup)
(require 'url)
(require 'w3-vars)
@@ -52,19 +53,6 @@
(let ((type (cadr (split-string (car (mm-handle-type handle)) "/")))
text buffer-read-only)
(cond
- ((equal type "plain")
- (setq text (mm-get-part handle))
- (let ((b (point))
- (charset (mail-content-type-get
- (mm-handle-type handle) 'charset)))
- (insert (mm-decode-string text charset))
- (save-restriction
- (narrow-to-region b (point))
- (mm-handle-set-undisplayer
- handle
- `(lambda ()
- (let (buffer-read-only)
- (delete-region ,(point-min-marker) ,(point-max-marker))))))))
((equal type "html")
(mm-setup-w3)
(setq text (mm-get-part handle))
@@ -93,23 +81,25 @@
(equal type "richtext"))
(save-excursion
(mm-with-unibyte-buffer
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle)
- (car (mm-handle-type handle)))
+ (mm-insert-part handle)
(save-window-excursion
(enriched-decode (point-min) (point-max))
(setq text (buffer-string)))))
(mm-insert-inline handle text))
(t
- (save-excursion
- (mm-with-unibyte-buffer
- (insert-buffer-substring (mm-handle-buffer handle))
- (mm-decode-content-transfer-encoding
- (mm-handle-encoding handle)
- (car (mm-handle-type handle)))
- (setq text (buffer-string))))
- (mm-insert-inline handle text)))))
+ (setq text (mm-get-part handle))
+ (let ((b (point))
+ (charset (mail-content-type-get
+ (mm-handle-type handle) 'charset)))
+ (insert (mm-decode-string text charset))
+ (save-restriction
+ (narrow-to-region b (point))
+ (mm-handle-set-undisplayer
+ handle
+ `(lambda ()
+ (let (buffer-read-only)
+ (delete-region ,(point-min-marker)
+ ,(point-max-marker)))))))))))
(defun mm-insert-inline (handle text)
"Insert TEXT inline from HANDLE."
View
20 lisp/mml.el
@@ -1,5 +1,5 @@
;;; mml.el --- A package for parsing and validating MML documents
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
@@ -310,10 +310,11 @@
(defun mml-insert-mime-headers (cont type charset encoding)
(let (parameters disposition description)
+ (setq parameters
+ (mml-parameter-string
+ cont '(name access-type expiration size permission)))
(when (or charset
- (setq parameters
- (mml-parameter-string
- cont '(name access-type expiration size permission)))
+ parameters
(not (equal type "text/plain")))
(when (consp charset)
(error
@@ -325,11 +326,11 @@
(when parameters
(insert parameters))
(insert "\n"))
+ (setq parameters
+ (mml-parameter-string
+ cont '(filename creation-date modification-date read-date)))
(when (or (setq disposition (cdr (assq 'disposition cont)))
- (setq parameters
- (mml-parameter-string
- cont '(filename creation-date modification-date
- read-date))))
+ parameters)
(insert "Content-Disposition: " (or disposition "inline"))
(when parameters
(insert parameters))
@@ -345,6 +346,9 @@
value type)
(while (setq type (pop types))
(when (setq value (cdr (assq type cont)))
+ ;; Strip directory component from the filename parameter.
+ (when (eq type 'filename)
+ (setq value (file-name-nondirectory value)))
(setq string (concat string ";\n "
(mail-header-encode-parameter
(symbol-name type) value)))))
View
5 lisp/nnagent.el
@@ -1,5 +1,5 @@
;;; nnagent.el --- offline backend for Gnus
-;; Copyright (C) 1997,98 Free Software Foundation, Inc.
+;; Copyright (C) 1997,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
@@ -113,6 +113,9 @@
(gnus-agent-insert-meta-information 'news gnus-command-method)
(gnus-request-accept-article "nndraft:queue" nil t t))
+(deffoo nnagent-request-set-mark (group action server)
+ action)
+
;; Use nnml functions for just about everything.
(nnoo-import nnagent
(nnml))
View
2  lisp/nnbabyl.el
@@ -1,5 +1,5 @@
;;; nnbabyl.el --- rmail mbox access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
2  lisp/nndir.el
@@ -1,5 +1,5 @@
;;; nndir.el --- single directory newsgroup access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/nndoc.el
@@ -1,5 +1,5 @@
;;; nndoc.el --- single file access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
2  lisp/nndraft.el
@@ -1,5 +1,5 @@
;;; nndraft.el --- draft article access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/nneething.el
@@ -1,5 +1,5 @@
;;; nneething.el --- arbitrary file access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
2  lisp/nnfolder.el
@@ -1,5 +1,5 @@
;;; nnfolder.el --- mail folder access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Scott Byer <byer@mv.us.adobe.com>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/nngateway.el
@@ -1,5 +1,5 @@
;;; nngateway.el --- posting news via mail gateways
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
View
2  lisp/nnheader.el
@@ -1,5 +1,5 @@
;;; nnheader.el --- header access macros for Gnus and its backends
-;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 198,997,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/nnheaderxm.el
@@ -1,5 +1,5 @@
;;; nnheaderxm.el --- making Gnus backends work under XEmacs
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/nnkiboze.el
@@ -1,5 +1,5 @@
;;; nnkiboze.el --- select virtual news access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/nnlistserv.el
@@ -1,5 +1,5 @@
;;; nnlistserv.el --- retrieving articles via web mailing list archives
-;; Copyright (C) 1997,98 Free Software Foundation, Inc.
+;; Copyright (C) 1997,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
View
12 lisp/nnmail.el
@@ -1,5 +1,5 @@
;;; nnmail.el --- mail support functions for the Gnus mail backends
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
@@ -454,7 +454,7 @@ parameter. It should return nil, `warn' or `delete'."
:group 'nnmail
:type '(repeat symbol))
-(defcustom nnmail-split-header-length-limit 1024
+(defcustom nnmail-split-header-length-limit 512
"Header lines longer than this limit are excluded from the split function."
:group 'nnmail
:type 'integer)
@@ -1067,10 +1067,10 @@ FUNC will be called with the group name to determine the article number."
;; existence to process.
(goto-char (point-min))
(while (not (eobp))
- (end-of-line)
- (if (> (current-column) nnmail-split-header-length-limit)
- (delete-region (point) (progn (end-of-line) (point)))
- (forward-line 1)))
+ (unless (< (move-to-column nnmail-split-header-length-limit)
+ nnmail-split-header-length-limit)
+ (delete-region (point) (progn (end-of-line) (point))))
+ (forward-line 1))
;; Allow washing.
(goto-char (point-min))
(run-hooks 'nnmail-split-hook)
View
2  lisp/nnmbox.el
@@ -1,5 +1,5 @@
;;; nnmbox.el --- mail mbox access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
2  lisp/nnmh.el
@@ -1,5 +1,5 @@
;;; nnmh.el --- mhspool access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
2  lisp/nnml.el
@@ -1,5 +1,5 @@
;;; nnml.el --- mail spool access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
2  lisp/nnoo.el
@@ -1,5 +1,5 @@
;;; nnoo.el --- OO Gnus Backends
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/nnsoup.el
@@ -1,5 +1,5 @@
;;; nnsoup.el --- SOUP access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
View
13 lisp/nnspool.el
@@ -1,5 +1,5 @@
;;; nnspool.el --- spool access for GNU Emacs
-;; Copyright (C) 1988,89,90,93,94,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 198,998,89,90,93,94,95,96,97,98 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -136,9 +136,14 @@ there.")
(setq beg (point))
(inline (nnheader-insert-head file))
(goto-char beg)
- (search-forward "\n\n" nil t)
- (forward-char -1)
- (insert ".\n")
+ (if (search-forward "\n\n" nil t)
+ (progn
+ (forward-char -1)
+ (insert ".\n"))
+ (goto-char (point-max))
+ (if (bolp)
+ (insert ".\n")
+ (insert "\n.\n")))
(delete-region (point) (point-max)))
(and do-message
View
2  lisp/nntp.el
@@ -1,5 +1,5 @@
;;; nntp.el --- nntp access for Gnus
-;;; Copyright (C) 1987-90,92-98 Free Software Foundation, Inc.
+;;; Copyright (C) 1987-90,92-99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
2  lisp/nnvirtual.el
@@ -1,5 +1,5 @@
;;; nnvirtual.el --- virtual newsgroups access for Gnus
-;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc.
;; Author: David Moore <dmoore@ucsd.edu>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
View
2  lisp/nnweb.el
@@ -1,5 +1,5 @@
;;; nnweb.el --- retrieving articles via web search engines
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
View
43 lisp/qp.el
@@ -1,5 +1,5 @@
;;; qp.el --- Quoted-Printable functions
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
@@ -32,22 +32,31 @@
(save-excursion
(goto-char from)
(while (search-forward "=" to t)
- (cond ((eq (char-after) ?\n)
- (delete-char -1)
- (delete-char 1))
- ((and
- (memq (char-after) quoted-printable-encoding-characters)
- (memq (char-after (1+ (point)))
- quoted-printable-encoding-characters))
- (subst-char-in-region
- (1- (point)) (point) ?=
- (string-to-number
- (buffer-substring (point) (+ 2 (point)))
- 16))
- (delete-char 2))
- ((looking-at "=")
- (delete-char 1))
- ((message "Malformed MIME quoted-printable message"))))))
+ (cond
+ ;; End of the line.
+ ((eq (char-after) ?\n)
+ (delete-char -1)
+ (delete-char 1))
+ ;; Encoded character.
+ ((and
+ (memq (char-after) quoted-printable-encoding-characters)
+ (memq (char-after (1+ (point)))
+ quoted-printable-encoding-characters))
+ (subst-char-in-region
+ (1- (point)) (point) ?=
+ (string-to-number
+ (buffer-substring (point) (+ 2 (point)))
+ 16))
+ (delete-char 2))
+ ;; Quoted equal sign.
+ ((eq (char-after) ?=)
+ (delete-char 1))
+ ;; End of buffer.
+ ((eobp)
+ (delete-char -1))
+ ;; Invalid.
+ (t
+ (message "Malformed MIME quoted-printable message"))))))
(defun quoted-printable-decode-string (string)
"Decode the quoted-printable-encoded STRING and return the results."