Function: calc-finish-selection-edit
calc-finish-selection-edit is a byte-compiled function defined in
calc-sel.el.gz.
Signature
(calc-finish-selection-edit NUM SEL RESELECT)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-sel.el.gz
(defun calc-finish-selection-edit (num sel reselect)
(let ((buf (current-buffer))
(str (buffer-substring calc-edit-top (point-max)))
(start (point)))
(switch-to-buffer calc-original-buffer)
(let ((val (math-read-expr str)))
(if (eq (car-safe val) 'error)
(progn
(switch-to-buffer buf)
(goto-char (+ start (nth 1 val)))
(error (nth 2 val))))
(calc-wrapper
(calc-preserve-point)
(if calc-edit-disp-trail
(calc-trail-display 1 t))
(setq val (calc-encase-atoms (calc-normalize val)))
(let ((expr (calc-top num 'full)))
(if (calc-find-sub-formula expr sel)
(calc-pop-push-record-list 1 "edit"
(list (calc-replace-sub-formula
expr sel val))
num
(list (and reselect val)))
(calc-push val)
(error "Original selection has been lost")))))))