aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Belanger2006-05-02 20:52:52 +0000
committerJay Belanger2006-05-02 20:52:52 +0000
commit35edc8219aad7310ba1550a54bbe654f143e0b86 (patch)
tree54890ac3f0dd24a1318a152aab49ec3d029138a3
parent72fa72acd8e9de3912fcf869cd9a09d3e63f4a2e (diff)
downloademacs-35edc8219aad7310ba1550a54bbe654f143e0b86.tar.gz
emacs-35edc8219aad7310ba1550a54bbe654f143e0b86.zip
calc-embed.el: (calc-override-minor-modes-map, calc-override-minor-modes):
New variables. (calc-do-embedded): Make sure that Calc keystrokes aren't overwritten by minor modes.
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/calc/calc-embed.el17
2 files changed, 24 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 355fae2103a..566d66a5731 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
12006-05-02 Jay Belanger <belanger@truman.edu>
2
3 * calc/calc-embed.el: (calc-override-minor-modes-map)
4 (calc-override-minor-modes): New variables.
5 (calc-do-embedded): Make sure that Calc keystrokes aren't
6 overwritten by minor modes.
7
12006-05-02 Chong Yidong <cyd@mit.edu> 82006-05-02 Chong Yidong <cyd@mit.edu>
2 9
3 * msb.el (msb): If EVENT is a down event, read and discard the up 10 * msb.el (msb): If EVENT is a down event, read and discard the up
diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el
index adb94ef7381..e54a94e4d39 100644
--- a/lisp/calc/calc-embed.el
+++ b/lisp/calc/calc-embed.el
@@ -206,6 +206,18 @@
206(defvar calc-embedded-firsttime-buf) 206(defvar calc-embedded-firsttime-buf)
207(defvar calc-embedded-firsttime-formula) 207(defvar calc-embedded-firsttime-formula)
208 208
209;; The following is to take care of any minor modes which override
210;; a Calc command.
211(defvar calc-override-minor-modes-map
212 (make-sparse-keymap)
213 "A list of keybindings that might be overwritten by minor modes.")
214
215;; Add any keys that might be overwritten here.
216(define-key calc-override-minor-modes-map "`" 'calc-edit)
217
218(defvar calc-override-minor-modes
219 (cons t calc-override-minor-modes-map))
220
209(defun calc-do-embedded (calc-embed-arg end obeg oend) 221(defun calc-do-embedded (calc-embed-arg end obeg oend)
210 (if calc-embedded-info 222 (if calc-embedded-info
211 223
@@ -237,6 +249,8 @@
237 truncate-lines (nth 2 mode) 249 truncate-lines (nth 2 mode)
238 buffer-read-only nil) 250 buffer-read-only nil)
239 (use-local-map (nth 1 mode)) 251 (use-local-map (nth 1 mode))
252 (setq minor-mode-overriding-map-alist
253 (remq calc-override-minor-modes minor-mode-overriding-map-alist))
240 (set-buffer-modified-p (buffer-modified-p)) 254 (set-buffer-modified-p (buffer-modified-p))
241 (calc-embedded-restore-original-modes) 255 (calc-embedded-restore-original-modes)
242 (or calc-embedded-quiet 256 (or calc-embedded-quiet
@@ -297,6 +311,9 @@
297 buffer-read-only t) 311 buffer-read-only t)
298 (set-buffer-modified-p (buffer-modified-p)) 312 (set-buffer-modified-p (buffer-modified-p))
299 (use-local-map calc-mode-map) 313 (use-local-map calc-mode-map)
314 (setq minor-mode-overriding-map-alist
315 (cons calc-override-minor-modes
316 minor-mode-overriding-map-alist))
300 (setq calc-no-refresh-evaltos nil) 317 (setq calc-no-refresh-evaltos nil)
301 (and chg calc-any-evaltos (calc-wrapper (calc-refresh-evaltos))) 318 (and chg calc-any-evaltos (calc-wrapper (calc-refresh-evaltos)))
302 (let (str) 319 (let (str)