Re: Retrieving pasteable function definition without contexts preprended
- To: mathgroup at smc.vnet.net
- Subject: [mg123907] Re: Retrieving pasteable function definition without contexts preprended
- From: A Retey <awnl at gmx-topmail.de>
- Date: Thu, 29 Dec 2011 02:55:13 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jd4fdh$da8$1@smc.vnet.net>
Hi, > I'm essentially asking the same question that E. Martin-Serrano has > asked this February (message quoted at the end): > > http://forums.wolfram.com/mathgroup/archive/2011/Feb/msg00515.html > > What is the best way to print the definition of a package symbols > without contexts, so it's more readable? > > To his question (what is a substitute to Developer`ContextFreeForm), we > can use Block[{$ContextPath = Append[$ContextPath = > "contextIdontWantPrinted`", FullDefinition[symbol]] > > This method still has a problem though. The definition that's printed > cannot be copied directly because quotation marks are missing. I would > like to copy it to Workbench for formatting. > > Take for example the definition of RunThrough which contains > WriteString[tmpfile, "\n"]. The "\n" part won't show at all. > > Are there any other solutions? Do you have any other suggestion about > making it easy to read the code of already defined function (when we > don't have access to the source file)? > > Note: I also asked about this here > <http://stackoverflow.com/questions/8607813> and got an alternative > answer to pasting to Workbench for formatting. I'm not sure whether this is really what you need, but from your description you are only missing an InputForm in the stackoverlfow-suggestion. The following gives code that can be copied and pasted to workbench: Unprotect[RunThrough]; ClearAttributes[RunThrough, ReadProtected] Block[{$ContextPath = Append[$ContextPath, "System`Dump`"]}, Print[InputForm[FullDefinition[RunThrough]]]] hth, albert