>>>>> "Ulrich" == Ulrich Weigand writes: Ulrich> My choice would be to just go with what you have now. Ok. Tom> * print_scalar_formatted probably needs an options argument as well. Tom> What do you think? This worries me a little since it is another 47 Tom> call sites; so it could make the patch even bigger. Maybe this Tom> ought to be a follow-up. Ulrich> This looks more critical, and could in fact even be a bug: for example, Ulrich> in the cases where print_scalar_formatted recurses back to val_print, Ulrich> you now lose the inspect_it setting ... Good point. I implemented this. It turned out to be pretty easy; most of the call sites already had an option structure available. Ulrich> One other issue I noticed: the deref_ref flag seems to be handled Ulrich> incorrectly with your current patch. It is always 0 in the structs Ulrich> returned by the get_... routines, and never set to any nonzero value Ulrich> manually either, as far as I can see. Thanks. The appended tries to fix this. I took a behavior-preserving approach. I looked at all the val_print-like calls. If the code before the patch passed 'deref_ref' to such a call, I ignored it. Otherwise I made a copy of the options and set deref_ref appropriately. In some cases I suspect the previous code is really a "don't care" and we could just pass through the options. But, I think that would be better done by someone more familiar with each call site than I am. I'll start testing this and writing the ChangeLog entry. Tom