> Due to applied GDB patch
 > http://sources.redhat.com/ml/gdb-patches/2007-01/msg00533.html
 > 
 > the recent GDB has problems running GDB `xbacktrace' on EMACS
 > http://sources.redhat.com/ml/gdb/2007-02/msg00252.html
 > 
 > provided the following patch fixing the problem, either in
 > http://sources.redhat.com/ml/gdb/2007-02/msg00257.html
 > 
 > or an alternative one herein:

I've already made this change but perhaps we can generalise the subject, as the
incompatibility is with GDB in the CVS repository and not the latest GDB,
i.e. this GDB patch could still be reverted.

In Jan's words, the patch in GDB does:

    currently all these types are printed as strings:
            char
            signed char
            unsigned char
    the patch will reduce the printed strings only to
            char
    and the signed/unsigned version gets printed as an array of byte values
    (characters).  I hope nobody uses sign-specification for strings.
    On the other hand byte arrays become unreadable if printed as strings.

The functions in xbacktrace (xsymbol etc) were then printed as arrays of
character because in lisp.h:

struct Lisp_String
  {
    EMACS_INT size;
    EMACS_INT size_byte;
    INTERVAL intervals;         /* text properties in this string */
    unsigned char *data;
    ^^^^^^^^
  };

which has been this way since:

2000-01-04  Gerd Moellmann  <[EMAIL PROTECTED]>

        * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.

I guess the questions to ask are:

1) Why was this change made?

2) Are there other strings in Emacs which are of type `unsigned char *' where
   this change will cause a problem?


-- 
Nick                                           http://www.inet.net.nz/~nickrob


_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to