Re: (locate-executable)

id:antipop にいろいろ教えてもらったんで直してるとこだよ
ちょっと短かくした。

(defun locate-executable (basename)
  (let
      ((suffix (list nil ".exe" ".com" ".cmd" ".bat"))
       (return-value nil))

    (dolist (s suffix)
      (setq return-value
	    (or return-value
		(locate-library (concat basename s) nil exec-path)))
	(when return-value
	  (unless (file-executable-p return-value)
	    (setq return-value nil))))
    return-value))

retrun-value が nil じゃなくなっても dolist が続くのが格好悪い。
いっそ cl を呼んでおいて return で返してしまおうか悩んでいる。