From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.bugs Subject: bug#13226: 24.3.50; set-file-acl on MS Windows shall check ACL string format Date: Wed, 19 Dec 2012 13:24:45 +0100 Message-ID: <877goexm9e.fsf@gmx.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1355919973 29084 80.91.229.3 (19 Dec 2012 12:26:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Dec 2012 12:26:13 +0000 (UTC) To: 13226@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 19 13:26:26 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TlIj9-0005SN-KL for geb-bug-gnu-emacs@m.gmane.org; Wed, 19 Dec 2012 13:26:23 +0100 Original-Received: from localhost ([::1]:55950 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlIiw-0001gk-2k for geb-bug-gnu-emacs@m.gmane.org; Wed, 19 Dec 2012 07:26:10 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:41847) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlIip-0001ge-Sp for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:26:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TlIin-00020l-4q for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:26:03 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:39808) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlIin-00020h-0P for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:26:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TlIio-0001Ja-OW for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:26:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Albinus Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 Dec 2012 12:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 13226 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13559199245003 (code B ref -1); Wed, 19 Dec 2012 12:26:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 Dec 2012 12:25:24 +0000 Original-Received: from localhost ([127.0.0.1]:50059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TlIi9-0001Ib-Vu for submit@debbugs.gnu.org; Wed, 19 Dec 2012 07:25:24 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:58590) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TlIi3-0001IP-7V for submit@debbugs.gnu.org; Wed, 19 Dec 2012 07:25:18 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TlIhy-0001ud-1Y for submit@debbugs.gnu.org; Wed, 19 Dec 2012 07:25:13 -0500 Original-Received: from lists.gnu.org ([208.118.235.17]:37054) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlIhx-0001uO-Ug for submit@debbugs.gnu.org; Wed, 19 Dec 2012 07:25:09 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:41693) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlIhn-0001RM-LC for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:25:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TlIhk-0001f7-Dq for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:24:59 -0500 Original-Received: from mout.gmx.net ([212.227.17.20]:52425) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlIhj-0001eZ-UO for bug-gnu-emacs@gnu.org; Wed, 19 Dec 2012 07:24:56 -0500 Original-Received: from mailout-de.gmx.net ([10.1.76.10]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0LxZpd-1T1GbG3jMB-017AOv for ; Wed, 19 Dec 2012 13:24:53 +0100 Original-Received: (qmail invoked by alias); 19 Dec 2012 12:24:47 -0000 Original-Received: from p57BB97BB.dip0.t-ipconnect.de (EHLO detlef.gmx.de) [87.187.151.187] by mail.gmx.net (mp010) with SMTP; 19 Dec 2012 13:24:47 +0100 X-Authenticated: #3708877 X-Provags-ID: V01U2FsdGVkX19d5zlCehBdO+1ap6tynyRAYGFvGDOkej1i50tEkQ O9NnnmbFcZ+ypq X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:68729 Archived-At: File ACLs have different formats on MS Windows and POSIX systems: --8<---------------cut here---------------start------------->8--- (file-acl "~/.emacs") "O:S-1-5-21-3955186872-1115707380-970145838-1000G:S-1-5-21-3955186872-11157= 07380-970145838-513D:(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-21-3955186872-1= 115707380-970145838-1000)" (file-acl "/plink:albinus@ford:~/.emacs") "user::rwx group::rwx other::r-x " --8<---------------cut here---------------end--------------->8--- If one copies a file with POSIX ACLs to MS Windows, `set-file-acl' raises an error. This shall be suppressed: --8<---------------cut here---------------start------------->8--- (copy-file "/plink:albinus@ford:~/.emacs" temporary-file-directory t t t t) Debugger entered--Lisp error: (file-error "Converting ACL" "invalid argumen= t" "c:/Users/Michael/AppData/Local/Temp/.emacs") set-file-acl("c:/Users/Michael/AppData/Local/Temp/.emacs" "user::rwx\ngro= up::rwx\nother::r-x\n") set-file-extended-attributes("c:/Users/Michael/AppData/Local/Temp/.emacs"= ((acl . "user::rwx\ngroup::rwx\nother::r-x\n") (selinux-context nil nil ni= l nil))) apply(set-file-extended-attributes ("c:/Users/Michael/AppData/Local/Temp/= .emacs" ((acl . "user::rwx\ngroup::rwx\nother::r-x\n") (selinux-context nil= nil nil nil)))) (progn (apply (quote set-file-extended-attributes) (list newname attribut= es))) (if attributes (progn (apply (quote set-file-extended-attributes) (list n= ewname attributes)))) (let ((tramp-message-show-progress-reporter-message (and tramp-message-sh= ow-progress-reporter-message (not tm)))) (cond ((and t1 t2) (let* ((v1 (tra= mp-dissect-file-name filename)) (v1-method (tramp-file-name-method v1)) (v1= -user (tramp-file-name-user v1)) (v1-host (tramp-file-name-host v1)) (v1-lo= calname (tramp-file-name-localname v1)) (v1-hop (tramp-file-name-hop v1))) = (let* ((v2 (tramp-dissect-file-name newname)) (v2-method (tramp-file-name-m= ethod v2)) (v2-user (tramp-file-name-user v2)) (v2-host (tramp-file-name-ho= st v2)) (v2-localname (tramp-file-name-localname v2)) (v2-hop (tramp-file-n= ame-hop v2))) (cond ((tramp-equal-remote filename newname) (tramp-do-copy-o= r-rename-file-directly op filename newname ok-if-already-exists keep-date p= reserve-uid-gid)) ((and ... ...) (tramp-do-copy-or-rename-file-out-of-band = op filename newname keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer= op filename newname keep-date)))))) ((or t1 t2) (cond ((tramp-local-host-p= v) (tramp-do-copy-or-rename-file-directly op filename newname ok-if-alread= y-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-band-p v length= ) (tramp-do-copy-or-rename-file-out-of-band op filename newname keep-date))= (t (tramp-do-copy-or-rename-file-via-buffer op filename newname keep-date)= ))) (t (error "Tramp implementation says this cannot happen"))) (if attribu= tes (progn (apply (quote set-file-extended-attributes) (list newname attrib= utes)))) (if (and t1 (eq op (quote rename))) (progn (let* ((v1 (tramp-disse= ct-file-name filename)) (v1-method (tramp-file-name-method v1)) (v1-user (t= ramp-file-name-user v1)) (v1-host (tramp-file-name-host v1)) (v1-localname = (tramp-file-name-localname v1)) (v1-hop (tramp-file-name-hop v1))) (tramp-f= lush-file-property v1 (file-name-directory localname)) (tramp-flush-file-pr= operty v1 localname)))) (if t2 (progn (let* ((v2 (tramp-dissect-file-name n= ewname)) (v2-method (tramp-file-name-method v2)) (v2-user (tramp-file-name-= user v2)) (v2-host (tramp-file-name-host v2)) (v2-localname (tramp-file-nam= e-localname v2)) (v2-hop (tramp-file-name-hop v2))) (tramp-flush-file-prope= rty v2 (file-name-directory localname)) (tramp-flush-file-property v2 local= name))))) (unwind-protect (let ((tramp-message-show-progress-reporter-message (and = tramp-message-show-progress-reporter-message (not tm)))) (cond ((and t1 t2)= (let* ((v1 (tramp-dissect-file-name filename)) (v1-method (tramp-file-name= -method v1)) (v1-user (tramp-file-name-user v1)) (v1-host (tramp-file-name-= host v1)) (v1-localname (tramp-file-name-localname v1)) (v1-hop (tramp-file= -name-hop v1))) (let* ((v2 ...) (v2-method ...) (v2-user ...) (v2-host ...)= (v2-localname ...) (v2-hop ...)) (cond (... ...) (... ...) (t ...))))) ((o= r t1 t2) (cond ((tramp-local-host-p v) (tramp-do-copy-or-rename-file-direct= ly op filename newname ok-if-already-exists keep-date preserve-uid-gid)) ((= tramp-method-out-of-band-p v length) (tramp-do-copy-or-rename-file-out-of-b= and op filename newname keep-date)) (t (tramp-do-copy-or-rename-file-via-bu= ffer op filename newname keep-date)))) (t (error "Tramp implementation says= this cannot happen"))) (if attributes (progn (apply (quote set-file-extend= ed-attributes) (list newname attributes)))) (if (and t1 (eq op (quote renam= e))) (progn (let* ((v1 (tramp-dissect-file-name filename)) (v1-method (tram= p-file-name-method v1)) (v1-user (tramp-file-name-user v1)) (v1-host (tramp= -file-name-host v1)) (v1-localname (tramp-file-name-localname v1)) (v1-hop = (tramp-file-name-hop v1))) (tramp-flush-file-property v1 (file-name-directo= ry localname)) (tramp-flush-file-property v1 localname)))) (if t2 (progn (l= et* ((v2 (tramp-dissect-file-name newname)) (v2-method (tramp-file-name-met= hod v2)) (v2-user (tramp-file-name-user v2)) (v2-host (tramp-file-name-host= v2)) (v2-localname (tramp-file-name-localname v2)) (v2-hop (tramp-file-nam= e-hop v2))) (tramp-flush-file-property v2 (file-name-directory localname)) = (tramp-flush-file-property v2 localname))))) (if tm (if (or (subrp (quote c= ancel-timer)) (functionp (quote cancel-timer))) (progn (with-no-warnings (f= uncall (quote cancel-timer) tm))))) (tramp-message v 0 "%s...done" (format = "%s %s to %s" (if (eq op (quote copy)) "Copying" "Renaming") filename newna= me))) (let (pr tm) (tramp-message v 0 "%s..." (format "%s %s to %s" (if (eq op = (quote copy)) "Copying" "Renaming") filename newname)) (if (and tramp-messa= ge-show-progress-reporter-message tramp-message-show-message (<=3D 0 (min t= ramp-verbose 3))) (progn (condition-case nil (progn (setq pr (if (or ... ..= .) (progn ...)) tm (if pr (progn ...)))) (error nil)))) (unwind-protect (le= t ((tramp-message-show-progress-reporter-message (and tramp-message-show-pr= ogress-reporter-message (not tm)))) (cond ((and t1 t2) (let* ((v1 ...) (v1-= method ...) (v1-user ...) (v1-host ...) (v1-localname ...) (v1-hop ...)) (l= et* (... ... ... ... ... ...) (cond ... ... ...)))) ((or t1 t2) (cond ((tra= mp-local-host-p v) (tramp-do-copy-or-rename-file-directly op filename newna= me ok-if-already-exists keep-date preserve-uid-gid)) ((tramp-method-out-of-= band-p v length) (tramp-do-copy-or-rename-file-out-of-band op filename newn= ame keep-date)) (t (tramp-do-copy-or-rename-file-via-buffer op filename new= name keep-date)))) (t (error "Tramp implementation says this cannot happen"= ))) (if attributes (progn (apply (quote set-file-extended-attributes) (list= newname attributes)))) (if (and t1 (eq op (quote rename))) (progn (let* ((= v1 ...) (v1-method ...) (v1-user ...) (v1-host ...) (v1-localname ...) (v1-= hop ...)) (tramp-flush-file-property v1 (file-name-directory localname)) (t= ramp-flush-file-property v1 localname)))) (if t2 (progn (let* ((v2 ...) (v2= -method ...) (v2-user ...) (v2-host ...) (v2-localname ...) (v2-hop ...)) (= tramp-flush-file-property v2 (file-name-directory localname)) (tramp-flush-= file-property v2 localname))))) (if tm (if (or (subrp (quote cancel-timer))= (functionp (quote cancel-timer))) (progn (with-no-warnings (funcall (quote= cancel-timer) tm))))) (tramp-message v 0 "%s...done" (format "%s %s to %s"= (if (eq op (quote copy)) "Copying" "Renaming") filename newname)))) (let* ((v (tramp-dissect-file-name (if t1 filename newname))) (method (tr= amp-file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-= name-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-na= me-hop v))) (if (and (not ok-if-already-exists) (file-exists-p newname)) (p= rogn (tramp-error v (quote file-already-exists) "File %s already exists" ne= wname))) (let (pr tm) (tramp-message v 0 "%s..." (format "%s %s to %s" (if = (eq op (quote copy)) "Copying" "Renaming") filename newname)) (if (and tram= p-message-show-progress-reporter-message tramp-message-show-message (<=3D 0= (min tramp-verbose 3))) (progn (condition-case nil (progn (setq pr (if ...= ...) tm (if pr ...))) (error nil)))) (unwind-protect (let ((tramp-message-= show-progress-reporter-message (and tramp-message-show-progress-reporter-me= ssage (not tm)))) (cond ((and t1 t2) (let* (... ... ... ... ... ...) (let* = ... ...))) ((or t1 t2) (cond (... ...) (... ...) (t ...))) (t (error "Tramp= implementation says this cannot happen"))) (if attributes (progn (apply (q= uote set-file-extended-attributes) (list newname attributes)))) (if (and t1= (eq op (quote rename))) (progn (let* (... ... ... ... ... ...) (tramp-flus= h-file-property v1 ...) (tramp-flush-file-property v1 localname)))) (if t2 = (progn (let* (... ... ... ... ... ...) (tramp-flush-file-property v2 ...) (= tramp-flush-file-property v2 localname))))) (if tm (if (or (subrp (quote ca= ncel-timer)) (functionp (quote cancel-timer))) (progn (with-no-warnings (fu= ncall ... tm))))) (tramp-message v 0 "%s...done" (format "%s %s to %s" (if = (eq op (quote copy)) "Copying" "Renaming") filename newname))))) (let ((t1 (tramp-tramp-file-p filename)) (t2 (tramp-tramp-file-p newname)= ) (length (nth 7 (file-attributes (file-truename filename)))) (attributes (= and preserve-extended-attributes (apply (quote file-extended-attributes) (l= ist filename)))) pr tm) (let* ((v (tramp-dissect-file-name (if t1 filename = newname))) (method (tramp-file-name-method v)) (user (tramp-file-name-user = v)) (host (tramp-file-name-host v)) (localname (tramp-file-name-localname v= )) (hop (tramp-file-name-hop v))) (if (and (not ok-if-already-exists) (file= -exists-p newname)) (progn (tramp-error v (quote file-already-exists) "File= %s already exists" newname))) (let (pr tm) (tramp-message v 0 "%s..." (for= mat "%s %s to %s" (if (eq op (quote copy)) "Copying" "Renaming") filename n= ewname)) (if (and tramp-message-show-progress-reporter-message tramp-messag= e-show-message (<=3D 0 (min tramp-verbose 3))) (progn (condition-case nil (= progn (setq pr ... tm ...)) (error nil)))) (unwind-protect (let ((tramp-mes= sage-show-progress-reporter-message (and tramp-message-show-progress-report= er-message ...))) (cond ((and t1 t2) (let* ... ...)) ((or t1 t2) (cond ... = ... ...)) (t (error "Tramp implementation says this cannot happen"))) (if a= ttributes (progn (apply ... ...))) (if (and t1 (eq op ...)) (progn (let* ..= . ... ...))) (if t2 (progn (let* ... ... ...)))) (if tm (if (or (subrp ...)= (functionp ...)) (progn (with-no-warnings ...)))) (tramp-message v 0 "%s..= .done" (format "%s %s to %s" (if (eq op ...) "Copying" "Renaming") filename= newname)))))) tramp-do-copy-or-rename-file(copy "/plink:admin@ford:/share/albinus/.emac= s" "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t) (cond ((or (tramp-tramp-file-p filename) (tramp-tramp-file-p newname)) (t= ramp-do-copy-or-rename-file (quote copy) filename newname ok-if-already-exi= sts keep-date preserve-uid-gid preserve-extended-attributes)) (preserve-ext= ended-attributes (tramp-run-real-handler (quote copy-file) (list filename n= ewname ok-if-already-exists keep-date preserve-uid-gid preserve-extended-at= tributes))) (preserve-uid-gid (tramp-run-real-handler (quote copy-file) (li= st filename newname ok-if-already-exists keep-date preserve-uid-gid))) (t (= tramp-run-real-handler (quote copy-file) (list filename newname ok-if-alrea= dy-exists keep-date)))) tramp-sh-handle-copy-file("/plink:admin@ford:/share/albinus/.emacs" "c:/U= sers/Michael/AppData/Local/Temp/.emacs" t t t t) apply(tramp-sh-handle-copy-file ("/plink:admin@ford:/share/albinus/.emacs= " "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t)) (if fn (apply (cdr fn) args) (tramp-run-real-handler operation args)) (let ((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn (ap= ply (cdr fn) args) (tramp-run-real-handler operation args))) (progn (let ((fn (assoc operation tramp-sh-file-name-handler-alist))) (if= fn (apply (cdr fn) args) (tramp-run-real-handler operation args)))) (unwind-protect (progn (let ((fn (assoc operation tramp-sh-file-name-hand= ler-alist))) (if fn (apply (cdr fn) args) (tramp-run-real-handler operation= args)))) (set-match-data save-match-data-internal (quote evaporate))) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (le= t ((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn (apply (= cdr fn) args) (tramp-run-real-handler operation args)))) (set-match-data sa= ve-match-data-internal (quote evaporate)))) (let ((tramp-locker t)) (let ((save-match-data-internal (match-data))) (u= nwind-protect (progn (let ((fn (assoc operation tramp-sh-file-name-handler-= alist))) (if fn (apply (cdr fn) args) (tramp-run-real-handler operation arg= s)))) (set-match-data save-match-data-internal (quote evaporate))))) (progn (setq tramp-locked t) (let ((tramp-locker t)) (let ((save-match-da= ta-internal (match-data))) (unwind-protect (progn (let ((fn ...)) (if fn (a= pply ... args) (tramp-run-real-handler operation args)))) (set-match-data s= ave-match-data-internal (quote evaporate)))))) (unwind-protect (progn (setq tramp-locked t) (let ((tramp-locker t)) (let= ((save-match-data-internal (match-data))) (unwind-protect (progn (let (...= ) (if fn ... ...))) (set-match-data save-match-data-internal (quote evapora= te)))))) (setq tramp-locked tl)) (let ((tl tramp-locked)) (unwind-protect (progn (setq tramp-locked t) (le= t ((tramp-locker t)) (let ((save-match-data-internal (match-data))) (unwind= -protect (progn (let ... ...)) (set-match-data save-match-data-internal (qu= ote evaporate)))))) (setq tramp-locked tl))) tramp-sh-file-name-handler(copy-file "/plink:admin@ford:/share/albinus/.e= macs" "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t) apply(tramp-sh-file-name-handler copy-file ("/plink:admin@ford:/share/alb= inus/.emacs" "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t)) (catch (quote suppress) (apply foreign operation args)) (catch (quote non-essential) (catch (quote suppress) (apply foreign opera= tion args))) (setq result (catch (quote non-essential) (catch (quote suppress) (apply = foreign operation args)))) (let ((sf (symbol-function foreign)) result) (if (and (listp sf) (eq (car= sf) (quote autoload))) (progn (let ((default-directory (tramp-compat-tempo= rary-file-directory))) (load (cadr sf) (quote noerror) (quote nomessage))))= ) (setq result (catch (quote non-essential) (catch (quote suppress) (apply = foreign operation args)))) (cond ((eq result (quote non-essential)) (tramp-= message v 5 "Non-essential received in operation %s" (append (list operatio= n) args)) (tramp-run-real-handler operation args)) ((eq result (quote suppr= ess)) (let (tramp-message-show-message) (tramp-message v 1 "Suppress receiv= ed in operation %s" (append (list operation) args)) (tramp-cleanup v) (tram= p-run-real-handler operation args))) (t result))) (lambda nil (let ((sf (symbol-function foreign)) result) (if (and (listp = sf) (eq (car sf) (quote autoload))) (progn (let ((default-directory (tramp-= compat-temporary-file-directory))) (load (cadr sf) (quote noerror) (quote n= omessage))))) (setq result (catch (quote non-essential) (catch (quote suppr= ess) (apply foreign operation args)))) (cond ((eq result (quote non-essenti= al)) (tramp-message v 5 "Non-essential received in operation %s" (append (l= ist operation) args)) (tramp-run-real-handler operation args)) ((eq result = (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1 "Sup= press received in operation %s" (append (list operation) args)) (tramp-clea= nup v) (tramp-run-real-handler operation args))) (t result))))() funcall((lambda nil (let ((sf (symbol-function foreign)) result) (if (and= (listp sf) (eq (car sf) (quote autoload))) (progn (let ((default-directory= (tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror) = (quote nomessage))))) (setq result (catch (quote non-essential) (catch (quo= te suppress) (apply foreign operation args)))) (cond ((eq result (quote non= -essential)) (tramp-message v 5 "Non-essential received in operation %s" (a= ppend (list operation) args)) (tramp-run-real-handler operation args)) ((eq= result (quote suppress)) (let (tramp-message-show-message) (tramp-message = v 1 "Suppress received in operation %s" (append (list operation) args)) (tr= amp-cleanup v) (tramp-run-real-handler operation args))) (t result))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((de= bug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt r= eceived in operation %s" (append (list operation) args))) (signal (car err)= (cdr err))) (error (cond ((and completion (zerop (length localname)) (memq= operation (quote ...))) t) ((and completion (zerop (length localname)) (me= mq operation (quote ...))) filename) (t (signal (car err) (cdr err))))))) (let ((body (function (lambda nil (let ((sf ...) result) (if (and ... ...= ) (progn ...)) (setq result (catch ... ...)) (cond (... ... ...) (... ...) = (t result))))))) (if debug-on-error (funcall body) (condition-case err (fun= call body) ((debug quit) (let (tramp-message-show-message) (tramp-message v= 1 "Interrupt received in operation %s" (append (list operation) args))) (s= ignal (car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq= operation ...)) t) ((and completion (zerop ...) (memq operation ...)) file= name) (t (signal (car err) (cdr err)))))))) (if foreign (let ((body (function (lambda nil (let (... result) (if ... .= ..) (setq result ...) (cond ... ... ...)))))) (if debug-on-error (funcall b= ody) (condition-case err (funcall body) ((debug quit) (let (tramp-message-s= how-message) (tramp-message v 1 "Interrupt received in operation %s" (appen= d ... args))) (signal (car err) (cdr err))) (error (cond ((and completion .= .. ...) t) ((and completion ... ...) filename) (t (signal ... ...))))))) (t= ramp-run-real-handler operation args)) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-me= thod v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (l= ocalname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if = foreign (let ((body (function (lambda nil (let ... ... ... ...))))) (if deb= ug-on-error (funcall body) (condition-case err (funcall body) ((debug quit)= (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received i= n operation %s" ...)) (signal (car err) (cdr err))) (error (cond (... t) (.= .. filename) (t ...)))))) (tramp-run-real-handler operation args))) (let* ((filename (tramp-replace-environment-variables (apply (quote tramp= -file-name-for-operation) operation args))) (completion (tramp-completion-m= ode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (let* ((= v (tramp-dissect-file-name filename)) (method (tramp-file-name-method v)) (= user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname (= tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign (l= et ((body (function (lambda nil ...)))) (if debug-on-error (funcall body) (= condition-case err (funcall body) ((debug quit) (let ... ...) (signal ... .= ..)) (error (cond ... ... ...))))) (tramp-run-real-handler operation args))= )) (progn (let* ((filename (tramp-replace-environment-variables (apply (quot= e tramp-file-name-for-operation) operation args))) (completion (tramp-compl= etion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (= let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-metho= d v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (loca= lname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if for= eign (let ((body (function ...))) (if debug-on-error (funcall body) (condit= ion-case err (funcall body) (... ... ...) (error ...)))) (tramp-run-real-ha= ndler operation args))))) (unwind-protect (progn (let* ((filename (tramp-replace-environment-variab= les (apply (quote tramp-file-name-for-operation) operation args))) (complet= ion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handl= er filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp= -file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-nam= e-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-= hop v))) (if foreign (let ((body ...)) (if debug-on-error (funcall body) (c= ondition-case err ... ... ...))) (tramp-run-real-handler operation args))))= ) (set-match-data save-match-data-internal (quote evaporate))) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (le= t* ((filename (tramp-replace-environment-variables (apply ... operation arg= s))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-fi= le-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (= method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (t= ramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tra= mp-file-name-hop v))) (if foreign (let (...) (if debug-on-error ... ...)) (= tramp-run-real-handler operation args))))) (set-match-data save-match-data-= internal (quote evaporate)))) (if tramp-mode (let ((save-match-data-internal (match-data))) (unwind-pro= tect (progn (let* ((filename (tramp-replace-environment-variables ...)) (co= mpletion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-= handler filename))) (let* ((v ...) (method ...) (user ...) (host ...) (loca= lname ...) (hop ...)) (if foreign (let ... ...) (tramp-run-real-handler ope= ration args))))) (set-match-data save-match-data-internal (quote evaporate)= ))) (tramp-run-real-handler operation args)) tramp-file-name-handler(copy-file "/plink:admin@ford:/share/albinus/.emac= s" "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t) copy-file("/plink:admin@ford:/share/albinus/.emacs" "c:/Users/Michael/App= Data/Local/Temp/" t t t t) eval((copy-file "/plink:admin@ford:/share/albinus/.emacs" temporary-file-= directory t t t t) nil) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) --8<---------------cut here---------------end--------------->8--- In GNU Emacs 24.3.50.1 (i386-mingw-nt6.1.7600) of 2012-12-18 on MS-W7-DANI Bzr revision: 111265 eliz@gnu.org-20121218190556-x9wmq083vwecgu0f Windowing system distributor `Microsoft Corp.', version 6.1.7600 Configured using: `configure --with-gcc (4.7) --no-opt --enable-checking --cflags -Ic:/emacs/libs/libXpm-3.5.10/include -Ic:/emacs/libs/libXpm-3.5.10/src -Ic:/emacs/libs/libpng-dev_1.4.3-1_win32/include -Ic:/emacs/libs/zlib-dev_1.2.5-2_win32/include -Ic:/emacs/libs/giflib-4.1.4-1-lib/include -Ic:/emacs/libs/jpeg-6b-4-lib/include -Ic:/emacs/libs/tiff-3.8.2-1-lib/include -Ic:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2 -Ic:/emacs/libs/gnutls-3.0.9-w32-bin/include -Ic:/emacs/libs/libiconv-1.9.2-1-lib/include' Important settings: value of $LANG: DEU locale-coding-system: cp1252 default enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: x r e p o r Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Making completion list... delete-forward-char: End of buffer Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-mode easymenu time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process w32notify w32 multi-tty emacs)