[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make bootstrap is broken
From: |
Pavel Janík |
Subject: |
Re: make bootstrap is broken |
Date: |
Mon, 31 Dec 2001 12:59:33 +0100 |
User-agent: |
Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1.50 (i386-suse-linux-gnu) |
From: address@hidden (Michael Kifer)
Date: Sun, 30 Dec 2001 18:49:02 -0500
> Compiling /home/users/kifer/fsf/emacs/lisp/calendar/diary-lib.el
> /home/users/kifer/fsf/emacs/lisp/calendar/diary-lib.el: In toplevel form
> /home/users/kifer/fsf/emacs/lisp/calendar/diary-lib.el: error: invalid read
> syntax ((") or . in a vector"))
> make[1]: *** [compile-files] Error 1
> make[1]: Leaving directory `/home/users/kifer/fsf/emacs/lisp'
> make: *** [bootstrap-lisp] Error 2
This is the cause. Reverting it "fixes" the problem. I do not know what is
the correct fix though. Richard?
* print.c (print_object): In multibyte string, use hex escapes.
Use octal only for unibyte strings.
(PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
diff -urN 2/emacs-21.1.50/src/print.c 1/emacs-21.1.50/src/print.c
--- 2/emacs-21.1.50/src/print.c Mon Dec 31 12:13:14 2001
+++ 1/emacs-21.1.50/src/print.c Sun Dec 30 10:18:29 2001
@@ -226,9 +226,6 @@
if (NILP (current_buffer->enable_multibyte_characters) \
&& ! print_escape_multibyte) \
specbind (Qprint_escape_multibyte, Qt); \
- if (! NILP (current_buffer->enable_multibyte_characters)
\
- && ! print_escape_nonascii) \
- specbind (Qprint_escape_nonascii, Qt);
\
if (print_buffer != 0) \
{ \
string = make_string_from_bytes (print_buffer, \
@@ -1384,6 +1381,7 @@
/* 1 means we must ensure that the next character we output
cannot be taken as part of a hex character escape. */
int need_nonhex = 0;
+ int multibyte = STRING_MULTIBYTE (obj);
GCPRO1 (obj);
@@ -1404,7 +1402,7 @@
int len;
int c;
- if (STRING_MULTIBYTE (obj))
+ if (multibyte)
{
c = STRING_CHAR_AND_LENGTH (str + i_byte,
size_byte - i_byte, len);
@@ -1428,7 +1426,8 @@
PRINTCHAR ('\\');
PRINTCHAR ('f');
}
- else if (! SINGLE_BYTE_CHAR_P (c) && print_escape_multibyte)
+ else if (multibyte && ! ASCII_BYTE_P (c)
+ && (print_escape_multibyte || print_escape_nonascii))
{
/* When multibyte is disabled,
print multibyte string chars using hex escapes. */
@@ -1437,7 +1436,8 @@
strout (outbuf, -1, -1, printcharfun, 0);
need_nonhex = 1;
}
- else if (SINGLE_BYTE_CHAR_P (c) && ! ASCII_BYTE_P (c)
+ else if (! multibyte
+ && SINGLE_BYTE_CHAR_P (c) && ! ASCII_BYTE_P (c)
&& print_escape_nonascii)
{
/* When printing in a multibyte buffer
--
Pavel Janík
Indent to show the logical structure of a program.
-- The Elements of Programming Style (Kernighan & Plaugher)