From 62481deea3de1c5767a2afcadaabc36281828cc7 Mon Sep 17 00:00:00 2001 From: ichikawa Date: Sun, 28 Jun 1998 09:14:39 +0000 Subject: [PATCH] Importing gnus-5.6.21 --- GNUS-NEWS | 1 + lisp/ChangeLog | 26 +++++++++++++ lisp/gnus-demon.el | 1 + lisp/gnus-group.el | 2 +- lisp/gnus-msg.el | 1 + lisp/gnus-salt.el | 2 +- lisp/gnus-score.el | 2 +- lisp/gnus-spec.el | 8 ++-- lisp/gnus-sum.el | 108 +++++++++++++++++++++++++++------------------------- lisp/gnus-topic.el | 1 + lisp/gnus-util.el | 18 +++++++-- lisp/gnus.el | 2 +- texi/ChangeLog | 1 + texi/gnus.texi | 12 +++--- texi/message.texi | 6 +-- 15 files changed, 120 insertions(+), 71 deletions(-) diff --git a/GNUS-NEWS b/GNUS-NEWS index bef3a3a..71e58c7 100644 --- a/GNUS-NEWS +++ b/GNUS-NEWS @@ -97,3 +97,4 @@ updated by the `gnus-start-date-timer' command. *** Old dejanews archives can now be read by nnweb. +*** Byte-compilation of user-specs now works under XEmacs. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 671dafe..8db48c8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,29 @@ +Sun Jun 28 09:54:52 1998 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.6.21 is released. + +Sun Jun 28 08:51:39 1998 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-edit-article-done): Copy the buffer to + a temp buffer before replacing. + + * gnus-msg.el (gnus-post-news): Treat broken-reply-to in + followups. + + * gnus-sum.el (gnus-summary-goto-subject): Position point. + +Sat Jun 27 09:19:20 1998 Lars Magne Ingebrigtsen + + * gnus-demon.el (gnus-util): Required. + + * gnus-score.el (gnus-score-body): Message fix. + + * gnus-group.el (gnus-group-highlight-line): Use it. + + * gnus-util.el + (gnus-put-text-properties-excluding-characters-with-faces): New + function. + Sat Jun 27 08:56:08 1998 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.6.20 is released. diff --git a/lisp/gnus-demon.el b/lisp/gnus-demon.el index 1f33930..0015a90 100644 --- a/lisp/gnus-demon.el +++ b/lisp/gnus-demon.el @@ -32,6 +32,7 @@ (require 'nnheader) (require 'nntp) (require 'nnmail) +(require 'gnus-util) (eval-and-compile (if (string-match "XEmacs" (emacs-version)) (require 'itimer) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index a92c5ff..3d9fc88 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1127,7 +1127,7 @@ If REGEXP, only list groups matching REGEXP." (setq list (cdr list))) (let ((face (cdar list))) (unless (eq face (get-text-property beg 'face)) - (gnus-put-text-property + (gnus-put-text-property-excluding-characters-with-faces beg end 'face (setq face (if (boundp face) (symbol-value face) face))) (gnus-extent-start-open beg))) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 3e87e42..dfcafca 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -411,6 +411,7 @@ header line with the old Message-ID." (if post (message-news (or to-group group)) (set-buffer gnus-article-copy) + (gnus-msg-treat-broken-reply-to) (message-followup (if (or newsgroup-p force-news) nil to-group))) ;; The is mail. (if post diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index 9a56f37..0dbf148 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -638,7 +638,7 @@ Two predefined functions are available: (not (eval (caar list)))) (setq list (cdr list))))) (unless (eq (setq face (cdar list)) (get-text-property beg 'face)) - (gnus-put-text-property + (gnus-put-text-property-excluding-characters-with-faces beg end 'face (if (boundp face) (symbol-value face) face))))) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 4d81005..68f9c69 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -1651,7 +1651,7 @@ SCORE is the score to add." (setq request-func 'gnus-request-article)) (while articles (setq article (mail-header-number (caar articles))) - (gnus-message 7 "Scoring on article %s of %s..." article last) + (gnus-message 7 "Scoring article %s of %s..." article last) (when (funcall request-func article gnus-newsgroup-name) (widen) (goto-char (point-min)) diff --git a/lisp/gnus-spec.el b/lisp/gnus-spec.el index 138dff8..9163180 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -237,9 +237,10 @@ (defvar gnus-face-4 'bold) (defun gnus-face-face-function (form type) - `(gnus-put-text-property + `(gnus-add-text-properties (point) (progn ,@form (point)) - 'face ',(symbol-value (intern (format "gnus-face-%d" type))))) + '(gnus-face t + face ',(symbol-value (intern (format "gnus-face-%d" type)))))) (defun gnus-tilde-max-form (el max-width) "Return a form that limits EL to MAX-WIDTH." @@ -307,7 +308,8 @@ (let ((number (if (match-beginning 1) (match-string 1) "0")) (delim (aref (match-string 2) 0))) - (if (or (= delim ?\() (= delim ?\{)) + (if (or (= delim ?\() + (= delim ?\{)) (replace-match (concat "\"(" (if (= delim ?\() "mouse" "face") " " number " \"")) (replace-match "\")\"")))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 7b53900..cde9f57 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -2415,7 +2415,7 @@ marks of articles." (setq gnus-tmp-name gnus-tmp-from)) (unless (numberp gnus-tmp-lines) (setq gnus-tmp-lines 0)) - (gnus-put-text-property + (gnus-put-text-property-excluding-characters-with-faces (point) (progn (eval gnus-summary-line-format-spec) (point)) 'gnus-number gnus-tmp-number) @@ -3752,7 +3752,7 @@ or a straight list of headers." (setq gnus-tmp-name gnus-tmp-from)) (unless (numberp gnus-tmp-lines) (setq gnus-tmp-lines 0)) - (gnus-put-text-property + (gnus-put-text-property-excluding-characters-with-faces (point) (progn (eval gnus-summary-line-format-spec) (point)) 'gnus-number number) @@ -5415,6 +5415,7 @@ If FORCE, also allow jumping to articles not currently shown." (gnus-message 3 "Can't find article %d" article)) nil) (goto-char (gnus-data-pos data)) + (gnus-summary-position-point) article))) ;; Walking around summary lines with displaying articles. @@ -7274,55 +7275,58 @@ groups." "Make edits to the current article permanent." (interactive) ;; Replace the article. - (if (and (not read-only) - (not (gnus-request-replace-article - (cdr gnus-article-current) (car gnus-article-current) - (current-buffer)))) - (error "Couldn't replace article") - ;; Update the summary buffer. - (if (and references - (equal (message-tokenize-header references " ") - (message-tokenize-header - (or (message-fetch-field "references") "") " "))) - ;; We only have to update this line. - (save-excursion - (save-restriction - (message-narrow-to-head) - (let ((head (buffer-string)) - header) - (nnheader-temp-write nil - (insert (format "211 %d Article retrieved.\n" - (cdr gnus-article-current))) - (insert head) - (insert ".\n") - (let ((nntp-server-buffer (current-buffer))) - (setq header (car (gnus-get-newsgroup-headers - (save-excursion - (set-buffer gnus-summary-buffer) - gnus-newsgroup-dependencies) - t)))) - (save-excursion - (set-buffer gnus-summary-buffer) - (gnus-data-set-header - (gnus-data-find (cdr gnus-article-current)) - header) - (gnus-summary-update-article-line - (cdr gnus-article-current) header)))))) - ;; Update threads. - (set-buffer (or buffer gnus-summary-buffer)) - (gnus-summary-update-article (cdr gnus-article-current))) - ;; Prettify the article buffer again. - (unless no-highlight - (save-excursion - (set-buffer gnus-article-buffer) - (gnus-run-hooks 'gnus-article-display-hook) - (set-buffer gnus-original-article-buffer) - (gnus-request-article - (cdr gnus-article-current) - (car gnus-article-current) (current-buffer)))) - ;; Prettify the summary buffer line. - (when (gnus-visual-p 'summary-highlight 'highlight) - (gnus-run-hooks 'gnus-visual-mark-article-hook)))) + (let ((buf (current-buffer))) + (nnheader-temp-write nil + (insert-buffer buf) + (if (and (not read-only) + (not (gnus-request-replace-article + (cdr gnus-article-current) (car gnus-article-current) + (current-buffer)))) + (error "Couldn't replace article") + ;; Update the summary buffer. + (if (and references + (equal (message-tokenize-header references " ") + (message-tokenize-header + (or (message-fetch-field "references") "") " "))) + ;; We only have to update this line. + (save-excursion + (save-restriction + (message-narrow-to-head) + (let ((head (buffer-string)) + header) + (nnheader-temp-write nil + (insert (format "211 %d Article retrieved.\n" + (cdr gnus-article-current))) + (insert head) + (insert ".\n") + (let ((nntp-server-buffer (current-buffer))) + (setq header (car (gnus-get-newsgroup-headers + (save-excursion + (set-buffer gnus-summary-buffer) + gnus-newsgroup-dependencies) + t)))) + (save-excursion + (set-buffer gnus-summary-buffer) + (gnus-data-set-header + (gnus-data-find (cdr gnus-article-current)) + header) + (gnus-summary-update-article-line + (cdr gnus-article-current) header)))))) + ;; Update threads. + (set-buffer (or buffer gnus-summary-buffer)) + (gnus-summary-update-article (cdr gnus-article-current))) + ;; Prettify the article buffer again. + (unless no-highlight + (save-excursion + (set-buffer gnus-article-buffer) + (gnus-run-hooks 'gnus-article-display-hook) + (set-buffer gnus-original-article-buffer) + (gnus-request-article + (cdr gnus-article-current) + (car gnus-article-current) (current-buffer)))) + ;; Prettify the summary buffer line. + (when (gnus-visual-p 'summary-highlight 'highlight) + (gnus-run-hooks 'gnus-visual-mark-article-hook)))))) (defun gnus-summary-edit-wash (key) "Perform editing command KEY in the article buffer." @@ -8820,7 +8824,7 @@ save those articles instead." (setq list (cdr list)))) (let ((face (cdar list))) (unless (eq face (get-text-property beg 'face)) - (gnus-put-text-property + (gnus-put-text-property-excluding-characters-with-faces beg end 'face (setq face (if (boundp face) (symbol-value face) face))) (when gnus-summary-highlight-line-function diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 20961be..1f404ba 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -31,6 +31,7 @@ (require 'gnus) (require 'gnus-group) (require 'gnus-start) +(require 'gnus-util) (defgroup gnus-topic nil "Group topics." diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 817b358..a0afd30 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -621,10 +621,22 @@ Bind `print-quoted' and `print-readably' to t while printing." (save-restriction (goto-char beg) (while (re-search-forward "[ \t]*\n" end 'move) - (put-text-property beg (match-beginning 0) prop val) + (gnus-put-text-property beg (match-beginning 0) prop val) (setq beg (point))) - (put-text-property beg (point) prop val))))) - + (gnus-put-text-property beg (point) prop val))))) + +(defun gnus-put-text-property-excluding-characters-with-faces (beg end + prop val) + "The same as `put-text-property', but don't put props on characters with the `gnus-face' property." + (let ((b beg)) + (while (/= b end) + (when (get-text-property b 'gnus-face) + (setq b (next-single-property-change b 'gnus-face nil end))) + (when (/= b end) + (gnus-put-text-property + b (setq b (next-single-property-change b 'gnus-face nil end)) + prop val))))) + ;;; Protected and atomic operations. dmoore@ucsd.edu 21.11.1996 ;;; The primary idea here is to try to protect internal datastructures ;;; from becoming corrupted when the user hits C-g, or if a hook or diff --git a/lisp/gnus.el b/lisp/gnus.el index 3cbbb76..2d68dc8 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -250,7 +250,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "5.6.20" +(defconst gnus-version-number "5.6.21" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) diff --git a/texi/ChangeLog b/texi/ChangeLog index 30092c9..ae2a27f 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,6 +1,7 @@ Sat Jun 27 04:37:14 1998 Lars Magne Ingebrigtsen * gnus.texi (Mail-To-News Gateways): Addition. + (Mail-To-News Gateways): Typo. Fri Jun 26 13:33:00 1998 Yoshiki Hayashi diff --git a/texi/gnus.texi b/texi/gnus.texi index 8ce7bcc..6677448 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Gnus 5.6.20 Manual +@settitle Gnus 5.6.21 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -316,7 +316,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Gnus 5.6.20 Manual +@title Gnus 5.6.21 Manual @author by Lars Magne Ingebrigtsen @page @@ -352,7 +352,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Gnus 5.6.20. +This manual corresponds to Gnus 5.6.21. @end ifinfo @@ -11077,7 +11077,7 @@ Here's an example: @lisp (setq gnus-post-method - '(nngateway "mail2news@replay.com" + '(nngateway "mail2news@@replay.com" (nngateway-header-transformation nngateway-mail2news-header-transformation))) @end lisp @@ -15841,7 +15841,7 @@ actually are people who are using Gnus. Who'd'a thunk it! * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. * Red Gnus:: Third time best---Gnus 5.4/5.5. -* Quassia Gnus:: Two times two is four, or Gnus 5.6.20. +* Quassia Gnus:: Two times two is four, or Gnus 5.6.21. @end menu These lists are, of course, just @emph{short} overviews of the @@ -16376,7 +16376,7 @@ Emphasized text can be properly fontisized: @node Quassia Gnus @subsubsection Quassia Gnus -New features in Gnus 5.6.20: +New features in Gnus 5.6.21: @itemize @bullet diff --git a/texi/message.texi b/texi/message.texi index 1c808dd..8abddd6 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Message 5.6.20 Manual +@settitle Message 5.6.21 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Message 5.6.20 Manual +@title Message 5.6.21 Manual @author by Lars Magne Ingebrigtsen @page @@ -83,7 +83,7 @@ Message mode buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message 5.6.20. Message is distributed with +This manual corresponds to Message 5.6.21. Message is distributed with the Gnus distribution bearing the same version number as this manual has. -- 1.7.10.4