]> git.eshelyaron.com Git - emacs.git/commitdiff
(calc-describe-bindings): Set `buffer-read-only' to nil while working
authorJay Belanger <jay.p.belanger@gmail.com>
Mon, 18 Oct 2004 19:13:16 +0000 (19:13 +0000)
committerJay Belanger <jay.p.belanger@gmail.com>
Mon, 18 Oct 2004 19:13:16 +0000 (19:13 +0000)
in the keybindings buffer; remove some extra information from the
keybindings buffer.

lisp/calc/calc-help.el

index c24a13b91d7951b8959d511f7c58eeebb9ce941c..c48ac23e8e5236c0bd0212654429a99003ce5a19 100644 (file)
@@ -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: ")