Mercurial > emacs
comparison lisp/calc/calc-embed.el @ 60507:8df8779687e1
(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.
author | Jay Belanger <jay.p.belanger@gmail.com> |
---|---|
date | Tue, 08 Mar 2005 05:26:44 +0000 |
parents | 7e83e55fbe19 |
children | a4928951c9f2 29e773288013 |
comparison
equal
deleted
inserted
replaced
60506:46609ac51b44 | 60507:8df8779687e1 |
---|---|
242 buffer-read-only t) | 242 buffer-read-only t) |
243 (set-buffer-modified-p (buffer-modified-p)) | 243 (set-buffer-modified-p (buffer-modified-p)) |
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 |
250 "Type `M-# x'" | 257 "Type `M-# x'" |
251 "Give this command again"))))) | 258 "Give this command again"))))) |
668 (match-end 2))))) | 675 (match-end 2))))) |
669 modes))))) | 676 modes))))) |
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)) |
676 (no-defaults t) | 695 (no-defaults t) |
677 (modes nil) | 696 (modes nil) |
715 emodes)))) | 734 emodes)))) |
716 (and (looking-at "defaults]") | 735 (and (looking-at "defaults]") |
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, |
723 ;; calc-embedded-evaluate-expr and calc-embedded-update, but is | 747 ;; calc-embedded-evaluate-expr and calc-embedded-update, but is |
724 ;; used by calc-embedded-find-vars, which is called by the above functions. | 748 ;; used by calc-embedded-find-vars, which is called by the above functions. |