/[emacs]/emacs/lisp/calc/calc-embed.el
ViewVC logotype

Diff of /emacs/lisp/calc/calc-embed.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.29 by jpb, Tue May 31 19:24:27 2005 UTC revision 1.30 by jpb, Sat Jul 9 03:42:56 2005 UTC
# Line 200  Line 200 
200  (defvar calc-embed-arg)  (defvar calc-embed-arg)
201    
202  (defvar calc-embedded-quiet nil)  (defvar calc-embedded-quiet nil)
203    
204    (defvar calc-embedded-firsttime)
205    (defvar calc-embedded-firsttime-buf)
206    (defvar calc-embedded-firsttime-formula)
207    
208  (defun calc-do-embedded (calc-embed-arg end obeg oend)  (defun calc-do-embedded (calc-embed-arg end obeg oend)
209    (if calc-embedded-info    (if calc-embedded-info
210    
# Line 251  Line 256 
256      (let ((modes (list mode-line-buffer-identification      (let ((modes (list mode-line-buffer-identification
257                         (current-local-map)                         (current-local-map)
258                         truncate-lines))                         truncate-lines))
259              (calc-embedded-firsttime (not calc-embedded-active))
260              (calc-embedded-firsttime-buf nil)
261              (calc-embedded-firsttime-formula nil)
262            calc-embed-top calc-embed-bot calc-embed-outer-top calc-embed-outer-bot            calc-embed-top calc-embed-bot calc-embed-outer-top calc-embed-outer-bot
263            info chg ident)            info chg ident)
264        (barf-if-buffer-read-only)        (barf-if-buffer-read-only)
# Line 297  Line 305 
305          (unless (equal str mode-line-buffer-identification)          (unless (equal str mode-line-buffer-identification)
306            (setq mode-line-buffer-identification str)            (setq mode-line-buffer-identification str)
307            (set-buffer-modified-p (buffer-modified-p))))            (set-buffer-modified-p (buffer-modified-p))))
308          (if calc-embedded-firsttime
309              (run-hooks 'calc-embedded-mode-hook))
310          (if calc-embedded-firsttime-buf
311              (run-hooks 'calc-embedded-new-buffer-hook))
312          (if calc-embedded-firsttime-formula
313              (run-hooks 'calc-embedded-new-formula-hook))
314        (or (eq calc-embedded-quiet t)        (or (eq calc-embedded-quiet t)
315            (message "Embedded Calc mode enabled; %s to return to normal"            (message "Embedded Calc mode enabled; %s to return to normal"
316                     (if calc-embedded-quiet                     (if calc-embedded-quiet
# Line 792  The command \\[yank] can retrieve it fro Line 806  The command \\[yank] can retrieve it fro
806           (new-info nil)           (new-info nil)
807           info str)           info str)
808      (or found      (or found
809          (setq found (list (current-buffer))          (and
810                calc-embedded-active (cons found calc-embedded-active)))           (setq found (list (current-buffer))
811                   calc-embedded-active (cons found calc-embedded-active)
812                   calc-embedded-firsttime-buf t)
813             (let ((newann (assoc major-mode calc-embedded-announce-formula-alist))
814                   (newform (assoc major-mode calc-embedded-open-close-formula-alist))
815                   (newword (assoc major-mode calc-embedded-open-close-word-alist))
816                   (newplain (assoc major-mode calc-embedded-open-close-plain-alist))
817                   (newnewform
818                    (assoc major-mode calc-embedded-open-close-new-formula-alist))
819                   (newmode (assoc major-mode calc-embedded-open-close-mode-alist)))
820               (when newann
821                 (make-local-variable 'calc-embedded-announce-formula)
822                 (setq calc-embedded-announce-formula (cdr newann)))
823               (when newform
824                 (make-local-variable 'calc-embedded-open-formula)
825                 (make-local-variable 'calc-embedded-close-formula)
826                 (setq calc-embedded-open-formula (nth 0 (cdr newform)))
827                 (setq calc-embedded-close-formula (nth 1 (cdr newform))))
828               (when newword
829                 (make-local-variable 'calc-embedded-open-word)
830                 (make-local-variable 'calc-embedded-close-word)
831                 (setq calc-embedded-open-word (nth 0 (cdr newword)))
832                 (setq calc-embedded-close-word (nth 1 (cdr newword))))
833               (when newplain
834                 (make-local-variable 'calc-embedded-open-plain)
835                 (make-local-variable 'calc-embedded-close-plain)
836                 (setq calc-embedded-open-plain (nth 0 (cdr newplain)))
837                 (setq calc-embedded-close-plain (nth 1 (cdr newplain))))
838               (when newnewform
839                 (make-local-variable 'calc-embedded-open-new-formula)
840                 (make-local-variable 'calc-embedded-close-new-formula)
841                 (setq calc-embedded-open-new-formula (nth 0 (cdr newnewform)))
842                 (setq calc-embedded-close-new-formula (nth 1 (cdr newnewform))))
843               (when newmode
844                 (make-local-variable 'calc-embedded-open-mode)
845                 (make-local-variable 'calc-embedded-close-mode)
846                 (setq calc-embedded-open-mode (nth 0 (cdr newmode)))
847                 (setq calc-embedded-close-mode (nth 1 (cdr newmode)))))))
848      (while (and (cdr found)      (while (and (cdr found)
849                  (> point (aref (car (cdr found)) 3)))                  (> point (aref (car (cdr found)) 3)))
850        (setq found (cdr found)))        (setq found (cdr found)))
851      (if (and (cdr found)      (if (and (cdr found)
852               (>= point (aref (nth 1 found) 2)))               (>= point (aref (nth 1 found) 2)))
853          (setq info (nth 1 found))          (setq info (nth 1 found))
854          (setq calc-embedded-firsttime-formula t)
855        (setq info (make-vector 16 nil)        (setq info (make-vector 16 nil)
856              new-info t              new-info t
857              fresh t)              fresh t)

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26