>>> The worst which can happen is that a value is incorrectly >>> type-cast which leads to either a null dereference or some other >>> type assertion. >> >> Could you give a Scheme example for that, please? > > Typical examples: > > * scm_cdr(SCM_EOL) > > This basically dereferences an (almost) null pointer. Possibly, > this crashes neatly in debug mode (I'm not sure). The SCM_CDR() > variant will surely crash with segmentation fault.
There is a misunderstanding. I was rather talking about Scheme code entered by the user. The above is a programming error, isn't it? > * unsmob_grob(x)->foo() > > If x is not a grob, unsmob_grob(x) returns NULL. Boom. This looks like a programming error too... I don't understand why you think that such situations shouldn't be fixed in the source code. Werner _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel