]> git.eshelyaron.com Git - emacs.git/commitdiff
Add dns-lookup-program wrapper
authorPeter Breton <pbreton@attbi.com>
Sun, 23 Mar 2003 13:39:14 +0000 (13:39 +0000)
committerPeter Breton <pbreton@attbi.com>
Sun, 23 Mar 2003 13:39:14 +0000 (13:39 +0000)
lisp/ChangeLog
lisp/net/net-utils.el

index 4f42a72dba1ff3e646f68a35a9defb65abd80f85..4b2d88f152ede156e3afa84a42e72d49d10f283a 100644 (file)
@@ -1,3 +1,7 @@
+2003-03-23  Peter Breton  <pbreton@attbi.com>
+
+       * net/net-utils.el (dns-lookup-host): New function.
+
 2003-03-23  Martin Stjernholm  <bug-cc-mode@gnu.org>
 
        * progmodes/cc-mode.el (c-parse-state): Added kludge to avoid
index baff8283928b09988c2358117ae6e7bcd61a82bb..982923ed559bec65fdcf312907f3736902fc5c4a 100644 (file)
@@ -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