diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-01-04 00:01:58 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-01-04 00:01:58 -0500 |
commit | 535a25164b5d656874b06fcc3a81f1bbd39b442a (patch) | |
tree | 161535df29802a4145c6a8b8a2c04805d8bc6681 /lisp/calc/calc-prog.el | |
parent | d8d223e7ef1d5ad2768662d114767f35601a0e87 (diff) | |
download | emacs-535a25164b5d656874b06fcc3a81f1bbd39b442a.tar.gz emacs-535a25164b5d656874b06fcc3a81f1bbd39b442a.tar.bz2 emacs-535a25164b5d656874b06fcc3a81f1bbd39b442a.zip |
* lisp/calc/calc-yank.el (calc-edit-mode): Make it into a proper major mode
Also make `calc-edit-handler` hold a function instead of an expression.
(calc-original-buffer, calc-return-buffer, calc-one-window)
(calc-edit-handler, calc-restore-trail, calc-allow-ret)
(calc-edit-top): Give them a default value.
(calc--edit-mode): New function extracted from old `calc-edit-mode`.
(calc-edit-return, calc-edit-finish): Don't need to test `boundp` any more.
(calc-edit-finish): Allow `calc-edit-handler` to be a function.
(calc-edit, calc-alg-edit):
* lisp/calc/calc-prog.el (calc-edit-user-syntax, calc-user-define-edit):
* lisp/calc/calc-embed.el (calc-embedded-edit):
* lisp/calc/calc-sel.el (calc-edit-selection):
* lisp/calc/calc-store.el (calc-edit-variable):
Use `calc--edit-mode` and make first arg into a function.
* lisp/calc/calc-ext.el (calc-init-extensions): Autoload `calc--edit-mode`
instead of `calc-edit-mode`.
Diffstat (limited to 'lisp/calc/calc-prog.el')
-rw-r--r-- | lisp/calc/calc-prog.el | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el index 6ac554ed69c..3097b09b013 100644 --- a/lisp/calc/calc-prog.el +++ b/lisp/calc/calc-prog.el @@ -483,13 +483,13 @@ (interactive) (calc-wrapper (let ((lang calc-language)) - (calc-edit-mode (list 'calc-finish-user-syntax-edit (list 'quote lang)) - t - (format "Editing %s-Mode Syntax Table. " - (cond ((null lang) "Normal") - ((eq lang 'tex) "TeX") - ((eq lang 'latex) "LaTeX") - (t (capitalize (symbol-name lang)))))) + (calc--edit-mode (lambda () (calc-finish-user-syntax-edit lang)) + t + (format "Editing %s-Mode Syntax Table. " + (cond ((null lang) "Normal") + ((eq lang 'tex) "TeX") + ((eq lang 'latex) "LaTeX") + (t (capitalize (symbol-name lang)))))) (calc-write-parse-table (cdr (assq lang calc-user-parse-tables)) lang))) (calc-show-edit-buffer)) @@ -696,12 +696,13 @@ (setq cmd (symbol-function cmd))) (cond ((or (stringp cmd) (and (consp cmd) - (eq (car-safe (nth 3 cmd)) 'calc-execute-kbd-macro))) + (eq (car-safe (nth 3 cmd)) #'calc-execute-kbd-macro))) + ;; FIXME: Won't (nth 3 cmd) fail when (stringp cmd)? (let* ((mac (elt (nth 1 (nth 3 cmd)) 1)) (str (edmacro-format-keys mac t)) (kys (nth 3 (nth 3 cmd)))) - (calc-edit-mode - (list 'calc-edit-macro-finish-edit cmdname kys) + (calc--edit-mode + (lambda () (calc-edit-macro-finish-edit cmdname kys)) t (format (concat "Editing keyboard macro (%s, bound to %s).\n" "Original keys: %s \n") @@ -719,8 +720,8 @@ (if (and defn (calc-valid-formula-func func)) (let ((niceexpr (math-format-nice-expr defn (frame-width)))) (calc-wrapper - (calc-edit-mode - (list 'calc-finish-formula-edit (list 'quote func)) + (calc--edit-mode + (lambda () (calc-finish-formula-edit func)) nil (format (concat "Editing formula (%s, %s, bound to %s).\n" |