aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1994-05-23 05:07:27 +0000
committerRichard M. Stallman1994-05-23 05:07:27 +0000
commitef90db45609739119fd9b13d68e9814c491648cb (patch)
treeedb646287b5f04558fc1d39e93d9a49609db8d7b
parent6b4dd332703a260f5a69d93783388e2cbd51f589 (diff)
downloademacs-ef90db45609739119fd9b13d68e9814c491648cb.tar.gz
emacs-ef90db45609739119fd9b13d68e9814c491648cb.zip
(select-tags-table-mode): New function, a major mode.
(select-tags-table): Call that. (select-tags-table-mode-map): New variable.
-rw-r--r--lisp/progmodes/etags.el32
1 files changed, 22 insertions, 10 deletions
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index a3b51141168..0b8d7f2f045 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1421,8 +1421,6 @@ see the doc of that variable if you want to add names to the list."
1421 (pop-to-buffer "*Tags Table List*") 1421 (pop-to-buffer "*Tags Table List*")
1422 (setq buffer-read-only nil) 1422 (setq buffer-read-only nil)
1423 (erase-buffer) 1423 (erase-buffer)
1424 (setq selective-display t
1425 selective-display-ellipses nil)
1426 (let ((set-list tags-table-set-list) 1424 (let ((set-list tags-table-set-list)
1427 (desired-point nil)) 1425 (desired-point nil))
1428 (if tags-table-list 1426 (if tags-table-list
@@ -1464,16 +1462,30 @@ see the doc of that variable if you want to add names to the list."
1464 (goto-char desired-point)) 1462 (goto-char desired-point))
1465 (set-window-start (selected-window) 1 t)) 1463 (set-window-start (selected-window) 1 t))
1466 (set-buffer-modified-p nil) 1464 (set-buffer-modified-p nil)
1465 (select-tags-table-mode))
1466
1467(defvar select-tags-table-mode-map)
1468(let ((map (make-sparse-keymap)))
1469 (define-key map "t" 'select-tags-table-select)
1470 (define-key map " " 'next-line)
1471 (define-key map "\^?" 'previous-line)
1472 (define-key map "n" 'next-line)
1473 (define-key map "p" 'previous-line)
1474 (define-key map "q" 'select-tags-table-quit)
1475 (setq select-tags-table-mode-map map))
1476
1477(defun select-tags-table-mode ()
1478 "Major mode for choosing a current tags table among those already loaded.
1479
1480\\{select-tags-table-mode-map}"
1481 (interactive)
1482 (kill-all-local-variables)
1467 (setq buffer-read-only t 1483 (setq buffer-read-only t
1484 major-mode 'select-tags-table-mode
1468 mode-name "Select Tags Table") 1485 mode-name "Select Tags Table")
1469 (let ((map (make-sparse-keymap))) 1486 (use-local-map select-tags-table-mode-map)
1470 (define-key map "t" 'select-tags-table-select) 1487 (setq selective-display t
1471 (define-key map " " 'next-line) 1488 selective-display-ellipses nil))
1472 (define-key map "\^?" 'previous-line)
1473 (define-key map "n" 'next-line)
1474 (define-key map "p" 'previous-line)
1475 (define-key map "q" 'select-tags-table-quit)
1476 (use-local-map map)))
1477 1489
1478(defun select-tags-table-select () 1490(defun select-tags-table-select ()
1479 "Select the tags table named on this line." 1491 "Select the tags table named on this line."