[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/net/tramp-smb.el
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/net/tramp-smb.el |
Date: |
Sun, 20 Mar 2005 15:00:22 -0500 |
Index: emacs/lisp/net/tramp-smb.el
diff -c emacs/lisp/net/tramp-smb.el:1.15 emacs/lisp/net/tramp-smb.el:1.16
*** emacs/lisp/net/tramp-smb.el:1.15 Wed Feb 9 15:50:37 2005
--- emacs/lisp/net/tramp-smb.el Sun Mar 20 20:00:20 2005
***************
*** 1,8 ****
;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding:
iso-8859-1; -*-
! ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
! ;; Author: Michael Albinus <address@hidden>
;; Keywords: comm, processes
;; This file is part of GNU Emacs.
--- 1,8 ----
;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding:
iso-8859-1; -*-
! ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
! ;; Author: Michael Albinus <address@hidden>
;; Keywords: comm, processes
;; This file is part of GNU Emacs.
***************
*** 75,81 ****
:group 'tramp
:type 'string)
! (defconst tramp-smb-prompt "^smb: \\S-+> \\|^\\s-+Server\\s-+Comment$"
"Regexp used as prompt in smbclient.")
(defconst tramp-smb-errors
--- 75,81 ----
:group 'tramp
:type 'string)
! (defconst tramp-smb-prompt "^smb: .+> \\|^\\s-+Server\\s-+Comment$"
"Regexp used as prompt in smbclient.")
(defconst tramp-smb-errors
***************
*** 235,244 ****
(file-exists-p newname))
(error "copy-file: file %s already exists" newname))
! ; (with-parsed-tramp-file-name newname nil
! (let (user host localname)
! (with-parsed-tramp-file-name newname l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t)))
--- 235,241 ----
(file-exists-p newname))
(error "copy-file: file %s already exists" newname))
! (with-parsed-tramp-file-name newname nil
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t)))
***************
*** 258,316 ****
(defun tramp-smb-handle-delete-directory (directory)
"Like `delete-directory' for tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
! (unless (file-exists-p directory)
! (error "Cannot delete non-existing directory `%s'" directory))
! ; (with-parsed-tramp-file-name directory nil
! (let (user host localname)
! (with-parsed-tramp-file-name directory l
! (setq user l-user host l-host localname l-localname))
! (save-excursion
! (let ((share (tramp-smb-get-share localname))
! (dir (tramp-smb-get-localname (file-name-directory localname) t))
! (file (file-name-nondirectory localname)))
! (tramp-smb-maybe-open-connection user host share)
! (if (and
! (tramp-smb-send-command user host (format "cd \"%s\"" dir))
! (tramp-smb-send-command user host (format "rmdir \"%s\"" file)))
! ;; Go Home
(tramp-smb-send-command user host (format "cd \\"))
! ;; Error
! (tramp-smb-send-command user host (format "cd \\"))
! (error "Cannot delete directory `%s'" directory))))))
(defun tramp-smb-handle-delete-file (filename)
"Like `delete-file' for tramp files."
(setq filename (expand-file-name filename))
! (unless (file-exists-p filename)
! (error "Cannot delete non-existing file `%s'" filename))
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
! (save-excursion
! (let ((share (tramp-smb-get-share localname))
! (dir (tramp-smb-get-localname (file-name-directory localname) t))
! (file (file-name-nondirectory localname)))
! (unless (file-exists-p filename)
! (error "Cannot delete non-existing file `%s'" filename))
! (tramp-smb-maybe-open-connection user host share)
! (if (and
! (tramp-smb-send-command user host (format "cd \"%s\"" dir))
! (tramp-smb-send-command user host (format "rm \"%s\"" file)))
! ;; Go Home
(tramp-smb-send-command user host (format "cd \\"))
! ;; Error
! (tramp-smb-send-command user host (format "cd \\"))
! (error "Cannot delete file `%s'" filename))))))
(defun tramp-smb-handle-directory-files
(directory &optional full match nosort)
"Like `directory-files' for tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
! ; (with-parsed-tramp-file-name directory nil
! (let (user host localname)
! (with-parsed-tramp-file-name directory l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
--- 255,300 ----
(defun tramp-smb-handle-delete-directory (directory)
"Like `delete-directory' for tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
! (when (file-exists-p directory)
! (with-parsed-tramp-file-name directory nil
! (save-excursion
! (let ((share (tramp-smb-get-share localname))
! (dir (tramp-smb-get-localname (file-name-directory localname) t))
! (file (file-name-nondirectory localname)))
! (tramp-smb-maybe-open-connection user host share)
! (if (and
! (tramp-smb-send-command user host (format "cd \"%s\"" dir))
! (tramp-smb-send-command user host (format "rmdir \"%s\"" file)))
! ;; Go Home
! (tramp-smb-send-command user host (format "cd \\"))
! ;; Error
(tramp-smb-send-command user host (format "cd \\"))
! (error "Cannot delete directory `%s'" directory)))))))
(defun tramp-smb-handle-delete-file (filename)
"Like `delete-file' for tramp files."
(setq filename (expand-file-name filename))
! (when (file-exists-p filename)
! (with-parsed-tramp-file-name filename nil
! (save-excursion
! (let ((share (tramp-smb-get-share localname))
! (dir (tramp-smb-get-localname (file-name-directory localname) t))
! (file (file-name-nondirectory localname)))
! (tramp-smb-maybe-open-connection user host share)
! (if (and
! (tramp-smb-send-command user host (format "cd \"%s\"" dir))
! (tramp-smb-send-command user host (format "rm \"%s\"" file)))
! ;; Go Home
! (tramp-smb-send-command user host (format "cd \\"))
! ;; Error
(tramp-smb-send-command user host (format "cd \\"))
! (error "Cannot delete file `%s'" filename)))))))
(defun tramp-smb-handle-directory-files
(directory &optional full match nosort)
"Like `directory-files' for tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
! (with-parsed-tramp-file-name directory nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
***************
*** 340,356 ****
(mapcar
(lambda (x)
;; We cannot call `file-attributes' for backward compatibility reasons.
! ;; Its optional parameter ID-FORMAT is introduced with Emacs 22.1.
(cons x (tramp-smb-handle-file-attributes
(if full x (concat (file-name-as-directory directory) x)) id-format)))
(directory-files directory full match nosort)))
(defun tramp-smb-handle-file-attributes (filename &optional id-format)
"Like `file-attributes' for tramp files."
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
--- 324,337 ----
(mapcar
(lambda (x)
;; We cannot call `file-attributes' for backward compatibility reasons.
! ;; Its optional parameter ID-FORMAT is introduced with Emacs 22.
(cons x (tramp-smb-handle-file-attributes
(if full x (concat (file-name-as-directory directory) x)) id-format)))
(directory-files directory full match nosort)))
(defun tramp-smb-handle-file-attributes (filename &optional id-format)
"Like `file-attributes' for tramp files."
! (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
***************
*** 380,389 ****
(defun tramp-smb-handle-file-directory-p (filename)
"Like `file-directory-p' for tramp files."
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
--- 361,367 ----
(defun tramp-smb-handle-file-directory-p (filename)
"Like `file-directory-p' for tramp files."
! (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
***************
*** 396,405 ****
(defun tramp-smb-handle-file-exists-p (filename)
"Like `file-exists-p' for tramp files."
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
--- 374,380 ----
(defun tramp-smb-handle-file-exists-p (filename)
"Like `file-exists-p' for tramp files."
! (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
***************
*** 433,442 ****
;; files.
(defun tramp-smb-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for tramp files."
! ; (with-parsed-tramp-file-name directory nil
! (let (user host localname)
! (with-parsed-tramp-file-name directory l
! (setq user l-user host l-host localname l-localname))
(save-match-data
(save-excursion
(let* ((share (tramp-smb-get-share localname))
--- 408,414 ----
;; files.
(defun tramp-smb-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for tramp files."
! (with-parsed-tramp-file-name directory nil
(save-match-data
(save-excursion
(let* ((share (tramp-smb-get-share localname))
***************
*** 467,476 ****
(let ((dir (file-name-directory filename)))
(and (file-exists-p dir)
(file-writable-p dir)))
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
--- 439,445 ----
(let ((dir (file-name-directory filename)))
(and (file-exists-p dir)
(file-writable-p dir)))
! (with-parsed-tramp-file-name filename nil
(save-excursion
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
***************
*** 490,499 ****
;; This check is a little bit strange, but in `dired-add-entry'
;; this function is called with a non-directory ...
(setq filename (file-name-as-directory filename)))
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
--- 459,465 ----
;; This check is a little bit strange, but in `dired-add-entry'
;; this function is called with a non-directory ...
(setq filename (file-name-as-directory filename)))
! (with-parsed-tramp-file-name filename nil
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil))
***************
*** 543,552 ****
(setq dir (directory-file-name (expand-file-name dir)))
(unless (file-name-absolute-p dir)
(setq dir (concat default-directory dir)))
! ; (with-parsed-tramp-file-name dir nil
! (let (user host localname)
! (with-parsed-tramp-file-name dir l
! (setq user l-user host l-host localname l-localname))
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(ldir (file-name-directory dir)))
--- 509,515 ----
(setq dir (directory-file-name (expand-file-name dir)))
(unless (file-name-absolute-p dir)
(setq dir (concat default-directory dir)))
! (with-parsed-tramp-file-name dir nil
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(ldir (file-name-directory dir)))
***************
*** 564,573 ****
(setq directory (directory-file-name (expand-file-name directory)))
(unless (file-name-absolute-p directory)
(setq directory (concat default-directory directory)))
! ; (with-parsed-tramp-file-name directory nil
! (let (user host localname)
! (with-parsed-tramp-file-name directory l
! (setq user l-user host l-host localname l-localname))
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil)))
--- 527,533 ----
(setq directory (directory-file-name (expand-file-name directory)))
(unless (file-name-absolute-p directory)
(setq directory (concat default-directory directory)))
! (with-parsed-tramp-file-name directory nil
(save-match-data
(let* ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname nil)))
***************
*** 597,606 ****
(file-exists-p newname))
(error "rename-file: file %s already exists" newname))
! ; (with-parsed-tramp-file-name newname nil
! (let (user host localname)
! (with-parsed-tramp-file-name newname l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t)))
--- 557,563 ----
(file-exists-p newname))
(error "rename-file: file %s already exists" newname))
! (with-parsed-tramp-file-name newname nil
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t)))
***************
*** 636,645 ****
(unless (y-or-n-p (format "File %s exists; overwrite anyway? "
filename))
(error "File not overwritten")))
! ; (with-parsed-tramp-file-name filename nil
! (let (user host localname)
! (with-parsed-tramp-file-name filename l
! (setq user l-user host l-host localname l-localname))
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t))
--- 593,599 ----
(unless (y-or-n-p (format "File %s exists; overwrite anyway? "
filename))
(error "File not overwritten")))
! (with-parsed-tramp-file-name filename nil
(save-excursion
(let ((share (tramp-smb-get-share localname))
(file (tramp-smb-get-localname localname t))
***************
*** 969,974 ****
--- 923,932 ----
Domain names in USER and port numbers in HOST are acknowledged."
+ (when (and (fboundp 'executable-find)
+ (not (funcall 'executable-find tramp-smb-program)))
+ (error "Cannot find command %s in %s" tramp-smb-program exec-path))
+
(save-match-data
(let* ((buffer (tramp-get-buffer nil tramp-smb-method user host))
(real-user user)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/net/tramp-smb.el,
Michael Albinus <=