aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Belanger2005-03-08 05:26:44 +0000
committerJay Belanger2005-03-08 05:26:44 +0000
commitb332c7d3197eb82342200b5b533a2aba3cf2ad96 (patch)
treedd84e4281c0e108d61a1151958d347d671261d89
parent3ee9f6ac67306471052d0e81fc1e1c6ba9850c2f (diff)
downloademacs-b332c7d3197eb82342200b5b533a2aba3cf2ad96.tar.gz
emacs-b332c7d3197eb82342200b5b533a2aba3cf2ad96.zip
(calc-do-embedded): Set mode line when embedded mode begins.
(calc-embedded-language-alist): New variable. (calc-embedded-find-modes): Use calc-embedded-language-alist to set default language mode.
-rw-r--r--lisp/calc/calc-embed.el24
1 files changed, 24 insertions, 0 deletions
diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el
index e3b3b6b5b19..b05d6225036 100644
--- a/lisp/calc/calc-embed.el
+++ b/lisp/calc/calc-embed.el
@@ -244,6 +244,13 @@ This is not required to be present for user-written mode annotations.")
244 (use-local-map calc-mode-map) 244 (use-local-map calc-mode-map)
245 (setq calc-no-refresh-evaltos nil) 245 (setq calc-no-refresh-evaltos nil)
246 (and chg calc-any-evaltos (calc-wrapper (calc-refresh-evaltos))) 246 (and chg calc-any-evaltos (calc-wrapper (calc-refresh-evaltos)))
247 (let (str)
248 (save-excursion
249 (calc-select-buffer)
250 (setq str mode-line-buffer-identification))
251 (unless (equal str mode-line-buffer-identification)
252 (setq mode-line-buffer-identification str)
253 (set-buffer-modified-p (buffer-modified-p))))
247 (or (eq calc-embedded-quiet t) 254 (or (eq calc-embedded-quiet t)
248 (message "Embedded Calc mode enabled; %s to return to normal" 255 (message "Embedded Calc mode enabled; %s to return to normal"
249 (if calc-embedded-quiet 256 (if calc-embedded-quiet
@@ -670,6 +677,18 @@ The command \\[yank] can retrieve it from there."
670 (setq calc-embedded-globals (cons t modes)) 677 (setq calc-embedded-globals (cons t modes))
671 (goto-char save-pt))) 678 (goto-char save-pt)))
672 679
680(defvar calc-embedded-language-alist
681 '((latex-mode . latex)
682 (tex-mode . tex)
683 (plain-tex-mode . tex)
684 (context-mode . tex)
685 (nroff-mode . eqn)
686 (pascal-mode . pascal)
687 (c-mode . c)
688 (c++-mode . c)
689 (fortran-mode . fortran)
690 (f90-mode . fortran)))
691
673(defun calc-embedded-find-modes () 692(defun calc-embedded-find-modes ()
674 (let ((case-fold-search nil) 693 (let ((case-fold-search nil)
675 (save-pt (point)) 694 (save-pt (point))
@@ -717,6 +736,11 @@ The command \\[yank] can retrieve it from there."
717 (setq no-defaults nil))) 736 (setq no-defaults nil)))
718 (backward-char 6)) 737 (backward-char 6))
719 (goto-char save-pt) 738 (goto-char save-pt)
739 (unless (assq 'the-language modes)
740 (let ((lang (assoc major-mode calc-embedded-language-alist)))
741 (if lang
742 (setq modes (cons (cons 'the-language (cdr lang))
743 modes)))))
720 (list modes emodes pmodes))) 744 (list modes emodes pmodes)))
721 745
722;; The variable calc-embed-vars-used is local to calc-embedded-make-info, 746;; The variable calc-embed-vars-used is local to calc-embedded-make-info,