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

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

bug#21816: elisp-mode-tests fails on a case-preserving filesystem


From: Eli Zaretskii
Subject: bug#21816: elisp-mode-tests fails on a case-preserving filesystem
Date: Mon, 02 Nov 2015 19:57:01 +0200

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 2 Nov 2015 17:41:58 +0100
> Cc: stephen_leake@stephe-leake.org
> 
> Test xref-elisp-test-find-defs-feature-el fails on my Windows system because 
> of
> a case-sensitive filename comparison.
> 
> Basically
> 
> ELISP> (aref (aref (car (elisp--xref-find-definitions 'xref)) 2) 3)
> "c:/devel/emacs/repo/trunk/lisp/progmodes/xref.el"
> 
> ELISP> (aref (xref-make-elisp-location
> 'xref 'feature
> (expand-file-name "../../lisp/progmodes/xref.el"
> emacs-test-dir))
> 3)
> "c:/Devel/emacs/repo/trunk/lisp/progmodes/xref.el"
> 
> and the test fails at the d/D in c:/Devel vs. c:/devel (as seen in the log
> below).
> 
> The value returned by `expand-file-name' is the real name as stored in the
> filesystem (the directory is called "Devel"). The value from
> `elisp--xref-find-definitions' ultimately comes from `locate-file', and
> reflects what's stored in `load-path' (which can be set by the user, so we
> cannot force it to have "correct" casing).
> 
> ELISP> (locate-file "xref" load-path '(".el"))
> "c:/devel/emacs/repo/trunk/lisp/progmodes/xref.el"
> ELISP> (locate-file "xref" '("c:/Devel/emacs/repo/trunk/lisp/progmodes") '
> (".el"))
> "c:/Devel/emacs/repo/trunk/lisp/progmodes/xref.el"
> 
> The test code in elisp-mode-tests.el uses `equal' to compare the xref
> structures. I can think a couple of ways to fix the test, but they are all
> quite ugly....

The comparison should use file-equal-p.





reply via email to

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