# HG changeset patch # User Michael Albinus # Date 1273135206 -7200 # Node ID 96984953f99ead256538198b9b4cd95c7a6d4669 # Parent 43dc83feb3b6ec2a4a5a0d693293d8c6dfbef340 * net/tramp.el (top, with-progress-reporter): Use `symbol-function' inside `funcall'. * net/tramp-compat.el (tramp-compat-file-attributes) (tramp-compat-delete-file, tramp-compat-delete-directory): Handle only `wrong-number-of-arguments' error. * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Fix typo. (tramp-gvfs-handle-file-selinux-context): Use `symbol-function' inside `funcall'. diff -r 43dc83feb3b6 -r 96984953f99e lisp/ChangeLog --- a/lisp/ChangeLog Thu May 06 01:07:12 2010 -0700 +++ b/lisp/ChangeLog Thu May 06 10:40:06 2010 +0200 @@ -1,3 +1,16 @@ +2010-05-06 Michael Albinus + + * net/tramp.el (top, with-progress-reporter): Use + `symbol-function' inside `funcall'. + + * net/tramp-compat.el (tramp-compat-file-attributes) + (tramp-compat-delete-file, tramp-compat-delete-directory): Handle + only `wrong-number-of-arguments' error. + + * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Fix typo. + (tramp-gvfs-handle-file-selinux-context): Use `symbol-function' + inside `funcall'. + 2010-05-06 Stefan Monnier * minibuffer.el (completion--sreverse, completion--common-suffix): diff -r 43dc83feb3b6 -r 96984953f99e lisp/net/tramp-compat.el --- a/lisp/net/tramp-compat.el Thu May 06 01:07:12 2010 -0700 +++ b/lisp/net/tramp-compat.el Thu May 06 10:40:06 2010 +0200 @@ -262,7 +262,7 @@ (tramp-file-name-handler 'file-attributes filename id-format)) (t (condition-case nil (funcall (symbol-function 'file-attributes) filename id-format) - (error (file-attributes filename)))))) + (wrong-number-of-arguments (file-attributes filename)))))) ;; PRESERVE-UID-GID has been introduced with Emacs 23. It does not ;; hurt to ignore it for other (X)Emacs versions. @@ -320,13 +320,20 @@ ;; FORCE has been introduced with Emacs 24.1. (defun tramp-compat-delete-file (filename &optional force) "Like `delete-file' for Tramp files (compat function)." - (condition-case nil - (funcall (symbol-function 'delete-file) filename force) - ;; This Emacs version does not support the FORCE flag. Setting - ;; `delete-by-moving-to-trash' shall give us the same effect. - (error - (let ((delete-by-moving-to-trash (null force))) - (delete-file filename))))) + (if (null force) + (delete-file filename) + (condition-case nil + (funcall (symbol-function 'delete-file) filename force) + ;; This Emacs version does not support the FORCE flag. Setting + ;; `delete-by-moving-to-trash' shall give us the same effect. + (wrong-number-of-arguments + (let ((delete-by-moving-to-trash + (cond + ((null force) t) + ((boundp 'delete-by-moving-to-trash) + (symbol-value 'delete-by-moving-to-trash)) + (t nil)))) + (delete-file filename)))))) ;; RECURSIVE has been introduced with Emacs 23.2. (defun tramp-compat-delete-directory (directory &optional recursive) @@ -337,7 +344,7 @@ (funcall (symbol-function 'delete-directory) directory recursive) ;; This Emacs version does not support the RECURSIVE flag. We ;; use the implementation from Emacs 23.2. - (error + (wrong-number-of-arguments (setq directory (directory-file-name (expand-file-name directory))) (if (not (file-symlink-p directory)) (mapc (lambda (file) diff -r 43dc83feb3b6 -r 96984953f99e lisp/net/tramp-gvfs.el --- a/lisp/net/tramp-gvfs.el Thu May 06 01:07:12 2010 -0700 +++ b/lisp/net/tramp-gvfs.el Thu May 06 10:40:06 2010 +0200 @@ -525,7 +525,7 @@ newname) ok-if-already-exists keep-date preserve-uid-gid))) (when preserve-selinux-context - (setq args (append args (list preserve-uid-gid)))) + (setq args (append args (list preserve-selinux-context)))) (apply 'copy-file args))) (defun tramp-gvfs-handle-delete-directory (directory &optional recursive) @@ -629,7 +629,8 @@ (defun tramp-gvfs-handle-file-selinux-context (filename) "Like `file-selinux-context' for Tramp files." - (funcall 'file-selinux-context (tramp-gvfs-fuse-file-name filename))) + (funcall (symbol-function 'file-selinux-context) + (tramp-gvfs-fuse-file-name filename))) (defun tramp-gvfs-handle-file-writable-p (filename) "Like `file-writable-p' for Tramp files." diff -r 43dc83feb3b6 -r 96984953f99e lisp/net/tramp.el --- a/lisp/net/tramp.el Thu May 06 01:07:12 2010 -0700 +++ b/lisp/net/tramp.el Thu May 06 10:40:06 2010 +0200 @@ -145,7 +145,8 @@ ;; this would load dbus.el. (when (and (featurep 'dbusbind) (condition-case nil - (funcall 'dbus-get-unique-name :session) + (funcall (symbol-function 'dbus-get-unique-name) + :session) (error nil)) (tramp-compat-process-running-p "gvfs-fuse-daemon")) 'tramp-gvfs) @@ -2273,7 +2274,7 @@ ;; introduced in Emacs 24.1. (when (<= ,level tramp-verbose) (condition-case nil - (setq pr (funcall 'make-progress-reporter ,message) + (setq pr (funcall (symbol-function 'make-progress-reporter) ,message) tm (run-at-time 3 0.1 'progress-reporter-update pr)) (error nil))) (unwind-protect