X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fdig.el;h=d36247a1d1f5d9a8a27e35df27a97a83783a9c9f;hb=b0eccd76f35ef80c3ad13f09e588d49358e9c22a;hp=c14318156172f3b6230c0c536a0084b2bc86e2e3;hpb=8b5af94e55ef83ee46b42d32d92fa1ce95dcacf5;p=gnus diff --git a/lisp/dig.el b/lisp/dig.el index c14318156..d36247a1d 100644 --- a/lisp/dig.el +++ b/lisp/dig.el @@ -1,10 +1,10 @@ ;;; dig.el --- Domain Name System dig interface ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Simon Josefsson -;; Keywords: DNS BIND dig +;; Keywords: DNS BIND dig comm ;; This file is part of GNU Emacs. @@ -68,10 +68,10 @@ If nil, use system defaults." query-type query-class query-option dig-option server) "Call dig with given arguments and return buffer containing output. -DOMAIN is a string with a DNS domain. QUERY-TYPE is an optional string -with a DNS type. QUERY-CLASS is an optional string with a DNS class. -QUERY-OPTION is an optional string with dig \"query options\". -DIG-OPTIONS is an optional string with parameters for the dig program. +DOMAIN is a string with a DNS domain. QUERY-TYPE is an optional +string with a DNS type. QUERY-CLASS is an optional string with a DNS +class. QUERY-OPTION is an optional string with dig \"query options\". +DIG-OPTION is an optional string with parameters for the dig program. SERVER is an optional string with a domain name server to query. Dig is an external program found in the BIND name server distribution, @@ -129,36 +129,29 @@ Buffer should contain output generated by `dig-invoke'." (put 'dig-mode 'mode-class 'special) -(defvar dig-mode-map nil) -(unless dig-mode-map - (setq dig-mode-map (make-sparse-keymap)) - (suppress-keymap dig-mode-map) +(defvar dig-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "q" 'dig-exit) + map)) - (define-key dig-mode-map "q" 'dig-exit)) - -(defun dig-mode () +(define-derived-mode dig-mode nil "Dig" "Major mode for displaying dig output." - (interactive) - (kill-all-local-variables) - (setq mode-name "dig") - (setq major-mode 'dig-mode) - (use-local-map dig-mode-map) (buffer-disable-undo) (unless (featurep 'xemacs) (set (make-local-variable 'font-lock-defaults) '(dig-font-lock-keywords t))) (when (featurep 'font-lock) + ;; FIXME: what is this for?? --Stef (font-lock-set-defaults)) - (save-current-buffer - (if (fboundp 'run-mode-hooks) - (run-mode-hooks 'dig-mode-hook) - (run-hooks 'dig-mode-hook)))) + ) (defun dig-exit () "Quit dig output buffer." (interactive) (kill-buffer (current-buffer))) +;;;###autoload (defun dig (domain &optional query-type query-class query-option dig-option server) "Query addresses of a DOMAIN using dig, by calling `dig-invoke'. @@ -177,9 +170,9 @@ Optional arguments are passed to `dig-invoke'." (defun query-dig (domain &optional query-type query-class query-option dig-option server) "Query addresses of a DOMAIN using dig. -It works by calling `dig-invoke' and `dig-extract-rr'. Optional -arguments are passed to `dig-invoke' and `dig-extract-rr'. Returns -nil for domain/class/type queries that results in no data." +It works by calling `dig-invoke' and `dig-extract-rr'. +Optional arguments are passed to `dig-invoke' and `dig-extract-rr'. +Returns nil for domain/class/type queries that result in no data." (let ((buffer (dig-invoke domain query-type query-class query-option dig-option server))) (when buffer @@ -190,5 +183,4 @@ nil for domain/class/type queries that results in no data." (provide 'dig) -;; arch-tag: 1d61726e-9400-4013-9ae7-4035e0c7f7d6 ;;; dig.el ends here