Function: calc-do-prefix-help

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

Signature

(calc-do-prefix-help MSGS GROUP KEY)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-ext.el.gz
(defun calc-do-prefix-help (msgs group key)
  (if calc-full-help-flag
      (list msgs group key)
    (if (cdr msgs)
	(progn
	  (setq calc-prefix-help-phase
		(if calc-prefix-help-retry
		    (% (1+ calc-prefix-help-phase) (1+ (length msgs)))
		  0))
	  (let ((msg (nth calc-prefix-help-phase msgs)))
	    (message "%s" (if msg
			      (concat group ": " (substitute-command-keys msg) ":"
				      (make-string
				       (- (apply #'max (mapcar #'length msgs))
					  (length msg))
                                       ?\s)
				      (substitute-command-keys
                                       "  [\\`?'=MORE]")
				      (if key
					  (concat "  " (char-to-string key)
						  "-")
					""))
			    (if key (format "%c-" key) "")))))
      (setq calc-prefix-help-phase 0)
      (if key
	  (if msgs
	      (message "%s: %s: %c-" group (car msgs) key)
	    (message "%s: (none)  %c-" group key))
	(message "%s: %s" group (car msgs))))
    (let* ((chr (read-char))
           (bnd (local-key-binding (if key (string key chr) (string chr)))))
      (setq calc-prefix-help-retry (= chr ??))
      (if bnd
          (call-interactively bnd)
        (message "%s is undefined"
                 (key-description (if key (vector key chr) (vector chr))))))))