On Fri, Aug 20, 2010 at 8:46 AM, Stephen Bach <[email protected]> wrote:
Hi,
There's some code in vimpulse-range and a couple other functions to save and restore the message stored in the echo area. It's got a small bug because of this behaviour of (current-message):
(message "%%s message) --> displays "%s message string"
(progn (message "%%s message string") (current-message)) --> returns "%s message string"
(progn (message "%%s message string") (message (current-message))) --> (error "Not enough arguments for format string")
Seems like the string returned by current-message should be escaped for % before redisplay.
Stephen, I believe you're absolutely right. That's a common mistake made in e-lisp to assume it takes a string to display. The easiest work around would be to simply change it to this: (message "%s" (current-message)) Would you like to submit a patch? Or can you just point out where it's broken? Tim