(let ((history command-history)
(temp)
(what))
(while (and history (not what))
(setq temp (car history))
(if (and (or (not pattern) (string-match pattern (symbol-name (car temp))))
(let ((history command-history)
(temp)
(what))
(while (and history (not what))
(setq temp (car history))
(if (and (or (not pattern) (string-match pattern (symbol-name (car temp))))