emacs-devel
[Top][All Lists]
Advanced

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

Re: Carbon port and multi-tty


From: YAMAMOTO Mitsuharu
Subject: Re: Carbon port and multi-tty
Date: Thu, 08 May 2008 09:21:31 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/23.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Wed, 07 May 2008 00:15:52 -0700, Dan Nicolaescu <address@hidden> said:

> YAMAMOTO Mitsuharu <address@hidden> writes:
>> >>>>> On Tue, 06 May 2008 22:55:12 -0700, Dan Nicolaescu
>> <address@hidden> said:
>> 
>> >> The bug introduced by this change is mentioned here: >>
>> http://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01069.html
>> 
>> > OK, a 1 line change (in a ~1000 lines patch) that you seemed to
>> have > known about for a while.
>> 
>> 1-line change can introduce a nasty bug as actually seen in this
>> case.  And this could be easily avoided by not changing the part
>> that is unrelated to multi-tty.

> And it would have been easily fixed, like all other bugs in emacs,
> had the platform not been declared unmaintained the moment the patch
> came out.  Not saying that without the patch the code would not even
> compile.  Not mentioning that you could have simply fixed it without
> causing all this racket.

Again, I'm saying about mixing unrelated changes, not this particular
single-line bug.  Please don't understate the problem.

And about this ChangeLog entry:

2008-05-07  Dan Nicolaescu  <address@hidden>

        * macfns.c (Fx_create_frame): Make a copy of frame parameters
        because the original parameters are in pure storage now.

The primary purpose of the copying is not for the parameters allocated
in the pure storage, but to prepare for frame parameter clearing in
x_get_arg.

Lisp_Object
x_get_arg (dpyinfo, alist, param, attribute, class, type)
     Display_Info *dpyinfo;
     Lisp_Object alist, param;
     char *attribute;
     char *class;
     enum resource_types type;
{
  register Lisp_Object tem;

  tem = Fassq (param, alist);

  if (!NILP (tem))
    {
      /* If we find this parm in ALIST, clear it out
         so that it won't be "left over" at the end.  */
#ifndef WINDOWSNT /* w32fns.c has not yet been changed to cope with this.  */
      Lisp_Object tail;
      XSETCAR (tem, Qnil);
      /* In case the parameter appears more than once in the alist,
         clear it out.  */
      for (tail = alist; CONSP (tail); tail = XCDR (tail))
        if (CONSP (XCAR (tail))
            && EQ (XCAR (XCAR (tail)), param))
          XSETCAR (XCAR (tail), Qnil);
#endif
    }

                                     YAMAMOTO Mitsuharu
                                address@hidden




reply via email to

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