<div dir="ltr">For the case of DrRacket itself, a good technique is to take a literal string from the GUI and look for it in the string-constants collection and then grep for the symbolic name you see there.<div><br></div>
<div>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jul 7, 2013 at 1:40 AM, Lorenz Köhl <span dir="ltr">&lt;<a href="mailto:rainbowtwigs@gmail.com" target="_blank">rainbowtwigs@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I wanted to read/hack on the code that implements the contour window in DrRacket.<br>
<br>
But I couldn&#39;t find it!<br>
<br>
Don&#39;t tell me where it is though!<br>
I&#39;m more interested in the search process a more experienced racketeer/hacker would go through to solve this problem. What I did:<br>
<br>
- Search the docs: Two results describing the menu entry for hiding showing the contour. I didn&#39;t see how to get to the code from here<br>
<br>
- use &#39;find&#39; in the shell with search string &#39;contour&#39;: just source related to plot<br>
<br>
- Grepping the code: grep -RiIl --exclude &#39;*plot*&#39; contour .   from the top racket/ directory<br>
<br>
./.git/HEAD<br>
./.git/logs/HEAD<br>
./pkgs/drracket-pkgs/drracket/drracket/HISTORY.txt<br>
./pkgs/drracket-pkgs/drracket/scribblings/drracket/menus.scrbl<br>
./pkgs/drracket-pkgs/drracket/scribblings/tools/frame.scrbl<br>
./pkgs/drracket-pkgs/drracket/scribblings/tools/unit.scrbl<br>
./pkgs/images/scribblings/flomap.scrbl<br>
./pkgs/math/scribblings/math-flonum.scrbl<br>
./pkgs/math/scribblings/math-special-functions.scrbl<br>
./pkgs/racket-pkgs/racket-test/tests/racket/benchmarks/common/psyntax-input.txt<br>
./pkgs/racklog/racklog.scrbl<br>
./pkgs/sgl/gl.rkt<br>
./pkgs/sgl/scribblings/gl.scrbl<br>
./pkgs/string-constants-lib/string-constants/private/english-string-constants.rkt<br>
./pkgs/string-constants-lib/string-constants/private/french-string-constants.rkt<br>
./pkgs/string-constants-lib/string-constants/private/portuguese-string-constants.rkt<br>
./racket/doc/drracket/doc-index.html<br>
./racket/doc/drracket/Menus.html<br>
./racket/doc/images/Overview.html<br>
./racket/doc/local-redirect/local-redirect.js<br>
./racket/doc/math/flonum.html<br>
./racket/doc/math/special.html<br>
./racket/doc/racklog/racket-w-logic.html<br>
./racket/doc/release/HISTORY.txt<br>
./racket/doc/search/plt-index.js<br>
./racket/doc/sgl/blueboxes.rktd<br>
./racket/doc/sgl/doc-index.html<br>
./racket/doc/sgl/gl.html<br>
./racket/doc/tools/drracket_frame.html<br>
./racket/doc/tools/drracket_unit.html<br>
./racket/lib/collects/ffi/examples/magick.rkt<br>
<br>
I can&#39;t see a relevant source file, did I miss it? If not, what do I do now?<br>
Have I missed some crucial source searching techniques, either specific to Racket or in general?<br>
<br>
[side note: I wish it was possible to click a frame/widget and inspect/change it live (I have recently discovered Smalltalk and the &#39;liveliness&#39; aspect of it is pretty rad)]<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br></div>