help-emacs-windows
[Top][All Lists]
Advanced

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

[h-e-w] 23.1.50; Emacs W32 does not respect native symbolic links on Win


From: Christoph LANGE
Subject: [h-e-w] 23.1.50; Emacs W32 does not respect native symbolic links on Windows 7 (NTFS filesystem)
Date: Thu, 25 Aug 2011 22:13:14 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20110812 Thunderbird/6.0

Dear developers of the Emacs W32 patchset,

Emacs W32 does not respect native NTFS symbolic links, which exist in
more recent Windows versions. I've just tested with GNU Emacs 23.3.1
from Cygwin, which does respect them.

Note: I'm neither talking about Windows Explorer's shortcuts (those
supported by w32-symlinks.el) nor about Cygwin symlinks, but about
native NTFS symlinks. FYI, also note that Cygwin (at least the most
recent version) does _respect_ existing native NTFS links; "ln" just
doesn't support _creating_ them (as creation requires admin
permissions on Windows).

Here's how to reproduce. This procedure works on Windows 7; on earlier
versions it's slightly more complicated:

1. Open a Windows command line with admin permissions, e.g. use
"Start", then type "cmd", then hit C-S-RET

2. Suppose a file named "target" exists.  Type

   mklink source target

   (Mind the order, it's opposite from "ln")

3. Open "source" in Emacs W32, edit it, save it.

4. Result: "source" is a normal file.  If Emacs has created a backup
   "source~", the latter is still a symlink.

My impression is that the bug has been fixed in an Emacs version more
recent than 23.1.50.1 (which the current Emacs W32) is based on.

Emacs status dump follows below (with irrelevant sections removed).

Cheers, and thanks in advance,

Christoph

In GNU Emacs 23.1.50.1 (i386-mingw-nt6.1.7601)
 of 2009-11-04 on LENNART-69DE564 (patched)
Windowing system distributor `Microsoft Corp.', version 6.1.7601
configured using `configure --with-gcc (3.4) --cflags -Ic:/g/include'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENI
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Help

Minor modes in effect:
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  shell-dirtrack-mode: t
  server-mode: t
  show-paren-mode: t
  recentf-mode: t
  global-surround-mode: t
  surround-mode: t
  evil-mode: t
  evil-local-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  noticeable-minibuffer-prompts-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  abbrev-mode: t
  view-mode: t

Load-path shadows:
~/.emacs.d/org/lisp/org hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org ~/.emacs.d/org/lisp/org-xoxo hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-xoxo ~/.emacs.d/org/lisp/org-wl hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-wl ~/.emacs.d/org/lisp/org-w3m hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-w3m ~/.emacs.d/org/lisp/org-vm hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-vm ~/.emacs.d/org/lisp/org-timer hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-timer ~/.emacs.d/org/lisp/org-table hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-table ~/.emacs.d/org/lisp/org-src hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-src ~/.emacs.d/org/lisp/org-rmail hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-rmail ~/.emacs.d/org/lisp/org-remember hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-remember ~/.emacs.d/org/lisp/org-publish hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-publish ~/.emacs.d/org/lisp/org-protocol hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-protocol ~/.emacs.d/org/lisp/org-plot hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-plot ~/.emacs.d/org/lisp/org-mouse hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-mouse ~/.emacs.d/org/lisp/org-mobile hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-mobile ~/.emacs.d/org/lisp/org-mhe hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-mhe ~/.emacs.d/org/lisp/org-mew hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-mew ~/.emacs.d/org/lisp/org-macs hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-macs ~/.emacs.d/org/lisp/org-mac-message hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-mac-message ~/.emacs.d/org/lisp/org-list hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-list ~/.emacs.d/org/lisp/org-latex hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-latex ~/.emacs.d/org/lisp/org-jsinfo hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-jsinfo ~/.emacs.d/org/lisp/org-irc hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-irc ~/.emacs.d/org/lisp/org-install hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-install ~/.emacs.d/org/lisp/org-inlinetask hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-inlinetask ~/.emacs.d/org/lisp/org-info hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-info ~/.emacs.d/org/lisp/org-indent hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-indent ~/.emacs.d/org/lisp/org-id hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-id ~/.emacs.d/org/lisp/org-icalendar hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-icalendar ~/.emacs.d/org/lisp/org-html hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-html ~/.emacs.d/org/lisp/org-gnus hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-gnus ~/.emacs.d/org/lisp/org-footnote hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-footnote ~/.emacs.d/org/lisp/org-feed hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-feed ~/.emacs.d/org/lisp/org-faces hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-faces ~/.emacs.d/org/lisp/org-exp hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-exp ~/.emacs.d/org/lisp/org-exp-blocks hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-exp-blocks ~/.emacs.d/org/lisp/org-docbook hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-docbook ~/.emacs.d/org/lisp/org-crypt hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-crypt ~/.emacs.d/org/lisp/org-compat hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-compat ~/.emacs.d/org/lisp/org-colview hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-colview ~/.emacs.d/org/lisp/org-clock hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-clock ~/.emacs.d/org/lisp/org-bibtex hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-bibtex ~/.emacs.d/org/lisp/org-bbdb hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-bbdb ~/.emacs.d/org/lisp/org-attach hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-attach ~/.emacs.d/org/lisp/org-ascii hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-ascii ~/.emacs.d/org/lisp/org-archive hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-archive ~/.emacs.d/org/lisp/org-agenda hides c:/Program Files (x86)/Emacs/emacs/lisp/org/org-agenda

Features:
(shadow mail-extr emacsbug info latex tex-style tex pp org-colview
vc-git sgml-mode tramp-imap epa epg epg-config imap-hash imap message
smtpmail sendmail ecomplete rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums
mailabbrev nnheader mm-util mail-prsvr gmm-utils mailheader canlock sha1
hex-util hashcash mail-utils assoc tramp-gw tramp-fish tramp-cache
tramp-ftp tramp-cmds tramp auth-source gnus-util netrc shell
password-cache tramp-compat trampver diary-lib diary-loaddefs cal-iso
tabify org-table mule-util cal-move parse-time help-mode view dabbrev
newcomment multi-isearch vc-dispatcher vc-svn reftex-parse reftex
reftex-vars server saveplace org-w3m org-wl org-vm org-rmail org-mhe
org-mew org-irc org-habit org-jsinfo org-infojs org-html format-spec
org-info org-gnus org-docview org-bibtex org-bbdb paren cus-start post
derived bibtex org-contacts cl cl-19 org-clock org-exp ob-exp
org-exp-blocks org-agenda org byte-opt bytecomp byte-compile
ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint comint ob-keys ob ob-eval org-pcomplete pcomplete org-list
org-faces org-compat org-entities org-macs time-date noutline outline
regexp-opt cal-menu calendar cal-loaddefs org-install ido recentf
tree-widget wid-edit easymenu surround easy-mmode evil evil-maps
evil-integration evil-replace evil-window windmove evil-search
evil-motions evil-operators rect evil-ex evil-insert evil-digraphs
evil-visual evil-repeat evil-states advice help-fns advice-preload
evil-undo evil-types evil-common evil-interactive evil-compatibility
evil-vars ring edmacro kmacro preview-latex tex-site auto-loads tooltip
ediff-hook vc-hooks lisp-float-type mwheel dos-w32 disp-table ls-lisp
w32-win w32-vars tool-bar dnd fontset image fringe lisp-mode register
page menu-bar rfn-eshadow timer select scroll-bar mldrag 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 button minibuffer
faces cus-face text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process multi-tty emacs)

--
Christoph Lange, http://de.wikipedia.org/wiki/Benutzer:Langec, Skype duke4701



reply via email to

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