[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
enhancement to M-x telnet
From: |
Kim F. Storm |
Subject: |
enhancement to M-x telnet |
Date: |
15 Apr 2004 18:54:27 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
I frequently use telnet to check connections to other hosts, and as such I need
to specify an alternative port number to connect to.
The following patch allows you to append the port number to the hostname,
e.g.
M-x telnet RET gnu.org:80 RET
An alternative interface would be to specify the port number as a numeric
prefix arg, but that seems rather obscure IMO.
Any objections to installing this patch?
*** telnet.el 17 Feb 2004 00:19:18 +0100 1.7
--- telnet.el 15 Apr 2004 18:49:40 +0200
***************
*** 197,214 ****
;;;###autoload (add-hook 'same-window-regexps
"\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
;;;###autoload
! (defun telnet (host)
"Open a network login connection to host named HOST (a string).
Communication with HOST is recorded in a buffer `*PROGRAM-HOST*'
where PROGRAM is the telnet program being used. This program
is controlled by the contents of the global variable `telnet-host-properties',
falling back on the value of the global variable `telnet-program'.
Normally input is edited in Emacs and sent a line at a time."
(interactive "sOpen connection to host: ")
(let* ((comint-delimiter-argument-list '(?\ ?\t))
(properties (cdr (assoc host telnet-host-properties)))
(telnet-program (if properties (car properties) telnet-program))
! (name (concat telnet-program "-" (comint-arguments host 0 nil) ))
(buffer (get-buffer (concat "*" name "*")))
(telnet-options (if (cdr properties) (cons "-l" (cdr properties))))
process)
--- 197,224 ----
;;;###autoload (add-hook 'same-window-regexps
"\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
;;;###autoload
! (defun telnet (host &optional port)
"Open a network login connection to host named HOST (a string).
+ Optional arg PORT specifies alternative port to connect to. Interactively,
+ the port numbers is specified by appending :PORT to the host name.
Communication with HOST is recorded in a buffer `*PROGRAM-HOST*'
where PROGRAM is the telnet program being used. This program
is controlled by the contents of the global variable `telnet-host-properties',
falling back on the value of the global variable `telnet-program'.
Normally input is edited in Emacs and sent a line at a time."
(interactive "sOpen connection to host: ")
+ (if port
+ (if (numberp port)
+ (setq port (int-to-string port)))
+ (let ((hp (split-string host ": " t)))
+ (if (> (length hp) 1)
+ (setq host (car hp)
+ port (cadr hp)))))
(let* ((comint-delimiter-argument-list '(?\ ?\t))
(properties (cdr (assoc host telnet-host-properties)))
(telnet-program (if properties (car properties) telnet-program))
! (hname (if port (concat host ":" port) host))
! (name (concat telnet-program "-" (comint-arguments hname 0 nil) ))
(buffer (get-buffer (concat "*" name "*")))
(telnet-options (if (cdr properties) (cons "-l" (cdr properties))))
process)
***************
*** 221,227 ****
;; Don't send the `open' cmd till telnet is ready for it.
(accept-process-output process)
(erase-buffer)
! (send-string process (concat "open " host "\n"))
(telnet-mode)
(setq comint-input-sender 'telnet-simple-send)
(setq telnet-count telnet-initial-count))))
--- 231,239 ----
;; Don't send the `open' cmd till telnet is ready for it.
(accept-process-output process)
(erase-buffer)
! (send-string process (concat "open " host
! (if port " " "") (or port "")
! "\n"))
(telnet-mode)
(setq comint-input-sender 'telnet-simple-send)
(setq telnet-count telnet-initial-count))))
--
Kim F. Storm <address@hidden> http://www.cua.dk
- enhancement to M-x telnet,
Kim F. Storm <=