diff options
author | Anders Lindgren <andlind@gmail.com> | 2015-12-24 09:50:26 +0100 |
---|---|---|
committer | Anders Lindgren <andlind@gmail.com> | 2015-12-24 09:50:26 +0100 |
commit | d107eda498f94423d846b0e2f1be7facab417b2a (patch) | |
tree | a6445cb96041c22579a12507deed013ede4724fc /lisp/term | |
parent | 076172ba824783636094bbe7a63018c07077733c (diff) | |
download | emacs-d107eda498f94423d846b0e2f1be7facab417b2a.tar.gz |
; Revert "File-name completion of non-ASCII characters on OS X (bug#22169)"
; This reverts commit 09053075225fec8a6cf7a72017a6dfc1ec6b6f0c.
; This caused a build from scratch to fail.
Diffstat (limited to 'lisp/term')
-rw-r--r-- | lisp/term/ns-win.el | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index 9bd59fc1954..0b3e3bd9d9c 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el @@ -51,7 +51,6 @@ (require 'menu-bar) (require 'fontset) (require 'dnd) -(require 'ucs-normalize) (defgroup ns nil "GNUstep/Mac OS X specific features." @@ -338,12 +337,29 @@ See `ns-insert-working-text'." (setq ns-working-overlay nil)) -;; OS X file system Unicode UTF-8 NFD (decomposed form) support. -(when (eq system-type 'darwin) - ;; Used prior to Emacs 25. - (define-coding-system-alias 'utf-8-nfd 'utf-8-hfs) +(declare-function ns-convert-utf8-nfd-to-nfc "nsfns.m" (str)) - (set-file-name-coding-system 'utf-8-hfs)) +;;;; OS X file system Unicode UTF-8 NFD (decomposed form) support +;; Lisp code based on utf-8m.el, by Seiji Zenitani, Eiji Honjoh, and +;; Carsten Bormann. +(when (eq system-type 'darwin) + (defun ns-utf8-nfd-post-read-conversion (length) + "Calls `ns-convert-utf8-nfd-to-nfc' to compose char sequences." + (save-excursion + (save-restriction + (narrow-to-region (point) (+ (point) length)) + (let ((str (buffer-string))) + (delete-region (point-min) (point-max)) + (insert (ns-convert-utf8-nfd-to-nfc str)) + (- (point-max) (point-min)))))) + + (define-coding-system 'utf-8-nfd + "UTF-8 NFD (decomposed) encoding." + :coding-type 'utf-8 + :mnemonic ?U + :charset-list '(unicode) + :post-read-conversion 'ns-utf8-nfd-post-read-conversion) + (set-file-name-coding-system 'utf-8-nfd)) ;;;; Inter-app communications support. |