[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:1534] exec-suffix-list (Re: X-Face-Mule 0.27 is released)
- X-ml-count: 1534
- Subject: [MD:1534] exec-suffix-list (Re: X-Face-Mule 0.27 is released)
- From: Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: 05 Oct 1999 12:46:04 +0900
- User-agent: Nana-gnus/6.13.7 SEMI/1.13.5 (Meihō) FLIM/1.13.2 (Kasanui) Emacs/20.4 (alpha-*-nt4.0.1381) MULE/4.1 (AOI) Meadow/1.07 Beta1 (HACHISU)
Keiichi Suzuki <keiichi@xxxxxxxxx> writes:
> mw32script.el 内で再定義するというのが良いように思えます。
>
> こんな感じでいかがでしょうか?
>
> (eval-when-compile
> (require 'ange-ftp))
>
> (defun mw32script-file-executable-p (filename)
> (or (funcall mw32script-original-file-executable-p filename)
> (and (or (not (fboundp 'ange-ftp-ftp-name))
> (not (ange-ftp-ftp-name filename)))
> (mw32script-resolve-script filename)
> t)))
>
> (defvar mw32script-original-file-executable-p
> (prog1
> (symbol-function 'file-executable-p)
> (fset 'file-executable-p 'mw32script-file-executable-p)))
圭一さんのを参考にして、以下のようにしてみました。
ちょっと試してみてください。
ange-ftpはfind-file-name-handlerで引っかけてくれるので、
対処は不要だと思います。将来的にはarugment-editingは
file-executable-pまで面倒をみるように変更します。
from himi
Index: mw32script.el
===================================================================
RCS file: g:/repdev/Meadow/lisp/international/mw32script.el,v
retrieving revision 1.3
diff -c -r1.3 mw32script.el
*** mw32script.el 1999/07/17 00:54:42 1.3
--- mw32script.el 1999/10/05 03:43:29
***************
*** 30,35 ****
--- 30,36 ----
This only works with Meadow version Alpha-3.00 or later.")
(defvar mw32script-recursive nil)
+ (defvar mw32script-original-file-executable-p nil)
;; end --- options
(defvar mw32script-bufsiz 256)
(defvar mw32script-buffer-tmp " *mw32script*")
***************
*** 167,177 ****
(cons argv0 ret)))
(funcall default-process-argument-editing-function argument)))))
(defun mw32script-init ()
(interactive)
(mw32script-make-pathext-regexp)
(define-process-argument-editing
".*"
! (function mw32script-argument-editing-function) 'last))
(provide 'mw32script)
--- 168,190 ----
(cons argv0 ret)))
(funcall default-process-argument-editing-function argument)))))
+ (defun mw32script-file-executable-p (filename)
+ (or (funcall mw32script-original-file-executable-p filename)
+ (mw32script-resolve-script filename)
+ t)))
+
(defun mw32script-init ()
(interactive)
(mw32script-make-pathext-regexp)
(define-process-argument-editing
".*"
! (function mw32script-argument-editing-function) 'last)
! (add-to-list 'exec-suffix-list "")
! (if (not mw32script-original-file-executable-p)
! (progn
! (setq mw32script-original-file-executable-p
! (symbol-function 'file-executable-p))
! (fset 'file-executable-p
! (symbol-function 'mw32script-file-executable-p)))))
(provide 'mw32script)