* bug#28865: 26.0.90; broken symlink behaviour in read-file-name on OS X (High Sierra)
@ 2017-10-16 13:34 detlevvandaele
2017-10-16 21:33 ` Alan Third
0 siblings, 1 reply; 2+ messages in thread
From: detlevvandaele @ 2017-10-16 13:34 UTC (permalink / raw)
To: 28865
[-- Attachment #1: Type: text/plain, Size: 11468 bytes --]
Hello,
recently I've switched over to the emacs-26 branch due to some unpatched
bugs in the stable 25.3 release available on brew/cask.
I currently use the ivy package as a completion front-end for files/buffers/...
and have noticed what appears to be a bug with the `read-file-name-internal`
compiled function that it uses for its completing-read functionality.
Symbolic links now appear as directories, complete with trailing '/' and
directory-style highlighting.
Upon opening any of them I am presented with an empty buffer. With
auto-revert-mode active, this buffer attempts to continuously
revert, without any luck.
I have been unable to reproduce this bug on my Arch Linux system on both
emacs 25.3.2 and emacs 26.0.90, and it does not present itself on emacs
25.3.2 on macOS High Sierra (10.13) either.
In fact, from what I can tell, this issue seems to be entirely
restricted to version 26 of GNU Emacs on macOS (I can not speak for
any versions older than High Sierra, as this is my first
experience with a mac, and I updated before finding out about this
issue).
All symlinks that I have tested were created with the GNU coreutils
version of the `ln` program.
My emacs exec-path is also set to follow my shell path, where all GNU
coreutils take precedence over the built-in utils that macOS provides.
Following the steps to reproduce the bug does not require this however, so it
should bear no significance.
Steps to reproduce in emacs 26, on macOS High Sierra (version 10.13):
1. Setup a symbolic link in the following way:
cd ~
mkdir temp
touch temp/foo
ln -s ~/temp/foo ~/temp/bar
2. Open emacs 26 with `emacs -Q`
3. Evaluate the following elisp snippet
(let ((default-directory "~/temp"))
(all-completions "" 'read-file-name-internal))
The (incorrect) output should read ("bar/" "foo" "../" "./")
The correct, expected output is ("bar" "foo" "../" "./")
Note: this is my very first bug report, so if I left out any important
information that may be of help in fixing this issue, please let me know.
In GNU Emacs 26.0.90 (build 2, x86_64-apple-darwin17.0.0, NS appkit-1561.00 Version 10.13 (Build 17A405))
of 2017-10-13 built on Detlevs-MBP.kelder.zeus.ugent.be
Repository revision: 716b84034d10b8cae5d721173108c4c299f66ed0
Windowing system distributor 'Apple', version 10.3.1561
Recent messages:
Type "q" in help window to restore its previous buffer.
C-' is undefined
(#(".Trash/" 0 7 (dirp 6)) #(".bash_sessions/" 0 15 (dirp 14)) #(".config/" 0 8 (dirp 7)) #(".cpan/" 0 6 (dirp 5)) #(".emacs.d/" 0 9 (dirp 8)) #(".gnupg/" 0 7 (dirp 6)) #(".local/" 0 7 (dirp 6)) #(".m2/" 0 4 (dirp 3)) #(".offlineimap/" 0 13 (dirp 12)) #(".oracle_jre_usage/" 0 18 (dirp 17)) #(".ssh/" 0 5 (dirp 4)) #(".virtualenvs/" 0 13 (dirp 12)) ...)
Quit
Entering debugger...
Back to top level
("/Users/detlev/.zcompdump" "/Users/detlev/.zcompdump.zwc" "/Users/detlev/.zhistory" "/Users/detlev/.zlogin" "/Users/detlev/.zlogout" "/Users/detlev/.zprezto" "/Users/detlev/.zpreztorc" "/Users/detlev/.zprofile" "/Users/detlev/.zshenv" "/Users/detlev/.zshrc")
Type "q" in help window to restore its previous buffer. [2 times]
(".zlogout/" ".offlineimaprc" ".zlogin/" "Git/" ".viminfo" ".bash_history" ".gitconfig" ".zcompdump.zwc" ".lmodprofile" ".python_history" "Downloads/" ".m2/" ...)
Type "q" in help window to restore its previous buffer, C-M-v to scroll help.
Quit
Configured using:
'configure --with-ns --with-gnutls --with-mailutils --with-modules
--with-dbus --with-imagemagick --with-jpeg'
Configured features:
JPEG RSVG DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS
MODULES LCMS2
Important settings:
value of $LC_ALL: en_US.UTF-8
value of $LANG: en_BE.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
crux-reopen-as-root-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
recentf-mode: t
global-semanticdb-minor-mode: t
global-semantic-idle-scheduler-mode: t
semantic-mode: t
ivy-mode: t
savehist-mode: t
diff-auto-refine-mode: t
rainbow-delimiters-mode: t
perspeen-mode: t
global-git-gutter-mode: t
projectile-mode: t
show-paren-mode: t
smartparens-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
which-key-mode: t
shell-dirtrack-mode: t
company-quickhelp-mode: t
company-quickhelp-local-mode: t
global-company-mode: t
company-mode: t
global-flycheck-mode: t
flycheck-mode: t
which-function-mode: t
global-aggressive-indent-mode: t
aggressive-indent-mode: t
indent-guide-global-mode: t
indent-guide-mode: t
global-display-line-numbers-mode: t
display-line-numbers-mode: t
global-hl-line-mode: t
global-auto-revert-mode: t
delete-selection-mode: t
override-global-mode: t
cl-old-struct-compat-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
global-visual-line-mode: t
visual-line-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(eieio-opt help-fns shadow sort mail-extr crux magit-bookmark
magit-obsolete magit-blame magit-stash magit-bisect magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-branch
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode magit-core magit-autorevert
magit-process magit-margin magit-mode magit-git magit-section
magit-popup git-commit magit-utils log-edit pcvs-util with-editor
async-bytecomp server dired-hacks-utils autoload radix-tree lisp-mnt
cl-print debug mm-archive network-stream starttls url-http tls gnutls
url-gw nsm url-cache url-auth recentf bookmark pp add-log vc-git
semantic/decorate/mode jdee-flycheck semantic/db-ref semantic/db-mode
semantic/wisent/java-tags semantic/wisent/javat-wy semantic/wisent
semantic/wisent/wisent jdee-plugins jdee jdee-wiz jdee-test jdee-archive
memoize jdee-stacktrace jdee-refactor dired-aux jdee-project-file
jdee-maven jdee-keys jdee-jdb jdee-java-grammar jdee-which-method
jdee-font-lock jdee-issues jdee-help jdee-gen tempo jdee-find jdee-deps
jdee-cygwin jdee-custom jdee-compile jdee-class jdee-bytecode jdee-bug
jdee-run jdee-jdk-manager jdee-dbs jdee-dbo jdee-widgets tree-widget
jdee-db jdee-open-source semantic/senator semantic/decorate pulse
jdee-import jdee-complete semantic/idle jdee-parse jdee-backend jdee-bsh
jdee-util arc-mode archive-mode jdee-parse-expr beanshell semantic/sb
speedbar sb-image dframe jdee-imenu semantic/imenu semantic/sort
semantic/db-file data-debug cedet-files semantic/db eieio-base
semantic/java semantic/format ezimage semantic/tag-ls semantic/find
semantic/doc semantic/ctxt semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local efc avl-tree generator
jdee-annotations jdee-abbrev jdee-classpath jdee-files jdee-activator
jdee-log executable cus-edit cus-start cus-load cedet browse-url
emacsbug sendmail colir smex ido counsel jka-compr esh-util swiper ivy
flx ivy-overlay ffap detvdl-util detvdl-theme doom-themes-org
doom-one-theme doom-themes doom-themes-common smart-mode-line-dark-theme
smart-mode-line rich-minority detvdl-history savehist detvdl-persp
notmuch notmuch-message notmuch-hello wid-edit notmuch-tree notmuch-show
notmuch-print notmuch-crypto notmuch-mua notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash diff-mode coolj notmuch-query goto-addr icalendar diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs notmuch-tag crm
notmuch-lib notmuch-compat cl message rmc puny dired dired-loaddefs
rfc822 mml mailabbrev gmm-utils mailheader mm-view mml-smime mml-sec epa
epg gnus-util rmail rmail-loaddefs mail-utils smime dig mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr rainbow-delimiters elec-pair perspeen perspeen-tab
powerline powerline-separators color powerline-themes detvdl-mail
detvdl-git git-gutter-fringe git-gutter fringe-helper ediff-merg
ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff
detvdl-projectile projectile grep compile ibuf-ext ibuffer
ibuffer-loaddefs detvdl-ivy helm derived helm-source eieio-compat
helm-multi-match helm-lib async detvdl-smartparens paren
smartparens-config smartparens-javascript smartparens-text
smartparens-python smartparens-html smartparens-clojure smartparens
detvdl-common undo-tree diff which-key exec-path-from-shell detvdl-lang
detvdl-markdown detvdl-org detvdl-c detvdl-js json-mode json-reformat
json-snatcher js sgml-mode dom thingatpt cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs detvdl-web
detvdl-python pyenv-mode company-anaconda anaconda-mode pythonic f s
python tramp-sh url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap tramp tramp-compat
tramp-loaddefs trampver shell pcomplete comint ansi-color parse-time
format-spec detvdl-clojure clojure-mode align detvdl-java detvdl-elisp
elisp-slime-nav detvdl-lisp detvdl-ruby advice detvdl-shell
detvdl-yasnippet detvdl-company company-quickhelp pos-tip
company-oddmuse company-keywords company-etags etags xref project ring
company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
company pcase detvdl-programming flycheck json map find-func subr-x dash
which-func imenu aggressive-indent cl-extra help-mode indent-guide
detvdl-ui display-line-numbers hl-line detvdl-editor edmacro kmacro
autorevert filenotify delsel use-package diminish bind-key easy-mmode
finder-inf rx info package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib time-date tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process
emacs)
Memory information:
((conses 16 740465 117053)
(symbols 48 58760 33)
(miscs 40 496 1326)
(strings 32 164015 14452)
(string-bytes 1 5172899)
(vectors 16 106321)
(vector-slots 8 2583896 57898)
(floats 8 419 788)
(intervals 56 2162 2497)
(buffers 992 33))
[-- Attachment #2: Type: text/html, Size: 13194 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#28865: 26.0.90; broken symlink behaviour in read-file-name on OS X (High Sierra)
2017-10-16 13:34 bug#28865: 26.0.90; broken symlink behaviour in read-file-name on OS X (High Sierra) detlevvandaele
@ 2017-10-16 21:33 ` Alan Third
0 siblings, 0 replies; 2+ messages in thread
From: Alan Third @ 2017-10-16 21:33 UTC (permalink / raw)
To: detlevvandaele; +Cc: 28865
On Mon, Oct 16, 2017 at 03:34:55PM +0200, detlevvandaele wrote:
> Steps to reproduce in emacs 26, on macOS High Sierra (version 10.13):
>
> 1. Setup a symbolic link in the following way:
> cd ~
> mkdir temp
> touch temp/foo
> ln -s ~/temp/foo ~/temp/bar
>
> 2. Open emacs 26 with `emacs -Q`
>
> 3. Evaluate the following elisp snippet
> (let ((default-directory "~/temp"))
> (all-completions "" 'read-file-name-internal))
>
> The (incorrect) output should read ("bar/" "foo" "../" "./")
> The correct, expected output is ("bar" "foo" "../" "./")
Confirmed on macOS 10.12 with Emacs 26 and the standard macOS ln.
--
Alan Third
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-10-16 21:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-16 13:34 bug#28865: 26.0.90; broken symlink behaviour in read-file-name on OS X (High Sierra) detlevvandaele
2017-10-16 21:33 ` Alan Third
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).