Function: calc-fancy-prefix

calc-fancy-prefix is a byte-compiled function defined in calc-ext.el.gz.

Signature

(calc-fancy-prefix FLAG MSG N)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-ext.el.gz
(defun calc-fancy-prefix (flag msg n)
  (let (prefix)
    (calc-wrapper
     (calc-set-command-flag 'keep-flags)
     (calc-set-command-flag 'no-align)
     (setq prefix (set flag (not (symbol-value flag)))
	   prefix-arg n)
     (message "%s" (if prefix msg "")))
    (and prefix
	 (not calc-is-keypad-press)
	 (if (boundp 'overriding-terminal-local-map)
	     (setq overriding-terminal-local-map calc-fancy-prefix-map)
	   (let ((event (read-event)))
	     (if (eq (setq last-command-event event) ?\C-u)
		 (universal-argument)
	       (if (or (not (integerp last-command-event))
		       (and (>= last-command-event 0) (< last-command-event ? )
			    (not (memq last-command-event '(?\e)))))
		   (calc-wrapper))  ; clear flags if not a Calc command.
               (setq last-command-event event)
	       (if (or (not (integerp last-command-event))
		       (eq last-command-event ?-))
		   (calc-unread-command)
		 (digit-argument n))))))))