# HG changeset patch # User Stefan Monnier # Date 1200935812 0 # Node ID 5b75d8186a05b502275dd9a72d1838e02d941443 # Parent f549244775de8cd74437b836ff35db35a6a5254a (unhandled-file-name-directory): Add handler. (url-handler-unhandled-file-name-directory): New fun. diff -r f549244775de -r 5b75d8186a05 lisp/url/ChangeLog --- a/lisp/url/ChangeLog Mon Jan 21 12:43:46 2008 +0000 +++ b/lisp/url/ChangeLog Mon Jan 21 17:16:52 2008 +0000 @@ -1,3 +1,8 @@ +2008-01-21 Stefan Monnier + + * url-handlers.el (unhandled-file-name-directory): Add handler. + (url-handler-unhandled-file-name-directory): New fun. + 2008-01-07 Michael Albinus * url-handlers.el (url-file-handler): Autoload. diff -r f549244775de -r 5b75d8186a05 lisp/url/url-handlers.el --- a/lisp/url/url-handlers.el Mon Jan 21 12:43:46 2008 +0000 +++ b/lisp/url/url-handlers.el Mon Jan 21 17:16:52 2008 +0000 @@ -153,6 +153,7 @@ (put 'file-name-absolute-p 'url-file-handlers (lambda (&rest ignored) t)) (put 'expand-file-name 'url-file-handlers 'url-handler-expand-file-name) (put 'directory-file-name 'url-file-handlers 'url-handler-directory-file-name) +(put 'unhandled-file-name-directory 'url-file-handlers 'url-handler-unhandled-file-name-directory) ;; (put 'file-name-as-directory 'url-file-handlers 'url-handler-file-name-as-directory) ;; These are operations that we do not support yet (DAV!!!) @@ -184,6 +185,13 @@ (if (string-match "//\\'" dir) dir (url-run-real-handler 'directory-file-name (list dir)))) +(defun url-handler-unhandled-file-name-directory (filename) + ;; Copied from tramp.el. This is used as the cwd for subprocesses: + ;; without it running call-process or start-process in a URL directory + ;; signals an error. + ;; FIXME: we can do better if `filename' is a "file://" URL. + (expand-file-name "~/")) + ;; The actual implementation ;;;###autoload (defun url-copy-file (url newname &optional ok-if-already-exists keep-time)