summaryrefslogtreecommitdiff
path: root/lisp/calc
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2006-05-03 11:56:53 +0000
committerKaroly Lorentey <lorentey@elte.hu>2006-05-03 11:56:53 +0000
commitc044516d384ff70e820686d4e995dcc23ee22e6f (patch)
tree4a9b52cf3e7da73040903b719dfca8113a765884 /lisp/calc
parentb33c71f58623306001d4d4fe4f7354d8c360edaa (diff)
parent9d6bb9e0af2671a4deca1509f4a2d5655400f67a (diff)
downloademacs-c044516d384ff70e820686d4e995dcc23ee22e6f.tar.gz
emacs-c044516d384ff70e820686d4e995dcc23ee22e6f.tar.bz2
emacs-c044516d384ff70e820686d4e995dcc23ee22e6f.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-252 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-253 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-254 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-255 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-256 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-257 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-258 Clean up lisp/gnus/ChangeLog a bit * emacs@sv.gnu.org/emacs--devo--0--patch-259 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-260 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-261 lisp/replace.el (occur-engine): Bind `inhibit-field-text-motion' to t * emacs@sv.gnu.org/emacs--devo--0--patch-262 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-96 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-97 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-98 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-554
Diffstat (limited to 'lisp/calc')
-rw-r--r--lisp/calc/calc-embed.el17
1 files changed, 17 insertions, 0 deletions
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)