all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* xassert in dispextern.h
@ 2005-03-01 16:47 David Kastrup
  2005-03-01 17:08 ` David Kastrup
  2005-03-01 17:13 ` David Kastrup
  0 siblings, 2 replies; 22+ messages in thread
From: David Kastrup @ 2005-03-01 16:47 UTC (permalink / raw)



Would it be possible to change the default of xassert to a noop in
dispextern.h again?  I am asking this because of the following
reasons:

a) whoever is going to help with debugging Emacs will be able to
recompile Emacs.

b) the asserts are of two kinds: catching bad data structures, of
which there have not been any reports lately even with xassert
enabled, and of ensuring visual integrity.  For the latter case, an
abort() is the worst solution since you actually can't see what is
happening.

c) the performance impact is rather heavy.  There are a few
instructions around on the net for compiling Emacs from CVS, and there
are quite a few precompiled versions.  All of those rather than not
use the default settings.  This means that what people test-driving
Emacs get to see is a frequently crashing (for no good reason and
purpose) and dreadfully slow Emacs (since several of the xasserts do
expensive function calls for getting some info).

d) I have wasted about four days (that I could not really afford) of
debugging on something that turned out to be just a flaky assertion on
some code that was scheduled for revision, anyway, and that would not
have caused any actual problem, but rather a "quirk".  I have wasted
that time because I am demoing the current default Emacs at
conferences and workshops and telling people to try it and report
about it.  If I have to tell them that precompiled versions are
unusable, and that they have to edit the Emacs before compiling it
themselves, I might as well forget it.

We don't improve our chances for getting people to try out Emacs and
report problems with a useful recipe if we make it buck slow and have
it crash for the average user instead of having visual cues which he
can screenshot and reproduce.

I can really see no purpose why the xasserts are enabled by default.
It does not look like they are giving us better debuggable or
reproducible error symptoms than leaving them off, and they are
keeping people from being able to help pretesting Emacs.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

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

end of thread, other threads:[~2005-03-03  2:29 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-01 16:47 xassert in dispextern.h David Kastrup
2005-03-01 17:08 ` David Kastrup
2005-03-01 18:58   ` Jason Rumney
2005-03-01 19:41     ` David Kastrup
2005-03-01 21:32       ` Kim F. Storm
2005-03-01 21:51         ` David Kastrup
2005-03-01 22:50           ` Miles Bader
2005-03-01 23:14             ` Kim F. Storm
2005-03-02  0:52               ` David Kastrup
2005-03-03  2:29               ` Richard Stallman
2005-03-01 23:17             ` Luc Teirlinck
2005-03-02  0:35               ` Miles Bader
2005-03-02  1:01                 ` David Kastrup
2005-03-02  1:17                   ` Miles Bader
2005-03-02  1:38                     ` David Kastrup
2005-03-02  9:13                 ` Kim F. Storm
2005-03-02  9:47                   ` Miles Bader
2005-03-02 11:42                     ` Kim F. Storm
2005-03-02 12:21                     ` Andreas Schwab
2005-03-01 21:16     ` Kim F. Storm
2005-03-01 22:02       ` David Kastrup
2005-03-01 17:13 ` David Kastrup

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.