diff options
| author | Jay Belanger <jay.p.belanger@gmail.com> | 2005-03-08 05:26:44 +0000 |
|---|---|---|
| committer | Jay Belanger <jay.p.belanger@gmail.com> | 2005-03-08 05:26:44 +0000 |
| commit | b332c7d3197eb82342200b5b533a2aba3cf2ad96 (patch) | |
| tree | dd84e4281c0e108d61a1151958d347d671261d89 /lisp | |
| parent | 3ee9f6ac67306471052d0e81fc1e1c6ba9850c2f (diff) | |
| download | emacs-b332c7d3197eb82342200b5b533a2aba3cf2ad96.tar.gz | |
(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.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/calc/calc-embed.el | 24 |
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.") (use-local-map calc-mode-map) (setq calc-no-refresh-evaltos nil) (and chg calc-any-evaltos (calc-wrapper (calc-refresh-evaltos))) + (let (str) + (save-excursion + (calc-select-buffer) + (setq str mode-line-buffer-identification)) + (unless (equal str mode-line-buffer-identification) + (setq mode-line-buffer-identification str) + (set-buffer-modified-p (buffer-modified-p)))) (or (eq calc-embedded-quiet t) (message "Embedded Calc mode enabled; %s to return to normal" (if calc-embedded-quiet @@ -670,6 +677,18 @@ The command \\[yank] can retrieve it from there." (setq calc-embedded-globals (cons t modes)) (goto-char save-pt))) +(defvar calc-embedded-language-alist + '((latex-mode . latex) + (tex-mode . tex) + (plain-tex-mode . tex) + (context-mode . tex) + (nroff-mode . eqn) + (pascal-mode . pascal) + (c-mode . c) + (c++-mode . c) + (fortran-mode . fortran) + (f90-mode . fortran))) + (defun calc-embedded-find-modes () (let ((case-fold-search nil) (save-pt (point)) @@ -717,6 +736,11 @@ The command \\[yank] can retrieve it from there." (setq no-defaults nil))) (backward-char 6)) (goto-char save-pt) + (unless (assq 'the-language modes) + (let ((lang (assoc major-mode calc-embedded-language-alist))) + (if lang + (setq modes (cons (cons 'the-language (cdr lang)) + modes))))) (list modes emodes pmodes))) ;; The variable calc-embed-vars-used is local to calc-embedded-make-info, |
