diff options
author | Mark Oteiza <mvoteiza@udel.edu> | 2016-10-19 23:59:04 -0400 |
---|---|---|
committer | Mark Oteiza <mvoteiza@udel.edu> | 2016-10-19 23:59:04 -0400 |
commit | 10a2239627bd5369bf46d013eb7cfbe27553c8d9 (patch) | |
tree | fc95e70f62680c4e29c93b22fe183b50d3e2e2ca /lisp/net/dig.el | |
parent | eb610f270ea919107b10bb8ece200a87abac6e0e (diff) | |
download | emacs-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.el | 18 |
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)))) |