summaryrefslogtreecommitdiff
path: root/lisp/url
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2008-01-22 23:53:46 +0000
committerMiles Bader <miles@gnu.org>2008-01-22 23:53:46 +0000
commit1bad168e59601c1c843a38b2962e77b29f497f11 (patch)
tree26f29332811458573579bb0b807ff85a8d32b807 /lisp/url
parent22f9eb9e4f09de5570ba5ede033b0a8f0973a0e9 (diff)
parent645b6388d5bae5304098c1e773694beffc3478e9 (diff)
downloademacs-1bad168e59601c1c843a38b2962e77b29f497f11.tar.gz
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1006
Diffstat (limited to 'lisp/url')
-rw-r--r--lisp/url/ChangeLog5
-rw-r--r--lisp/url/url-handlers.el8
2 files changed, 13 insertions, 0 deletions
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 3890daabf46..124f3fc9974 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * url-handlers.el (unhandled-file-name-directory): Add handler.
+ (url-handler-unhandled-file-name-directory): New fun.
+
2008-01-07 Michael Albinus <michael.albinus@gmx.de>
* url-handlers.el (url-file-handler): Autoload.
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 869132df93f..acc85b939a1 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -150,6 +150,7 @@ the arguments that would have been passed to OPERATION."
(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!!!)
@@ -181,6 +182,13 @@ the arguments that would have been passed to OPERATION."
(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)