(dnd-open-remote-file-function): Use dnd-open-local-file on ms-windows.
(dnd-open-unc-file): Remove. (dnd-open-local-file): Mention in doc string that it also handles remote files if the system natively supports unc file-names.
This commit is contained in:
parent
05ca18a822
commit
8e9e7fa199
2 changed files with 18 additions and 22 deletions
|
@ -1,3 +1,11 @@
|
|||
2006-09-16 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
* dnd.el (dnd-open-remote-file-function): Use dnd-open-local-file
|
||||
on ms-windows.
|
||||
(dnd-open-unc-file): Remove.
|
||||
(dnd-open-local-file): Mention in doc string that it also handles
|
||||
remote files if the system natively supports unc file-names.
|
||||
|
||||
2006-09-15 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* help.el (describe-key): Handle C-h k in *Help* buffer; collect
|
||||
|
|
32
lisp/dnd.el
32
lisp/dnd.el
|
@ -61,16 +61,16 @@ if some action was made, or nil if the URL is ignored."
|
|||
|
||||
(defcustom dnd-open-remote-file-function
|
||||
(if (eq system-type 'windows-nt)
|
||||
'dnd-open-unc-file
|
||||
'dnd-open-local-file
|
||||
'dnd-open-remote-url)
|
||||
"The function to call when opening a file on a remote machine.
|
||||
The function will be called with two arguments; URI and ACTION. See
|
||||
`dnd-open-file' for details.
|
||||
If nil, then dragging remote files into Emacs will result in an error.
|
||||
Predefined functions are `dnd-open-unc-file' and `dnd-open-remote-url'.
|
||||
`dnd-open-unc-file' attempts to open the file using its UNC name and is the
|
||||
default on MS-Windows. `dnd-open-remote-url' uses `url-handler-mode' and
|
||||
is the default except for MS-Windows."
|
||||
Predefined functions are `dnd-open-local-file' and `dnd-open-remote-url'.
|
||||
`dnd-open-local-file' attempts to open a remote file using its UNC name and
|
||||
is the default on MS-Windows. `dnd-open-remote-url' uses `url-handler-mode'
|
||||
and is the default except for MS-Windows."
|
||||
:version "22.1"
|
||||
:type 'function
|
||||
:group 'dnd)
|
||||
|
@ -163,7 +163,11 @@ Return nil if URI is not a local file."
|
|||
The file is opened in the current window, or a new window if
|
||||
`dnd-open-file-other-window' is set. URI is the url for the file,
|
||||
and must have the format file:file-name or file:///file-name.
|
||||
The last / in file:/// is part of the file name. ACTION is ignored."
|
||||
The last / in file:/// is part of the file name. If the system
|
||||
natively supports unc file names, then remote urls of the form
|
||||
file://server-name/file-name will also be handled by this function.
|
||||
An alternative for systems that do not support unc file names is
|
||||
`dnd-open-remote-url'. ACTION is ignored."
|
||||
|
||||
(let* ((f (dnd-get-local-file-name uri t)))
|
||||
(if (and f (file-readable-p f))
|
||||
|
@ -174,22 +178,6 @@ The last / in file:/// is part of the file name. ACTION is ignored."
|
|||
'private)
|
||||
(error "Can not read %s" uri))))
|
||||
|
||||
(defun dnd-open-unc-file (uri action)
|
||||
"Open a remote file using its unc path.
|
||||
The file is opened in the current window, or a new window if
|
||||
`dnd-open-file-other-window' is set. URI is the url for the file,
|
||||
and must have the format file://hostname/file-name. ACTION is ignored.
|
||||
//hostname/file-name is the unc path."
|
||||
(let ((unc-file (if (string-match "^file:" uri)
|
||||
(substring uri 5))))
|
||||
(if (and unc-file (file-readable-p unc-file))
|
||||
(progn
|
||||
(if dnd-open-file-other-window
|
||||
(find-file-other-window unc-file)
|
||||
(find-file unc-file))
|
||||
'private)
|
||||
(error "Invalid file url"))))
|
||||
|
||||
(defun dnd-open-remote-url (uri action)
|
||||
"Open a remote file with `find-file' and `url-handler-mode'.
|
||||
Turns `url-handler-mode' on if not on before. The file is opened in the
|
||||
|
|
Loading…
Add table
Reference in a new issue