Stephan J. Turnbull wrote:
>>>> "Uwe" == Uwe Brauer <nil(a)tux.org>
writes:
Uwe> According to Christoph Wedler to whom I sent the backtrace
Uwe> the curprit is xemacs, not x-symbol.
My guess from your backtrace is that x-symbol is setting or binding
either `command-history' or `values'. These are both built-in
variables of ancient vintage; x-symbol is probably going to have to
work around it.
I don't bind `command-history', but `values'... arg! I looked at
`truncate-command-history-for-gc' just briefly and never thought that
values is not a local variable (it's not), but a global variable (not a
good idea!)...
OK, I'll fix X-Symbol that it never ever uses a local variable
`values'.
I think quite a few other packages / functions will have to do the same:
e.g., `widget-item-match-inline', `widget-choice-match-inline', and
other widget function all have parameters called `values' whose values
do not have to be lists. Since garbarge collection can occur almost
ever, XEmacs already has a huge list of potential problems...
A safer alternative would be not to change `values' during any function
in `pre-gc-hook' or better: rename this global variable `values'.
- Christoph