summaryrefslogtreecommitdiff
path: root/lisp/net/dig.el
diff options
context:
space:
mode:
authorMark Oteiza <mvoteiza@udel.edu>2016-10-19 23:59:04 -0400
committerMark Oteiza <mvoteiza@udel.edu>2016-10-19 23:59:04 -0400
commit10a2239627bd5369bf46d013eb7cfbe27553c8d9 (patch)
treefc95e70f62680c4e29c93b22fe183b50d3e2e2ca /lisp/net/dig.el
parenteb610f270ea919107b10bb8ece200a87abac6e0e (diff)
downloademacs-10a2239627bd5369bf46d013eb7cfbe27553c8d9.tar.gz
emacs-10a2239627bd5369bf46d013eb7cfbe27553c8d9.tar.bz2
emacs-10a2239627bd5369bf46d013eb7cfbe27553c8d9.zip
Derive dig-mode from special-mode
* lisp/net/dig.el: Remove unused cl dependency. Remove top level mode-class assignment. (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer. (dig-mode): Derive from special-mode. (dig-exit): Use quit-window instead. (dig): Use pop-to-buffer-same-window. Remove redundant assignments. (query-dig): Use pop-to-buffer-same-window.
Diffstat (limited to 'lisp/net/dig.el')
-rw-r--r--lisp/net/dig.el18
1 files changed, 6 insertions, 12 deletions
diff --git a/lisp/net/dig.el b/lisp/net/dig.el
index 02cb627cfd3..338afca15f1 100644
--- a/lisp/net/dig.el
+++ b/lisp/net/dig.el
@@ -36,8 +36,6 @@
;;; Code:
-(eval-when-compile (require 'cl))
-
(defgroup dig nil
"Dig configuration."
:group 'comm)
@@ -126,15 +124,13 @@ Buffer should contain output generated by `dig-invoke'."
;; `font-lock-defaults' buffer-local variable.
(put 'dig-mode 'font-lock-defaults '(dig-font-lock-keywords t))
-(put 'dig-mode 'mode-class 'special)
-
(defvar dig-mode-map
(let ((map (make-sparse-keymap)))
- (suppress-keymap map)
+ (define-key map "g" nil)
(define-key map "q" 'dig-exit)
map))
-(define-derived-mode dig-mode nil "Dig"
+(define-derived-mode dig-mode special-mode "Dig"
"Major mode for displaying dig output."
(buffer-disable-undo)
(unless (featurep 'xemacs)
@@ -148,7 +144,7 @@ Buffer should contain output generated by `dig-invoke'."
(defun dig-exit ()
"Quit dig output buffer."
(interactive)
- (kill-buffer (current-buffer)))
+ (quit-window t))
;;;###autoload
(defun dig (domain &optional
@@ -156,14 +152,12 @@ Buffer should contain output generated by `dig-invoke'."
"Query addresses of a DOMAIN using dig, by calling `dig-invoke'.
Optional arguments are passed to `dig-invoke'."
(interactive "sHost: ")
- (switch-to-buffer
+ (pop-to-buffer-same-window
(dig-invoke domain query-type query-class query-option dig-option server))
(goto-char (point-min))
(and (search-forward ";; ANSWER SECTION:" nil t)
(forward-line))
- (dig-mode)
- (setq buffer-read-only t)
- (set-buffer-modified-p nil))
+ (dig-mode))
;; named for consistency with query-dns in dns.el
(defun query-dig (domain &optional
@@ -175,7 +169,7 @@ 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
- (switch-to-buffer buffer)
+ (pop-to-buffer-same-window buffer)
(let ((digger (dig-extract-rr domain query-type query-class)))
(kill-buffer buffer)
digger))))