From 991f9c714b5eb273b15d5fade07da8d90839d06d Mon Sep 17 00:00:00 2001 From: yamaoka Date: Tue, 5 Feb 2002 23:13:08 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 19 ++++++++++++- lisp/gnus-art.el | 1 + lisp/gnus.el | 2 +- lisp/message.el | 21 ++++++++++++++ lisp/mm-url.el | 10 ++++--- lisp/mm-view.el | 7 ++--- lisp/nntp.el | 74 ++++++++++++++++++++++++++++---------------------- texi/ChangeLog | 6 ++++ texi/gnus-ja.texi | 1 + texi/gnus.texi | 1 + texi/message-ja.texi | 19 +++++++++++-- texi/message.texi | 19 +++++++++++-- 12 files changed, 134 insertions(+), 46 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2de5b28..0445647 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,23 @@ -2002-02-04 ShengHuo ZHU +2002-02-05 ShengHuo ZHU + + * message.el (message-gen-unsubscribed-mft): New function. + From Sriram Karra . + + * gnus.el (gnus-article-unpropagated-mark-lists): Backslash the + open parenthesis. + + * mm-view.el (mm-w3-prepare-buffer): Bind url-gateway-unplugged. + (mm-inline-text-html-render-with-w3): Ditto. + * gnus-art.el (gnus-article-wash-html-with-w3): Ditto. + Suggested by Dave Love . + + * mm-url.el (mm-url-load-url): Require w3-vars for old versions. * nntp.el (nntp-send-command-and-decode): Check PROCESS. + * nntp.el (nntp-send-command): Ditto. + * nntp.el (nntp-send-command-nodelete): Ditto. + +2002-02-04 ShengHuo ZHU * mm-url.el (mm-url-load-url): New function. (mm-url-insert-file-contents): Use it. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 41a2e88..1865185 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -2283,6 +2283,7 @@ If READ-CHARSET, ask for a coding system." (mm-setup-w3) (let ((w3-strict-width (window-width)) (url-standalone-mode t) + (url-gateway-unplugged t) (w3-honor-stylesheets nil) (w3-delay-image-loads t)) (condition-case var diff --git a/lisp/gnus.el b/lisp/gnus.el index fa5e8ab..464d596 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1907,7 +1907,7 @@ covered by that variable." "Marks that shouldn't be propagated to backends. Typical marks are those that make no sense in a standalone backend, such as a mark that says whether an article is stored in the cache -(which doesn't make sense in a standalone backend).") +\(which doesn't make sense in a standalone backend).") (defvar gnus-headers-retrieved-by nil) (defvar gnus-article-reply nil) diff --git a/lisp/message.el b/lisp/message.el index 4918d96..5c20e8f 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1789,6 +1789,7 @@ Point is left at the beginning of the narrowed-to region." (define-key message-mode-map "\C-c\C-f\C-k" 'message-goto-keywords) (define-key message-mode-map "\C-c\C-f\C-u" 'message-goto-summary) (define-key message-mode-map "\C-c\C-f\C-i" 'message-insert-or-toggle-importance) + (define-key message-mode-map "\C-c\C-f\C-a" 'message-gen-unsubscribed-mft) (define-key message-mode-map "\C-c\C-b" 'message-goto-body) (define-key message-mode-map "\C-c\C-i" 'message-goto-signature) (define-key message-mode-map "\C-c\C-fc" 'message-goto-mail-copies-to) @@ -2202,6 +2203,26 @@ return nil." (goto-char (point-max)) nil)) +(defun message-gen-unsubscribed-mft (&optional include-cc) + "Insert a reasonable MFT header in a post to an unsubscribed list. +When making original posts to a mailing list you are not subscribed to, +you have to type in a MFT header by hand. The contents, usually, are +the addresses of the list and your own address. This function inserts +such a header automatically. It fetches the contents of the To: header +in the current mail buffer, and appends the current user-mail-address. + +If the optional argument `include-cc' is non-nil, the addresses in the +Cc: header are also put into the MFT." + + (interactive) + (message-remove-header "Mail-Followup-To") + (let* ((cc (and include-cc (message-fetch-field "Cc"))) + (tos (if cc + (concat (message-fetch-field "To") "," cc) + (message-fetch-field "To")))) + (message-goto-mail-followup-to) + (insert (concat tos ", " user-mail-address)))) + (defun message-insert-to (&optional force) diff --git a/lisp/mm-url.el b/lisp/mm-url.el index 80d8789..071ecc1 100644 --- a/lisp/mm-url.el +++ b/lisp/mm-url.el @@ -253,10 +253,12 @@ This is taken from RFC 2396.") (defun mm-url-load-url () "Load `url-insert-file-contents'." - (condition-case () - (require 'url-handlers) - (error nil)) - (require 'url)) + (unless (condition-case () + (require 'url-handlers) + (error nil)) + ;; w3-4.0pre0.46 or earlier version. + (require 'w3-vars) + (require 'url))) (defun mm-url-insert-file-contents (url) (if mm-url-use-external diff --git a/lisp/mm-view.el b/lisp/mm-view.el index a0d4c45..4a71760 100644 --- a/lisp/mm-view.el +++ b/lisp/mm-view.el @@ -86,6 +86,7 @@ (let ((text (mm-get-part handle)) (b (point)) (url-standalone-mode t) + (url-gateway-unplugged t) (w3-honor-stylesheets nil) (w3-delay-image-loads t) (url-current-object @@ -119,10 +120,7 @@ (let ((w3-strict-width width) ;; Don't let w3 set the global version of ;; this variable. - (fill-column fill-column) - (w3-honor-stylesheets nil) - (w3-delay-image-loads t) - (url-standalone-mode t)) + (fill-column fill-column)) (condition-case var (w3-region (point-min) (point-max)) (error @@ -351,6 +349,7 @@ will not be substituted.") (defun mm-w3-prepare-buffer () (require 'w3) (let ((url-standalone-mode t) + (url-gateway-unplugged t) (w3-honor-stylesheets nil) (w3-delay-image-loads t)) (w3-prepare-buffer))) diff --git a/lisp/nntp.el b/lisp/nntp.el index 68864d1..c418169 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -419,42 +419,52 @@ noticing asynchronous data.") (set-buffer nntp-server-buffer) (erase-buffer))) (let* ((command (mapconcat 'identity strings " ")) - (buffer (process-buffer (nntp-find-connection nntp-server-buffer))) - (pos (with-current-buffer buffer (point)))) - (prog1 - (nntp-retrieve-data command - nntp-address nntp-port-number nntp-server-buffer - wait-for nnheader-callback-function) - ;; If nothing to wait for, still remove possibly echo'ed commands - (unless wait-for - (nntp-accept-response) - (save-excursion - (set-buffer buffer) - (goto-char pos) - (if (looking-at (regexp-quote command)) - (delete-region pos (progn - (forward-line 1) - (gnus-point-at-bol))))))))) + (process (nntp-find-connection nntp-server-buffer)) + (buffer (and process (process-buffer process))) + (pos (and buffer (with-current-buffer buffer (point))))) + (if process + (prog1 + (nntp-retrieve-data command + nntp-address nntp-port-number + nntp-server-buffer + wait-for nnheader-callback-function) + ;; If nothing to wait for, still remove possibly echo'ed commands + (unless wait-for + (nntp-accept-response) + (save-excursion + (set-buffer buffer) + (goto-char pos) + (if (looking-at (regexp-quote command)) + (delete-region pos (progn (forward-line 1) + (gnus-point-at-bol)))) + ))) + (nnheader-report 'nntp "Couldn't open connection to %s." + nntp-address)))) (defun nntp-send-command-nodelete (wait-for &rest strings) "Send STRINGS to server and wait until WAIT-FOR returns." (let* ((command (mapconcat 'identity strings " ")) - (buffer (process-buffer (nntp-find-connection nntp-server-buffer))) - (pos (with-current-buffer buffer (point)))) - (prog1 - (nntp-retrieve-data command - nntp-address nntp-port-number nntp-server-buffer - wait-for nnheader-callback-function) - ;; If nothing to wait for, still remove possibly echo'ed commands - (unless wait-for - (nntp-accept-response) - (save-excursion - (set-buffer buffer) - (goto-char pos) - (if (looking-at (regexp-quote command)) - (delete-region pos (progn - (forward-line 1) - (gnus-point-at-bol))))))))) + (process (nntp-find-connection nntp-server-buffer)) + (buffer (and process (process-buffer process))) + (pos (and buffer (with-current-buffer buffer (point))))) + (if process + (prog1 + (nntp-retrieve-data command + nntp-address nntp-port-number + nntp-server-buffer + wait-for nnheader-callback-function) + ;; If nothing to wait for, still remove possibly echo'ed commands + (unless wait-for + (nntp-accept-response) + (save-excursion + (set-buffer buffer) + (goto-char pos) + (if (looking-at (regexp-quote command)) + (delete-region pos (progn (forward-line 1) + (gnus-point-at-bol)))) + ))) + (nnheader-report 'nntp "Couldn't open connection to %s." + nntp-address)))) (defun nntp-send-command-and-decode (wait-for &rest strings) "Send STRINGS to server and wait until WAIT-FOR returns." diff --git a/texi/ChangeLog b/texi/ChangeLog index b99b452..f382267 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,9 @@ +2002-02-05 ShengHuo ZHU + + * message.texi (Mailing Lists): Addition. + * gnus.texi (Group Parameters): Addition. + From Sriram Karra . + 2002-02-03 Karl Kleinpaste * gnus.texi (Summary Score Commands): Added detail on "extra" diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 5eb388c..e907c9e 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -2784,6 +2784,7 @@ kiboze $B%0%k!<%W$r:n@.$7$^$9!#%W%m%s%W%H$GL>A0$H!"(Bkiboze $B%0%k!<%W$K!V4^$ @code{gnus-parameter-to-list-alist} $B$b;2>H$7$F2<$5$$!#(B +@anchor{subscribed} @item subscribed @cindex subscribed $B$b$7$3$N%Q%i%a!<%?$,(B @code{t} $B$K@_Dj$5$l$F$$$k$H!"(Bgnus $B$O$"$J$?$,$3$N%0(B diff --git a/texi/gnus.texi b/texi/gnus.texi index b0d23e9..5033429 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -2685,6 +2685,7 @@ entering summary buffer. See also @code{gnus-parameter-to-list-alist}. +@anchor{subscribed} @item subscribed @cindex subscribed If this parameter is set to @code{t}, Gnus will consider the diff --git a/texi/message-ja.texi b/texi/message-ja.texi index 990c381..7d686d7 100644 --- a/texi/message-ja.texi +++ b/texi/message-ja.texi @@ -344,6 +344,7 @@ gnus $B$OB>$N?M$N%a%C%;!<%8$K$"$k(B MFT $B%X%C%@!<$rB:=E$7(B ($B$9$J$o$A!"$ $B$G$-$^$9!#0J2<$NJQ?t$,$N?M$N%a%C%;!<%8$K$"$k(B MFT $B%X%C%@!<$rB:=E$7(B ($B$9$J$o$A!"$ '("ding@@gnus.org" "bing@@noose.org")) @end lisp +@vindex message-subscribed-regexps @item message-subscribed-regexps $B$3$l$O9XFI$7$F$$$k%a!<%j%s%0%j%9%H$N%"%I%l%9$r<($9@55,I=8=$N%j%9%H$G$J$1(B $B$l$P$J$j$^$;$s!#%G%#%U%)%k%HCM$O(B @code{nil} $B$G$9!#>e5-$HF1$87k2L$r@.$7?k(B @@ -360,14 +362,26 @@ gnus $B$OB>$N?M$N%a%C%;!<%8$K$"$k(B MFT $B%X%C%@!<$rB:=E$7(B ($B$9$J$o$A!"$ @lisp (setq message-subscribed-regexps - '("[bd]ing@@\\(gnus\\|noose\\)\\.org")) + '("\\(ding@@gnus\\)\\|\\(bing@@noose\\)\\.org") @end lisp +@vindex message-subscribed-address-functions @item message-subscribed-address-functions $B$3$l$O(B MFT $B%X%C%@!<$NCM$r7h$a$k$?$a$K(B ($B0lEY$K0l2s(B!!) $B8F$P$l$k4X?t$N%j%9(B $B%H$G$"$k$3$H$,$G$-$^$9!#$=$l$i$N4X?t$K$O0z?t$,L5$$$3$H$rCi9p$7$F$*$-$^$9!#(B $B%G%#%U%)%k%HCM$O(B @code{nil} $B$G$9!#(B +gnus $B$K$O$3$NJQ?t$N9%E,$J8uJd$G$"$k$H$3$m$N!"$"$i$+$8$aDj5A$5$l$F$$$k4X(B +$B?t$,$"$j$^$9!#4X?t(B @code{gnus-find-subscribed-addresses} $B$O!"(B +@code{subscribed} (@pxref{(gnus)subscribed}) $B%0%k!<%W%Q%i%a!<%?$,(B +$BHs(B-nil $B$K@_Dj$5$l$F$$$k%0%k!<%W$KBP1~$9$k%"%I%l%9$N%j%9%H$rJV$7$^$9!#$3(B +$B$s$J$U$&$K$7$^$7$g$&!#(B + +@lisp +(setq message-subscribed-address-functions + '(gnus-find-subscribed-addresses)) +@end lisp + @item message-subscribed-address-file $B$"$J$?$O$b$7$+$7$?$i?l68$J?M(B ($B86E5(B: one organised human freak) $B$G!"9XFI(B $B$7$F$$$k$9$Y$F$N%a!<%j%s%0%j%9%H$N%"%I%l%9$N%j%9%H$rJL%U%!%$%k$G;}$C$F$$(B @@ -391,12 +405,13 @@ gnus $B$OB>$N?M$N%a%C%;!<%8$K$"$k(B MFT $B%X%C%@!<$rB:=E$7(B ($B$9$J$o$A!"$ $B$&!<$`!#$=$&$9$k$H$"$J$?$O!V9XFI$7$F$$$J$$%a!<%j%s%0%j%9%H$K%a!<%k$rAw?.(B $B$9$k$H$-$O$I$&$J$k$N(B?$B!W$H?R$M$^$9$M!#$(!<$H!"?F@Z$J(B Gnus $B%?%o!<$N?M$?$A(B $B$,!"$3$NL\E*$G;H$($k$9$Y$F$N4{CN$N%a!<%j%s%0%j%9%H$N%"%I%l%9$N%G!<%?%Y!<(B -$B%9$N:n@.$K$$$=$7$s$G$$$^$9!#$=$l$^$G$O!"(B@kbd{C-c C-f m} $B$r;H$C$F