Mercurial > emacs
annotate lisp/makesum.el @ 31170:84ec8b66d634
(redisplay_internal): If considering all windows on all
frames, update the display for each frame as soon as possible,
instead of first building all desired matrices for all frames, and
then updating them all.
(try_cursor_movement): Handle case that last_cursor.vpos is -1.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 25 Aug 2000 13:21:21 +0000 |
parents | 11218164bc54 |
children | 695cf19ef79e d7ddb3e565de |
rev | line source |
---|---|
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
258
diff
changeset
|
1 ;;; makesum.el --- generate key binding summary for Emacs |
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
258
diff
changeset
|
2 |
845 | 3 ;; Copyright (C) 1985 Free Software Foundation, Inc. |
4 | |
791
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
5 ;; Maintainer: FSF |
811
e694e0879463
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
6 ;; Keywords: help |
791
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
7 |
36 | 8 ;; This file is part of GNU Emacs. |
9 | |
10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
11 ;; it under the terms of the GNU General Public License as published by | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
791
diff
changeset
|
12 ;; the Free Software Foundation; either version 2, or (at your option) |
36 | 13 ;; any later version. |
14 | |
15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 ;; GNU General Public License for more details. | |
19 | |
20 ;; You should have received a copy of the GNU General Public License | |
14169 | 21 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
23 ;; Boston, MA 02111-1307, USA. | |
36 | 24 |
2307
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
25 ;;; Commentary: |
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
26 |
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
27 ;; Displays a nice human-readable summary of all keybindings in a |
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
28 ;; two-column format. |
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
29 |
791
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
30 ;;; Code: |
36 | 31 |
258 | 32 ;;;###autoload |
36 | 33 (defun make-command-summary () |
34 "Make a summary of current key bindings in the buffer *Summary*. | |
35 Previous contents of that buffer are killed first." | |
36 (interactive) | |
37 (message "Making command summary...") | |
38 ;; This puts a description of bindings in a buffer called *Help*. | |
39 (save-window-excursion | |
40 (describe-bindings)) | |
41 (with-output-to-temp-buffer "*Summary*" | |
42 (save-excursion | |
43 (let ((cur-mode mode-name)) | |
44 (set-buffer standard-output) | |
45 (erase-buffer) | |
46 (insert-buffer-substring "*Help*") | |
47 (goto-char (point-min)) | |
48 (delete-region (point) (progn (forward-line 1) (point))) | |
49 (while (search-forward " " nil t) | |
50 (replace-match " ")) | |
51 (goto-char (point-min)) | |
52 (while (search-forward "-@ " nil t) | |
53 (replace-match "-SP")) | |
54 (goto-char (point-min)) | |
55 (while (search-forward " .. ~ " nil t) | |
56 (replace-match "SP .. ~")) | |
57 (goto-char (point-min)) | |
58 (while (search-forward "C-?" nil t) | |
59 (replace-match "DEL")) | |
60 (goto-char (point-min)) | |
61 (while (search-forward "C-i" nil t) | |
62 (replace-match "TAB")) | |
63 (goto-char (point-min)) | |
64 (if (re-search-forward "^Local Bindings:" nil t) | |
65 (progn | |
66 (forward-char -1) | |
67 (insert " for " cur-mode " Mode") | |
68 (while (search-forward "??\n" nil t) | |
69 (delete-region (point) | |
70 (progn | |
71 (forward-line -1) | |
72 (point)))))) | |
73 (goto-char (point-min)) | |
74 (insert "Emacs command summary, " (substring (current-time-string) 0 10) | |
75 ".\n") | |
76 ;; Delete "key binding" and underlining of dashes. | |
77 (delete-region (point) (progn (forward-line 2) (point))) | |
78 (forward-line 1) ;Skip blank line | |
79 (while (not (eobp)) | |
80 (let ((beg (point))) | |
81 (or (re-search-forward "^$" nil t) | |
82 (goto-char (point-max))) | |
83 (double-column beg (point)) | |
84 (forward-line 1))) | |
85 (goto-char (point-min))))) | |
86 (message "Making command summary...done")) | |
87 | |
88 (defun double-column (start end) | |
89 (interactive "r") | |
90 (let (half cnt | |
91 line lines nlines | |
92 (from-end (- (point-max) end))) | |
93 (setq nlines (count-lines start end)) | |
94 (if (<= nlines 1) | |
95 nil | |
96 (setq half (/ (1+ nlines) 2)) | |
97 (goto-char start) | |
98 (save-excursion | |
99 (forward-line half) | |
100 (while (< half nlines) | |
101 (setq half (1+ half)) | |
102 (setq line (buffer-substring (point) (save-excursion (end-of-line) (point)))) | |
103 (setq lines (cons line lines)) | |
104 (delete-region (point) (progn (forward-line 1) (point))))) | |
105 (setq lines (nreverse lines)) | |
106 (while lines | |
107 (end-of-line) | |
108 (indent-to 41) | |
109 (insert (car lines)) | |
110 (forward-line 1) | |
111 (setq lines (cdr lines)))) | |
112 (goto-char (- (point-max) from-end)))) | |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
258
diff
changeset
|
113 |
18383 | 114 (provide 'makesum) |
115 | |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
258
diff
changeset
|
116 ;;; makesum.el ends here |