aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAnders Lindgren2015-12-23 07:15:45 +0100
committerAnders Lindgren2015-12-23 07:15:45 +0100
commit09053075225fec8a6cf7a72017a6dfc1ec6b6f0c (patch)
treefd9ce26de7a7c7cd94502ca02a4155f821694aaa /src
parent781770b4dcfe44b255e94e16479fd14633803640 (diff)
downloademacs-09053075225fec8a6cf7a72017a6dfc1ec6b6f0c.tar.gz
emacs-09053075225fec8a6cf7a72017a6dfc1ec6b6f0c.zip
File-name completion of non-ASCII characters on OS X (bug#22169)
The coding system `utf-8-nfd', locally defined in ns-win.el, didn't provide a :pre-write-conversion method, causing file name completion of non-ASCII characters to fail. Solved by using the `utf-8-hfs' coding system provided by `ucs-normalize'. * lisp/loadup.el: Load international/ucs-normalize (when building for ns). * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for `utf-8-hfs' and removed the old implementation. Set `utf-8-hfs' as the file name coding system. * src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
Diffstat (limited to 'src')
-rw-r--r--src/nsfns.m34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/nsfns.m b/src/nsfns.m
index edc02e8350b..5fa68c0a15c 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -2099,39 +2099,6 @@ there was no result. */)
2099} 2099}
2100 2100
2101 2101
2102DEFUN ("ns-convert-utf8-nfd-to-nfc", Fns_convert_utf8_nfd_to_nfc,
2103 Sns_convert_utf8_nfd_to_nfc, 1, 1, 0,
2104 doc: /* Return an NFC string that matches the UTF-8 NFD string STR. */)
2105 (Lisp_Object str)
2106{
2107/* TODO: If GNUstep ever implements precomposedStringWithCanonicalMapping,
2108 remove this. */
2109 NSString *utfStr;
2110 Lisp_Object ret = Qnil;
2111 NSAutoreleasePool *pool;
2112
2113 CHECK_STRING (str);
2114 pool = [[NSAutoreleasePool alloc] init];
2115 utfStr = [NSString stringWithUTF8String: SSDATA (str)];
2116#ifdef NS_IMPL_COCOA
2117 if (utfStr)
2118 utfStr = [utfStr precomposedStringWithCanonicalMapping];
2119#endif
2120 if (utfStr)
2121 {
2122 const char *cstr = [utfStr UTF8String];
2123 if (cstr)
2124 ret = build_string (cstr);
2125 }
2126
2127 [pool release];
2128 if (NILP (ret))
2129 error ("Invalid UTF-8");
2130
2131 return ret;
2132}
2133
2134
2135#ifdef NS_IMPL_COCOA 2102#ifdef NS_IMPL_COCOA
2136 2103
2137/* Compile and execute the AppleScript SCRIPT and return the error 2104/* Compile and execute the AppleScript SCRIPT and return the error
@@ -3207,7 +3174,6 @@ be used as the image of the icon representing the frame. */);
3207 defsubr (&Sns_emacs_info_panel); 3174 defsubr (&Sns_emacs_info_panel);
3208 defsubr (&Sns_list_services); 3175 defsubr (&Sns_list_services);
3209 defsubr (&Sns_perform_service); 3176 defsubr (&Sns_perform_service);
3210 defsubr (&Sns_convert_utf8_nfd_to_nfc);
3211 defsubr (&Sns_popup_font_panel); 3177 defsubr (&Sns_popup_font_panel);
3212 defsubr (&Sns_popup_color_panel); 3178 defsubr (&Sns_popup_color_panel);
3213 3179