From: Peter Breton Date: Sun, 23 Mar 2003 13:39:14 +0000 (+0000) Subject: Add dns-lookup-program wrapper X-Git-Tag: ttn-vms-21-2-B4~10770 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ac8a189856cf2b2e376f9f07b39f8b7828e06cb9;p=emacs.git Add dns-lookup-program wrapper --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4f42a72dba1..4b2d88f152e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2003-03-23 Peter Breton + + * net/net-utils.el (dns-lookup-host): New function. + 2003-03-23 Martin Stjernholm * progmodes/cc-mode.el (c-parse-state): Added kludge to avoid diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el index baff8283928..982923ed559 100644 --- a/lisp/net/net-utils.el +++ b/lisp/net/net-utils.el @@ -205,6 +205,18 @@ This variable is only used if the variable :group 'net-utils :type 'regexp) +(defcustom dns-lookup-program "host" + "Program to interactively query DNS information." + :group 'net-utils + :type 'string + ) + +(defcustom dns-lookup-program-options nil + "List of options to pass to the dns-lookup program." + :group 'net-utils + :type '(repeat string) + ) + ;; Internal variables (defvar network-connection-service nil) (defvar network-connection-host nil) @@ -428,6 +440,25 @@ If your system's ping continues until interrupted, you can try setting (define-key nslookup-mode-map "\t" 'comint-dynamic-complete) +;;;###autoload +(defun dns-lookup-host (host) + "Lookup the DNS information for HOST (name or IP address)." + (interactive + (list (read-from-minibuffer "Lookup host: " (net-utils-machine-at-point)))) + (let ((options + (if dns-lookup-program-options + (append dns-lookup-program-options (list host)) + (list host)))) + (net-utils-run-program + (concat "DNS Lookup [" host "]") + (concat "** " + (mapconcat 'identity + (list "DNS Lookup" host dns-lookup-program) + " ** ")) + dns-lookup-program + options + ))) + ;;;###autoload (defun dig (host) "Run dig program." @@ -622,10 +653,11 @@ queries of the form USER@HOST, and wants a query containing USER only." (process-name (concat "Finger [" user-and-host "]")) (regexps finger-X.500-host-regexps) found) - (while (and regexps (not (string-match (car regexps) host))) - (setq regexps (cdr regexps))) - (when regexps - (setq user-and-host user)) + (and regexps + (while (not (string-match (car regexps) host)) + (setq regexps (cdr regexps))) + (when regexps + (setq user-and-host user))) (run-network-program process-name host