unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* bootstrap problem with union Lisp_Object
@ 2005-12-05 17:32 Ken Raeburn
  2005-12-06  7:50 ` Ken Raeburn
  2005-12-06 16:41 ` Richard M. Stallman
  0 siblings, 2 replies; 52+ messages in thread
From: Ken Raeburn @ 2005-12-05 17:32 UTC (permalink / raw)


I'm still trying to track this down, but just for the record: If I  
build recent sources with CC='gcc -DENABLE_CHECKING - 
DUSE_LISP_UNION_TYPE', bootstrapping fails:

Compiling /var/raeburn/emacs-hacking/fsf/source/lisp/emacs-lisp/byte- 
opt.el
Error: Invalid function: 4
Error: Invalid function: 4
Error: Invalid function: 4
Error: Invalid function: 4
Error: Invalid function: 4
Error: Invalid function: 4

In toplevel form:
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
../../source/lisp/emacs-lisp/byte-opt.el:186:1:Error: Invalid  
function: 4
make[2]: *** [compile] Error 1

With the usual (integral) Lisp_Object type, bootstrapping works fine.

Ken

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-05 17:32 bootstrap problem with union Lisp_Object Ken Raeburn
@ 2005-12-06  7:50 ` Ken Raeburn
  2005-12-06 11:44   ` Andreas Schwab
                     ` (2 more replies)
  2005-12-06 16:41 ` Richard M. Stallman
  1 sibling, 3 replies; 52+ messages in thread
From: Ken Raeburn @ 2005-12-06  7:50 UTC (permalink / raw)


> I'm still trying to track this down, but just for the record: If I  
> build recent sources with CC='gcc -DENABLE_CHECKING - 
> DUSE_LISP_UNION_TYPE', bootstrapping fails:

Fixed...  With these options enabled, EQ evaluates its arguments  
twice.  A while back, Stefan changed NILP to use EQ instead of  
XFASTINT, which is cleaner, but it turns out some invocations of NILP  
had non-idempotent arguments.  I've fixed the cases I spotted that  
looked troublesome, especially in the bytecode interpreter; some  
others may still be minor performance issues, like calling intern or  
Ffile_name_directory twice.  Since few people besides me seem to use  
the union-type mode, and I do it mostly to check type-cleanliness of  
the Emacs C code (not blindly mixing int and Lisp_Object), I'm not  
too inclined to go after performance issues that won't come up in a  
"real" build that anyone's actually likely to use.  (Do any platforms  
actually use that configuration any more?)

I'm unsure about this bit in w32select.c:
	  ok = !NILP(render (make_number (current_clipboard_type)));
Someone familiar with the Windows code should please decide whether  
calling render twice is a bad thing, and if so, assign the value to a  
temporary before calling NILP.

With the patches I've checked in, it bootstraps for me on a GNU/Linux  
system with the CC value above.

Ken

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06  7:50 ` Ken Raeburn
@ 2005-12-06 11:44   ` Andreas Schwab
  2005-12-06 15:44     ` Stefan Monnier
  2005-12-06 21:05   ` Benjamin Riefenstahl
  2005-12-06 21:55   ` Richard M. Stallman
  2 siblings, 1 reply; 52+ messages in thread
From: Andreas Schwab @ 2005-12-06 11:44 UTC (permalink / raw)
  Cc: emacs-devel

Ken Raeburn <raeburn@raeburn.org> writes:

>> I'm still trying to track this down, but just for the record: If I
>> build recent sources with CC='gcc -DENABLE_CHECKING - 
>> DUSE_LISP_UNION_TYPE', bootstrapping fails:
>
> Fixed...  With these options enabled, EQ evaluates its arguments  
> twice.

I think that should be fixed.  The requirement that arguments of EQ or
NILP need to be side effect free is too easy to forget, since it is
nowhere documented.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 11:44   ` Andreas Schwab
@ 2005-12-06 15:44     ` Stefan Monnier
  2005-12-06 15:52       ` Andreas Schwab
  0 siblings, 1 reply; 52+ messages in thread
From: Stefan Monnier @ 2005-12-06 15:44 UTC (permalink / raw)
  Cc: Ken Raeburn, emacs-devel

>>> I'm still trying to track this down, but just for the record: If I
>>> build recent sources with CC='gcc -DENABLE_CHECKING - 
>>> DUSE_LISP_UNION_TYPE', bootstrapping fails:
>> 
>> Fixed...  With these options enabled, EQ evaluates its arguments  
>> twice.

> I think that should be fixed.  The requirement that arguments of EQ or
> NILP need to be side effect free is too easy to forget, since it is
> nowhere documented.

The argument of *any* macro should be free of side effects.


        Stefan

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 15:44     ` Stefan Monnier
@ 2005-12-06 15:52       ` Andreas Schwab
  2005-12-06 16:20         ` Stefan Monnier
  2005-12-07 20:04         ` Ken Raeburn
  0 siblings, 2 replies; 52+ messages in thread
From: Andreas Schwab @ 2005-12-06 15:52 UTC (permalink / raw)
  Cc: Ken Raeburn, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>> I'm still trying to track this down, but just for the record: If I
>>>> build recent sources with CC='gcc -DENABLE_CHECKING - 
>>>> DUSE_LISP_UNION_TYPE', bootstrapping fails:
>>> 
>>> Fixed...  With these options enabled, EQ evaluates its arguments  
>>> twice.
>
>> I think that should be fixed.  The requirement that arguments of EQ or
>> NILP need to be side effect free is too easy to forget, since it is
>> nowhere documented.
>
> The argument of *any* macro should be free of side effects.

Not necessarily.  Making macros safe on side effects is usually not hard,
and in the case of EQ it is trivial too:

#define EQ(x, y) ((x).i == (y).i)

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 15:52       ` Andreas Schwab
@ 2005-12-06 16:20         ` Stefan Monnier
  2005-12-06 16:30           ` Andreas Schwab
  2005-12-07 20:04         ` Ken Raeburn
  1 sibling, 1 reply; 52+ messages in thread
From: Stefan Monnier @ 2005-12-06 16:20 UTC (permalink / raw)
  Cc: Ken Raeburn, emacs-devel

>> The argument of *any* macro should be free of side effects.
> Not necessarily.

Like everything, there are exceptions, of course.  But then people who come
and want to change the macro suffer.  I know because I've added an `eassert
(INTEGERP (x))' to the XINT macro (as you may have noticed by looking at
some of the commits I've done a while back).

