From 684a03ef99ead5f4743f8c612acf7664674224ec Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 12 Jun 2011 19:09:34 -0700 Subject: [PATCH] * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives. --- src/ChangeLog | 2 ++ src/doc.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 9b0ff3e733..9196367d19 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2011-06-13 Paul Eggert + * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives. + * data.c (Faset): If ARRAY is a string, check that NEWELT is a char. Without this fix, on a 64-bit host (aset S 0 4294967386) would incorrectly succeed when S was a string, because 4294967386 was diff --git a/src/doc.c b/src/doc.c index 89a7d32296..48e0936510 100644 --- a/src/doc.c +++ b/src/doc.c @@ -253,9 +253,12 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition) else if (c == '_') *to++ = 037; else - error ("\ + { + unsigned char uc = c; + error ("\ Invalid data in documentation file -- %c followed by code %03o", - 1, (unsigned)c); + 1, uc); + } } else *to++ = *from++; -- 2.20.1