summaryrefslogtreecommitdiff
path: root/lisp/international
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-12-23 19:34:00 +0200
committerEli Zaretskii <eliz@gnu.org>2015-12-23 19:34:00 +0200
commit30cc4e4b12d8faf66f64505f25e7288efd9fb5ea (patch)
treea40acc4293563f274a6e602008672b943326d720 /lisp/international
parent09053075225fec8a6cf7a72017a6dfc1ec6b6f0c (diff)
downloademacs-30cc4e4b12d8faf66f64505f25e7288efd9fb5ea.tar.gz
Fix file-name completion on OS X
* src/dired.c (file_name_completion): Reject false matches due to file-name-coding-systems that decompose characters when encoding file names, by comparing decoded file names as well. (Bug#22169) (syms_of_dired) <Qdecomposed_characters>: New DEFSYM. * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a non-nil 'decomposed-characters' property.
Diffstat (limited to 'lisp/international')
-rw-r--r--lisp/international/ucs-normalize.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/international/ucs-normalize.el b/lisp/international/ucs-normalize.el
index 8839b00dfff..6f2fb2856da 100644
--- a/lisp/international/ucs-normalize.el
+++ b/lisp/international/ucs-normalize.el
@@ -627,6 +627,10 @@ be decomposed."
:pre-write-conversion 'ucs-normalize-hfs-nfd-pre-write-conversion
)
+;; This is tested in dired.c:file_name_completion in order to reject
+;; false positives due to comparison of encoded file names.
+(coding-system-put 'utf-8-hfs 'decomposed-characters 't)
+
(provide 'ucs-normalize)
;; Local Variables: