emacs-devel
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]