summaryrefslogtreecommitdiff
path: root/lisp/calc/calc-help.el
diff options
context:
space:
mode:
authorJay Belanger <jay.p.belanger@gmail.com>2004-10-18 19:13:16 +0000
committerJay Belanger <jay.p.belanger@gmail.com>2004-10-18 19:13:16 +0000
commit2061942c1644d3d6179faf6f5427b1936954a0ac (patch)
tree64323a5982ec8b6d6fcc6d947f517410ff249890 /lisp/calc/calc-help.el
parent8433889043de2a6b8c2812d3a656991c2dd4e50a (diff)
downloademacs-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.el49
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: ")