Mercurial > emacs
annotate lisp/net/tramp-smb.el @ 108521:6985fcf16f42
* progmodes/sh-script.el (sh-mode): Use define-derived-mode.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 12 May 2010 20:44:22 -0400 |
parents | 2ee48fcc701c |
children | bfc1be04834c |
rev | line source |
---|---|
82201 | 1 ;;; tramp-smb.el --- Tramp access functions for SMB servers |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
2 |
100857
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
3 ;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
106815 | 4 ;; 2009, 2010 Free Software Foundation, Inc. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
5 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
6 ;; Author: Michael Albinus <michael.albinus@gmx.de> |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
7 ;; Keywords: comm, processes |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
8 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
9 ;; This file is part of GNU Emacs. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
10 |
94677
91e5880a36c1
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
11 ;; GNU Emacs is free software: you can redistribute it and/or modify |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
12 ;; it under the terms of the GNU General Public License as published by |
94677
91e5880a36c1
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
13 ;; the Free Software Foundation, either version 3 of the License, or |
91e5880a36c1
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
14 ;; (at your option) any later version. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
15 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
16 ;; GNU Emacs is distributed in the hope that it will be useful, |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
19 ;; GNU General Public License for more details. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
20 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
21 ;; You should have received a copy of the GNU General Public License |
94677
91e5880a36c1
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
23 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
24 ;;; Commentary: |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
25 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
26 ;; Access functions for SMB servers like SAMBA or M$ Windows from Tramp. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
27 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
28 ;;; Code: |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
29 |
96186 | 30 (eval-when-compile (require 'cl)) ; block, return |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
31 (require 'tramp) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
32 (require 'tramp-cache) |
84985
f7642749252b
* net/tramp-compat.el: New file.
Michael Albinus <michael.albinus@gmx.de>
parents:
84739
diff
changeset
|
33 (require 'tramp-compat) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
34 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
35 ;; Define SMB method ... |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
36 (defcustom tramp-smb-method "smb" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
37 "*Method to connect SAMBA and M$ SMB servers." |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
38 :group 'tramp |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
39 :type 'string) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
40 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
41 ;; ... and add it to the method list. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
42 (add-to-list 'tramp-methods (cons tramp-smb-method nil)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
43 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
44 ;; Add a default for `tramp-default-method-alist'. Rule: If there is |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
45 ;; a domain in USER, it must be the SMB method. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
46 (add-to-list 'tramp-default-method-alist |
100857
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
47 `(nil ,tramp-prefix-domain-regexp ,tramp-smb-method)) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
48 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
49 ;; Add a default for `tramp-default-user-alist'. Rule: For the SMB method, |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
50 ;; the anonymous user is chosen. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
51 (add-to-list 'tramp-default-user-alist |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
52 `(,tramp-smb-method nil "")) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
53 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
54 ;; Add completion function for SMB method. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
55 (tramp-set-completion-function |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
56 tramp-smb-method |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
57 '((tramp-parse-netrc "~/.netrc"))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
58 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
59 (defcustom tramp-smb-program "smbclient" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
60 "*Name of SMB client to run." |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
61 :group 'tramp |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
62 :type 'string) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
63 |
106959
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
64 (defcustom tramp-smb-conf "/dev/null" |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
65 "*Path of the smb.conf file. |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
66 If it is nil, no smb.conf will be added to the `tramp-smb-program' |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
67 call, letting the SMB client use the default one." |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
68 :group 'tramp |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
69 :type '(choice (const nil) (file :must-match t))) |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
70 |
105634
75fb0870b7e0
* net/tramp-smb.el (tramp-smb-version): New defvar.
Michael Albinus <michael.albinus@gmx.de>
parents:
105616
diff
changeset
|
71 (defvar tramp-smb-version nil |
75fb0870b7e0
* net/tramp-smb.el (tramp-smb-version): New defvar.
Michael Albinus <michael.albinus@gmx.de>
parents:
105616
diff
changeset
|
72 "*Version string of the SMB client.") |
75fb0870b7e0
* net/tramp-smb.el (tramp-smb-version): New defvar.
Michael Albinus <michael.albinus@gmx.de>
parents:
105616
diff
changeset
|
73 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
74 (defconst tramp-smb-prompt "^smb: .+> \\|^\\s-+Server\\s-+Comment$" |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
75 "Regexp used as prompt in smbclient.") |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
76 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
77 (defconst tramp-smb-errors |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
78 ;; `regexp-opt' not possible because of first string. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
79 (mapconcat |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
80 'identity |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
81 '(;; Connection error / timeout / unknown command. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
82 "Connection to \\S-+ failed" |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
83 "Read from server failed, maybe it closed the connection" |
84739
ed643c57fe39
* rfn-eshadow.el (rfn-eshadow-setup-minibuffer-hook)
Michael Albinus <michael.albinus@gmx.de>
parents:
82201
diff
changeset
|
84 "Call timed out: server did not respond" |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
85 "\\S-+: command not found" |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
86 "Server doesn't support UNIX CIFS calls" |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
87 ;; Samba. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53206
diff
changeset
|
88 "ERRDOS" |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
89 "ERRHRD" |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
90 "ERRSRV" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
91 "ERRbadfile" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
92 "ERRbadpw" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
93 "ERRfilexists" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
94 "ERRnoaccess" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
95 "ERRnomem" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
96 "ERRnosuchshare" |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
97 ;; Windows 4.0 (Windows NT), Windows 5.0 (Windows 2000), |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
98 ;; Windows 5.1 (Windows XP), Windows 5.2 (Windows Server 2003). |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
99 "NT_STATUS_ACCESS_DENIED" |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53206
diff
changeset
|
100 "NT_STATUS_ACCOUNT_LOCKED_OUT" |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
101 "NT_STATUS_BAD_NETWORK_NAME" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
102 "NT_STATUS_CANNOT_DELETE" |
105354
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
103 "NT_STATUS_CONNECTION_REFUSED" |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
104 "NT_STATUS_DIRECTORY_NOT_EMPTY" |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
105 "NT_STATUS_DUPLICATE_NAME" |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
106 "NT_STATUS_FILE_IS_A_DIRECTORY" |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
107 "NT_STATUS_LOGON_FAILURE" |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53206
diff
changeset
|
108 "NT_STATUS_NETWORK_ACCESS_DENIED" |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
109 "NT_STATUS_NOT_IMPLEMENTED" |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
110 "NT_STATUS_NO_SUCH_FILE" |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
111 "NT_STATUS_OBJECT_NAME_COLLISION" |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
112 "NT_STATUS_OBJECT_NAME_INVALID" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
113 "NT_STATUS_OBJECT_NAME_NOT_FOUND" |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53206
diff
changeset
|
114 "NT_STATUS_SHARING_VIOLATION" |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
115 "NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE" |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53206
diff
changeset
|
116 "NT_STATUS_WRONG_PASSWORD") |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
117 "\\|") |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
118 "Regexp for possible error strings of SMB servers. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
119 Used instead of analyzing error codes of commands.") |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
120 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
121 (defconst tramp-smb-actions-with-share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
122 '((tramp-smb-prompt tramp-action-succeed) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
123 (tramp-password-prompt-regexp tramp-action-password) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
124 (tramp-wrong-passwd-regexp tramp-action-permission-denied) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
125 (tramp-smb-errors tramp-action-permission-denied) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
126 (tramp-process-alive-regexp tramp-action-process-alive)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
127 "List of pattern/action pairs. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
128 This list is used for login to SMB servers. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
129 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
130 See `tramp-actions-before-shell' for more info.") |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
131 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
132 (defconst tramp-smb-actions-without-share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
133 '((tramp-password-prompt-regexp tramp-action-password) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
134 (tramp-wrong-passwd-regexp tramp-action-permission-denied) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
135 (tramp-smb-errors tramp-action-permission-denied) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
136 (tramp-process-alive-regexp tramp-action-out-of-band)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
137 "List of pattern/action pairs. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
138 This list is used for login to SMB servers. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
139 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
140 See `tramp-actions-before-shell' for more info.") |
49612
407d6516031a
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49598
diff
changeset
|
141 |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
142 ;; New handlers should be added here. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
143 (defconst tramp-smb-file-name-handler-alist |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
144 '( |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
145 ;; `access-file' performed by default handler. |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
146 (add-name-to-file . tramp-smb-handle-add-name-to-file) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
147 ;; `byte-compiler-base-file-name' performed by default handler. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
148 (copy-directory . tramp-smb-handle-copy-directory) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
149 (copy-file . tramp-smb-handle-copy-file) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
150 (delete-directory . tramp-smb-handle-delete-directory) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
151 (delete-file . tramp-smb-handle-delete-file) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
152 ;; `diff-latest-backup-file' performed by default handler. |
49612
407d6516031a
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49598
diff
changeset
|
153 (directory-file-name . tramp-handle-directory-file-name) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
154 (directory-files . tramp-smb-handle-directory-files) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
155 (directory-files-and-attributes |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
156 . tramp-smb-handle-directory-files-and-attributes) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
157 (dired-call-process . ignore) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
158 (dired-compress-file . ignore) |
103531
74d482177a44
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
Michael Albinus <michael.albinus@gmx.de>
parents:
100931
diff
changeset
|
159 (dired-uncache . tramp-handle-dired-uncache) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
160 (expand-file-name . tramp-smb-handle-expand-file-name) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
161 (file-accessible-directory-p . tramp-smb-handle-file-directory-p) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
162 (file-attributes . tramp-smb-handle-file-attributes) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
163 (file-directory-p . tramp-smb-handle-file-directory-p) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
164 (file-executable-p . tramp-smb-handle-file-exists-p) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
165 (file-exists-p . tramp-smb-handle-file-exists-p) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
166 (file-local-copy . tramp-smb-handle-file-local-copy) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
167 (file-modes . tramp-handle-file-modes) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
168 (file-name-all-completions . tramp-smb-handle-file-name-all-completions) |
99617
0ba4a2790571
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Handle
Michael Albinus <michael.albinus@gmx.de>
parents:
97037
diff
changeset
|
169 (file-name-as-directory . tramp-handle-file-name-as-directory) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
170 (file-name-completion . tramp-handle-file-name-completion) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
171 (file-name-directory . tramp-handle-file-name-directory) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
172 (file-name-nondirectory . tramp-handle-file-name-nondirectory) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
173 ;; `file-name-sans-versions' performed by default handler. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
174 (file-newer-than-file-p . tramp-smb-handle-file-newer-than-file-p) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
175 (file-ownership-preserved-p . ignore) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
176 (file-readable-p . tramp-smb-handle-file-exists-p) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
177 (file-regular-p . tramp-handle-file-regular-p) |
108077
93125d6fab29
Implement SELINUX backends.
Michael Albinus <michael.albinus@gmx.de>
parents:
107092
diff
changeset
|
178 (file-remote-p . tramp-handle-file-remote-p) |
93125d6fab29
Implement SELINUX backends.
Michael Albinus <michael.albinus@gmx.de>
parents:
107092
diff
changeset
|
179 ;; `file-selinux-context' performed by default handler. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
180 (file-symlink-p . tramp-handle-file-symlink-p) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
181 ;; `file-truename' performed by default handler. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
182 (file-writable-p . tramp-smb-handle-file-writable-p) |
55420
c44f9de543e3
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54198
diff
changeset
|
183 (find-backup-file-name . tramp-handle-find-backup-file-name) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
184 ;; `find-file-noselect' performed by default handler. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
185 ;; `get-file-buffer' performed by default handler. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
186 (insert-directory . tramp-smb-handle-insert-directory) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
187 (insert-file-contents . tramp-handle-insert-file-contents) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
188 (load . tramp-handle-load) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
189 (make-directory . tramp-smb-handle-make-directory) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
190 (make-directory-internal . tramp-smb-handle-make-directory-internal) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
191 (make-symbolic-link . tramp-smb-handle-make-symbolic-link) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
192 (rename-file . tramp-smb-handle-rename-file) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
193 (set-file-modes . tramp-smb-handle-set-file-modes) |
108077
93125d6fab29
Implement SELINUX backends.
Michael Albinus <michael.albinus@gmx.de>
parents:
107092
diff
changeset
|
194 ;; `set-file-selinux-context' performed by default handler. |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
195 (set-file-times . ignore) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
196 (set-visited-file-modtime . ignore) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
197 (shell-command . ignore) |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
59031
diff
changeset
|
198 (substitute-in-file-name . tramp-smb-handle-substitute-in-file-name) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
199 (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
200 (vc-registered . ignore) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
201 (verify-visited-file-modtime . ignore) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
202 (write-region . tramp-smb-handle-write-region) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
203 ) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
204 "Alist of handler functions for Tramp SMB method. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
205 Operations not mentioned here will be handled by the default Emacs primitives.") |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
206 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
207 (defun tramp-smb-file-name-p (filename) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
208 "Check if it's a filename for SMB servers." |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
209 (let ((v (tramp-dissect-file-name filename))) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
210 (string= (tramp-file-name-method v) tramp-smb-method))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
211 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
212 (defun tramp-smb-file-name-handler (operation &rest args) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
213 "Invoke the SMB related OPERATION. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
214 First arg specifies the OPERATION, second arg is a list of arguments to |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
215 pass to the OPERATION." |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
216 (let ((fn (assoc operation tramp-smb-file-name-handler-alist))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
217 (if fn |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
218 (save-match-data (apply (cdr fn) args)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
219 (tramp-run-real-handler operation args)))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
220 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
221 (add-to-list 'tramp-foreign-file-name-handler-alist |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
222 (cons 'tramp-smb-file-name-p 'tramp-smb-file-name-handler)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
223 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
224 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
225 ;; File name primitives. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
226 |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
227 (defun tramp-smb-handle-add-name-to-file |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
228 (filename newname &optional ok-if-already-exists) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
229 "Like `add-name-to-file' for Tramp files." |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
230 (unless (tramp-equal-remote filename newname) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
231 (with-parsed-tramp-file-name |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
232 (if (tramp-tramp-file-p filename) filename newname) nil |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
233 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
234 v 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
235 "add-name-to-file: %s" |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
236 "only implemented for same method, same user, same host"))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
237 (with-parsed-tramp-file-name filename v1 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
238 (with-parsed-tramp-file-name newname v2 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
239 (when (file-directory-p filename) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
240 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
241 v2 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
242 "add-name-to-file: %s must not be a directory" filename)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
243 (when (and (not ok-if-already-exists) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
244 (file-exists-p newname) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
245 (not (numberp ok-if-already-exists)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
246 (y-or-n-p |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
247 (format |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
248 "File %s already exists; make it a new name anyway? " |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
249 newname))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
250 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
251 v2 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
252 "add-name-to-file: file %s already exists" newname)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
253 ;; We must also flush the cache of the directory, because |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
254 ;; `file-attributes' reads the values from there. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
255 (tramp-flush-file-property v2 (file-name-directory v2-localname)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
256 (tramp-flush-file-property v2 v2-localname) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
257 (unless |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
258 (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
259 v1 |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
260 (format |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
261 "%s \"%s\" \"%s\"" |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
262 (if (tramp-smb-get-cifs-capabilities v1) "link" "hardlink") |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
263 (tramp-smb-get-localname v1) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
264 (tramp-smb-get-localname v2))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
265 (tramp-error |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
266 v2 'file-error |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
267 "error with add-name-to-file, see buffer `%s' for details" |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
268 (buffer-name)))))) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
269 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
270 (defun tramp-smb-handle-copy-directory |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
271 (dirname newname &optional keep-date parents) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
272 "Like `copy-directory' for Tramp files. KEEP-DATE is not handled." |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
273 (setq dirname (expand-file-name dirname) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
274 newname (expand-file-name newname)) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
275 (let ((t1 (tramp-tramp-file-p dirname)) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
276 (t2 (tramp-tramp-file-p newname))) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
277 (with-parsed-tramp-file-name (if t1 dirname newname) nil |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
278 (cond |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
279 ;; We must use a local temporary directory. |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
280 ((and t1 t2) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
281 (let ((tmpdir |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
282 (make-temp-name |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
283 (expand-file-name |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
284 tramp-temp-name-prefix |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
285 (tramp-compat-temporary-file-directory))))) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
286 (unwind-protect |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
287 (progn |
105897
d8ba90718d44
* net/tramp-smb.el (tramp-smb-handle-copy-directory)
Michael Albinus <michael.albinus@gmx.de>
parents:
105690
diff
changeset
|
288 (tramp-compat-copy-directory dirname tmpdir keep-date parents) |
d8ba90718d44
* net/tramp-smb.el (tramp-smb-handle-copy-directory)
Michael Albinus <michael.albinus@gmx.de>
parents:
105690
diff
changeset
|
289 (tramp-compat-copy-directory tmpdir newname keep-date parents)) |
d8ba90718d44
* net/tramp-smb.el (tramp-smb-handle-copy-directory)
Michael Albinus <michael.albinus@gmx.de>
parents:
105690
diff
changeset
|
290 (tramp-compat-delete-directory tmpdir 'recursive)))) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
291 |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
292 ;; We can copy recursively. |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
293 ((or t1 t2) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
294 (let ((prompt (tramp-smb-send-command v "prompt")) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
295 (recurse (tramp-smb-send-command v "recurse"))) |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
296 (unless (file-directory-p newname) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
297 (make-directory newname parents)) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
298 (unwind-protect |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
299 (unless |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
300 (and |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
301 prompt recurse |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
302 (tramp-smb-send-command |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
303 v (format "cd \"%s\"" (tramp-smb-get-localname v))) |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
304 (tramp-smb-send-command |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
305 v (format "lcd \"%s\"" (if t1 newname dirname))) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
306 (if t1 |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
307 (tramp-smb-send-command v "mget *") |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
308 (tramp-smb-send-command v "mput *"))) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
309 ;; Error. |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
310 (with-current-buffer (tramp-get-connection-buffer v) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
311 (goto-char (point-min)) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
312 (search-forward-regexp tramp-smb-errors nil t) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
313 (tramp-error |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
314 v 'file-error |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
315 "%s `%s'" (match-string 0) (if t1 dirname newname)))) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
316 ;; Go home. |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
317 (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
318 v (format |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
319 "cd %s" (if (tramp-smb-get-cifs-capabilities v) "/" "\\"))) |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
320 ;; Toggle prompt and recurse OFF. |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
321 (if prompt (tramp-smb-send-command v "prompt")) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
322 (if recurse (tramp-smb-send-command v "recurse"))))) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
323 |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
324 ;; We must do it file-wise. |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
325 (t |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
326 (tramp-run-real-handler |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
327 'copy-directory (list dirname newname keep-date parents))))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
328 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
329 (defun tramp-smb-handle-copy-file |
108077
93125d6fab29
Implement SELINUX backends.
Michael Albinus <michael.albinus@gmx.de>
parents:
107092
diff
changeset
|
330 (filename newname &optional ok-if-already-exists keep-date |
93125d6fab29
Implement SELINUX backends.
Michael Albinus <michael.albinus@gmx.de>
parents:
107092
diff
changeset
|
331 preserve-uid-gid preserve-selinux-context) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
332 "Like `copy-file' for Tramp files. |
85694
21983e7c844a
* net/tramp.el (tramp-wrong-passwd-regexp): Tune regexp.
Michael Albinus <michael.albinus@gmx.de>
parents:
85041
diff
changeset
|
333 KEEP-DATE is not handled in case NEWNAME resides on an SMB server. |
21983e7c844a
* net/tramp.el (tramp-wrong-passwd-regexp): Tune regexp.
Michael Albinus <michael.albinus@gmx.de>
parents:
85041
diff
changeset
|
334 PRESERVE-UID-GID is completely ignored." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
335 (setq filename (expand-file-name filename) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
336 newname (expand-file-name newname)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
337 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
338 (let ((tmpfile (file-local-copy filename))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
339 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
340 (if tmpfile |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
341 ;; Remote filename. |
100923
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
342 (condition-case err |
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
343 (rename-file tmpfile newname ok-if-already-exists) |
100931
3b92ee10ce02
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100923
diff
changeset
|
344 ((error quit) |
108244
2ee48fcc701c
Add FORCE argument to `delete-file'.
Michael Albinus <michael.albinus@gmx.de>
parents:
108077
diff
changeset
|
345 (tramp-compat-delete-file tmpfile 'force) |
100931
3b92ee10ce02
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100923
diff
changeset
|
346 (signal (car err) (cdr err)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
347 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
348 ;; Remote newname. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
349 (when (file-directory-p newname) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
350 (setq newname (expand-file-name |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
351 (file-name-nondirectory filename) newname))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
352 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
353 (with-parsed-tramp-file-name newname nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
354 (when (and (not ok-if-already-exists) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
355 (file-exists-p newname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
356 (tramp-error v 'file-already-exists newname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
357 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
358 ;; We must also flush the cache of the directory, because |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
359 ;; `file-attributes' reads the values from there. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
360 (tramp-flush-file-property v (file-name-directory localname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
361 (tramp-flush-file-property v localname) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
362 (unless (tramp-smb-get-share v) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
363 (tramp-error |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
364 v 'file-error "Target `%s' must contain a share name" newname)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
365 (tramp-message v 0 "Copying file %s to file %s..." filename newname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
366 (if (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
367 v (format "put \"%s\" \"%s\"" |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
368 filename (tramp-smb-get-localname v))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
369 (tramp-message |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
370 v 0 "Copying file %s to file %s...done" filename newname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
371 (tramp-error v 'file-error "Cannot copy `%s'" filename))))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
372 |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
373 ;; KEEP-DATE handling. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
374 (when keep-date (set-file-times newname (nth 5 (file-attributes filename))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
375 |
105354
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
376 (defun tramp-smb-handle-delete-directory (directory &optional recursive) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
377 "Like `delete-directory' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
378 (setq directory (directory-file-name (expand-file-name directory))) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
379 (when (file-exists-p directory) |
105354
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
380 (if recursive |
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
381 (mapc |
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
382 (lambda (file) |
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
383 (if (file-directory-p file) |
105897
d8ba90718d44
* net/tramp-smb.el (tramp-smb-handle-copy-directory)
Michael Albinus <michael.albinus@gmx.de>
parents:
105690
diff
changeset
|
384 (tramp-compat-delete-directory file recursive) |
105354
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
385 (delete-file file))) |
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
386 ;; We do not want to delete "." and "..". |
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
387 (directory-files |
5077632c39ef
* net/tramp-smb.el (tramp-smb-errors): Add error message for
Michael Albinus <michael.albinus@gmx.de>
parents:
105276
diff
changeset
|
388 directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
389 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
390 (with-parsed-tramp-file-name directory nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
391 ;; We must also flush the cache of the directory, because |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
392 ;; `file-attributes' reads the values from there. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
393 (tramp-flush-file-property v (file-name-directory localname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
394 (tramp-flush-directory-property v localname) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
395 (unless (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
396 v (format |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
397 "%s \"%s\"" |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
398 (if (tramp-smb-get-cifs-capabilities v) "posix_rmdir" "rmdir") |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
399 (tramp-smb-get-localname v))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
400 ;; Error. |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
401 (with-current-buffer (tramp-get-connection-buffer v) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
402 (goto-char (point-min)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
403 (search-forward-regexp tramp-smb-errors nil t) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
404 (tramp-error |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
405 v 'file-error "%s `%s'" (match-string 0) directory)))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
406 |
108244
2ee48fcc701c
Add FORCE argument to `delete-file'.
Michael Albinus <michael.albinus@gmx.de>
parents:
108077
diff
changeset
|
407 (defun tramp-smb-handle-delete-file (filename &optional force) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
408 "Like `delete-file' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
409 (setq filename (expand-file-name filename)) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
410 (when (file-exists-p filename) |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
411 (with-parsed-tramp-file-name filename nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
412 ;; We must also flush the cache of the directory, because |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
413 ;; `file-attributes' reads the values from there. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
414 (tramp-flush-file-property v (file-name-directory localname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
415 (tramp-flush-file-property v localname) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
416 (unless (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
417 v (format |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
418 "%s \"%s\"" |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
419 (if (tramp-smb-get-cifs-capabilities v) "posix_unlink" "rm") |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
420 (tramp-smb-get-localname v))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
421 ;; Error. |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
422 (with-current-buffer (tramp-get-connection-buffer v) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
423 (goto-char (point-min)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
424 (search-forward-regexp tramp-smb-errors nil t) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
425 (tramp-error |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
426 v 'file-error "%s `%s'" (match-string 0) filename)))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
427 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
428 (defun tramp-smb-handle-directory-files |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
429 (directory &optional full match nosort) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
430 "Like `directory-files' for Tramp files." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
431 (let ((result (mapcar 'directory-file-name |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
432 (file-name-all-completions "" directory)))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
433 ;; Discriminate with regexp. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
434 (when match |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
435 (setq result |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
436 (delete nil |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
437 (mapcar (lambda (x) (when (string-match match x) x)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
438 result)))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
439 ;; Append directory. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
440 (when full |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
441 (setq result |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
442 (mapcar |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
443 (lambda (x) (expand-file-name x directory)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
444 result))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
445 ;; Sort them if necessary. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
446 (unless nosort (setq result (sort result 'string-lessp))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
447 ;; That's it. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
448 result)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
449 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
450 (defun tramp-smb-handle-directory-files-and-attributes |
53206
0c19f1a19b2b
(tramp-chunksize): Extend docstring. Suggested by
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52401
diff
changeset
|
451 (directory &optional full match nosort id-format) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
452 "Like `directory-files-and-attributes' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
453 (mapcar |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
454 (lambda (x) |
105276
0c6bc9d2b10c
(tramp-smb-handle-directory-files-and-attributes): Use
Glenn Morris <rgm@gnu.org>
parents:
105249
diff
changeset
|
455 (cons x (tramp-compat-file-attributes |
105249
99d98ed749b9
* net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes):
Michael Albinus <michael.albinus@gmx.de>
parents:
103531
diff
changeset
|
456 (if full x (expand-file-name x directory)) id-format))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
457 (directory-files directory full match nosort))) |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
59582
diff
changeset
|
458 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
459 (defun tramp-smb-handle-expand-file-name (name &optional dir) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
460 "Like `expand-file-name' for Tramp files." |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
461 ;; If DIR is not given, use DEFAULT-DIRECTORY or "/". |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
462 (setq dir (or dir default-directory "/")) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
463 ;; Unless NAME is absolute, concat DIR and NAME. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
464 (unless (file-name-absolute-p name) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
465 (setq name (concat (file-name-as-directory dir) name))) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
466 ;; If NAME is not a Tramp file, run the real handler. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
467 (if (not (tramp-tramp-file-p name)) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
468 (tramp-run-real-handler 'expand-file-name (list name nil)) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
469 ;; Dissect NAME. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
470 (with-parsed-tramp-file-name name nil |
105524
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
471 ;; Tilde expansion if necessary. We use the user name as share, |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
472 ;; which is offen the case in domains. |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
473 (when (string-match "\\`/?~\\([^/]*\\)" localname) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
474 (setq localname |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
475 (replace-match |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
476 (if (zerop (length (match-string 1 localname))) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
477 (tramp-file-name-real-user v) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
478 (match-string 1 localname)) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
479 nil nil localname))) |
e781cac84553
* net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
Michael Albinus <michael.albinus@gmx.de>
parents:
105509
diff
changeset
|
480 ;; Make the file name absolute. |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
481 (unless (tramp-run-real-handler 'file-name-absolute-p (list localname)) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
482 (setq localname (concat "/" localname))) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
483 ;; No tilde characters in file name, do normal |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
484 ;; `expand-file-name' (this does "/./" and "/../"). |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
485 (tramp-make-tramp-file-name |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
486 method user host |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
487 (tramp-run-real-handler 'expand-file-name (list localname)))))) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
488 |
53206
0c19f1a19b2b
(tramp-chunksize): Extend docstring. Suggested by
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52401
diff
changeset
|
489 (defun tramp-smb-handle-file-attributes (filename &optional id-format) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
490 "Like `file-attributes' for Tramp files." |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
491 (unless id-format (setq id-format 'integer)) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
492 (with-parsed-tramp-file-name filename nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
493 (with-file-property v localname (format "file-attributes-%s" id-format) |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
494 (if (and (tramp-smb-get-share v) (tramp-smb-get-stat-capability v)) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
495 (tramp-smb-do-file-attributes-with-stat v id-format) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
496 ;; Reading just the filename entry via "dir localname" is not |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
497 ;; possible, because when filename is a directory, some |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
498 ;; smbclient versions return the content of the directory, and |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
499 ;; other versions don't. Therefore, the whole content of the |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
500 ;; upper directory is retrieved, and the entry of the filename |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
501 ;; is extracted from. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
502 (let* ((entries (tramp-smb-get-file-entries |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
503 (file-name-directory filename))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
504 (entry (assoc (file-name-nondirectory filename) entries)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
505 (uid (if (equal id-format 'string) "nobody" -1)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
506 (gid (if (equal id-format 'string) "nogroup" -1)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
507 (inode (tramp-get-inode v)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
508 (device (tramp-get-device v))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
509 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
510 ;; Check result. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
511 (when entry |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
512 (list (and (string-match "d" (nth 1 entry)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
513 t) ;0 file type |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
514 -1 ;1 link count |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
515 uid ;2 uid |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
516 gid ;3 gid |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
517 '(0 0) ;4 atime |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
518 (nth 3 entry) ;5 mtime |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
519 '(0 0) ;6 ctime |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
520 (nth 2 entry) ;7 size |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
521 (nth 1 entry) ;8 mode |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
522 nil ;9 gid weird |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
523 inode ;10 inode number |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
524 device))))))) ;11 file system number |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
525 |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
526 (defun tramp-smb-do-file-attributes-with-stat (vec &optional id-format) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
527 "Implement `file-attributes' for Tramp files using stat command." |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
528 (tramp-message |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
529 vec 5 "file attributes with stat: %s" (tramp-file-name-localname vec)) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
530 (with-current-buffer (tramp-get-buffer vec) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
531 (let* (size id link uid gid atime mtime ctime mode inode) |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
532 (when (tramp-smb-send-command |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
533 vec (format "stat \"%s\"" (tramp-smb-get-localname vec))) |
49612
407d6516031a
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49598
diff
changeset
|
534 |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
535 ;; Loop the listing. |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
536 (goto-char (point-min)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
537 (unless (re-search-forward tramp-smb-errors nil t) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
538 (while (not (eobp)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
539 (cond |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
540 ((looking-at |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
541 "Size:\\s-+\\([0-9]+\\)\\s-+Blocks:\\s-+[0-9]+\\s-+\\(\\w+\\)") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
542 (setq size (string-to-number (match-string 1)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
543 id (if (string-equal "directory" (match-string 2)) t |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
544 (if (string-equal "symbolic" (match-string 2)) "")))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
545 ((looking-at |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
546 "Inode:\\s-+\\([0-9]+\\)\\s-+Links:\\s-+\\([0-9]+\\)") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
547 (setq inode (string-to-number (match-string 1)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
548 link (string-to-number (match-string 2)))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
549 ((looking-at |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
550 "Access:\\s-+([0-9]+/\\(\\S-+\\))\\s-+Uid:\\s-+\\([0-9]+\\)\\s-+Gid:\\s-+\\([0-9]+\\)") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
551 (setq mode (match-string 1) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
552 uid (if (equal id-format 'string) (match-string 2) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
553 (string-to-number (match-string 2))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
554 gid (if (equal id-format 'string) (match-string 3) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
555 (string-to-number (match-string 3))))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
556 ((looking-at |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
557 "Access:\\s-+\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\)\\s-+\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\)") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
558 (setq atime |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
559 (encode-time |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
560 (string-to-number (match-string 6)) ;; sec |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
561 (string-to-number (match-string 5)) ;; min |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
562 (string-to-number (match-string 4)) ;; hour |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
563 (string-to-number (match-string 3)) ;; day |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
564 (string-to-number (match-string 2)) ;; month |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
565 (string-to-number (match-string 1))))) ;; year |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
566 ((looking-at |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
567 "Modify:\\s-+\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\)\\s-+\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\)") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
568 (setq mtime |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
569 (encode-time |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
570 (string-to-number (match-string 6)) ;; sec |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
571 (string-to-number (match-string 5)) ;; min |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
572 (string-to-number (match-string 4)) ;; hour |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
573 (string-to-number (match-string 3)) ;; day |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
574 (string-to-number (match-string 2)) ;; month |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
575 (string-to-number (match-string 1))))) ;; year |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
576 ((looking-at |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
577 "Change:\\s-+\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\)\\s-+\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\)") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
578 (setq ctime |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
579 (encode-time |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
580 (string-to-number (match-string 6)) ;; sec |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
581 (string-to-number (match-string 5)) ;; min |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
582 (string-to-number (match-string 4)) ;; hour |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
583 (string-to-number (match-string 3)) ;; day |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
584 (string-to-number (match-string 2)) ;; month |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
585 (string-to-number (match-string 1)))))) ;; year |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
586 (forward-line)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
587 ;; Return the result. |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
588 (list id link uid gid atime mtime ctime size mode nil inode |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
589 (tramp-get-device vec))))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
590 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
591 (defun tramp-smb-handle-file-directory-p (filename) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
592 "Like `file-directory-p' for Tramp files." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
593 (and (file-exists-p filename) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
594 (eq ?d (aref (nth 8 (file-attributes filename)) 0)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
595 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
596 (defun tramp-smb-handle-file-exists-p (filename) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
597 "Like `file-exists-p' for Tramp files." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
598 (not (null (file-attributes filename)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
599 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
600 (defun tramp-smb-handle-file-local-copy (filename) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
601 "Like `file-local-copy' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
602 (with-parsed-tramp-file-name filename nil |
103531
74d482177a44
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
Michael Albinus <michael.albinus@gmx.de>
parents:
100931
diff
changeset
|
603 (unless (file-exists-p filename) |
74d482177a44
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
Michael Albinus <michael.albinus@gmx.de>
parents:
100931
diff
changeset
|
604 (tramp-error |
74d482177a44
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
Michael Albinus <michael.albinus@gmx.de>
parents:
100931
diff
changeset
|
605 v 'file-error |
74d482177a44
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
Michael Albinus <michael.albinus@gmx.de>
parents:
100931
diff
changeset
|
606 "Cannot make local copy of non-existing file `%s'" filename)) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
607 (let ((tmpfile (tramp-compat-make-temp-file filename))) |
85024
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
608 (tramp-message v 4 "Fetching %s to tmp file %s..." filename tmpfile) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
609 (if (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
610 v (format "get \"%s\" \"%s\"" (tramp-smb-get-localname v) tmpfile)) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
611 (tramp-message |
85024
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
612 v 4 "Fetching %s to tmp file %s...done" filename tmpfile) |
103531
74d482177a44
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
Michael Albinus <michael.albinus@gmx.de>
parents:
100931
diff
changeset
|
613 ;; Oops, an error. We shall cleanup. |
108244
2ee48fcc701c
Add FORCE argument to `delete-file'.
Michael Albinus <michael.albinus@gmx.de>
parents:
108077
diff
changeset
|
614 (tramp-compat-delete-file tmpfile 'force) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
615 (tramp-error |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
616 v 'file-error "Cannot make local copy of file `%s'" filename)) |
85024
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
617 tmpfile))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
618 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
619 ;; This function should return "foo/" for directories and "bar" for |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
620 ;; files. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
621 (defun tramp-smb-handle-file-name-all-completions (filename directory) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
622 "Like `file-name-all-completions' for Tramp files." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
623 (all-completions |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
624 filename |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
625 (with-parsed-tramp-file-name directory nil |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
626 (with-file-property v localname "file-name-all-completions" |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
627 (save-match-data |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
628 (let ((entries (tramp-smb-get-file-entries directory))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
629 (mapcar |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
630 (lambda (x) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
631 (list |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
632 (if (string-match "d" (nth 1 x)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
633 (file-name-as-directory (nth 0 x)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
634 (nth 0 x)))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
635 entries))))))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
636 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
637 (defun tramp-smb-handle-file-newer-than-file-p (file1 file2) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
638 "Like `file-newer-than-file-p' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
639 (cond |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
640 ((not (file-exists-p file1)) nil) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
641 ((not (file-exists-p file2)) t) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
642 (t (tramp-time-less-p (nth 5 (file-attributes file2)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
643 (nth 5 (file-attributes file1)))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
644 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
645 (defun tramp-smb-handle-file-writable-p (filename) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
646 "Like `file-writable-p' for Tramp files." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
647 (if (file-exists-p filename) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
648 (string-match "w" (or (nth 8 (file-attributes filename)) "")) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
649 (let ((dir (file-name-directory filename))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
650 (and (file-exists-p dir) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
651 (file-writable-p dir))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
652 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
653 (defun tramp-smb-handle-insert-directory |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
654 (filename switches &optional wildcard full-directory-p) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
655 "Like `insert-directory' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
656 (setq filename (expand-file-name filename)) |
107092
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
657 (if full-directory-p |
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
658 ;; Called from `dired-add-entry'. |
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
659 (setq filename (file-name-as-directory filename)) |
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
660 (setq filename (directory-file-name filename))) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
661 (with-parsed-tramp-file-name filename nil |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
662 (save-match-data |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
663 (let ((base (file-name-nondirectory filename)) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
664 ;; We should not destroy the cache entry. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
665 (entries (copy-sequence |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
666 (tramp-smb-get-file-entries |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
667 (file-name-directory filename))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
668 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
669 (when wildcard |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
670 (string-match "\\." base) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
671 (setq base (replace-match "\\\\." nil nil base)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
672 (string-match "\\*" base) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
673 (setq base (replace-match ".*" nil nil base)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
674 (string-match "\\?" base) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
675 (setq base (replace-match ".?" nil nil base))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
676 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
677 ;; Filter entries. |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
59582
diff
changeset
|
678 (setq entries |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
679 (delq |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
680 nil |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
681 (if (or wildcard (zerop (length base))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
682 ;; Check for matching entries. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
683 (mapcar |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
684 (lambda (x) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
685 (when (string-match |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
686 (format "^%s" base) (nth 0 x)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
687 x)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
688 entries) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
689 ;; We just need the only and only entry FILENAME. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
690 (list (assoc base entries))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
691 |
87368
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
692 ;; Sort entries. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
693 (setq entries |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
694 (sort |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
695 entries |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
696 (lambda (x y) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
697 (if (string-match "t" switches) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
698 ;; Sort by date. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
699 (tramp-time-less-p (nth 3 y) (nth 3 x)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
700 ;; Sort by name. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
701 (string-lessp (nth 0 x) (nth 0 y)))))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
702 |
87368
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
703 ;; Handle "-F" switch. |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
704 (when (string-match "F" switches) |
87559
59f471917fe0
(tramp-smb-handle-insert-directory): Use mapc rather than mapcar.
Glenn Morris <rgm@gnu.org>
parents:
87368
diff
changeset
|
705 (mapc |
87368
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
706 (lambda (x) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
707 (when (not (zerop (length (car x)))) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
708 (cond |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
709 ((char-equal ?d (string-to-char (nth 1 x))) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
710 (setcar x (concat (car x) "/"))) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
711 ((char-equal ?x (string-to-char (nth 1 x))) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
712 (setcar x (concat (car x) "*")))))) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
713 entries)) |
8b57223acf6b
Sync with Tramp 2.1.12.
Michael Albinus <michael.albinus@gmx.de>
parents:
85962
diff
changeset
|
714 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
715 ;; Print entries. |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
716 (mapc |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
717 (lambda (x) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
718 (when (not (zerop (length (nth 0 x)))) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
719 (let ((attr |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
720 (when (tramp-smb-get-stat-capability v) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
721 (ignore-errors |
107092
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
722 (file-attributes filename 'string))))) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
723 (insert |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
724 (format |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
725 "%10s %3d %-8s %-8s %8s %s " |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
726 (or (nth 8 attr) (nth 1 x)) ; mode |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
727 (or (nth 1 attr) 1) ; inode |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
728 (or (nth 2 attr) "nobody") ; uid |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
729 (or (nth 3 attr) "nogroup") ; gid |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
730 (or (nth 7 attr) (nth 2 x)) ; size |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
731 (format-time-string |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
732 (if (tramp-time-less-p |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
733 (tramp-time-subtract (current-time) (nth 3 x)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
734 tramp-half-a-year) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
735 "%b %e %R" |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
736 "%b %e %Y") |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
737 (nth 3 x)))) ; date |
107085
d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
Michael Albinus <michael.albinus@gmx.de>
parents:
106959
diff
changeset
|
738 ;; We mark the file name. The inserted name could be |
d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
Michael Albinus <michael.albinus@gmx.de>
parents:
106959
diff
changeset
|
739 ;; from somewhere else, so we use the relative file |
d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
Michael Albinus <michael.albinus@gmx.de>
parents:
106959
diff
changeset
|
740 ;; name of `default-directory'. |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
741 (let ((start (point))) |
107085
d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
Michael Albinus <michael.albinus@gmx.de>
parents:
106959
diff
changeset
|
742 (insert |
d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
Michael Albinus <michael.albinus@gmx.de>
parents:
106959
diff
changeset
|
743 (format |
d7831d04952b
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
Michael Albinus <michael.albinus@gmx.de>
parents:
106959
diff
changeset
|
744 "%s\n" |
107092
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
745 (file-relative-name |
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
746 (expand-file-name |
2e763e444bc2
* net/ange-ftp.el (ange-ftp-insert-directory):
Michael Albinus <michael.albinus@gmx.de>
parents:
107085
diff
changeset
|
747 (nth 0 x) (file-name-directory filename))))) |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
748 (put-text-property start (1- (point)) 'dired-filename t)) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
749 (forward-line) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
750 (beginning-of-line)))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
751 entries))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
752 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
753 (defun tramp-smb-handle-make-directory (dir &optional parents) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
754 "Like `make-directory' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
755 (setq dir (directory-file-name (expand-file-name dir))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
756 (unless (file-name-absolute-p dir) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
757 (setq dir (expand-file-name dir default-directory))) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
758 (with-parsed-tramp-file-name dir nil |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
759 (save-match-data |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
760 (let* ((ldir (file-name-directory dir))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
761 ;; Make missing directory parts. |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
762 (when (and parents |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
763 (tramp-smb-get-share v) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
764 (not (file-directory-p ldir))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
765 (make-directory ldir parents)) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
766 ;; Just do it. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
767 (when (file-directory-p ldir) |
49612
407d6516031a
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49598
diff
changeset
|
768 (make-directory-internal dir)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
769 (unless (file-directory-p dir) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
770 (tramp-error v 'file-error "Couldn't make directory %s" dir)))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
771 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
772 (defun tramp-smb-handle-make-directory-internal (directory) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
773 "Like `make-directory-internal' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
774 (setq directory (directory-file-name (expand-file-name directory))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
775 (unless (file-name-absolute-p directory) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
776 (setq directory (expand-file-name directory default-directory))) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
777 (with-parsed-tramp-file-name directory nil |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
778 (save-match-data |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
779 (let* ((file (tramp-smb-get-localname v))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
780 (when (file-directory-p (file-name-directory directory)) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
781 (tramp-smb-send-command |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
782 v |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
783 (if (tramp-smb-get-cifs-capabilities v) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
784 (format |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
785 "posix_mkdir \"%s\" %s" |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
786 file (tramp-decimal-to-octal (default-file-modes))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
787 (format "mkdir \"%s\"" file))) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
788 ;; We must also flush the cache of the directory, because |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
789 ;; `file-attributes' reads the values from there. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
790 (tramp-flush-file-property v (file-name-directory localname)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
791 (tramp-flush-file-property v localname)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
792 (unless (file-directory-p directory) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
793 (tramp-error |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
794 v 'file-error "Couldn't make directory %s" directory)))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
795 |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
796 (defun tramp-smb-handle-make-symbolic-link |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
797 (filename linkname &optional ok-if-already-exists) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
798 "Like `make-symbolic-link' for Tramp files. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
799 If LINKNAME is a non-Tramp file, it is used verbatim as the target of |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
800 the symlink. If LINKNAME is a Tramp file, only the localname component is |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
801 used as the target of the symlink. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
802 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
803 If LINKNAME is a Tramp file and the localname component is relative, then |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
804 it is expanded first, before the localname component is taken. Note that |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
805 this can give surprising results if the user/host for the source and |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
806 target of the symlink differ." |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
807 (unless (tramp-equal-remote filename linkname) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
808 (with-parsed-tramp-file-name |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
809 (if (tramp-tramp-file-p filename) filename linkname) nil |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
810 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
811 v 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
812 "make-symbolic-link: %s" |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
813 "only implemented for same method, same user, same host"))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
814 (with-parsed-tramp-file-name filename v1 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
815 (with-parsed-tramp-file-name linkname v2 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
816 (when (file-directory-p filename) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
817 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
818 v2 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
819 "make-symbolic-link: %s must not be a directory" filename)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
820 (when (and (not ok-if-already-exists) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
821 (file-exists-p linkname) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
822 (not (numberp ok-if-already-exists)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
823 (y-or-n-p |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
824 (format |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
825 "File %s already exists; make it a new name anyway? " |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
826 linkname))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
827 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
828 v2 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
829 "make-symbolic-link: file %s already exists" linkname)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
830 (unless (tramp-smb-get-cifs-capabilities v1) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
831 (tramp-error v2 'file-error "make-symbolic-link not supported")) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
832 ;; We must also flush the cache of the directory, because |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
833 ;; `file-attributes' reads the values from there. |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
834 (tramp-flush-file-property v2 (file-name-directory v2-localname)) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
835 (tramp-flush-file-property v2 v2-localname) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
836 (unless |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
837 (tramp-smb-send-command |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
838 v1 |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
839 (format |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
840 "symlink \"%s\" \"%s\"" |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
841 (tramp-smb-get-localname v1) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
842 (tramp-smb-get-localname v2))) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
843 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
844 v2 'file-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
845 "error with make-symbolic-link, see buffer `%s' for details" |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
846 (buffer-name)))))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
847 |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
848 (defun tramp-smb-handle-rename-file |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
849 (filename newname &optional ok-if-already-exists) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
850 "Like `rename-file' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
851 (setq filename (expand-file-name filename) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
852 newname (expand-file-name newname)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
853 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
854 (let ((tmpfile (file-local-copy filename))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
855 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
856 (if tmpfile |
100923
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
857 ;; Remote filename. |
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
858 (condition-case err |
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
859 (rename-file tmpfile newname ok-if-already-exists) |
100931
3b92ee10ce02
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100923
diff
changeset
|
860 ((error quit) |
108244
2ee48fcc701c
Add FORCE argument to `delete-file'.
Michael Albinus <michael.albinus@gmx.de>
parents:
108077
diff
changeset
|
861 (tramp-compat-delete-file tmpfile 'force) |
100931
3b92ee10ce02
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100923
diff
changeset
|
862 (signal (car err) (cdr err)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
863 |
100923
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
864 ;; Remote newname. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
865 (when (file-directory-p newname) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
866 (setq newname (expand-file-name |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
867 (file-name-nondirectory filename) newname))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
868 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
869 (with-parsed-tramp-file-name newname nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
870 (when (and (not ok-if-already-exists) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
871 (file-exists-p newname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
872 (tramp-error v 'file-already-exists newname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
873 ;; We must also flush the cache of the directory, because |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
874 ;; `file-attributes' reads the values from there. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
875 (tramp-flush-file-property v (file-name-directory localname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
876 (tramp-flush-file-property v localname) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
877 (tramp-message v 0 "Copying file %s to file %s..." filename newname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
878 (if (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
879 v (format "put %s \"%s\"" filename (tramp-smb-get-localname v))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
880 (tramp-message |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
881 v 0 "Copying file %s to file %s...done" filename newname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
882 (tramp-error v 'file-error "Cannot rename `%s'" filename))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
883 |
108244
2ee48fcc701c
Add FORCE argument to `delete-file'.
Michael Albinus <michael.albinus@gmx.de>
parents:
108077
diff
changeset
|
884 (tramp-compat-delete-file filename 'force)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
885 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
886 (defun tramp-smb-handle-set-file-modes (filename mode) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
887 "Like `set-file-modes' for Tramp files." |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
888 (with-parsed-tramp-file-name filename nil |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
889 (when (tramp-smb-get-cifs-capabilities v) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
890 (tramp-flush-file-property v localname) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
891 (unless (tramp-smb-send-command |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
892 v (format "chmod \"%s\" %s" |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
893 (tramp-smb-get-localname v) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
894 (tramp-decimal-to-octal mode))) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
895 (tramp-error |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
896 v 'file-error "Error while changing file's mode %s" filename))))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
897 |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
59031
diff
changeset
|
898 (defun tramp-smb-handle-substitute-in-file-name (filename) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
899 "Like `handle-substitute-in-file-name' for Tramp files. |
85962
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
900 \"//\" substitutes only in the local filename part. Catches |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
901 errors for shares like \"C$/\", which are common in Microsoft Windows." |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
902 (with-parsed-tramp-file-name filename nil |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
903 ;; Ignore in LOCALNAME everything before "//". |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
904 (when (and (stringp localname) (string-match ".+?/\\(/\\|~\\)" localname)) |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
905 (setq filename |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
906 (concat (file-remote-p filename) |
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
907 (replace-match "\\1" nil nil localname))))) |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
59031
diff
changeset
|
908 (condition-case nil |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
59031
diff
changeset
|
909 (tramp-run-real-handler 'substitute-in-file-name (list filename)) |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
59031
diff
changeset
|
910 (error filename))) |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
59031
diff
changeset
|
911 |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
912 (defun tramp-smb-handle-write-region |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
913 (start end filename &optional append visit lockname confirm) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
914 "Like `write-region' for Tramp files." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
915 (setq filename (expand-file-name filename)) |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
916 (with-parsed-tramp-file-name filename nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
917 (unless (eq append nil) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
918 (tramp-error |
85694
21983e7c844a
* net/tramp.el (tramp-wrong-passwd-regexp): Tune regexp.
Michael Albinus <michael.albinus@gmx.de>
parents:
85041
diff
changeset
|
919 v 'file-error "Cannot append to file using Tramp (`%s')" filename)) |
85024
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
920 ;; XEmacs takes a coding system as the seventh argument, not `confirm'. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
921 (when (and (not (featurep 'xemacs)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
922 confirm (file-exists-p filename)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
923 (unless (y-or-n-p (format "File %s exists; overwrite anyway? " |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
924 filename)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
925 (tramp-error v 'file-error "File not overwritten"))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
926 ;; We must also flush the cache of the directory, because |
85962
7f134b676a0c
* net/tramp.el (tramp-handle-substitute-in-file-name): Don't
Michael Albinus <michael.albinus@gmx.de>
parents:
85694
diff
changeset
|
927 ;; `file-attributes' reads the values from there. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
928 (tramp-flush-file-property v (file-name-directory localname)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
929 (tramp-flush-file-property v localname) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
930 (let ((curbuf (current-buffer)) |
85041
a42b8750a992
* net/tramp.el (tramp-make-temp-file): Move to tramp-compat.el.
Michael Albinus <michael.albinus@gmx.de>
parents:
85024
diff
changeset
|
931 (tmpfile (tramp-compat-make-temp-file filename))) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
932 ;; We say `no-message' here because we don't want the visited file |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
933 ;; modtime data to be clobbered from the temp file. We call |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
934 ;; `set-visited-file-modtime' ourselves later on. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
935 (tramp-run-real-handler |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
936 'write-region |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
937 (if confirm ; don't pass this arg unless defined for backward compat. |
85024
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
938 (list start end tmpfile append 'no-message lockname confirm) |
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
939 (list start end tmpfile append 'no-message lockname))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
940 |
85024
ef71cdab0d5c
* net/tramp.el (top): Add tramp-compat to `tramp-unload-hook'.
Michael Albinus <michael.albinus@gmx.de>
parents:
84985
diff
changeset
|
941 (tramp-message v 5 "Writing tmp file %s to file %s..." tmpfile filename) |
100923
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
942 (unwind-protect |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
943 (if (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
944 v (format "put %s \"%s\"" tmpfile (tramp-smb-get-localname v))) |
100923
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
945 (tramp-message |
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
946 v 5 "Writing tmp file %s to file %s...done" tmpfile filename) |
7bf074994867
* net/tramp-smb.el (tramp-smb-handle-copy-file)
Michael Albinus <michael.albinus@gmx.de>
parents:
100857
diff
changeset
|
947 (tramp-error v 'file-error "Cannot write `%s'" filename)) |
108244
2ee48fcc701c
Add FORCE argument to `delete-file'.
Michael Albinus <michael.albinus@gmx.de>
parents:
108077
diff
changeset
|
948 (tramp-compat-delete-file tmpfile 'force)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
949 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
950 (unless (equal curbuf (current-buffer)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
951 (tramp-error |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
952 v 'file-error |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
953 "Buffer has changed from `%s' to `%s'" curbuf (current-buffer))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
954 (when (eq visit t) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
955 (set-visited-file-modtime))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
956 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
957 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
958 ;; Internal file name functions. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
959 |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
960 (defun tramp-smb-get-share (vec) |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
961 "Returns the share name of LOCALNAME." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
962 (save-match-data |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
963 (let ((localname (tramp-file-name-localname vec))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
964 (when (string-match "^/?\\([^/]+\\)/" localname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
965 (match-string 1 localname))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
966 |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
967 (defun tramp-smb-get-localname (vec) |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
968 "Returns the file name of LOCALNAME. |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
969 If VEC has no cifs capabilities, exchange \"/\" by \"\\\\\"." |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
970 (save-match-data |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
971 (let ((localname (tramp-file-name-localname vec))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
972 (setq |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
973 localname |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
974 (if (string-match "^/?[^/]+\\(/.*\\)" localname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
975 ;; There is a share, sparated by "/". |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
976 (if (not (tramp-smb-get-cifs-capabilities vec)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
977 (mapconcat |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
978 (lambda (x) (if (equal x ?/) "\\" (char-to-string x))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
979 (match-string 1 localname) "") |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
980 (match-string 1 localname)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
981 ;; There is just a share. |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
982 (if (string-match "^/?\\([^/]+\\)$" localname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
983 (match-string 1 localname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
984 ""))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
985 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
986 ;; Sometimes we have discarded `substitute-in-file-name'. |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
987 (when (string-match "\\(\\$\\$\\)\\(/\\|$\\)" localname) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
988 (setq localname (replace-match "$" nil nil localname 1))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
989 |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
990 localname))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
991 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
992 ;; Share names of a host are cached. It is very unlikely that the |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
993 ;; shares do change during connection. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
994 (defun tramp-smb-get-file-entries (directory) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
995 "Read entries which match DIRECTORY. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
996 Either the shares are listed, or the `dir' command is executed. |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
997 Result is a list of (LOCALNAME MODE SIZE MONTH DAY TIME YEAR)." |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
998 (with-parsed-tramp-file-name (file-name-as-directory directory) nil |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
999 (setq localname (or localname "/")) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1000 (with-file-property v localname "file-entries" |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1001 (with-current-buffer (tramp-get-buffer v) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1002 (let* ((share (tramp-smb-get-share v)) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1003 (cache (tramp-get-connection-property v "share-cache" nil)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1004 res entry) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1005 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1006 (if (and (not share) cache) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1007 ;; Return cached shares. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1008 (setq res cache) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1009 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1010 ;; Read entries. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1011 (if share |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1012 (tramp-smb-send-command |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1013 v (format "dir \"%s*\"" (tramp-smb-get-localname v))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1014 ;; `tramp-smb-maybe-open-connection' lists also the share names. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1015 (tramp-smb-maybe-open-connection v)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1016 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1017 ;; Loop the listing. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1018 (goto-char (point-min)) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1019 (if (re-search-forward tramp-smb-errors nil t) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1020 (tramp-error v 'file-error "%s `%s'" (match-string 0) directory) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1021 (while (not (eobp)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1022 (setq entry (tramp-smb-read-file-entry share)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1023 (forward-line) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1024 (when entry (add-to-list 'res entry)))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1025 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1026 ;; Cache share entries. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1027 (unless share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1028 (tramp-set-connection-property v "share-cache" res))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1029 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1030 ;; Add directory itself. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1031 (add-to-list 'res '("" "drwxrwxrwx" 0 (0 0))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1032 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1033 ;; There's a very strange error (debugged with XEmacs 21.4.14) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1034 ;; If there's no short delay, it returns nil. No idea about. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1035 (when (featurep 'xemacs) (sleep-for 0.01)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1036 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1037 ;; Return entries. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1038 (delq nil res)))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1039 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1040 ;; Return either a share name (if SHARE is nil), or a file name. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1041 ;; |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1042 ;; If shares are listed, the following format is expected: |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1043 ;; |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1044 ;; Disk| - leading spaces |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1045 ;; [^|]+| - share name, 14 char |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1046 ;; .* - comment |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1047 ;; |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1048 ;; Entries provided by smbclient DIR aren't fully regular. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1049 ;; They should have the format |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1050 ;; |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1051 ;; \s-\{2,2} - leading spaces |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1052 ;; \S-\(.*\S-\)\s-* - file name, 30 chars, left bound |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1053 ;; \s-+[ADHRSV]* - permissions, 7 chars, right bound |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1054 ;; \s- - space delimeter |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1055 ;; \s-+[0-9]+ - size, 8 chars, right bound |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1056 ;; \s-\{2,2\} - space delimeter |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1057 ;; \w\{3,3\} - weekday |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1058 ;; \s- - space delimeter |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1059 ;; \w\{3,3\} - month |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1060 ;; \s- - space delimeter |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1061 ;; [ 12][0-9] - day |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1062 ;; \s- - space delimeter |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1063 ;; [0-9]\{2,2\}:[0-9]\{2,2\}:[0-9]\{2,2\} - time |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1064 ;; \s- - space delimeter |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1065 ;; [0-9]\{4,4\} - year |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1066 ;; |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1067 ;; samba/src/client.c (http://samba.org/doxygen/samba/client_8c-source.html) |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1068 ;; has function display_finfo: |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1069 ;; |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1070 ;; d_printf(" %-30s%7.7s %8.0f %s", |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1071 ;; finfo->name, |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1072 ;; attrib_string(finfo->mode), |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1073 ;; (double)finfo->size, |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1074 ;; asctime(LocalTime(&t))); |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1075 ;; |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1076 ;; in Samba 1.9, there's the following code: |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1077 ;; |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1078 ;; DEBUG(0,(" %-30s%7.7s%10d %s", |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1079 ;; CNV_LANG(finfo->name), |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1080 ;; attrib_string(finfo->mode), |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1081 ;; finfo->size, |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1082 ;; asctime(LocalTime(&t)))); |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1083 ;; |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1084 ;; Problems: |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1085 ;; * Modern regexp constructs, like spy groups and counted repetitions, aren't |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1086 ;; available in older Emacsen. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1087 ;; * The length of constructs (file name, size) might exceed the default. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1088 ;; * File names might contain spaces. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1089 ;; * Permissions might be empty. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1090 ;; |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1091 ;; So we try to analyze backwards. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1092 (defun tramp-smb-read-file-entry (share) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1093 "Parse entry in SMB output buffer. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1094 If SHARE is result, entries are of type dir. Otherwise, shares are listed. |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
1095 Result is the list (LOCALNAME MODE SIZE MTIME)." |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1096 ;; We are called from `tramp-smb-get-file-entries', which sets the |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1097 ;; current buffer. |
84985
f7642749252b
* net/tramp-compat.el: New file.
Michael Albinus <michael.albinus@gmx.de>
parents:
84739
diff
changeset
|
1098 (let ((line (buffer-substring (point) (tramp-compat-line-end-position))) |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
1099 localname mode size month day hour min sec year mtime) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1100 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1101 (if (not share) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1102 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1103 ;; Read share entries. |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1104 (when (string-match "^Disk|\\([^|]+\\)|" line) |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
1105 (setq localname (match-string 1 line) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1106 mode "dr-xr-xr-x" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1107 size 0)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1108 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1109 ;; Real listing. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1110 (block nil |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1111 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1112 ;; year. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1113 (if (string-match "\\([0-9]+\\)$" line) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1114 (setq year (string-to-number (match-string 1 line)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1115 line (substring line 0 -5)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1116 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1117 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1118 ;; time. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1119 (if (string-match "\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\)$" line) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1120 (setq hour (string-to-number (match-string 1 line)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1121 min (string-to-number (match-string 2 line)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1122 sec (string-to-number (match-string 3 line)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1123 line (substring line 0 -9)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1124 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1125 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1126 ;; day. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1127 (if (string-match "\\([0-9]+\\)$" line) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1128 (setq day (string-to-number (match-string 1 line)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1129 line (substring line 0 -3)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1130 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1131 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1132 ;; month. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1133 (if (string-match "\\(\\w+\\)$" line) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1134 (setq month (match-string 1 line) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1135 line (substring line 0 -4)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1136 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1137 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1138 ;; weekday. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1139 (if (string-match "\\(\\w+\\)$" line) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1140 (setq line (substring line 0 -5)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1141 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1142 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1143 ;; size. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1144 (if (string-match "\\([0-9]+\\)$" line) |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1145 (let ((length (- (max 10 (1+ (length (match-string 1 line))))))) |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1146 (setq size (string-to-number (match-string 1 line))) |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1147 (when (string-match "\\([ADHRSV]+\\)" (substring line length)) |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1148 (setq length (+ length (match-end 0)))) |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1149 (setq line (substring line 0 length))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1150 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1151 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1152 ;; mode: ARCH, DIR, HIDDEN, RONLY, SYSTEM, VOLID. |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1153 (if (string-match "\\([ADHRSV]+\\)?$" line) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1154 (setq |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1155 mode (or (match-string 1 line) "") |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1156 mode (save-match-data (format |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1157 "%s%s" |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1158 (if (string-match "D" mode) "d" "-") |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1159 (mapconcat |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1160 (lambda (x) "") " " |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1161 (concat "r" (if (string-match "R" mode) "-" "w") "x")))) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1162 line (substring line 0 -6)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1163 (return)) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1164 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1165 ;; localname. |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49995
diff
changeset
|
1166 (if (string-match "^\\s-+\\(\\S-\\(.*\\S-\\)?\\)\\s-*$" line) |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
1167 (setq localname (match-string 1 line)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1168 (return)))) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1169 |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
1170 (when (and localname mode size) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1171 (setq mtime |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1172 (if (and sec min hour day month year) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1173 (encode-time |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1174 sec min hour day |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1175 (cdr (assoc (downcase month) tramp-parse-time-months)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1176 year) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1177 '(0 0))) |
49995
a0e8a85259ed
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49612
diff
changeset
|
1178 (list localname mode size mtime)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1179 |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
1180 (defun tramp-smb-get-cifs-capabilities (vec) |
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
1181 "Check, whether the SMB server supports POSIX commands." |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1182 ;; When we are not logged in yet, we return nil. |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1183 (if (let ((p (tramp-get-connection-process vec))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1184 (and p (processp p) (memq (process-status p) '(run open)))) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1185 (with-connection-property |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1186 (tramp-get-connection-process vec) "cifs-capabilities" |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1187 (save-match-data |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1188 (when (tramp-smb-send-command vec "posix") |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1189 (with-current-buffer (tramp-get-buffer vec) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1190 (goto-char (point-min)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1191 (when |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1192 (re-search-forward "Server supports CIFS capabilities" nil t) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1193 (member |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1194 "pathnames" |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1195 (split-string |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1196 (buffer-substring |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1197 (point) (tramp-compat-line-end-position)) nil t))))))))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1198 |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1199 (defun tramp-smb-get-stat-capability (vec) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1200 "Check, whether the SMB server supports the STAT command." |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1201 ;; When we are not logged in yet, we return nil. |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1202 (if (let ((p (tramp-get-connection-process vec))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1203 (and p (processp p) (memq (process-status p) '(run open)))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1204 (with-connection-property |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1205 (tramp-get-connection-process vec) "stat-capability" |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1206 (tramp-smb-send-command vec "stat .")))) |
105551
2025d7d04cb9
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105524
diff
changeset
|
1207 |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1208 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1209 ;; Connection functions. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1210 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1211 (defun tramp-smb-send-command (vec command) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1212 "Send the COMMAND to connection VEC. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1213 Returns nil if there has been an error message from smbclient." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1214 (tramp-smb-maybe-open-connection vec) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1215 (tramp-message vec 6 "%s" command) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1216 (tramp-send-string vec command) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1217 (tramp-smb-wait-for-output vec)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1218 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1219 (defun tramp-smb-maybe-open-connection (vec) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1220 "Maybe open a connection to HOST, log in as USER, using `tramp-smb-program'. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1221 Does not do anything if a connection is already open, but re-opens the |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1222 connection if a previous connection has died for some reason." |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1223 (let* ((share (tramp-smb-get-share vec)) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1224 (buf (tramp-get-buffer vec)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1225 (p (get-buffer-process buf))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1226 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1227 ;; Check whether we still have the same smbclient version. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1228 ;; Otherwise, we must delete the connection cache, because |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1229 ;; capabilities migh have changed. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1230 (unless (processp p) |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1231 (let ((default-directory (tramp-compat-temporary-file-directory)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1232 (command (concat tramp-smb-program " -V"))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1233 |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1234 (unless tramp-smb-version |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1235 (unless (executable-find tramp-smb-program) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1236 (tramp-error |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1237 vec 'file-error |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1238 "Cannot find command %s in %s" tramp-smb-program exec-path)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1239 (setq tramp-smb-version (shell-command-to-string command)) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1240 (tramp-message vec 6 command) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1241 (tramp-message vec 6 "\n%s" tramp-smb-version) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1242 (if (string-match "[ \t\n\r]+\\'" tramp-smb-version) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1243 (setq tramp-smb-version |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1244 (replace-match "" nil nil tramp-smb-version)))) |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1245 |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1246 (unless (string-equal |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1247 tramp-smb-version |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1248 (tramp-get-connection-property |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1249 vec "smbclient-version" tramp-smb-version)) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1250 (tramp-flush-directory-property vec "") |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1251 (tramp-flush-connection-property vec)) |
105690
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1252 |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1253 (tramp-set-connection-property |
8d8fc5285759
* net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
Michael Albinus <michael.albinus@gmx.de>
parents:
105634
diff
changeset
|
1254 vec "smbclient-version" tramp-smb-version))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1255 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1256 ;; If too much time has passed since last command was sent, look |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1257 ;; whether there has been an error message; maybe due to |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1258 ;; connection timeout. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1259 (with-current-buffer buf |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1260 (goto-char (point-min)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1261 (when (and (> (tramp-time-diff |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1262 (current-time) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1263 (tramp-get-connection-property |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1264 p "last-cmd-time" '(0 0 0))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1265 60) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1266 p (processp p) (memq (process-status p) '(run open)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1267 (re-search-forward tramp-smb-errors nil t)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1268 (delete-process p) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1269 (setq p nil))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1270 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1271 ;; Check whether it is still the same share. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1272 (unless |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1273 (and p (processp p) (memq (process-status p) '(run open)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1274 (string-equal |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1275 share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1276 (tramp-get-connection-property p "smb-share" ""))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1277 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1278 (save-match-data |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1279 ;; There might be unread output from checking for share names. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1280 (when buf (with-current-buffer buf (erase-buffer))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1281 (when (and p (processp p)) (delete-process p)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1282 |
100857
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1283 (let* ((user (tramp-file-name-user vec)) |
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1284 (host (tramp-file-name-host vec)) |
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1285 (real-user (tramp-file-name-real-user vec)) |
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1286 (real-host (tramp-file-name-real-host vec)) |
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1287 (domain (tramp-file-name-domain vec)) |
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1288 (port (tramp-file-name-port vec)) |
51f12f881f02
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
Michael Albinus <michael.albinus@gmx.de>
parents:
99617
diff
changeset
|
1289 args) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1290 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1291 (if share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1292 (setq args (list (concat "//" real-host "/" share))) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1293 (setq args (list "-g" "-L" real-host ))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1294 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1295 (if (not (zerop (length real-user))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1296 (setq args (append args (list "-U" real-user))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1297 (setq args (append args (list "-N")))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1298 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1299 (when domain (setq args (append args (list "-W" domain)))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1300 (when port (setq args (append args (list "-p" port)))) |
106959
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
1301 (when tramp-smb-conf |
5071660bbec4
* net/tramp-smb.el (tramp-smb-conf): New defcustom.
Michael Albinus <michael.albinus@gmx.de>
parents:
106815
diff
changeset
|
1302 (setq args (append args (list "-s" tramp-smb-conf)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1303 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1304 ;; OK, let's go. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1305 (tramp-message |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1306 vec 3 "Opening connection for //%s%s/%s..." |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1307 (if (not (zerop (length user))) (concat user "@") "") |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1308 host (or share "")) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1309 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1310 (let* ((coding-system-for-read nil) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1311 (process-connection-type tramp-process-connection-type) |
84985
f7642749252b
* net/tramp-compat.el: New file.
Michael Albinus <michael.albinus@gmx.de>
parents:
84739
diff
changeset
|
1312 (p (let ((default-directory |
f7642749252b
* net/tramp-compat.el: New file.
Michael Albinus <michael.albinus@gmx.de>
parents:
84739
diff
changeset
|
1313 (tramp-compat-temporary-file-directory))) |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1314 (apply #'start-process |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1315 (tramp-buffer-name vec) (tramp-get-buffer vec) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1316 tramp-smb-program args)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1317 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1318 (tramp-message |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1319 vec 6 "%s" (mapconcat 'identity (process-command p) " ")) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1320 (tramp-set-process-query-on-exit-flag p nil) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1321 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1322 ;; Set variables for computing the prompt for reading password. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1323 (setq tramp-current-method tramp-smb-method |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1324 tramp-current-user user |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1325 tramp-current-host host) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1326 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1327 ;; Play login scenario. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1328 (tramp-process-actions |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1329 p vec |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1330 (if share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1331 tramp-smb-actions-with-share |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1332 tramp-smb-actions-without-share)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1333 |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1334 ;; Check server version. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1335 (with-current-buffer (tramp-get-connection-buffer vec) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1336 (goto-char (point-min)) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1337 (search-forward-regexp |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1338 "Domain=\\[[^]]*\\] OS=\\[[^]]*\\] Server=\\[[^]]*\\]" nil t) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1339 (let ((smbserver-version (match-string 0))) |
105616
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1340 (unless |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1341 (string-equal |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1342 smbserver-version |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1343 (tramp-get-connection-property |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1344 vec "smbserver-version" smbserver-version)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1345 (tramp-flush-directory-property vec "") |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1346 (tramp-flush-connection-property vec)) |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1347 (tramp-set-connection-property |
13878abadf01
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105572
diff
changeset
|
1348 vec "smbserver-version" smbserver-version))) |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1349 |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1350 ;; Set chunksize. Otherwise, `tramp-send-string' might |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1351 ;; try it itself. |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1352 (tramp-set-connection-property p "smb-share" share) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1353 (tramp-set-connection-property p "chunksize" tramp-chunksize) |
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1354 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1355 (tramp-message |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1356 vec 3 "Opening connection for //%s%s/%s...done" |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1357 (if (not (zerop (length user))) (concat user "@") "") |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1358 host (or share "")))))))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1359 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1360 ;; We don't use timeouts. If needed, the caller shall wrap around. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1361 (defun tramp-smb-wait-for-output (vec) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1362 "Wait for output from smbclient command. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1363 Returns nil if an error message has appeared." |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1364 (with-current-buffer (tramp-get-buffer vec) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1365 (let ((p (get-buffer-process (current-buffer))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1366 (found (progn (goto-char (point-min)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1367 (re-search-forward tramp-smb-prompt nil t))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1368 (err (progn (goto-char (point-min)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1369 (re-search-forward tramp-smb-errors nil t)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1370 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1371 ;; Algorithm: get waiting output. See if last line contains |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1372 ;; tramp-smb-prompt sentinel or tramp-smb-errors strings. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1373 ;; If not, wait a bit and again get waiting output. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1374 (while (and (not found) (not err)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1375 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1376 ;; Accept pending output. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1377 (tramp-accept-process-output p) |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53206
diff
changeset
|
1378 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1379 ;; Search for prompt. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1380 (goto-char (point-min)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1381 (setq found (re-search-forward tramp-smb-prompt nil t)) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1382 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1383 ;; Search for errors. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1384 (goto-char (point-min)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1385 (setq err (re-search-forward tramp-smb-errors nil t))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1386 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1387 ;; When the process is still alive, read pending output. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1388 (while (and (not found) (memq (process-status p) '(run open))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1389 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1390 ;; Accept pending output. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1391 (tramp-accept-process-output p) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1392 |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1393 ;; Search for prompt. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1394 (goto-char (point-min)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1395 (setq found (re-search-forward tramp-smb-prompt nil t))) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1396 |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1397 ;; Return value is whether no error message has appeared. |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1398 (tramp-message vec 6 "\n%s" (buffer-string)) |
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1399 (not err)))) |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1400 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1401 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1402 (provide 'tramp-smb) |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1403 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1404 ;;; TODO: |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1405 |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1406 ;; * Error handling in case password is wrong. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1407 ;; * Read password from "~/.netrc". |
105509
69bf209a4707
* net/tramp-smb.el (tramp-smb-errors): Add error messages.
Michael Albinus <michael.albinus@gmx.de>
parents:
105383
diff
changeset
|
1408 ;; * Return more comprehensive file permission string. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1409 ;; * Try to remove the inclusion of dummy "" directory. Seems to be at |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1410 ;; several places, especially in `tramp-smb-handle-insert-directory'. |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1411 ;; * (RMS) Use unwind-protect to clean up the state so as to make the state |
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1412 ;; regular again. |
81758
f03856eb136b
* files.el (file-remote-p): Introduce optional parameter CONNECTED.
Michael Albinus <michael.albinus@gmx.de>
parents:
77986
diff
changeset
|
1413 ;; * Make it multi-hop capable. |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1414 |
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
91489
diff
changeset
|
1415 ;; arch-tag: fcc9dbec-7503-4d73-b638-3c8aa59575f5 |
48973
09acf3f65bb5
* net/tramp*.el: Sync with upstream version 2.0.28. Bugfixes.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff
changeset
|
1416 ;;; tramp-smb.el ends here |