(defun gnus-article-display-mime-message ()
"Article display method for MIME message."
;; called from `gnus-original-article-buffer'.
- (let ((charset (with-current-buffer gnus-summary-buffer
- default-mime-charset)))
- (make-local-variable 'default-mime-charset)
- (setq default-mime-charset charset)
+ (let ((default-mime-charset (save-excursion
+ (set-buffer gnus-summary-buffer)
+ default-mime-charset)))
(mime-display-message mime-message-structure
- gnus-article-buffer nil gnus-article-mode-map)
- (make-local-variable 'default-mime-charset)
- (setq default-mime-charset charset)
- )
+ gnus-article-buffer nil gnus-article-mode-map))
;; `mime-display-message' changes current buffer to `gnus-article-buffer'.
(make-local-variable 'mime-button-mother-dispatcher)
(setq mime-button-mother-dispatcher
(catch 'done
(condition-case error
(setq grouplens-bbb-process
- (open-network-stream "BBBD" grouplens-bbb-buffer host port))
+ (open-network-stream-as-binary
+ "BBBD" grouplens-bbb-buffer host port))
(error (gnus-message 3 "Error: Failed to connect to BBB")
nil))
(and (null grouplens-bbb-process)
Thank you for your help in stamping out bugs.
"
+
gnus-product-name
(if (string= gnus-product-name "Semi-gnus")
""
This is done simply by taking the old article and adding a Supersedes
header line with the old Message-ID."
(interactive)
- (let ((article (gnus-summary-article-number)))
+ (let ((article (gnus-summary-article-number))
+ gnus-message-setup-hook)
(gnus-setup-message 'reply-yank
(gnus-summary-select-article t)
(set-buffer gnus-original-article-buffer)
;;(defvar nnspool-rejected-article-hook)
;;(defvar xemacs-codename)
-;;; Since the User-Agent is ``vanity'' headers.
(defun gnus-extended-version ()
"Stringified gnus version."
(interactive)
:group 'message-headers
:type 'regexp)
-(defcustom message-ignored-supersedes-headers "^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-Complaints-To:\\|Return-Path:\\|^Supersedes:"
+(defcustom message-ignored-supersedes-headers "^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-Complaints-To:\\|Return-Path:\\|^Supersedes:\\|^X-Trace:\\|^X-Complaints-To:"
"*Header lines matching this regexp will be deleted before posting.
It's best to delete old Path and Date headers before posting to avoid
any confusion."
:group 'message-interface
:type 'regexp)
+(defcustom message-supersede-setup-function
+ 'message-supersede-setup-for-mime-edit
+ "Function to setup a supersede message."
+ :group 'message-sending
+ :type 'function)
+
(defcustom message-subject-re-regexp "^[ \t]*\\([Rr][Ee]:[ \t]*\\)*[ \t]*"
"*Regexp matching \"Re: \" in the subject line."
:group 'message-various
:group 'message-various
:type 'hook)
+(defcustom message-supersede-setup-hook nil
+ "Normal hook, run each time a supersede message is initialized.
+The function `message-supersede' runs this hook."
+ :group 'message-various
+ :type 'hook)
+
(defcustom message-mode-hook nil
"Hook run in message mode buffers."
:group 'message-various
(defcustom message-header-hook nil
"Hook run in a message mode before header encode. Buffer narrowed
to the headers."
- :group 'message-various
- :type 'hook)
+ :group 'message-various
+ :type 'hook)
(defcustom message-header-encode-function
'eword-encode-header
(message "Canceling your article...done"))
(kill-buffer buf)))))
+(defun message-supersede-setup-for-mime-edit ()
+ (set (make-local-variable 'message-setup-hook) nil)
+ (mime-edit-again))
+
;;;###autoload
(defun message-supersede ()
"Start composing a message to supersede the current message.
(goto-char (point-max))
(insert mail-header-separator)
(widen)
- (forward-line 1)))
+ (when message-supersede-setup-function
+ (funcall message-supersede-setup-function))
+ (run-hooks 'message-supersede-setup-hook)
+ (goto-char (point-min))
+ (search-forward (concat "\n" mail-header-separator "\n") nil t)))
;;;###autoload
(defun message-recover ()
(message "Resending message to %s...done" address)))
(defun message-bounce-setup-for-mime-edit ()
- (goto-char (point-min))
- (when (search-forward (concat "\n" mail-header-separator "\n") nil t)
- (replace-match "\n\n"))
(set (make-local-variable 'message-setup-hook) nil)
(mime-edit-again))
(eval-when-compile (require 'cl))
(eval-and-compile
- (unless (fboundp 'open-network-stream)
- (require 'tcp)))
-
-(eval-when-compile (require 'cl))
-
-(eval-and-compile
(autoload 'news-setup "rnewspost")
(autoload 'news-reply-mode "rnewspost")
(autoload 'cancel-timer "timer")
(nnoo-declare nntp)
-(eval-and-compile
- (unless (fboundp 'open-network-stream)
- (require 'tcp)))
-
(eval-when-compile (require 'cl))
(defvoo nntp-address nil
(defvoo nntp-warn-about-losing-connection t
"*If non-nil, beep when a server closes connection.")
-(defvoo nntp-coding-system-for-read 'binary
- "*Coding system to read from NNTP.")
-
-(defvoo nntp-coding-system-for-write 'binary
- "*Coding system to write to NNTP.")
-
(defcustom nntp-authinfo-file "~/.authinfo"
".netrc-like file that holds nntp authinfo passwords."
:type
(kill-buffer ,pbuffer))))))
(process
(condition-case ()
- (let ((coding-system-for-read nntp-coding-system-for-read)
- (coding-system-for-write nntp-coding-system-for-write))
- (funcall nntp-open-connection-function pbuffer))
+ (funcall nntp-open-connection-function pbuffer)
(error nil)
(quit nil))))
(when timer
nil))))
(defun nntp-open-network-stream (buffer)
- (open-network-stream "nntpd" buffer nntp-address nntp-port-number))
+ (open-network-stream-as-binary
+ "nntpd" buffer nntp-address nntp-port-number))
(defun nntp-open-ssl-stream (buffer)
(let* ((ssl-program-arguments '("-connect" (concat host ":" service)))
(save-excursion
(set-buffer buffer)
(erase-buffer)
- (let ((proc (apply
- 'start-process
- "nntpd" buffer nntp-telnet-command nntp-telnet-switches))
+ (let ((proc (as-binary-process
+ (apply
+ 'start-process
+ "nntpd" buffer nntp-telnet-command nntp-telnet-switches)))
(case-fold-search t))
(when (memq (process-status proc) '(open run))
(process-send-string proc "set escape \^X\n")
(defun nntp-open-rlogin (buffer)
"Open a connection to SERVER using rsh."
(let ((proc (if nntp-rlogin-user-name
- (apply 'start-process
- "nntpd" buffer nntp-rlogin-program
- nntp-address "-l" nntp-rlogin-user-name
- nntp-rlogin-parameters)
- (apply 'start-process
- "nntpd" buffer nntp-rlogin-program nntp-address
- nntp-rlogin-parameters))))
+ (as-binary-process
+ (apply 'start-process
+ "nntpd" buffer nntp-rlogin-program
+ nntp-address "-l" nntp-rlogin-user-name
+ nntp-rlogin-parameters))
+ (as-binary-process
+ (apply 'start-process
+ "nntpd" buffer nntp-rlogin-program nntp-address
+ nntp-rlogin-parameters)))))
(save-excursion
(set-buffer buffer)
(nntp-wait-for-string "^\r*20[01]")
(provide 'pop3-fma)
;;
;; pop3-fma.el ends here.
+
+
Returns the process associated with the connection."
(let ((process-buffer
(get-buffer-create (format "trace of POP session to %s" mailhost)))
- (process)
- (coding-system-for-read 'binary) ;; because 0000n0000 S000l 0a0
- (coding-system-for-write 'binary) ;; is st00pid
- )
+ (process))
(save-excursion
(set-buffer process-buffer)
(erase-buffer)
(setq pop3-read-point (point-min))
)
(setq process
- (open-network-stream "POP" process-buffer mailhost port))
+ (open-network-stream-as-binary "POP" process-buffer mailhost port))
(let ((response (pop3-read-response process t)))
(setq pop3-timestamp
(substring response (or (string-match "<" response) 0)
\input texinfo @c -*-texinfo-*-
@setfilename gnus-ja
-@settitle Semi-gnus 6.8.20 Manual
+@settitle Semi-gnus 6.9.1 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Semi-gnus 6.8.20 Manual
+@title Semi-gnus 6.9.1 Manual
@author by Lars Magne Ingebrigtsen
@author by members of Semi-gnus mailing-list
\e$B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O\e(B Unicode Next Generation\e$B$r\e(B
\e$B$*BT$A$/$@$5$$!#\e(B
-\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.8.20 \e$B$KBP1~$7$^$9!#\e(B
+\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.9.1 \e$B$KBP1~$7$^$9!#\e(B
@end ifinfo
@item
@kbd{M-x gnus-version} \e$B$r;n$7$F2<$5$$!#$b$7!"\e(B
-@samp{Semi-gnus 6.8.20 (based on Gnus 5.6.44; for SEMI 1.8, FLIM 1.9/1.9)}
+@samp{Semi-gnus 6.9.1 (based on Gnus 5.6.45; for SEMI 1.11, FLIM 1.12)}
\e$B$N$h$&$J$b$N$,=P$F$-$?$J$i!"@5$7$$%U%!%$%k$,FI$_9~$^$l$F$$$^$9!#\e(B
\e$B$b$7!"\e(B@samp{NNTP 3.x} \e$B$d\e(B @samp{nntp flee} \e$B$N$h$&$J$b$N$,=P$F$-$?$H$-$O!"\e(B
\e$B$=$3$K$"$k$$$/$D$+$N8E$$\e(B @file{.el} \e$B%U%!%$%k$,FI$_9~$^$l$F$$$^$9!#$=$l$i\e(B
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Semi-gnus 6.8.20 Manual
+@settitle Semi-gnus 6.9.1 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Semi-gnus 6.8.20 Manual
+@title Semi-gnus 6.9.1 Manual
@author by Lars Magne Ingebrigtsen
@page
API. So Semi-gnus does not discriminate various language communities.
Oh, if you are a Klingon, please wait Unicode Next Generation.
-This manual corresponds to Semi-gnus 6.8.20.
+This manual corresponds to Semi-gnus 6.9.1.
@end ifinfo