summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-06-12 19:09:34 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-06-12 19:09:34 -0700
commit684a03ef99ead5f4743f8c612acf7664674224ec (patch)
tree00d817eea84a6b6056c23effb7c175414d66e3de
parent0fed43f396ce7838bdc591cec8b01be95fb9613a (diff)
downloademacs-684a03ef99ead5f4743f8c612acf7664674224ec.tar.gz
* doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives.
-rw-r--r--src/ChangeLog2
-rw-r--r--src/doc.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 9b0ff3e7339..9196367d195 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,7 @@
2011-06-13 Paul Eggert <eggert@cs.ucla.edu>
+ * 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 89a7d322966..48e0936510b 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++;