aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMattias EngdegÄrd2023-07-18 15:42:55 +0200
committerMattias EngdegÄrd2023-07-18 15:51:37 +0200
commitf063f79a4933f21dc72c6a24b60f98197543d3de (patch)
tree0ef4f44c9354129285920608b3bb41ca53dec71a /src
parentd172cd59854699c00de3b57a91e48ff70a4210f8 (diff)
downloademacs-f063f79a4933f21dc72c6a24b60f98197543d3de.tar.gz
emacs-f063f79a4933f21dc72c6a24b60f98197543d3de.zip
Convert NUL-containing NSString objects to Lisp strings correctly
This cures the inability to paste text containing NUL from other applications on macOS, introduced by mistake in 7e3c2b553f (bug#64697). * src/nsfns.m ([NSString lispString]): Use make_string instead of build_string which relies on NUL-termination.
Diffstat (limited to 'src')
-rw-r--r--src/nsfns.m4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nsfns.m b/src/nsfns.m
index 8804a7df7cf..5ae2cc77bb2 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -3829,7 +3829,9 @@ all_nonzero_ascii (unsigned char *str, ptrdiff_t n)
3829/* Make a Lisp string from an NSString. */ 3829/* Make a Lisp string from an NSString. */
3830- (Lisp_Object)lispString 3830- (Lisp_Object)lispString
3831{ 3831{
3832 return build_string ([self UTF8String]); 3832 // make_string behaves predictably and correctly with UTF-8 input.
3833 return make_string ([self UTF8String],
3834 [self lengthOfBytesUsingEncoding: NSUTF8StringEncoding]);
3833} 3835}
3834@end 3836@end
3835 3837