From: Jay Belanger Date: Tue, 2 May 2006 20:52:52 +0000 (+0000) Subject: calc-embed.el: (calc-override-minor-modes-map, calc-override-minor-modes): X-Git-Tag: emacs-pretest-22.0.90~2844 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=35edc8219aad7310ba1550a54bbe654f143e0b86;p=emacs.git 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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 355fae2103a..566d66a5731 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2006-05-02 Jay Belanger + + * calc/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. + 2006-05-02 Chong Yidong * 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 @@ (defvar calc-embedded-firsttime-buf) (defvar calc-embedded-firsttime-formula) +;; The following is to take care of any minor modes which override +;; a Calc command. +(defvar calc-override-minor-modes-map + (make-sparse-keymap) + "A list of keybindings that might be overwritten by minor modes.") + +;; Add any keys that might be overwritten here. +(define-key calc-override-minor-modes-map "`" 'calc-edit) + +(defvar calc-override-minor-modes + (cons t calc-override-minor-modes-map)) + (defun calc-do-embedded (calc-embed-arg end obeg oend) (if calc-embedded-info @@ -237,6 +249,8 @@ truncate-lines (nth 2 mode) buffer-read-only nil) (use-local-map (nth 1 mode)) + (setq minor-mode-overriding-map-alist + (remq calc-override-minor-modes minor-mode-overriding-map-alist)) (set-buffer-modified-p (buffer-modified-p)) (calc-embedded-restore-original-modes) (or calc-embedded-quiet @@ -297,6 +311,9 @@ buffer-read-only t) (set-buffer-modified-p (buffer-modified-p)) (use-local-map calc-mode-map) + (setq minor-mode-overriding-map-alist + (cons calc-override-minor-modes + minor-mode-overriding-map-alist)) (setq calc-no-refresh-evaltos nil) (and chg calc-any-evaltos (calc-wrapper (calc-refresh-evaltos))) (let (str)