[PD-dev] redirecting stderr in Tcl to the Pd window

federico mescalinum at gmail.com
Fri Nov 16 16:57:21 CET 2007


On Nov 14, 2007 5:23 PM, Hans-Christoph Steiner <hans at eds.org> wrote:
>
>
> On Nov 13, 2007, at 9:11 AM, federico wrote:
>
> >>> Afaik, pd.tk does not write to stderr, so, there is no point in
> >>> doing this. What do you want to redirect instead?
> >>
> >> It does write somethings to stderr
> >>
> >> hans at palatschinken.local:~/Desktop > grep stderr ~/code/pure-data/pd-
> >> MAIN/src/u_main.tk
> >>          puts stderr {setting pd_guidir to '.'}
> >> # puts stderr [bind all]
> >>          puts stderr [format "open %s" $filename]
> >>                  puts stderr "menu_doc_browser non-directory $dir\n"
> >>                          puts stderr "doc_make_listbox: error listing
> >> $dir\n"
> >>                          puts stderr "Could not open $pd_guidir/
> >> $subdir/$file\n"
> >> [snip]
> >>
> >> Basically, the idea is to have every debug message go to the Pd
> >> window.
> >
> >
> > then you should use the post() function (in C), wrapped by poststring2
> > in tcl, wrapped again by pd::post in pdlib.tcl.
> >
> > if the user wants stuff printed to stderr, pd has a -stderr
> > commandline switch, and all it's handled by post.
>
> What I want is to redirect error messages from Tk widgets to the Pd
> window.  They are already posting to stderr, I don't think I can
> change that.

try looking here if you find something useful:
http://wiki.tcl.tk/15945

afaik overriding puts it's not a good idea, since puts does a lot more
than you can imagine.... so it has to be done in a clever way... good
luck ;)




More information about the Pd-dev mailing list