diff options
| author | Richard M. Stallman | 1994-05-23 05:07:27 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-05-23 05:07:27 +0000 |
| commit | ef90db45609739119fd9b13d68e9814c491648cb (patch) | |
| tree | edb646287b5f04558fc1d39e93d9a49609db8d7b | |
| parent | 6b4dd332703a260f5a69d93783388e2cbd51f589 (diff) | |
| download | emacs-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.el | 32 |
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." |