X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=blobdiff_plain;f=lisp%2Fdig.el;h=02cb627cfd33fd3e9ed9c1dad5dbf96a4827686a;hp=ae6a6ef5ee6239d8c66237a966b11616e78f494f;hb=7067d9be35e2177e6b891ede1db93f9af6c7e234;hpb=0733124ad4b17326ad0759a91f8421c7d04afec8 diff --git a/lisp/dig.el b/lisp/dig.el index ae6a6ef5e..02cb627cf 100644 --- a/lisp/dig.el +++ b/lisp/dig.el @@ -1,25 +1,24 @@ ;;; dig.el --- Domain Name System dig interface -;; Copyright (c) 2000, 2001 Free Software Foundation, Inc. + +;; Copyright (C) 2000-2016 Free Software Foundation, Inc. ;; Author: Simon Josefsson -;; Keywords: DNS BIND dig +;; Keywords: DNS BIND dig comm -;; This file is not a part of GNU Emacs, but the same permissions apply. +;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published -;; by the Free Software Foundation; either version 2, or (at your -;; option) any later version. +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. -;; GNU Emacs is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -40,7 +39,8 @@ (eval-when-compile (require 'cl)) (defgroup dig nil - "Dig configuration.") + "Dig configuration." + :group 'comm) (defcustom dig-program "dig" "Name of dig (domain information groper) binary." @@ -67,10 +67,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, @@ -128,32 +128,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) - - (define-key dig-mode-map "q" 'dig-exit)) +(defvar dig-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "q" 'dig-exit) + map)) -(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) - (font-lock-set-defaults))) + ;; FIXME: what is this for?? --Stef + (font-lock-set-defaults)) + ) (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'. @@ -172,9 +169,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