So please, just move side effects out of macro arguments, even if they don't
hurt with the current definition of the macro.

> Making macros safe on side effects is usually not hard,

Try it with asserts (and without GCC extensions, of course).


        Stefan

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 16:20         ` Stefan Monnier
@ 2005-12-06 16:30           ` Andreas Schwab
  2005-12-07 20:12             ` Ken Raeburn
  0 siblings, 1 reply; 52+ messages in thread
From: Andreas Schwab @ 2005-12-06 16:30 UTC (permalink / raw)
  Cc: Ken Raeburn, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Making macros safe on side effects is usually not hard,
>
> Try it with asserts (and without GCC extensions, of course).

IMHO it would be reasonable to require GCC when building with
-DENABLE_CHECKING.  In any case I think that least the basic macros like
NILP and EQ should be side effect safe.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-05 17:32 bootstrap problem with union Lisp_Object Ken Raeburn
  2005-12-06  7:50 ` Ken Raeburn
@ 2005-12-06 16:41 ` Richard M. Stallman
  1 sibling, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-06 16:41 UTC (permalink / raw)
  Cc: emacs-devel

    I'm still trying to track this down, but just for the record: If I  
    build recent sources with CC='gcc -DENABLE_CHECKING - 
    DUSE_LISP_UNION_TYPE', bootstrapping fails:

    Compiling /var/raeburn/emacs-hacking/fsf/source/lisp/emacs-lisp/byte- 
    opt.el
    Error: Invalid function: 4

First step: try running it under GDB with a breakpoint at Fsignal, and
see the immediate cause of that error.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06  7:50 ` Ken Raeburn
  2005-12-06 11:44   ` Andreas Schwab
@ 2005-12-06 21:05   ` Benjamin Riefenstahl
  2005-12-07 17:06     ` Richard M. Stallman
  2005-12-06 21:55   ` Richard M. Stallman
  2 siblings, 1 reply; 52+ messages in thread
From: Benjamin Riefenstahl @ 2005-12-06 21:05 UTC (permalink / raw)
  Cc: emacs-devel

Hi Ken,

Ken Raeburn writes:
> I'm unsure about this bit in w32select.c:
> 	  ok = !NILP(render (make_number (current_clipboard_type)));
> Someone familiar with the Windows code should please decide whether
> calling render twice is a bad thing, and if so, assign the value to
> a temporary before calling NILP.

Calling render twice shouldn't cause bugs, but the problem is that
it's a pretty expensive call.

I can make the changes, but I really wonder if a basic and often-used
functionality like NILP should be so dangerous.

benny

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06  7:50 ` Ken Raeburn
  2005-12-06 11:44   ` Andreas Schwab
  2005-12-06 21:05   ` Benjamin Riefenstahl
@ 2005-12-06 21:55   ` Richard M. Stallman
  2005-12-06 22:26     ` Stefan Monnier
  2 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-06 21:55 UTC (permalink / raw)
  Cc: emacs-devel

    Fixed...  With these options enabled, EQ evaluates its arguments  
    twice.  A while back, Stefan changed NILP to use EQ instead of  
    XFASTINT, which is cleaner, but it turns out some invocations of NILP  
    had non-idempotent arguments.

Why doesn't EQ use XFASTINT?  We want it to be as fast as possible.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 21:55   ` Richard M. Stallman
@ 2005-12-06 22:26     ` Stefan Monnier
  0 siblings, 0 replies; 52+ messages in thread
From: Stefan Monnier @ 2005-12-06 22:26 UTC (permalink / raw)
  Cc: Ken Raeburn, emacs-devel

>     Fixed...  With these options enabled, EQ evaluates its arguments
>     twice.  A while back, Stefan changed NILP to use EQ instead of
>     XFASTINT, which is cleaner, but it turns out some invocations of NILP
>     had non-idempotent arguments.
> Why doesn't EQ use XFASTINT?  We want it to be as fast as possible.

XFASTINT is "slow" (identical to XINT, in the now default case of
USE_LSB_TAG) and incorrect (it fails to check that the tag bits are equal).

If Lisp_Object=int (or long), we want to use "=" directly, which is exactly
what happens with `EQ'.


        Stefan

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 21:05   ` Benjamin Riefenstahl
@ 2005-12-07 17:06     ` Richard M. Stallman
  0 siblings, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-07 17:06 UTC (permalink / raw)


    I can make the changes, but I really wonder if a basic and often-used
    functionality like NILP should be so dangerous.

I think this change should be made.  Is there any reason not to
make it?

*** lisp.h	20 Nov 2005 08:36:34 -0500	1.546
--- lisp.h	07 Dec 2005 10:35:10 -0500	
***************
*** 454,460 ****
  extern Lisp_Object make_number P_ ((EMACS_INT));
  #endif
  
! #define EQ(x, y) ((x).s.val == (y).s.val && (x).s.type == (y).s.type)
  
  #endif /* NO_UNION_TYPE */
  
--- 454,460 ----
  extern Lisp_Object make_number P_ ((EMACS_INT));
  #endif
  
! #define EQ(x, y) ((x).i == (y).i)
  
  #endif /* NO_UNION_TYPE */

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 15:52       ` Andreas Schwab
  2005-12-06 16:20         ` Stefan Monnier
