Function: calc-edit-finish

calc-edit-finish is an interactive and byte-compiled function defined in calc-yank.el.gz.

Signature

(calc-edit-finish &optional KEEP)

Documentation

Finish calc-edit mode. Parse buffer contents and push them on the stack.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-yank.el.gz
(defun calc-edit-finish (&optional keep)
  "Finish `calc-edit' mode.  Parse buffer contents and push them on the stack."
  (interactive "P")
  (message "Working...")
  (or (derived-mode-p 'calc-edit-mode)
      (error "This command is valid only in buffers created by calc-edit"))
  (let ((buf (current-buffer))
	(original calc-original-buffer)
	(return calc-return-buffer)
	(one-window calc-one-window)
	(calc-edit-disp-trail calc-restore-trail))
    (save-excursion
      (when (or (null (buffer-name original))
		(progn
		  (set-buffer original)
		  (not (eq major-mode 'calc-mode))))
	(error "Original calculator buffer has been corrupted")))
    (goto-char calc-edit-top)
    (if (buffer-modified-p)
	(if (functionp calc-edit-handler)
	    (funcall calc-edit-handler)
	  (message "Deprecated handler expression in calc-edit-handler: %S"
                   calc-edit-handler)
	  (eval calc-edit-handler t)))
    (if (and one-window (not (one-window-p t)))
	(delete-window))
    (if (get-buffer-window return)
	(select-window (get-buffer-window return))
      (switch-to-buffer return))
    (if keep
	(bury-buffer buf)
      (kill-buffer buf))
    (if calc-edit-disp-trail
	(calc-wrapper
	 (calc-trail-display 1 t)))
    (message "")))