;;; @ Emacs 19 emulation
;;;
+(defmacro-maybe eval-and-compile (&rest body)
+ "Like `progn', but evaluates the body at compile time and at load time."
+ ;; Remember, it's magic.
+ (cons 'progn body))
+
(defun-maybe minibuffer-prompt-width ()
"Return the display width of the minibuffer prompt."
(save-excursion
(>= emacs-minor-version 29))
;; for Emacs 19.28 or earlier
(fboundp 'si:read-string)
- (progn
+ (eval-and-compile
(fset 'si:read-string (symbol-function 'read-string))
-
(defun read-string (prompt &optional initial-input history)
"Read a string from the minibuffer, prompting with string PROMPT.
If non-nil, second arg INITIAL-INPUT is a string to insert before reading.