bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13226: 24.3.50; set-file-acl on MS Windows shall check ACL string fo


From: Michael Albinus
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

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-1115707380-970145838-513D:(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-21-3955186872-1115707380-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 argument" 
"c:/Users/Michael/AppData/Local/Temp/.emacs")
  set-file-acl("c:/Users/Michael/AppData/Local/Temp/.emacs" 
"user::rwx\ngroup::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 nil 
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 attributes)))
  (if attributes (progn (apply (quote set-file-extended-attributes) (list 
newname attributes))))
  (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 (tramp-dissect-file-name 
newname)) (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-name-localname v2)) (v2-hop (tramp-file-name-hop v2))) (cond 
((tramp-equal-remote filename newname) (tramp-do-copy-or-rename-file-directly 
op filename newname ok-if-already-exists keep-date preserve-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-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 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 attributes (progn 
(apply (quote set-file-extended-attributes) (list newname attributes)))) (if 
(and t1 (eq op (quote rename))) (progn (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))) 
(tramp-flush-file-property v1 (file-name-directory localname)) 
(tramp-flush-file-property v1 localname)))) (if t2 (progn (let* ((v2 
(tramp-dissect-file-name newname)) (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-name-localname v2)) (v2-hop (tramp-file-name-hop 
v2))) (tramp-flush-file-property v2 (file-name-directory localname)) 
(tramp-flush-file-property v2 localname)))))
  (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 ...))))) ((or t1 t2) (cond ((tramp-local-host-p v) 
(tramp-do-copy-or-rename-file-directly 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-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 attributes (progn 
(apply (quote set-file-extended-attributes) (list newname attributes)))) (if 
(and t1 (eq op (quote rename))) (progn (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))) 
(tramp-flush-file-property v1 (file-name-directory localname)) 
(tramp-flush-file-property v1 localname)))) (if t2 (progn (let* ((v2 
(tramp-dissect-file-name newname)) (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-name-localname v2)) (v2-hop (tramp-file-name-hop 
v2))) (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 (pr tm) (tramp-message v 0 "%s..." (format "%s %s to %s" (if (eq op 
(quote copy)) "Copying" "Renaming") filename newname)) (if (and 
tramp-message-show-progress-reporter-message tramp-message-show-message (<= 0 
(min tramp-verbose 3))) (progn (condition-case nil (progn (setq pr (if (or ... 
...) (progn ...)) tm (if pr (progn ...)))) (error nil)))) (unwind-protect (let 
((tramp-message-show-progress-reporter-message (and 
tramp-message-show-progress-reporter-message (not tm)))) (cond ((and t1 t2) 
(let* ((v1 ...) (v1-method ...) (v1-user ...) (v1-host ...) (v1-localname ...) 
(v1-hop ...)) (let* (... ... ... ... ... ...) (cond ... ... ...)))) ((or t1 t2) 
(cond ((tramp-local-host-p v) (tramp-do-copy-or-rename-file-directly 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-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 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)) (tramp-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 
(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..." (format "%s %s to 
%s" (if (eq op (quote copy)) "Copying" "Renaming") filename newname)) (if (and 
tramp-message-show-progress-reporter-message tramp-message-show-message (<= 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-message (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 (quote set-file-extended-attributes) (list newname 
attributes)))) (if (and t1 (eq op (quote rename))) (progn (let* (... ... ... 
... ... ...) (tramp-flush-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 cancel-timer)) (functionp (quote cancel-timer))) 
(progn (with-no-warnings (funcall ... 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) (list 
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..." (format "%s %s to 
%s" (if (eq op (quote copy)) "Copying" "Renaming") filename newname)) (if (and 
tramp-message-show-progress-reporter-message tramp-message-show-message (<= 0 
(min tramp-verbose 3))) (progn (condition-case nil (progn (setq pr ... tm ...)) 
(error nil)))) (unwind-protect (let 
((tramp-message-show-progress-reporter-message (and 
tramp-message-show-progress-reporter-message ...))) (cond ((and t1 t2) (let* 
... ...)) ((or t1 t2) (cond ... ... ...)) (t (error "Tramp implementation says 
this cannot happen"))) (if attributes (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/.emacs" 
"c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t)
  (cond ((or (tramp-tramp-file-p filename) (tramp-tramp-file-p newname)) 
(tramp-do-copy-or-rename-file (quote copy) filename newname 
ok-if-already-exists keep-date preserve-uid-gid preserve-extended-attributes)) 
(preserve-extended-attributes (tramp-run-real-handler (quote copy-file) (list 
filename newname ok-if-already-exists keep-date preserve-uid-gid 
preserve-extended-attributes))) (preserve-uid-gid (tramp-run-real-handler 
(quote copy-file) (list filename newname ok-if-already-exists keep-date 
preserve-uid-gid))) (t (tramp-run-real-handler (quote copy-file) (list filename 
newname ok-if-already-exists keep-date))))
  tramp-sh-handle-copy-file("/plink:admin@ford:/share/albinus/.emacs" 
"c:/Users/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 (apply 
(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-handler-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 (let 
((fn (assoc operation tramp-sh-file-name-handler-alist))) (if fn (apply (cdr 
fn) args) (tramp-run-real-handler operation args)))) (set-match-data 
save-match-data-internal (quote evaporate))))
  (let ((tramp-locker t)) (let ((save-match-data-internal (match-data))) 
(unwind-protect (progn (let ((fn (assoc operation 
tramp-sh-file-name-handler-alist))) (if fn (apply (cdr fn) args) 
(tramp-run-real-handler operation args)))) (set-match-data 
save-match-data-internal (quote evaporate)))))
  (progn (setq tramp-locked t) (let ((tramp-locker t)) (let 
((save-match-data-internal (match-data))) (unwind-protect (progn (let ((fn 
...)) (if fn (apply ... args) (tramp-run-real-handler operation args)))) 
(set-match-data save-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 evaporate)))))) 
(setq tramp-locked tl))
  (let ((tl tramp-locked)) (unwind-protect (progn (setq tramp-locked t) (let 
((tramp-locker t)) (let ((save-match-data-internal (match-data))) 
(unwind-protect (progn (let ... ...)) (set-match-data save-match-data-internal 
(quote evaporate)))))) (setq tramp-locked tl)))
  tramp-sh-file-name-handler(copy-file 
"/plink:admin@ford:/share/albinus/.emacs" 
"c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t)
  apply(tramp-sh-file-name-handler copy-file 
("/plink:admin@ford:/share/albinus/.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 operation 
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-temporary-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 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)) 
(tramp-cleanup v) (tramp-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 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 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)) 
(tramp-cleanup 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 (quote 
suppress) (apply foreign operation args)))) (cond ((eq result (quote 
non-essential)) (tramp-message v 5 "Non-essential received in operation %s" 
(append (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)) 
(tramp-cleanup v) (tramp-run-real-handler operation args))) (t result)))))
  (if debug-on-error (funcall body) (condition-case err (funcall body) ((debug 
quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received 
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)) (memq 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 (funcall 
body) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1 
"Interrupt received in operation %s" (append (list operation) args))) (signal 
(car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq operation 
...)) t) ((and completion (zerop ...) (memq operation ...)) filename) (t 
(signal (car err) (cdr err))))))))
  (if foreign (let ((body (function (lambda nil (let (... result) (if ... ...) 
(setq result ...) (cond ... ... ...)))))) (if debug-on-error (funcall body) 
(condition-case err (funcall body) ((debug quit) (let 
(tramp-message-show-message) (tramp-message v 1 "Interrupt received in 
operation %s" (append ... args))) (signal (car err) (cdr err))) (error (cond 
((and completion ... ...) t) ((and completion ... ...) filename) (t (signal ... 
...))))))) (tramp-run-real-handler operation args))
  (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 (let 
((body (function (lambda nil (let ... ... ... ...))))) (if debug-on-error 
(funcall body) (condition-case err (funcall body) ((debug quit) (let 
(tramp-message-show-message) (tramp-message v 1 "Interrupt received in 
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-mode-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 (let ((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 (quote 
tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-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 (let ((body (function ...))) (if 
debug-on-error (funcall body) (condition-case err (funcall body) (... ... ...) 
(error ...)))) (tramp-run-real-handler operation args)))))
  (unwind-protect (progn (let* ((filename (tramp-replace-environment-variables 
(apply (quote tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-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 (let ((body ...)) (if debug-on-error 
(funcall body) (condition-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 (let* 
((filename (tramp-replace-environment-variables (apply ... operation args))) 
(completion (tramp-completion-mode-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 (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-protect 
(progn (let* ((filename (tramp-replace-environment-variables ...)) (completion 
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler 
filename))) (let* ((v ...) (method ...) (user ...) (host ...) (localname ...) 
(hop ...)) (if foreign (let ... ...) (tramp-run-real-handler operation 
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/.emacs" 
"c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t)
  copy-file("/plink:admin@ford:/share/albinus/.emacs" 
"c:/Users/Michael/AppData/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:
<escape> x r e p o <tab> r <tab> <delete> <return>

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)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]