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

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

bug#36502: 27.0.50; infinite loop in file-name-case-insensitive-p


From: Daniel Sutton
Subject: bug#36502: 27.0.50; infinite loop in file-name-case-insensitive-p
Date: Thu, 4 Jul 2019 11:48:24 -0500

There seems to be a bug with `file-name-case-insensitive-p` when given a
file name that doesn't exist and does not have a root that exists. For
instance `(file-name-case-insensitive-p "some/project")`.

Unfortunately I'm unable to give a simple reproduction as this only
seemed to happen when running tests for CIDER under cask. This behavior
seems to have been introduced in
81d6418e6b7c3e637dccf9c856d9c4b94bd43b97 with the commit message:

Fix file-name-case-insensitive-p on non-existent files

* src/fileio.c (Ffile_name_case_insensitive_p): If the file
doesn't exist, move up the filesystem tree until an existing
directory is found.  Then test that directory for
case-insensitivity.  (Bug#32246)

https://github.com/clojure-emacs/cider/pull/2669/commits/2039abd3c48214200a9e50a5288246011d48eb3e

Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM THREADS LIBSYSTEMD PDUMPER LCMS2 GMP

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Dired by name

Minor modes in effect:
  recentf-mode: t
  global-magit-file-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  ivy-mode: t
  projectile-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-undo-tree-mode: t
  delete-selection-mode: t
  company-quickhelp-mode: t
  company-quickhelp-local-mode: t
  global-company-mode: t
  company-mode: t
  which-key-mode: t
  global-hl-line-mode: t
  minions-mode: t
  pixel-scroll-mode: t
  save-place-mode: t
  winner-mode: t
  show-paren-mode: t
  global-auto-revert-mode: t
  auto-compile-on-load-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
~/projects/dev/clojure-mode/clojure-mode hides /home/dan/.emacs.d/elpa/clojure-mode-20190508.1522/clojure-mode

Features:
(shadow sort mail-extr emacsbug sendmail whitespace tabify magit-patch
loccur cl-print eieio-opt speedbar sb-image ezimage dframe recentf
bug-reference cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs help-fns radix-tree cider tramp-sh
cider-debug cider-inspector cider-browse-ns cider-mode cider-completion
cider-profile cider-eval cider-repl-history pulse cider-repl
cider-resolve cider-test cider-overlays cider-stacktrace cider-doc
cider-browse-spec org-table org-element avl-tree org org-macro
org-footnote org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp
ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu
calendar cal-loaddefs cider-grimoire cider-popup cider-eldoc
cider-client cider-common cider-util cider-connection sesman-browser
nrepl-client nrepl-dict cider-compat crux tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat parse-time ls-lisp vc-git
checkdoc magit-extras magit-bookmark magit-submodule magit-obsolete
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log which-func magit-diff smerge-mode
diff-mode magit-core magit-autorevert magit-margin magit-transient
magit-process magit-mode transient git-commit magit-git magit-section
magit-utils crm log-edit message rfc822 mml mml-sec epa epg gnus-util
rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies
mm-encode mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
with-editor async-bytecomp async shell pcomplete counsel xdg dired
dired-loaddefs swiper ivy colir ivy-overlay ffap smart-mode-line
rich-minority projectile grep ibuf-ext ibuffer ibuffer-loaddefs
company-oddmuse company-keywords company-etags etags fileloop generator
company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-bbdb lsp-clojure lsp-mode
markdown-mode noutline outline tree-widget xref network-stream inline ht
f s em-glob esh-util dash-functional flymake-proc flymake thingatpt
clojure-mode project align imenu buttercup warnings ert ewoc debug
backtrace buttercup-compat flycheck-joker sesman vc vc-dispatcher
spinner queue pkg-info url-http url url-proxy url-privacy url-expand
url-methods url-history mailcap url-auth mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr url-cookie url-domsuf url-util
url-gw nsm rmc puny lisp-mnt epl parseedn parseclj-parser parseclj-lex a
yasnippet elec-pair flycheck find-func rainbow-delimiters paredit
pcre2el rxt re-builder rx pdf-tools compile comint ansi-color pdf-view
bookmark pp pdf-cache pdf-info tq pdf-util format-spec image-mode
undo-tree diff delsel browse-kill-ring derived cl all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons memoize company-quickhelp
pos-tip company pcase hydra lv diminish which-key gruvbox-theme gruvbox
sublime-themes kaolin-themes kaolin-themes-lib darktooth-theme
autothemer solarized-theme solarized color hl-line moody minions dash
pixel-scroll advice saveplace winner ring paren autorevert filenotify
edmacro kmacro resize-window cl-extra help-mode jka-compr server
auto-compile packed use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core finder-inf cus-edit cus-start cus-load wid-edit
mule-util info package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd 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 threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 641932 908328)
 (symbols 48 45885 1184)
 (strings 32 196006 120504)
 (string-bytes 1 5710715)
 (vectors 16 81080)
 (vector-slots 8 1615861 884472)
 (floats 8 972 10098)
 (intervals 56 13745 17676)
 (buffers 992 85))

reply via email to

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