Function: nntp-open-telnet
nntp-open-telnet is a byte-compiled function defined in nntp.el.gz.
Signature
(nntp-open-telnet BUFFER)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nntp.el.gz
(defun nntp-open-telnet (buffer)
(with-current-buffer buffer
(erase-buffer)
(let ((proc (apply
#'start-process
"nntpd" buffer nntp-telnet-command nntp-telnet-switches))
(case-fold-search t))
(when (memq (process-status proc) '(open run))
(nntp-wait-for-string "^r?telnet")
(process-send-string proc "set escape \^X\n")
(cond
((and nntp-open-telnet-envuser nntp-telnet-user-name)
(process-send-string proc (concat "open " "-l" nntp-telnet-user-name
nntp-address "\n")))
(t
(process-send-string proc (concat "open " nntp-address "\n"))))
(cond
((not nntp-open-telnet-envuser)
(nntp-wait-for-string "^\r*.?login:")
(process-send-string
proc (concat
(or nntp-telnet-user-name
(setq nntp-telnet-user-name (read-string "login: ")))
"\n"))))
(nntp-wait-for-string "^\r*.?password:")
(process-send-string
proc (concat
(or nntp-telnet-passwd
(setq nntp-telnet-passwd
(read-passwd "Password: ")))
"\n"))
(nntp-wait-for-string nntp-telnet-shell-prompt)
(process-send-string
proc (concat (mapconcat #'identity nntp-telnet-parameters " ") "\n"))
(nntp-wait-for-string "^\r*20[01]")
(beginning-of-line)
(delete-region (point-min) (point))
(process-send-string proc "\^]")
(nntp-wait-for-string "^r?telnet")
(process-send-string proc "mode character\n")
(accept-process-output proc 1)
(sit-for 1)
(goto-char (point-min))
(forward-line 1)
(delete-region (point) (point-max)))
proc)))