• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/emacs-93/emacs/lisp/calc/

Lines Matching defs:embedded

44 (defvar calc-embedded-modes nil)
45 (defvar calc-embedded-globals nil)
46 (defvar calc-embedded-active nil)
47 (defvar calc-embedded-all-active nil)
48 (make-variable-buffer-local 'calc-embedded-all-active)
49 (defvar calc-embedded-some-active nil)
50 (make-variable-buffer-local 'calc-embedded-some-active)
53 (defvar calc-embedded-announce-formula)
54 (defvar calc-embedded-open-formula)
55 (defvar calc-embedded-close-formula)
56 (defvar calc-embedded-open-word)
57 (defvar calc-embedded-close-word)
58 (defvar calc-embedded-open-plain)
59 (defvar calc-embedded-close-plain)
60 (defvar calc-embedded-open-new-formula)
61 (defvar calc-embedded-close-new-formula)
62 (defvar calc-embedded-open-mode)
63 (defvar calc-embedded-close-mode)
65 (defconst calc-embedded-mode-vars '(("precision" . calc-internal-prec)
99 ;;; Format of calc-embedded-info vector:
107 ;;; 7 Non-nil if formula is embedded within a single line.
118 ;;; calc-embedded-active is an a-list keyed on buffers; each cdr is a
119 ;;; sorted list of calc-embedded-infos in that buffer. We do this
123 (defvar calc-embedded-original-modes nil
124 "The mode settings for Calc buffer when put in embedded mode.")
126 (defun calc-embedded-save-original-modes ()
127 "Save the current Calc modes when entereding embedded mode."
141 (let ((v calc-embedded-mode-vars))
149 (setq calc-embedded-original-modes (cons lang modes)))
150 (setq calc-embedded-original-modes nil))))
152 (defun calc-embedded-preserve-modes ()
153 "Preserve the current modes when leaving embedded mode."
155 (if calc-embedded-info
157 (calc-embedded-save-original-modes)
158 (message "Current modes will be preserved when leaving embedded mode."))
159 (message "Not in embedded mode.")))
161 (defun calc-embedded-restore-original-modes ()
162 "Restore the original Calc modes when leaving embedded mode."
165 (lang (car calc-embedded-original-modes))
166 (modes (cdr calc-embedded-original-modes)))
167 (if (and calcbuf calc-embedded-original-modes)
183 (setq calc-embedded-original-modes nil)))
187 ;; local to calc-do-embedded, calc-embedded-mark-formula,
188 ;; calc-embedded-duplicate, calc-embedded-new-formula and
189 ;; calc-embedded-make-info, but are used by calc-embedded-find-bounds,
196 ;; The variable calc-embed-arg is local to calc-do-embedded,
197 ;; calc-embedded-update-formula, calc-embedded-edit and
198 ;; calc-do-embedded-activate, but is used by
199 ;; calc-embedded-make-info, which is called by the above
203 (defvar calc-embedded-quiet nil)
205 (defvar calc-embedded-firsttime)
206 (defvar calc-embedded-firsttime-buf)
207 (defvar calc-embedded-firsttime-formula)
221 (defun calc-do-embedded (calc-embed-arg end obeg oend)
222 (if calc-embedded-info
224 ;; Turn embedded mode off or switch to a new buffer.
225 (cond ((eq (current-buffer) (aref calc-embedded-info 1))
227 (buf (aref calc-embedded-info 0)))
228 (calc-embedded-original-buffer t)
229 (calc-embedded nil)
232 ((eq (current-buffer) (aref calc-embedded-info 0))
233 (let* ((info calc-embedded-info)
234 (mode calc-embedded-modes))
242 (calc-embedded-set-modes
244 (let ((calc-embedded-info nil))
247 (setq calc-embedded-info nil
255 (calc-embedded-restore-original-modes)
256 (or calc-embedded-quiet
260 (if (buffer-name (aref calc-embedded-info 0))
262 (set-buffer (aref calc-embedded-info 0))
266 (calc-embedded nil)))
267 (calc-embedded calc-embed-arg end obeg oend)))
269 ;; Turn embedded mode on.
274 (calc-embedded-firsttime (not calc-embedded-active))
275 (calc-embedded-firsttime-buf nil)
276 (calc-embedded-firsttime-formula nil)
280 (calc-embedded-save-original-modes)
281 (or calc-embedded-globals
284 (calc-embedded-make-info (point) nil t calc-embed-arg end obeg oend))
287 (setq calc-embedded-original-modes nil)
291 (calc-embedded-info info)
292 (calc-embedded-no-reselect t))
299 (setq chg (calc-embedded-set-modes
301 (setq chg (calc-embedded-set-modes
307 (setq calc-embedded-info info
308 calc-embedded-modes modes
326 (if calc-embedded-firsttime
327 (run-hooks 'calc-embedded-mode-hook))
328 (if calc-embedded-firsttime-buf
329 (run-hooks 'calc-embedded-new-buffer-hook))
330 (if calc-embedded-firsttime-formula
331 (run-hooks 'calc-embedded-new-formula-hook))
332 (or (eq calc-embedded-quiet t)
334 (if calc-embedded-quiet
340 (defun calc-embedded-select (arg)
342 (calc-embedded arg)
343 (and calc-embedded-info
344 (eq (car-safe (aref calc-embedded-info 8)) 'calcFunc-evalto)
346 (and calc-embedded-info
347 (or (eq (car-safe (aref calc-embedded-info 8)) 'calcFunc-assign)
348 (and (eq (car-safe (aref calc-embedded-info 8)) 'calcFunc-evalto)
349 (eq (car-safe (nth 1 (aref calc-embedded-info 8)))
354 (defun calc-embedded-update-formula (calc-embed-arg)
357 (let ((entry (assq (current-buffer) calc-embedded-active)))
364 (calc-embedded-update (car entry) 14 t t)))))
365 (if (and calc-embedded-info
366 (eq (current-buffer) (aref calc-embedded-info 0))
367 (>= (point) (aref calc-embedded-info 4))
368 (<= (point) (aref calc-embedded-info 5)))
371 (info (calc-embedded-make-info (point) nil t))
376 (calc-embedded-update info 14 'eval t))
380 (defun calc-embedded-edit (calc-embed-arg)
382 (let ((info (calc-embedded-make-info (point) nil t calc-embed-arg))
391 (calc-edit-mode (list 'calc-embedded-finish-edit info))
397 (defun calc-embedded-finish-edit (info)
413 (calc-embedded-original-buffer t info)
415 (calc-embedded-update info 14 t t))))
417 (defun calc-do-embedded-activate (calc-embed-arg cbuf)
420 (calc-embedded-forget))
426 (let* ((active (assq (current-buffer) calc-embedded-active))
429 (if calc-embedded-announce-formula
431 pat calc-embedded-announce-formula)))
438 ;;; (if (looking-at calc-embedded-open-formula)
440 (setq info (calc-embedded-make-info (point) cbuf nil))
444 (calc-embedded-active-state t))
450 (defun calc-embedded-active-state (state)
451 (or (assq 'calc-embedded-all-active minor-mode-alist)
453 (cons '(calc-embedded-all-active " Active")
454 (cons '(calc-embedded-some-active " ~Active")
456 (let ((active (assq (current-buffer) calc-embedded-active)))
459 (and (eq state 'more) calc-embedded-all-active (setq state t))
460 (setq calc-embedded-all-active (eq state t)
461 calc-embedded-some-active (not (memq state '(nil t))))
465 (defun calc-embedded-original-buffer (switch &optional info)
466 (or info (setq info calc-embedded-info))
469 (error "Calc embedded mode: Original buffer has been killed")))
473 (defun calc-embedded-word ()
475 (calc-embedded '(t)))
477 (defun calc-embedded-mark-formula (&optional body-only)
486 (calc-embedded-find-bounds body-only))
490 (defun calc-embedded-find-bounds (&optional plain)
496 (or (and (looking-at calc-embedded-open-formula)
497 (not (looking-at calc-embedded-close-formula)))
498 (re-search-backward calc-embedded-open-formula nil t)
513 (if (looking-at (regexp-quote calc-embedded-open-plain))
516 (search-forward calc-embedded-close-plain))))
518 (or (re-search-forward calc-embedded-close-formula nil t)
533 (defun calc-embedded-kill-formula ()
539 (and calc-embedded-info
540 (calc-embedded nil))
541 (calc-embedded-mark-formula)
545 (defun calc-embedded-copy-formula-as-kill ()
549 (calc-embedded-mark-formula)
553 (defun calc-embedded-duplicate ()
555 (let ((already calc-embedded-info)
557 (if calc-embedded-info
559 (setq calc-embed-top (+ (aref calc-embedded-info 2))
560 calc-embed-bot (+ (aref calc-embedded-info 3))
561 calc-embed-outer-top (+ (aref calc-embedded-info 4))
562 calc-embed-outer-bot (+ (aref calc-embedded-info 5)))
563 (calc-embedded nil))
564 (calc-embedded-find-bounds))
571 (let ((calc-embedded-quiet (if already t 'x)))
572 (calc-embedded (+ new-top (- calc-embed-top calc-embed-outer-top))
577 (defun calc-embedded-next (arg)
580 (let* ((active (cdr (assq (current-buffer) calc-embedded-active)))
594 (calc-embedded-next -1)
595 (calc-embedded-next (+ (* num 1000) arg 1)))
604 (defun calc-embedded-previous (arg)
606 (calc-embedded-next (- (prefix-numeric-value arg))))
608 (defun calc-embedded-new-formula ()
612 (if calc-embedded-info
613 (calc-embedded nil))
616 (string-match "\\`\n" calc-embedded-open-new-formula))
620 (insert (substring calc-embedded-open-new-formula 1)))
622 (insert calc-embedded-open-new-formula))
626 (insert calc-embedded-close-new-formula)
628 (string-match "\n\\'" calc-embedded-close-new-formula))
632 (let ((calc-embedded-quiet 'x))
633 (calc-embedded calc-embed-top calc-embed-bot calc-embed-outer-top calc-embed-outer-bot))))
635 (defun calc-embedded-forget ()
637 (setq calc-embedded-active (delq (assq (current-buffer) calc-embedded-active)
638 calc-embedded-active))
639 (calc-embedded-active-state nil))
641 ;; The variables calc-embed-prev-modes is local to calc-embedded-update,
642 ;; but is used by calc-embedded-set-modes.
645 (defun calc-embedded-set-modes (gmodes modes local-modes &optional temp)
646 (let ((the-language (calc-embedded-language))
647 (the-display-just (calc-embedded-justify))
695 (calc-embedded-set-justify the-display-just)
696 (calc-embedded-set-language the-language)))
707 (defun calc-embedded-language ()
712 (defun calc-embedded-set-language (lang)
721 (defun calc-embedded-justify ()
726 (defun calc-embedded-set-justify (just)
738 (make-local-variable 'calc-embedded-globals)
747 calc-embedded-mode-vars))
755 (setq calc-embedded-globals (cons t modes))
758 (defun calc-embedded-find-modes ()
771 calc-embedded-mode-vars))
782 calc-embedded-mode-vars))
793 calc-embedded-mode-vars))
812 ;; The variable calc-embed-vars-used is local to calc-embedded-make-info,
813 ;; calc-embedded-evaluate-expr and calc-embedded-update, but is
814 ;; used by calc-embedded-find-vars, which is called by the above functions.
817 (defun calc-embedded-make-info (point cbuf fresh &optional
820 (let* ((bufentry (assq (current-buffer) calc-embedded-active))
829 calc-embedded-active (cons found calc-embedded-active)
830 calc-embedded-firsttime-buf t)
831 (let ((newann (assoc major-mode calc-embedded-announce-formula-alist))
832 (newform (assoc major-mode calc-embedded-open-close-formula-alist))
833 (newword (assoc major-mode calc-embedded-open-close-word-alist))
834 (newplain (assoc major-mode calc-embedded-open-close-plain-alist))
836 (assoc major-mode calc-embedded-open-close-new-formula-alist))
837 (newmode (assoc major-mode calc-embedded-open-close-mode-alist)))
839 (make-local-variable 'calc-embedded-announce-formula)
840 (setq calc-embedded-announce-formula (cdr newann)))
842 (make-local-variable 'calc-embedded-open-formula)
843 (make-local-variable 'calc-embedded-close-formula)
844 (setq calc-embedded-open-formula (nth 0 (cdr newform)))
845 (setq calc-embedded-close-formula (nth 1 (cdr newform))))
847 (make-local-variable 'calc-embedded-open-word)
848 (make-local-variable 'calc-embedded-close-word)
849 (setq calc-embedded-open-word (nth 0 (cdr newword)))
850 (setq calc-embedded-close-word (nth 1 (cdr newword))))
852 (make-local-variable 'calc-embedded-open-plain)
853 (make-local-variable 'calc-embedded-close-plain)
854 (setq calc-embedded-open-plain (nth 0 (cdr newplain)))
855 (setq calc-embedded-close-plain (nth 1 (cdr newplain))))
857 (make-local-variable 'calc-embedded-open-new-formula)
858 (make-local-variable 'calc-embedded-close-new-formula)
859 (setq calc-embedded-open-new-formula (nth 0 (cdr newnewform)))
860 (setq calc-embedded-close-new-formula (nth 1 (cdr newnewform))))
862 (make-local-variable 'calc-embedded-open-mode)
863 (make-local-variable 'calc-embedded-close-mode)
864 (setq calc-embedded-open-mode (nth 0 (cdr newmode)))
865 (setq calc-embedded-close-mode (nth 1 (cdr newmode)))))))
872 (setq calc-embedded-firsttime-formula t)
906 (let ((calc-embedded-open-formula calc-embedded-open-word)
907 (calc-embedded-close-formula calc-embedded-close-word))
908 (calc-embedded-find-bounds 'plain))
910 (calc-embedded-find-bounds 'plain)))
922 (let ((modes (calc-embedded-find-modes)))
926 (aset info 15 calc-embedded-globals)
933 (calc-embedded-make-info point cbuf nil)
935 (let* ((open-plain calc-embedded-open-plain)
936 (close-plain calc-embedded-close-plain)
942 (calc-embedded-set-modes (aref info 15)
969 (calc-embedded-active-state 'less))))
973 (calc-embedded-find-vars val))
979 (calc-embedded-active-state 'more)))
982 (defun calc-embedded-find-vars (x)
988 (calc-embedded-find-vars (nth 1 x)))
990 (calc-embedded-find-vars (nth 2 x)))
998 (calc-embedded-find-vars (car x))))))
1001 (defun calc-embedded-evaluate-expr (x)
1002 (let ((calc-embed-vars-used (aref calc-embedded-info 10)))
1003 (or calc-embed-vars-used (calc-embedded-find-vars x))
1005 (let ((active (assq (aref calc-embedded-info 0) calc-embedded-active))
1008 (calc-embedded-original-buffer t)
1011 (calc-embedded-activate)
1012 (setq active (assq (aref calc-embedded-info 0)
1013 calc-embedded-active))))
1015 (calc-embedded-eval-get-var (car (car calc-embed-vars-used)) active)
1017 (calc-embedded-subst x))
1020 (defun calc-embedded-subst (x)
1022 (let ((rhs (calc-embedded-subst (nth 1 x))))
1029 (calc-embedded-subst (nth 2 x)))
1032 (defun calc-embedded-eval-get-var (var base)
1034 (point (aref calc-embedded-info 2))
1051 (calc-embedded-update entry 14 t nil)))
1058 (calc-embedded-activate)
1059 (calc-embedded-eval-get-var var base))))))
1062 (defun calc-embedded-update (info which need-eval need-display
1065 (open-plain calc-embedded-open-plain)
1066 (close-plain calc-embedded-close-plain)
1078 (calc-embedded-set-modes (aref info 15) (aref info 12)
1082 (calc-embedded-find-vars val))
1084 (let ((calc-embedded-info info))
1107 (calc-embedded-original-buffer t info)
1138 (let ((calc-embedded-info info))
1141 (calc-embedded-var-change (nth 1 val) (aref info 0))))
1145 (calc-embedded-var-change (nth 1 old-val) (aref info 0)))))
1150 (calc-embedded-set-language (cdr (car calc-embed-prev-modes)))))
1153 (calc-embedded-set-justify (cdr (car calc-embed-prev-modes)))))
1164 (defvar calc-embedded-no-reselect nil)
1165 (defun calc-embedded-select-buffer ()
1166 (if (eq (current-buffer) (aref calc-embedded-info 0))
1167 (let ((info calc-embedded-info)
1171 (not calc-embedded-no-reselect))
1172 (let ((calc-embedded-quiet t))
1174 (calc-embedded nil)
1175 (calc-embedded nil)))
1195 (defun calc-embedded-finish-command ()
1199 (set-buffer (aref calc-embedded-info 1))
1218 (set-buffer (aref calc-embedded-info 0))
1219 (goto-char (aref calc-embedded-info 2))
1225 (defun calc-embedded-stack-change ()
1228 (set-buffer (aref calc-embedded-info 1))
1229 (let* ((info calc-embedded-info)
1253 (calc-embedded-original-buffer t)
1255 (calc-embedded-update info 13 nil t str entry old-val)))))
1257 (defun calc-embedded-mode-line-change ()
1260 (calc-embedded-original-buffer t)
1264 (defun calc-embedded-modes-change (vars)
1268 (not (rassq (car vars) calc-embedded-mode-vars)))
1276 (the-language (calc-embedded-language))
1277 (the-display-just (calc-embedded-justify))
1284 (calc-embedded-original-buffer t)
1289 mlist calc-embedded-globals)
1290 (goto-char (aref calc-embedded-info 4))
1294 mlist (and num (aref calc-embedded-info num)))
1297 calc-embedded-open-formula
1298 calc-embedded-close-formula) limit t)
1303 calc-embedded-mode-vars)))
1310 (aset calc-embedded-info num mlist)
1312 (setq calc-embedded-globals mlist))))
1323 calc-embedded-open-mode
1326 calc-embedded-close-mode))))
1330 (calc-embedded-save-original-modes))))
1332 (defun calc-embedded-var-change (var &optional buf)
1342 (bp calc-embedded-active)
1346 (let ((calc-embedded-no-reselect t)
1356 (calc-embedded-var-change (aref (car p) 9)))))
1361 (let ((calc-embedded-info nil))
1362 (or calc-embedded-quiet
1367 (calc-embedded-update (car p) 14 t nil)))
1373 (or first calc-embedded-quiet (message "")))))