diff options
| author | Jay Belanger | 2005-03-08 05:26:44 +0000 |
|---|---|---|
| committer | Jay Belanger | 2005-03-08 05:26:44 +0000 |
| commit | b332c7d3197eb82342200b5b533a2aba3cf2ad96 (patch) | |
| tree | dd84e4281c0e108d61a1151958d347d671261d89 | |
| parent | 3ee9f6ac67306471052d0e81fc1e1c6ba9850c2f (diff) | |
| download | emacs-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.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.") | |||
| 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, |