Package: emacs;
Reported by: Michael Albinus <michael.albinus <at> gmx.de>
Date: Wed, 19 Dec 2012 12:26:02 UTC
Severity: normal
Found in version 24.3.50
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Michael Albinus <michael.albinus <at> gmx.de> To: 13226 <at> debbugs.gnu.org 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 <at> 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 <at> 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 <at> 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 <at> ford:/share/albinus/.emacs" "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t) apply(tramp-sh-handle-copy-file ("/plink:admin <at> 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 <at> 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 <at> 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 <at> ford:/share/albinus/.emacs" "c:/Users/Michael/AppData/Local/Temp/.emacs" t t t t) copy-file("/plink:admin <at> ford:/share/albinus/.emacs" "c:/Users/Michael/AppData/Local/Temp/" t t t t) eval((copy-file "/plink:admin <at> 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 <at> 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)
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.