emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 10a2239: Derive dig-mode from special-mode


From: Mark Oteiza
Subject: [Emacs-diffs] master 10a2239: Derive dig-mode from special-mode
Date: Thu, 20 Oct 2016 04:02:09 +0000 (UTC)

branch: master
commit 10a2239627bd5369bf46d013eb7cfbe27553c8d9
Author: Mark Oteiza <address@hidden>
Commit: Mark Oteiza <address@hidden>

    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.
---
 lisp/net/dig.el |   18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/lisp/net/dig.el b/lisp/net/dig.el
index 02cb627..338afca 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))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]