[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:7183] executable-find の置き換え



白井です。

# どこに出そうかなぁ?と思ったのですが、元から絶たないと FAQ に
# なりそうなので元から :-)

ひさしぶりに Meadow で elscreen-gf(*1) を使おうと思ったのですが、

(*1) http://www.morishima.net/~naoto/software/elscreen/

C-zC-gg すると

(yes-or-no-p "gid not found; execute grep instead? ")

といわれるようになってしまいました。elscreen-gf は最新版ね。

原因は
elscreen-gf-idutils-gid-program-name => "gid"
(executable-find elscreen-gf-idutils-gid-program-name)
=> nil

だからなのですが、

(let ((command elscreen-gf-idutils-gid-program-name))
  (let ((file (locate-file command exec-path exec-suffixes)))
    (when (and file (file-executable-p file))
      file)))
=> "c:/usr/local/bin/gid"

で、gid は以下の shell script です。

---- cat c:/usr/local/bin/gid ----
#! /bin/sh

exec lid -R grep "$@"
----------------------------------

当然、gid は Meadow からだと動作します。

file-executable-p() は mw32script.el で置き換えちゃっていますが、
executable-find() も置き換えちゃった方が良いかなぁー?

# elscreen-gf は別個に対応してもらおうと思っているんだけど。これ、
# 他にもありそうだな。

ところで、こういう shell script って最近の NTEmacs では動くの?

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxx)