]> git.eshelyaron.com Git - emacs.git/commitdiff
; [NSString lispString]: clarify unpaired surrogate behaviour
authorMattias Engdegård <mattiase@acm.org>
Thu, 10 Aug 2023 08:56:21 +0000 (10:56 +0200)
committerMattias Engdegård <mattiase@acm.org>
Thu, 10 Aug 2023 09:17:17 +0000 (11:17 +0200)
src/nsfns.m

index 508568d90c304df05f1bca0ad1382295b9d2eb35..b846b490ff78e82e93e2485299dec57ce88789a2 100644 (file)
@@ -3797,7 +3797,7 @@ all_nonzero_ascii (unsigned char *str, ptrdiff_t n)
 }
 
 /* Count the number of characters in STR, NBYTES long.
-   The string is valid UTF-8 except that it may contain unpaired surrogates.  */
+   The string must be valid UTF-8.  */
 static ptrdiff_t
 count_utf8_chars (const char *str, ptrdiff_t nbytes)
 {
@@ -3861,6 +3861,8 @@ count_utf8_chars (const char *str, ptrdiff_t nbytes)
 /* Make a Lisp string from an NSString.  */
 - (Lisp_Object)lispString
 {
+  /* If the input string includes unpaired surrogates, then the result
+     will be an empty string.  */
   const char *utf8 = [self UTF8String];
   ptrdiff_t bytes = [self lengthOfBytesUsingEncoding: NSUTF8StringEncoding];
   return make_multibyte_string (utf8, count_utf8_chars (utf8, bytes), bytes);