@ 2005-12-07 20:04         ` Ken Raeburn
  1 sibling, 0 replies; 52+ messages in thread
From: Ken Raeburn @ 2005-12-07 20:04 UTC (permalink / raw)
  Cc: Stefan Monnier, emacs-devel

On Dec 6, 2005, at 10:52, Andreas Schwab wrote:
> Not necessarily.  Making macros safe on side effects is usually not  
> hard,

Not sure I agree with that part, as Stefan pointed out...

> and in the case of EQ it is trivial too:
>
> #define EQ(x, y) ((x).i == (y).i)

Yes, I think that would work... I'll try a bootstrap just to be sure,  
but it looks fine.

Ken

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-06 16:30           ` Andreas Schwab
@ 2005-12-07 20:12             ` Ken Raeburn
  2005-12-08  4:54               ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Ken Raeburn @ 2005-12-07 20:12 UTC (permalink / raw)
  Cc: Stefan Monnier, emacs-devel

On Dec 6, 2005, at 11:30, Andreas Schwab wrote:
>> Try it with asserts (and without GCC extensions, of course).
>
> IMHO it would be reasonable to require GCC when building with
> -DENABLE_CHECKING.

If people think this is a good idea, I could start changing those  
macros that use eassert (XSET, XCONS, XVECTOR, ...) to have GCC and  
non-GCC versions, with the GCC versions using statement expressions  
(inline functions wouldn't preserve the file and line number) and  
temporary variables, and error out if ENABLE_CHECKING is defined but  
GCC isn't used.  Should be straightforward, about a dozen places or  
so to change I think.

>   In any case I think that least the basic macros like
> NILP and EQ should be side effect safe.

It would be nice.  CAR and CDR already fail that test for other  
reasons, though.  With ENABLE_CHECKING, most of the basic Lisp object  
manipulation macros do, because they double-check that the type is  
correct before extracting data.

Ken

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-07 20:12             ` Ken Raeburn
@ 2005-12-08  4:54               ` Richard M. Stallman
  2005-12-08  8:59                 ` Ken Raeburn
  0 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-08  4:54 UTC (permalink / raw)
  Cc: schwab, monnier, emacs-devel

    If people think this is a good idea, I could start changing those  
    macros that use eassert (XSET, XCONS, XVECTOR, ...) to have GCC and  
    non-GCC versions, with the GCC versions using statement expressions  
    (inline functions wouldn't preserve the file and line number) and  
    temporary variables, and error out if ENABLE_CHECKING is defined but  
    GCC isn't used.  Should be straightforward, about a dozen places or  
    so to change I think.

Is this really necessary now?  I hope not.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-08  4:54               ` Richard M. Stallman
@ 2005-12-08  8:59                 ` Ken Raeburn
  2005-12-09  1:41                   ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Ken Raeburn @ 2005-12-08  8:59 UTC (permalink / raw)
  Cc: schwab, monnier, emacs-devel

On Dec 7, 2005, at 23:54, Richard M. Stallman wrote:
>     If people think this is a good idea, I could start changing those
>     macros that use eassert (XSET, XCONS, XVECTOR, ...) to have GCC  
> and
>     non-GCC versions, with the GCC versions using statement  
> expressions
>     (inline functions wouldn't preserve the file and line number) and
>     temporary variables, and error out if ENABLE_CHECKING is  
> defined but
>     GCC isn't used.  Should be straightforward, about a dozen  
> places or
>     so to change I think.
>
> Is this really necessary now?  I hope not.

No, but without such a thing -- or some other approach like replacing  
some of these macros with functions -- the ENABLE_CHECKING version of  
these macros will evaluate arguments more than once.  As far as I  
know, most if not all of the actual uses are cases where this doesn't  
cause much trouble except perhaps for performance.

Ken

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-08  8:59                 ` Ken Raeburn
@ 2005-12-09  1:41                   ` Richard M. Stallman
  2005-12-09  4:36                     ` Stefan Monnier
  0 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-09  1:41 UTC (permalink / raw)
  Cc: schwab, monnier, emacs-devel

    No, but without such a thing -- or some other approach like replacing  
    some of these macros with functions -- the ENABLE_CHECKING version of  
    these macros will evaluate arguments more than once.  As far as I  
    know, most if not all of the actual uses are cases where this doesn't  
    cause much trouble except perhaps for performance.

There isn't a pressing need to change them, so we will leave them
alone.

Please, everyone, stop suggesting changes merely because they might be
improvements.  That's not a sufficient reason to suggest a change now.
We need to focus on the work that NEEDS to be done: fixing bugs,
and tuning the new features.

Please see etc/FOR-RELEASE.

I am always a day behind in answering email.   I therefore ask
the others on this list to help focus activities, by reminding
people of this policy faster than I can.  If you see someone
make a suggestion which is not about fixing a bug or tuning a new
feature, please respond by saying, politely, that now is the
wrong time to propose such issues and would people please
refrain from further discussion of the inappropriate proposal.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  1:41                   ` Richard M. Stallman
@ 2005-12-09  4:36                     ` Stefan Monnier
  2005-12-09  5:06                       ` Henrik Enberg
  2005-12-09 21:14                       ` Richard M. Stallman
  0 siblings, 2 replies; 52+ messages in thread
From: Stefan Monnier @ 2005-12-09  4:36 UTC (permalink / raw)
  Cc: schwab, Ken Raeburn, emacs-devel

> Please, everyone, stop suggesting changes merely because they might be
> improvements.  That's not a sufficient reason to suggest a change now.
> We need to focus on the work that NEEDS to be done: fixing bugs,
> and tuning the new features.

> Please see etc/FOR-RELEASE.

I don't see why those things need to all be fixed before we start
the pretest.


        Stefan

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  4:36                     ` Stefan Monnier
@ 2005-12-09  5:06                       ` Henrik Enberg
  2005-12-09  5:16                         ` Luc Teirlinck
                                           ` (2 more replies)
  2005-12-09 21:14                       ` Richard M. Stallman
  1 sibling, 3 replies; 52+ messages in thread
From: Henrik Enberg @ 2005-12-09  5:06 UTC (permalink / raw)
  Cc: schwab, raeburn, rms, emacs-devel

> > Please, everyone, stop suggesting changes merely because they might be
> > improvements.  That's not a sufficient reason to suggest a change now.
> > We need to focus on the work that NEEDS to be done: fixing bugs,
> > and tuning the new features.
> 
> > Please see etc/FOR-RELEASE.
> 
> I don't see why those things need to all be fixed before we start
> the pretest.

On he subject of FOR-RELEASE, the "C-h v warning-type-format gives
"Search failed"." item was fixed by Luc Teirlinck with his 2005-11-21
change to startup.el.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  5:06                       ` Henrik Enberg
@ 2005-12-09  5:16                         ` Luc Teirlinck
  2005-12-09  9:54                         ` Juri Linkov
  2005-12-09 21:14                         ` Richard M. Stallman
  2 siblings, 0 replies; 52+ messages in thread
From: Luc Teirlinck @ 2005-12-09  5:16 UTC (permalink / raw)
  Cc: schwab, raeburn, emacs-devel, monnier, rms

Henrik Enberg wrote:

   On he subject of FOR-RELEASE, the "C-h v warning-type-format gives
   "Search failed"." item was fixed by Luc Teirlinck with his 2005-11-21
   change to startup.el.

Thanks.  I removed the item.  (I did not realize that it was listed in
FOR-RELEASE.)

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  5:06                       ` Henrik Enberg
  2005-12-09  5:16                         ` Luc Teirlinck
@ 2005-12-09  9:54                         ` Juri Linkov
  2005-12-10  4:14                           ` Richard M. Stallman
  2005-12-09 21:14                         ` Richard M. Stallman
  2 siblings, 1 reply; 52+ messages in thread
From: Juri Linkov @ 2005-12-09  9:54 UTC (permalink / raw)


>> > Please see etc/FOR-RELEASE.
>> 
>> I don't see why those things need to all be fixed before we start
>> the pretest.
>
> On he subject of FOR-RELEASE, the "C-h v warning-type-format gives
> "Search failed"." item was fixed by Luc Teirlinck with his 2005-11-21
> change to startup.el.

Same question about the item removed from FOR-RELEASE:

    ** Update what needs to be updated now that Global Font Lock mode and
       File Name Shadow mode are enabled by default.

The node (info "(emacs)Font Lock") currently says:

    Global Font Lock mode can also be set using the menu bar Options menu,
    specifying first Syntax Highlighting and then Save Options.

but I can't find such menu item.  If this menu item is not necessary anymore,
then the whole sentence should be removed.

-- 
Juri Linkov
http://www.jurta.org/emacs/

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  4:36                     ` Stefan Monnier
  2005-12-09  5:06                       ` Henrik Enberg
@ 2005-12-09 21:14                       ` Richard M. Stallman
  2005-12-09 21:54                         ` Chong Yidong
                                           ` (2 more replies)
  1 sibling, 3 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-09 21:14 UTC (permalink / raw)
  Cc: schwab, raeburn, emacs-devel

    I don't see why those things need to all be fixed before we start
    the pretest.

Because we aim to make a release with all known bugs fixed.
It makes no sense to postpone debugging the bugs we know about
in order to discover more bugs.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  5:06                       ` Henrik Enberg
  2005-12-09  5:16                         ` Luc Teirlinck
  2005-12-09  9:54                         ` Juri Linkov
@ 2005-12-09 21:14                         ` Richard M. Stallman
  2 siblings, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-09 21:14 UTC (permalink / raw)
  Cc: schwab, raeburn, monnier, emacs-devel

    On he subject of FOR-RELEASE, the "C-h v warning-type-format gives
    "Search failed"." item was fixed by Luc Teirlinck with his 2005-11-21
    change to startup.el.

Thanks for pointing that out.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09 21:14                       ` Richard M. Stallman
@ 2005-12-09 21:54                         ` Chong Yidong
  2005-12-10  9:15                         ` Eli Zaretskii
  2005-12-10 23:28                         ` Kim F. Storm
  2 siblings, 0 replies; 52+ messages in thread
From: Chong Yidong @ 2005-12-09 21:54 UTC (permalink / raw)
  Cc: schwab, raeburn, Stefan Monnier, emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     I don't see why those things need to all be fixed before we start
>     the pretest.
>
> Because we aim to make a release with all known bugs fixed.
> It makes no sense to postpone debugging the bugs we know about
> in order to discover more bugs.

That is illogical.  If we're going to discover more bugs, it is better
to do it earlier than later.  You're implying that the Emacs
developers are all busy fixing bugs.  I don't think this is accurate.

In fact, the main thing holding the release (by your
fix-every-known-bug criteria) is the string_free_list issue.  So far,
the only way we have of debugging this is exchanging emails with the
only user currently known to experience the crash.  This is an
inherently slow process, and in the meantime we're sitting around
twiddling our thumbs -- exactly the opposite scenario!

Holding the pretest will not help resolve the string_free_list bug.
On the contrary; if we started the pretest now, there would at least
be a few more bug reports coming in, which can be worked on in the
meantime, bringing us closer to the release.

(The short way of saying this is that bug-fixing takes place in
parallel, not in series.)

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09  9:54                         ` Juri Linkov
@ 2005-12-10  4:14                           ` Richard M. Stallman
  0 siblings, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-10  4:14 UTC (permalink / raw)
  Cc: emacs-devel

    The node (info "(emacs)Font Lock") currently says:

	Global Font Lock mode can also be set using the menu bar Options menu,
	specifying first Syntax Highlighting and then Save Options.

    but I can't find such menu item.

That menu item was deleted, so I agree this sentence should
be deleted.  I did.

I don't see any other thing in that node which needs changing.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09 21:14                       ` Richard M. Stallman
  2005-12-09 21:54                         ` Chong Yidong
@ 2005-12-10  9:15                         ` Eli Zaretskii
  2005-12-11  5:02                           ` Richard M. Stallman
  2005-12-10 23:28                         ` Kim F. Storm
  2 siblings, 1 reply; 52+ messages in thread
From: Eli Zaretskii @ 2005-12-10  9:15 UTC (permalink / raw)
  Cc: emacs-devel

> From: "Richard M. Stallman" <rms@gnu.org>
> Date: Fri, 09 Dec 2005 16:14:26 -0500
> Cc: schwab@suse.de, raeburn@raeburn.org, emacs-devel@gnu.org
> 
>     I don't see why those things need to all be fixed before we start
>     the pretest.
> 
> Because we aim to make a release with all known bugs fixed.

Starting the pretest is not the same as making a release.  As others
have pointed out, the couple of bugs that are still in FOR-RELEASE can
be worked on during the pretest; as a matter of fact, the pretest
could actually _help_ us debug them because it could reveal more users
who can reproduce the bugs and provide useful information about it.

> It makes no sense to postpone debugging the bugs we know about
> in order to discover more bugs.

Of course it does: people who work on fixing bugs do that in parallel,
not sequentially.  So the more bugs are known at any given point, the
sooner will we release Emacs 22 with all those bugs fixed.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-09 21:14                       ` Richard M. Stallman
  2005-12-09 21:54                         ` Chong Yidong
  2005-12-10  9:15                         ` Eli Zaretskii
@ 2005-12-10 23:28                         ` Kim F. Storm
  2005-12-11  4:56                           ` Pretest? [was: Re: bootstrap problem with union Lisp_Object] Nick Roberts
  2005-12-11 16:49                           ` bootstrap problem with union Lisp_Object Richard M. Stallman
  2 siblings, 2 replies; 52+ messages in thread
From: Kim F. Storm @ 2005-12-10 23:28 UTC (permalink / raw)
  Cc: schwab, raeburn, Stefan Monnier, emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     I don't see why those things need to all be fixed before we start
>     the pretest.
>
> Because we aim to make a release with all known bugs fixed.

How can we do that without some kind of bug tracking system?
And who decides what is a "bug" and what is a "missing feature" or
"enhancement request".

May I suggest that you (RMS) add _all_ bugs that you want to be fixed
before the release to FOR-RELEASE, and then change the above to:

"Because we aim to make a release with all the bugs listed in
FOR-RELEASE fixed."


Or even better, we should make a file etc/KNOWN_BUGS which we can keep
up-to-date with known, unresolved bugs.

Then we can _at any time_ decide that the bugs listed in KNOWN_BUGS
are not severe enough to justify delaying the release.

And we should distribute KNOWN_BUGS with the release, so users can
look in that file to see if we already know about a bug (M-x
report-emacs-bug could point users to that file).


> It makes no sense to postpone debugging the bugs we know about
> in order to discover more bugs.

Who's talking about postponing debugging of known bugs?

So I disagree!  Some bugs are more severe than others, and one of the
most severe has yet to be resolved -- the more people who test
the software, the better the chance of narrowing in on that bug.

So let's start the pretest NOW!

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Pretest? [was: Re: bootstrap problem with union Lisp_Object]
  2005-12-10 23:28                         ` Kim F. Storm
@ 2005-12-11  4:56                           ` Nick Roberts
  2005-12-11 16:49                           ` bootstrap problem with union Lisp_Object Richard M. Stallman
  1 sibling, 0 replies; 52+ messages in thread
From: Nick Roberts @ 2005-12-11  4:56 UTC (permalink / raw)
  Cc: emacs-devel

 > > It makes no sense to postpone debugging the bugs we know about
 > > in order to discover more bugs.
 > 
 > Who's talking about postponing debugging of known bugs?
 > 
 > So I disagree!  Some bugs are more severe than others, and one of the
 > most severe has yet to be resolved -- the more people who test
 > the software, the better the chance of narrowing in on that bug.
 > 
 > So let's start the pretest NOW!

We've been here nearly two years ago but I guess things have moved forward
enough so that ideas rejected then might be acceptable now.

When the pretest is released, hopefully soon, I suggest that a branch is cut.
I may be wrong but I think this is usual practice.  I don't think this will
mean that effort will be taken away from the release as many developers have
expressed an interest in seeing one.  It will, however, discourage adding
further changes which are not really bug fixes, and indeed, may introduce new
bugs.  In fact, I think there should be a strict rule that only changes that
relate to identified bugs be allowed on this branch.  There will also an
incentive to get the release out, so that normal development can resume on the
trunk.

Nick

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-10  9:15                         ` Eli Zaretskii
@ 2005-12-11  5:02                           ` Richard M. Stallman
  2005-12-11 14:43                             ` Chong Yidong
  0 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-11  5:02 UTC (permalink / raw)
  Cc: emacs-devel

    Starting the pretest is not the same as making a release.  As others
    have pointed out, the couple of bugs that are still in FOR-RELEASE can
    be worked on during the pretest;

LOTS of bugs have been reported in the past two weeks, and I think
many have not been worked on at all.  We are already out about more
bugs faster than we are fixing them, and the cause is simple: we are
not working enough on fixing them.  To help us move towards a release,
please fix some of these bugs!

There is also other work in FOR-RELEASE which is just straightforward
work, rather than debugging.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-11  5:02                           ` Richard M. Stallman
@ 2005-12-11 14:43                             ` Chong Yidong
  2005-12-11 22:57                               ` Richard M. Stallman
  2005-12-11 22:57                               ` Richard M. Stallman
  0 siblings, 2 replies; 52+ messages in thread
From: Chong Yidong @ 2005-12-11 14:43 UTC (permalink / raw)
  Cc: emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     Starting the pretest is not the same as making a release.  As others
>     have pointed out, the couple of bugs that are still in FOR-RELEASE can
>     be worked on during the pretest;
>
> LOTS of bugs have been reported in the past two weeks, and I think
> many have not been worked on at all.  We are already out about more
> bugs faster than we are fixing them, and the cause is simple: we are
> not working enough on fixing them.  To help us move towards a release,
> please fix some of these bugs!

As Kim has mentioned, it is unclear what bugs you are referring to.
There are only a couple of bugs listed in FOR-RELEASE.  The bugs in
emacs-pretest-bug, which are usually minor problems, get fixed at
about the same rate as they are being reported, i.e. after a few days.
Maybe the reason you have the idea that bugs aren't being fixed
because developers sometimes don't send a follow-up email to the list
when they check their fix into CVS.

Because CVS Emacs is already widely used, there is going to be a
constant stream of bug reports/feature requests.  Without a more
explicit and reasonable criteria for the release, the impression
you're sending is that there is no end in sight for the Emacs 22
release process.  This is a severe disincentive to working on Emacs.

Note that most of the other key Emacs developers have chimed in with
similar sentiments in this thread.

> There is also other work in FOR-RELEASE which is just straightforward
> work, rather than debugging.

Can you be more specific about what you're referring to?

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-10 23:28                         ` Kim F. Storm
  2005-12-11  4:56                           ` Pretest? [was: Re: bootstrap problem with union Lisp_Object] Nick Roberts
@ 2005-12-11 16:49                           ` Richard M. Stallman
  1 sibling, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-11 16:49 UTC (permalink / raw)
  Cc: schwab, raeburn, monnier, emacs-devel

    May I suggest that you (RMS) add _all_ bugs that you want to be fixed
    before the release to FOR-RELEASE, and then change the above to:

I keep track of bugs, and when nobody works on a bug report for a few
weeks, I do put it into FOR-RELEASE.

I don't do this immediately.  Usually I either ask a specific
appropriate person to work on the bug, or I wait a while, since often
someone will fix the bug.

    Or even better, we should make a file etc/KNOWN_BUGS which we can keep
    up-to-date with known, unresolved bugs.

That would be somewhat more work than what I am doing now.  I have no
objection to maintaining a file admin/KNOWN_BUGS if someone wants to
do it.  That file should not be part of the release.

    Who's talking about postponing debugging of known bugs?

I'm the only one talking about it, but lots of people appear
to be doing it ;-{.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-11 14:43                             ` Chong Yidong
@ 2005-12-11 22:57                               ` Richard M. Stallman
  2005-12-12  5:11                                 ` Chong Yidong
  2005-12-11 22:57                               ` Richard M. Stallman
  1 sibling, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-11 22:57 UTC (permalink / raw)
  Cc: emacs-devel

    > There is also other work in FOR-RELEASE which is just straightforward
    > work, rather than debugging.

    Can you be more specific about what you're referring to?

Work on various kinds of documentation, for instance.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-11 14:43                             ` Chong Yidong
  2005-12-11 22:57                               ` Richard M. Stallman
@ 2005-12-11 22:57                               ` Richard M. Stallman
  2005-12-12  5:18                                 ` Chong Yidong
  1 sibling, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-11 22:57 UTC (permalink / raw)
  Cc: emacs-devel

    As Kim has mentioned, it is unclear what bugs you are referring to.
    There are only a couple of bugs listed in FOR-RELEASE.  The bugs in
    emacs-pretest-bug, which are usually minor problems, get fixed at
    about the same rate as they are being reported, i.e. after a few days.
    Maybe the reason you have the idea that bugs aren't being fixed
    because developers sometimes don't send a follow-up email to the list
    when they check their fix into CVS.

I hope soon to have time to recheck the saved mail.
But there are several messages I have posted more than once on
this list, with no response, which will go into FOR-RELEASE
when I get future reminders.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-11 22:57                               ` Richard M. Stallman
@ 2005-12-12  5:11                                 ` Chong Yidong
  2005-12-13  3:14                                   ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Chong Yidong @ 2005-12-12  5:11 UTC (permalink / raw)
  Cc: emacs-devel

>     > There is also other work in FOR-RELEASE which is just straightforward
>     > work, rather than debugging.
>
>     Can you be more specific about what you're referring to?
>
> Work on various kinds of documentation, for instance.

Do you mean checking the manuals?  Almost all the manual files have
been checked by two people, and all have been checked by at least one.
Any remaining mistakes in there will be minor details, not big
problems.  Why should this hold the pretest?

Starting the pretest would also get more people to read the manuals,
to unearth mistakes there.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-11 22:57                               ` Richard M. Stallman
@ 2005-12-12  5:18                                 ` Chong Yidong
  2005-12-13  3:14                                   ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Chong Yidong @ 2005-12-12  5:18 UTC (permalink / raw)
  Cc: emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     As Kim has mentioned, it is unclear what bugs you are referring to.
>     There are only a couple of bugs listed in FOR-RELEASE.  The bugs in
>     emacs-pretest-bug, which are usually minor problems, get fixed at
>     about the same rate as they are being reported, i.e. after a few days.
>     Maybe the reason you have the idea that bugs aren't being fixed
>     because developers sometimes don't send a follow-up email to the list
>     when they check their fix into CVS.
>
> I hope soon to have time to recheck the saved mail.
> But there are several messages I have posted more than once on
> this list, with no response, which will go into FOR-RELEASE
> when I get future reminders.

That does not mean no one is working on fixing those few bugs; just
that they have not been fixed yet.  It is not an argument against
starting the pretest.  As people have pointed out several times, it is
better to know about bugs earlier rather than later, since bug fixing
takes place in parallel, not sequentially.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-12  5:11                                 ` Chong Yidong
@ 2005-12-13  3:14                                   ` Richard M. Stallman
  0 siblings, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-13  3:14 UTC (permalink / raw)
  Cc: emacs-devel

    Do you mean checking the manuals?  Almost all the manual files have
    been checked by two people, and all have been checked by at least one.

I wish I could be so confident, but Luc just checked custom.texi
and found many gross errors.  I updated the Lisp manual systematically
a year ago, but have not done the Emacs manual at all.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-12  5:18                                 ` Chong Yidong
@ 2005-12-13  3:14                                   ` Richard M. Stallman
  2005-12-13  3:53                                     ` Chong Yidong
  2005-12-13 16:12                                     ` Stefan Monnier
  0 siblings, 2 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-13  3:14 UTC (permalink / raw)
  Cc: emacs-devel

    That does not mean no one is working on fixing those few bugs; just
    that they have not been fixed yet.

It does not prove no one is working on fixing those bugs,
but I suspect that nobody is.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-13  3:14                                   ` Richard M. Stallman
@ 2005-12-13  3:53                                     ` Chong Yidong
  2005-12-13 23:33                                       ` Richard M. Stallman
  2005-12-13 16:12                                     ` Stefan Monnier
  1 sibling, 1 reply; 52+ messages in thread
From: Chong Yidong @ 2005-12-13  3:53 UTC (permalink / raw)
  Cc: emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     That does not mean no one is working on fixing those few bugs; just
>     that they have not been fixed yet.
>
> It does not prove no one is working on fixing those bugs,
> but I suspect that nobody is.

You snipped my main point:

  It is not an argument against starting the pretest.  As people have
  pointed out several times, it is better to know about bugs earlier
  rather than later, since bug fixing takes place in parallel, not
  sequentially.

You still haven't given any argument against starting the pretest,
apart from some kind of gut feeling that the Emacs developers aren't
working hard enough to fix bugs.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-13  3:14                                   ` Richard M. Stallman
  2005-12-13  3:53                                     ` Chong Yidong
@ 2005-12-13 16:12                                     ` Stefan Monnier
  2005-12-14  5:12                                       ` Richard M. Stallman
  2005-12-14  9:24                                       ` Kim F. Storm
  1 sibling, 2 replies; 52+ messages in thread
From: Stefan Monnier @ 2005-12-13 16:12 UTC (permalink / raw)
  Cc: Chong Yidong, emacs-devel

> It does not prove no one is working on fixing those bugs,
> but I suspect that nobody is.

I'm not working hard on fixing bugs, indeed, because I pretty demotivated by
the never ending "preparation for pretest" and because those non-trivial
bugs don't have nearly enough info: we need more testers.



        Stefan

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-13  3:53                                     ` Chong Yidong
@ 2005-12-13 23:33                                       ` Richard M. Stallman
  2005-12-14  0:12                                         ` Chong Yidong
  0 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-13 23:33 UTC (permalink / raw)
  Cc: emacs-devel

    You still haven't given any argument against starting the pretest,
    apart from some kind of gut feeling that the Emacs developers aren't
    working hard enough to fix bugs.

That is the reason.  I think it is a good reason.
I hear that you don't.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-13 23:33                                       ` Richard M. Stallman
@ 2005-12-14  0:12                                         ` Chong Yidong
  0 siblings, 0 replies; 52+ messages in thread
From: Chong Yidong @ 2005-12-14  0:12 UTC (permalink / raw)
  Cc: emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     You still haven't given any argument against starting the pretest,
>     apart from some kind of gut feeling that the Emacs developers aren't
>     working hard enough to fix bugs.
>
> That is the reason.  I think it is a good reason.
> I hear that you don't.

Actually, I think it's the worst possible reason you could give; but
apparently my opinion, and the opinions of every other Emacs hacker
who's weighed in on this topic, don't count for anything.  So be it.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-13 16:12                                     ` Stefan Monnier
@ 2005-12-14  5:12                                       ` Richard M. Stallman
  2005-12-14 14:13                                         ` Chong Yidong
  2005-12-14  9:24                                       ` Kim F. Storm
  1 sibling, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-14  5:12 UTC (permalink / raw)
  Cc: cyd, emacs-devel

    I'm not working hard on fixing bugs, indeed, because I pretty demotivated by
    the never ending "preparation for pretest" and because those non-trivial
    bugs don't have nearly enough info: we need more testers.

That would be a good point, if not for the fact that we seem to have a
person who can give us useful feedback now.  Yidong is working
effectively on that particular bug.  Meanwhile, there are all the others
which are not nearly so hard, but do take work.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-13 16:12                                     ` Stefan Monnier
  2005-12-14  5:12                                       ` Richard M. Stallman
@ 2005-12-14  9:24                                       ` Kim F. Storm
  1 sibling, 0 replies; 52+ messages in thread
From: Kim F. Storm @ 2005-12-14  9:24 UTC (permalink / raw)
  Cc: Chong Yidong, rms, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> It does not prove no one is working on fixing those bugs,
>> but I suspect that nobody is.
>
> I'm not working hard on fixing bugs, indeed, because I pretty demotivated by
> the never ending "preparation for pretest" and because those non-trivial
> bugs don't have nearly enough info: we need more testers.

I agree. 

With Richard's aim of fixing all known bugs before even starting the
pretest, the release is practically delayed forever, so I'm close to
giving up and find something more productive to spend my time on.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-14  5:12                                       ` Richard M. Stallman
@ 2005-12-14 14:13                                         ` Chong Yidong
  2005-12-15  2:09                                           ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Chong Yidong @ 2005-12-14 14:13 UTC (permalink / raw)
  Cc: Stefan Monnier, emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     I'm not working hard on fixing bugs, indeed, because I pretty demotivated by
>     the never ending "preparation for pretest" and because those non-trivial
>     bugs don't have nearly enough info: we need more testers.
>
> That would be a good point, if not for the fact that we seem to have a
> person who can give us useful feedback now.  Yidong is working
> effectively on that particular bug.

I'm not going to keep working on this for much longer if there's going
to be no tangible result.  Even if that bug is fixed, I'm not
confident that there will be an Emacs 22 release.  Bug reports, big or
little, will keep coming in, there will always be something else to
delay the release.  At some point, either you have to say "we'll fix
only the critical regressions from now till the release", or the
release will be delayed forever.  That's the experience of successful
free software projects, such as gcc, firefox, and linux.  What makes
you think Emacs or its developers are so special?

The "fix all bugs" policy probably worked well back in the days when
the development source was closed to all but a handful of developers.
Nowadays, CVS Emacs is used by a large number of users, several orders
of magnitude more than before (effectively, it's *already* gone
through more testing than any previous closed-door Emacs pretest).
Like I said, if you're unable to adapt to the new situation, then so
be it; I'll be sad if Emacs goes into stagnation, but there are other
ways for me to spend my time.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-14 14:13                                         ` Chong Yidong
@ 2005-12-15  2:09                                           ` Richard M. Stallman
  2005-12-15  3:40                                             ` Stefan Monnier
  2005-12-17  5:46                                             ` Chong Yidong
  0 siblings, 2 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-15  2:09 UTC (permalink / raw)
  Cc: monnier, emacs-devel

    The "fix all bugs" policy probably worked well back in the days when
    the development source was closed to all but a handful of developers.

The rate at which we're getting bug reports is not unusual for pretests.
back when I did all the work myself, I often got bug reports at that
rate or even faster.  But I had time to fix them.

When we start a pretest, and we get more people trying it, the rate of
bug reporting normally increases.  In the old days, I would fix all
the reported bugs before making each pretest.  And before making the
final release, too.  Normally that would take just a few weeks each
time.  (It usually got faster as the pretest process advanced.)

The difference now is that not that we get more bug reports
but that we fix them more slowly.

Does that mean we have to abandon the practice of making pretests and
releases with all bugs fixed?  Many people are taking that for granted.
I have been hoping, rather, to convince people to do more fixing
so that we could maintain our old standards.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-15  2:09                                           ` Richard M. Stallman
@ 2005-12-15  3:40                                             ` Stefan Monnier
  2005-12-16  1:51                                               ` Richard M. Stallman
  2005-12-17  5:46                                             ` Chong Yidong
  1 sibling, 1 reply; 52+ messages in thread
From: Stefan Monnier @ 2005-12-15  3:40 UTC (permalink / raw)
  Cc: Chong Yidong, emacs-devel

> Does that mean we have to abandon the practice of making pretests and
> releases with all bugs fixed?  Many people are taking that for granted.
> I have been hoping, rather, to convince people to do more fixing
> so that we could maintain our old standards.

A never ending pre-pre-test, with a complete lack of feature freeze, is
a complete turn off for me to try and fix bugs.  So instead I just keep
on hacking.


        Stefan

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-15  3:40                                             ` Stefan Monnier
@ 2005-12-16  1:51                                               ` Richard M. Stallman
  2005-12-16 10:35                                                 ` Kim F. Storm
  0 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-16  1:51 UTC (permalink / raw)
  Cc: cyd, emacs-devel

    A never ending pre-pre-test, with a complete lack of feature freeze,

Your discouragement is speaking--exaggerating the situation.  I am
rejecting even small featurelets nowadays, and the we can have a
pretest soon if you start fixing more bugs.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-16  1:51                                               ` Richard M. Stallman
@ 2005-12-16 10:35                                                 ` Kim F. Storm
  2005-12-17  1:04                                                   ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Kim F. Storm @ 2005-12-16 10:35 UTC (permalink / raw)
  Cc: cyd, Stefan Monnier, emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

>     A never ending pre-pre-test, with a complete lack of feature freeze,
>
> Your discouragement is speaking--exaggerating the situation.  I am
> rejecting even small featurelets nowadays, and the we can have a
> pretest soon if you start fixing more bugs.

We more or less have had a feature freeze since May 2004, and have
been "fixing more bugs" ever since in preparation for the pretest.  

So I don't see any evidence that "fixing more bugs" will actually lead
to a pretest.

I believe that emacs 22.x (via CVS downloads) has already received
infinitely more testing than any previous emacs pretest has achieved,
so the bugs we see now are the bugs that previously (with the closed
development model of 21.1) would have been discovered (long time)
after the release.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-16 10:35                                                 ` Kim F. Storm
@ 2005-12-17  1:04                                                   ` Richard M. Stallman
  2005-12-17  3:46                                                     ` Chong Yidong
  0 siblings, 1 reply; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-17  1:04 UTC (permalink / raw)
  Cc: cyd, monnier, emacs-devel

    We more or less have had a feature freeze since May 2004, and have
    been "fixing more bugs" ever since in preparation for the pretest.  

In May 2004 we had a lot of tasks to do before we could make a
release, including finishing updating the manual.  Everyone wanted a
release, but few people helped update the manual.  We also had various
other serious problems to be solved, some of which you have helped
solve.  We are much closer now.  We are even making progress on those
horrible memory clobbering bugs--but this occurred because I've
pressured for it.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-17  1:04                                                   ` Richard M. Stallman
@ 2005-12-17  3:46                                                     ` Chong Yidong
  2005-12-17 23:59                                                       ` Richard M. Stallman
  0 siblings, 1 reply; 52+ messages in thread
From: Chong Yidong @ 2005-12-17  3:46 UTC (permalink / raw)
  Cc: emacs-devel, monnier, Kim F. Storm

"Richard M. Stallman" <rms@gnu.org> writes:

>     We more or less have had a feature freeze since May 2004, and have
>     been "fixing more bugs" ever since in preparation for the pretest.  
>
> In May 2004 we had a lot of tasks to do before we could make a
> release, including finishing updating the manual.  Everyone wanted a
> release, but few people helped update the manual.  We also had various
> other serious problems to be solved, some of which you have helped
> solve.  We are much closer now.

By 2008, I'm sure we will be even closer; and still closer in 2010,
2012, etc.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-15  2:09                                           ` Richard M. Stallman
  2005-12-15  3:40                                             ` Stefan Monnier
@ 2005-12-17  5:46                                             ` Chong Yidong
  1 sibling, 0 replies; 52+ messages in thread
From: Chong Yidong @ 2005-12-17  5:46 UTC (permalink / raw)
  Cc: monnier, emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

> Does that mean we have to abandon the practice of making pretests and
> releases with all bugs fixed?  Many people are taking that for granted.
> I have been hoping, rather, to convince people to do more fixing
> so that we could maintain our old standards.

GCC, Firefox, Linux, and many other projects use a "critical
regressions only" policy to get releases out more quickly.  I've never
heard anyone complaining about this practice, whereas many people are
dissatisfied with the slow rate of Emacs releases.

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: bootstrap problem with union Lisp_Object
  2005-12-17  3:46                                                     ` Chong Yidong
@ 2005-12-17 23:59                                                       ` Richard M. Stallman
  0 siblings, 0 replies; 52+ messages in thread
From: Richard M. Stallman @ 2005-12-17 23:59 UTC (permalink / raw)
  Cc: emacs-devel, monnier, storm

    By 2008, I'm sure we will be even closer; and still closer in 2010,
    2012, etc.

Please don't exaggerate.

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2005-12-17 23:59 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-05 17:32 bootstrap problem with union Lisp_Object Ken Raeburn
2005-12-06  7:50 ` Ken Raeburn
2005-12-06 11:44   ` Andreas Schwab
2005-12-06 15:44     ` Stefan Monnier
2005-12-06 15:52       ` Andreas Schwab
2005-12-06 16:20         ` Stefan Monnier
2005-12-06 16:30           ` Andreas Schwab
2005-12-07 20:12             ` Ken Raeburn
2005-12-08  4:54               ` Richard M. Stallman
2005-12-08  8:59                 ` Ken Raeburn
2005-12-09  1:41                   ` Richard M. Stallman
2005-12-09  4:36                     ` Stefan Monnier
2005-12-09  5:06                       ` Henrik Enberg
2005-12-09  5:16                         ` Luc Teirlinck
2005-12-09  9:54                         ` Juri Linkov
2005-12-10  4:14                           ` Richard M. Stallman
2005-12-09 21:14                         ` Richard M. Stallman
2005-12-09 21:14                       ` Richard M. Stallman
2005-12-09 21:54                         ` Chong Yidong
2005-12-10  9:15                         ` Eli Zaretskii
2005-12-11  5:02                           ` Richard M. Stallman
2005-12-11 14:43                             ` Chong Yidong
2005-12-11 22:57                               ` Richard M. Stallman
2005-12-12  5:11                                 ` Chong Yidong
2005-12-13  3:14                                   ` Richard M. Stallman
2005-12-11 22:57                               ` Richard M. Stallman
2005-12-12  5:18                                 ` Chong Yidong
2005-12-13  3:14                                   ` Richard M. Stallman
2005-12-13  3:53                                     ` Chong Yidong
2005-12-13 23:33                                       ` Richard M. Stallman
2005-12-14  0:12                                         ` Chong Yidong
2005-12-13 16:12                                     ` Stefan Monnier
2005-12-14  5:12                                       ` Richard M. Stallman
2005-12-14 14:13                                         ` Chong Yidong
2005-12-15  2:09                                           ` Richard M. Stallman
2005-12-15  3:40                                             ` Stefan Monnier
2005-12-16  1:51                                               ` Richard M. Stallman
2005-12-16 10:35                                                 ` Kim F. Storm
2005-12-17  1:04                                                   ` Richard M. Stallman
2005-12-17  3:46                                                     ` Chong Yidong
2005-12-17 23:59                                                       ` Richard M. Stallman
2005-12-17  5:46                                             ` Chong Yidong
2005-12-14  9:24                                       ` Kim F. Storm
2005-12-10 23:28                         ` Kim F. Storm
2005-12-11  4:56                           ` Pretest? [was: Re: bootstrap problem with union Lisp_Object] Nick Roberts
2005-12-11 16:49                           ` bootstrap problem with union Lisp_Object Richard M. Stallman
2005-12-07 20:04         ` Ken Raeburn
2005-12-06 21:05   ` Benjamin Riefenstahl
2005-12-07 17:06     ` Richard M. Stallman
2005-12-06 21:55   ` Richard M. Stallman
2005-12-06 22:26     ` Stefan Monnier
2005-12-06 16:41 ` Richard M. Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).