diff options
| author | Mark Oteiza | 2016-10-19 23:59:04 -0400 |
|---|---|---|
| committer | Mark Oteiza | 2016-10-19 23:59:04 -0400 |
| commit | 10a2239627bd5369bf46d013eb7cfbe27553c8d9 (patch) | |
| tree | fc95e70f62680c4e29c93b22fe183b50d3e2e2ca | |
| parent | eb610f270ea919107b10bb8ece200a87abac6e0e (diff) | |
| download | emacs-10a2239627bd5369bf46d013eb7cfbe27553c8d9.tar.gz 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.
| -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 @@ | |||
| 36 | 36 | ||
| 37 | ;;; Code: | 37 | ;;; Code: |
| 38 | 38 | ||
| 39 | (eval-when-compile (require 'cl)) | ||
| 40 | |||
| 41 | (defgroup dig nil | 39 | (defgroup dig nil |
| 42 | "Dig configuration." | 40 | "Dig configuration." |
| 43 | :group 'comm) | 41 | :group 'comm) |
| @@ -126,15 +124,13 @@ Buffer should contain output generated by `dig-invoke'." | |||
| 126 | ;; `font-lock-defaults' buffer-local variable. | 124 | ;; `font-lock-defaults' buffer-local variable. |
| 127 | (put 'dig-mode 'font-lock-defaults '(dig-font-lock-keywords t)) | 125 | (put 'dig-mode 'font-lock-defaults '(dig-font-lock-keywords t)) |
| 128 | 126 | ||
| 129 | (put 'dig-mode 'mode-class 'special) | ||
| 130 | |||
| 131 | (defvar dig-mode-map | 127 | (defvar dig-mode-map |
| 132 | (let ((map (make-sparse-keymap))) | 128 | (let ((map (make-sparse-keymap))) |
| 133 | (suppress-keymap map) | 129 | (define-key map "g" nil) |
| 134 | (define-key map "q" 'dig-exit) | 130 | (define-key map "q" 'dig-exit) |
| 135 | map)) | 131 | map)) |
| 136 | 132 | ||
| 137 | (define-derived-mode dig-mode nil "Dig" | 133 | (define-derived-mode dig-mode special-mode "Dig" |
| 138 | "Major mode for displaying dig output." | 134 | "Major mode for displaying dig output." |
| 139 | (buffer-disable-undo) | 135 | (buffer-disable-undo) |
| 140 | (unless (featurep 'xemacs) | 136 | (unless (featurep 'xemacs) |
| @@ -148,7 +144,7 @@ Buffer should contain output generated by `dig-invoke'." | |||
| 148 | (defun dig-exit () | 144 | (defun dig-exit () |
| 149 | "Quit dig output buffer." | 145 | "Quit dig output buffer." |
| 150 | (interactive) | 146 | (interactive) |
| 151 | (kill-buffer (current-buffer))) | 147 | (quit-window t)) |
| 152 | 148 | ||
| 153 | ;;;###autoload | 149 | ;;;###autoload |
| 154 | (defun dig (domain &optional | 150 | (defun dig (domain &optional |
| @@ -156,14 +152,12 @@ Buffer should contain output generated by `dig-invoke'." | |||
| 156 | "Query addresses of a DOMAIN using dig, by calling `dig-invoke'. | 152 | "Query addresses of a DOMAIN using dig, by calling `dig-invoke'. |
| 157 | Optional arguments are passed to `dig-invoke'." | 153 | Optional arguments are passed to `dig-invoke'." |
| 158 | (interactive "sHost: ") | 154 | (interactive "sHost: ") |
| 159 | (switch-to-buffer | 155 | (pop-to-buffer-same-window |
| 160 | (dig-invoke domain query-type query-class query-option dig-option server)) | 156 | (dig-invoke domain query-type query-class query-option dig-option server)) |
| 161 | (goto-char (point-min)) | 157 | (goto-char (point-min)) |
| 162 | (and (search-forward ";; ANSWER SECTION:" nil t) | 158 | (and (search-forward ";; ANSWER SECTION:" nil t) |
| 163 | (forward-line)) | 159 | (forward-line)) |
| 164 | (dig-mode) | 160 | (dig-mode)) |
| 165 | (setq buffer-read-only t) | ||
| 166 | (set-buffer-modified-p nil)) | ||
| 167 | 161 | ||
| 168 | ;; named for consistency with query-dns in dns.el | 162 | ;; named for consistency with query-dns in dns.el |
| 169 | (defun query-dig (domain &optional | 163 | (defun query-dig (domain &optional |
| @@ -175,7 +169,7 @@ Returns nil for domain/class/type queries that result in no data." | |||
| 175 | (let ((buffer (dig-invoke domain query-type query-class | 169 | (let ((buffer (dig-invoke domain query-type query-class |
| 176 | query-option dig-option server))) | 170 | query-option dig-option server))) |
| 177 | (when buffer | 171 | (when buffer |
| 178 | (switch-to-buffer buffer) | 172 | (pop-to-buffer-same-window buffer) |
| 179 | (let ((digger (dig-extract-rr domain query-type query-class))) | 173 | (let ((digger (dig-extract-rr domain query-type query-class))) |
| 180 | (kill-buffer buffer) | 174 | (kill-buffer buffer) |
| 181 | digger)))) | 175 | digger)))) |