|
From: | Oleksandr Gavenko |
Subject: | Re: API for excess DOS file attributes?? |
Date: | Fri, 30 Sep 2011 00:55:48 +0300 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1 |
29.09.2011 23:23, Eli Zaretskii пишет:
From: Oleksandr Gavenko<gavenkoa@gmail.com> Date: Thu, 29 Sep 2011 22:59:09 +0300 So I think that I can not excess to this data from Emacs (native Windows build).Not from Lisp, no.I try rewrite 'follow-cygwin-symlink' from: http://www.emacswiki.org/emacs/setup-cygwin.el for more strict conformance of definition of symbolic link in Cygwin (from 'cygwin-ug-net-nochunks.html'): The file style symlinks are files containing a magic cookie followed by the path to which the link points. They are marked with the System DOS attribute so that only files with that attribute have to be read to determine whether or not the file is a symbolic link.What's in setup-cygwin.el is about as good as you can get in Lisp. A better solution would be to add to file-symlink-p and make-symbolic-link the ability to recognize and create Cygwin-style symlink (and Windows 7 style symlink as well), but that requires changes on the C level.
OK. I get next new definition of 'follow-cygwin-symlink', which work with new (to Cygwin 1.7) style of links: (when (eq windows-system 'w32) (defun follow-cygwin-symlink () "Follow new-style (and also UCS-16) Cygwin symlinks." (save-excursion (goto-char 0) (when (looking-at "!<symlink>\xff\xfe") (find-alternate-file (substring (decode-coding-string (buffer-substring (match-end 0) (point-max)) 'utf-16-le) 0 -1) ; -1 for stripping final \0. )))) (add-hook 'find-file-hooks 'follow-cygwin-symlink) ) I don't incorporate it back to emacswiki as don't understand some part of old code. Maintainer of this file is Drew Adams, but I don't know how contact with him.
[Prev in Thread] | Current Thread | [Next in Thread] |