MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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




  • Prev by Date: Cellular Automaton Syntax
  • Next by Date: Re: Why does Manipulate leak global symbols? (Potential bug here?)
  • Previous by thread: Retrieving pasteable function definition without contexts preprended
  • Next by thread: Connecting Arduino to Mathematica 8 in Mac OS X using SerialIO Package