;;; Code:
-(eval-when-compile (require 'cl))
-
(defgroup dig nil
"Dig configuration."
:group 'comm)
;; `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)
(defun dig-exit ()
"Quit dig output buffer."
(interactive)
- (kill-buffer (current-buffer)))
+ (quit-window t))
;;;###autoload
(defun dig (domain &optional
"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
(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))))