diff options
author | Jay Belanger <jay.p.belanger@gmail.com> | 2004-10-18 19:13:16 +0000 |
---|---|---|
committer | Jay Belanger <jay.p.belanger@gmail.com> | 2004-10-18 19:13:16 +0000 |
commit | 2061942c1644d3d6179faf6f5427b1936954a0ac (patch) | |
tree | 64323a5982ec8b6d6fcc6d947f517410ff249890 /lisp/calc/calc-help.el | |
parent | 8433889043de2a6b8c2812d3a656991c2dd4e50a (diff) | |
download | emacs-2061942c1644d3d6179faf6f5427b1936954a0ac.tar.gz |
(calc-describe-bindings): Set `buffer-read-only' to nil while working
in the keybindings buffer; remove some extra information from the
keybindings buffer.
Diffstat (limited to 'lisp/calc/calc-help.el')
-rw-r--r-- | lisp/calc/calc-help.el | 49 |
1 files changed, 21 insertions, 28 deletions
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index c24a13b91d7..c48ac23e8e5 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el @@ -112,34 +112,27 @@ C-w Describe how there is no warranty for Calc." (describe-bindings) (save-excursion (set-buffer "*Help*") - (goto-char (point-min)) - (if (search-forward "Global bindings:" nil t) - (delete-region (match-beginning 0) (point-max))) - (goto-char (point-min)) - (while (re-search-forward "\n[a-z] ESC" nil t) - (end-of-line) - (delete-region (match-beginning 0) (point))) - (goto-char (point-min)) - (while (re-search-forward "\nESC m" nil t) - (end-of-line) - (delete-region (match-beginning 0) (point))) - (goto-char (point-min)) - (while (search-forward "\n\n\n" nil t) - (backward-delete-char 1) - (backward-char 2)) - (goto-char (point-min)) - (while - (re-search-forward - "\n[a-z] [0-9]\\(\t\t.*\n\\)\\([a-z] [0-9]\\1\\)*[a-z] \\([0-9]\\)\\1" - nil t) - (let ((dig1 (char-after (1- (match-beginning 1)))) - (dig2 (char-after (match-beginning 3)))) - (delete-region (match-end 1) (match-end 0)) - (goto-char (match-beginning 1)) - (delete-backward-char 1) - (delete-char 1) - (insert (format "%c .. %c" (min dig1 dig2) (max dig1 dig2))))) - (goto-char (point-min)))) + (let ((buffer-read-only nil)) + (goto-char (point-min)) + (when (search-forward "Major Mode Bindings:" nil t) + (delete-region (point-min) (point)) + (insert "Calc Mode Bindings:")) + (when (search-forward "Global bindings:" nil t) + (forward-line -1) + (delete-region (point) (point-max))) + (goto-char (point-min)) + (while + (re-search-forward + "\n[a-z] [0-9]\\( .*\n\\)\\([a-z] [0-9]\\1\\)*[a-z] \\([0-9]\\)\\1" + nil t) + (let ((dig1 (char-after (1- (match-beginning 1)))) + (dig2 (char-after (match-beginning 3)))) + (delete-region (match-end 1) (match-end 0)) + (goto-char (match-beginning 1)) + (delete-backward-char 1) + (delete-char 5) + (insert (format "%c .. %c" (min dig1 dig2) (max dig1 dig2))))) + (goto-char (point-min))))) (defun calc-describe-key-briefly (key) (interactive "kDescribe key briefly: ") |