all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
Subject: enhancement to M-x telnet
Date: 15 Apr 2004 18:54:27 +0200	[thread overview]
Message-ID: <m3d66989mk.fsf@kfs-l.imdomain.dk> (raw)


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 <storm@cua.dk> http://www.cua.dk

             reply	other threads:[~2004-04-15 16:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-15 16:54 Kim F. Storm [this message]
2004-04-15 15:45 ` enhancement to M-x telnet Andreas Schwab
2004-04-16 10:43   ` Kim F. Storm
2004-04-16  9:01 ` Mario Lang
2004-04-16 13:35   ` Kim F. Storm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3d66989mk.fsf@kfs-l.imdomain.dk \
    --to=storm@cua.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.