emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Coding system conversion error


From: Jan D.
Subject: Re: Coding system conversion error
Date: Sat, 12 Feb 2005 08:36:27 +0100

At first, I think xassert in lisp_data_to_selection_data
(xselect.c) is wrong.  Here, obj is generated by a Lisp code
that may generate a multibyte string by error (as in the
current case).  But, in general, an error in Lisp code
should not lead to abort.  So, I propose this change.  I
choose string_make_unibyte instead of string_as_unibyte to
avoid exporting Emacs' internal leading bytes.

*** xselect.c   12 Feb 2005 09:54:46 +0900      1.148
--- xselect.c   12 Feb 2005 10:39:47 +0900      
***************
*** 1908,1914 ****
      }
    else if (STRINGP (obj))
      {
!       xassert (! STRING_MULTIBYTE (obj));
        if (NILP (type))
        type = QSTRING;
        *format_ret = 8;
--- 1908,1915 ----
      }
    else if (STRINGP (obj))
      {
!       if (STRING_MULTIBYTE (obj))
!       obj = string_make_unibyte (obj);
        if (NILP (type))
        type = QSTRING;
        *format_ret = 8;

If the multibyte string is generated by an error and this is one of the places where we can detect the error, should we not keep the xassert?

        Jan D.






reply via email to

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