diff options
| author | Jay Belanger | 2006-05-02 20:52:52 +0000 |
|---|---|---|
| committer | Jay Belanger | 2006-05-02 20:52:52 +0000 |
| commit | 35edc8219aad7310ba1550a54bbe654f143e0b86 (patch) | |
| tree | 54890ac3f0dd24a1318a152aab49ec3d029138a3 | |
| parent | 72fa72acd8e9de3912fcf869cd9a09d3e63f4a2e (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/calc/calc-embed.el | 17 |
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 @@ | |||
| 1 | 2006-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 | |||
| 1 | 2006-05-02 Chong Yidong <cyd@mit.edu> | 8 | 2006-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) |