[Mew-dist 311] call-process "cp", "ln", "rm", ....
SAKAI Kiyotaka
ksakai at example.com
1996年 12月 18日 (水) 22:25:43 JST
Mew では
(call-process "cp" nil nil nil old-file new-file)
(call-process "ln" nil nil nil "-s" old-file new-file)
(call-process "rm" nil nil nil file)
という syntax を何か所かで用いていますが、call-process は vfork() する
分無駄なので、代わりに
(copy-file old-file new-file)
(make-symbolic-link old-file new-file)
(delete-file file)
という syntax を用いた方がいいと思います。
ついでに、もう、完全に Emacs 18 のサポートをやめるのであれば、
make-directory() も利用できますね。
--
酒井 清隆 (E-mail: ksakai at example.com)
-------------- next part --------------
===================================================================
RCS file: RCS/mew-summary.el,v
retrieving revision 1.1
diff -u -r1.1 mew-summary.el
--- mew-summary.el 1996/12/18 13:08:43 1.1
+++ mew-summary.el 1996/12/18 13:09:38
@@ -1645,16 +1645,14 @@
)))
(while fld-msg-list
(if mew-os2-p
- (call-process "cp" nil nil nil
- (mew-expand-file-name
- (cdr (car fld-msg-list)) ;; message
- (car (car fld-msg-list))) ;; folder
- (mew-draft-get-new mimefolder))
- (call-process "ln" nil nil nil "-s"
- (mew-expand-file-name
- (cdr (car fld-msg-list)) ;; message
- (car (car fld-msg-list))) ;; folder
- (mew-draft-get-new mimefolder))
+ (copy-file (mew-expand-file-name
+ (cdr (car fld-msg-list)) ;; message
+ (car (car fld-msg-list))) ;; folder
+ (mew-draft-get-new mimefolder))
+ (make-symbolic-link (mew-expand-file-name
+ (cdr (car fld-msg-list)) ;; message
+ (car (car fld-msg-list))) ;; folder
+ (mew-draft-get-new mimefolder))
)
(setq fld-msg-list (cdr fld-msg-list)))
))
-------------- next part --------------
===================================================================
RCS file: RCS/mew-attach.el,v
retrieving revision 1.1
diff -u -r1.1 mew-attach.el
--- mew-attach.el 1996/12/18 13:05:40 1.1
+++ mew-attach.el 1996/12/18 13:11:54
@@ -362,15 +362,12 @@
(if (null (mew-y-or-n-p (message "File %s exists. Overwrite it? "
efile)))
(setq doit nil)
- (call-process "rm" nil nil nil
- (expand-file-name efile mimedir))))
+ (delete-file (expand-file-name efile mimedir))))
(if (null doit)
()
(if mew-os2-p
- (call-process "cp" nil nil nil fromfile
- (expand-file-name efile mimedir))
- (call-process "ln" nil nil nil "-s" fromfile
- (expand-file-name efile mimedir)))
+ (copy-file fromfile (expand-file-name efile mimedir))
+ (make-symbolic-link fromfile (expand-file-name efile mimedir)))
(setq mew-encode-syntax
(mew-syntax-insert-entry
mew-encode-syntax
Mew-dist メーリングリストの案内