1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Interlisp.medley/library/BROWSER.TEDIT
Larry Masinter 4fed40bb85
Add BROWSERMAX to limit depth of paths graph (#1158)
* Add BROWSERMAX to limit depth of paths graph

* Update Browser to use left-button menu popup to select action
2023-06-30 16:56:54 -07:00

80 lines
46 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1
Lisp Library Modules, Medley Interlisp 2023 BROWSER
1
Lisp Library Modules, Medley Release 1.15, BROWSER
BROWSER
1
BROWSER
1
BROWSER
6
4/26/2023 Larry Msinter: added BROWSERMAX to limit depth of tree, and made left-button on a node on the browser graph offer all formatting / control.
Browser modifies the SHOW PATHS(SHOW% PATHS (function) NIL NIL NIL 11) command of MasterScope(MASTERSCOPE NIL MasterScope NIL NIL 11) so that the output of the command is displayed as an undirected graph(GRAPH NIL graph NIL NIL 11).
Browser makes it easier to use the MasterScope SHOW PATHS command by making it easier to read the result. This is how SHOW PATHS looks before Browser is loaded:
&JÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿëïþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿÿÿÝÞöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûýÜxÿÞ½þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüø»·¿}þÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿx7ÿ¿}þÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿ{÷ÿ¾½þÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûþ»·½Þöÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüø
ÜxÿÛïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿïÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀ À À‡ Á  Ä ÇÇ À À À À ÀÛ0 À 0 ÃŽ à ÄQ ˜À Ñ| À ÄQ à ÄQ 0 ÃŽ 0 À À À À À Àˆ1Ÿ1?c<ï<>œp~|ùÇ~Á¸ß€ Àȱ±±Ž cf ØÜp`ÆÍÇÁ¼Ø ÃŽÐ°Ž cp ØÞð `ÆÍïÁ¼Ø ÄQ <03>?±›° <ÌØÞð |ÆÍï6Á¶ß Ñ|'±±š° c˜Û°`Æù»6Á¶Ø ÄQ -€±±Žà c ØÛ°`ÆÍ»>Á³Ø ÄQM˜±±Žà1Œcf ØÛ°`ÆÍ»cÁ³Ø ÃŽG@1Œc| Ï™0`|Í“cý±ß€ À À À À À À À À À À À À À À À À À Á>8ñ‡È"| à D‰±A2@ Å D‰±A2@âÅ<C3A2> Á<DñQA*x&A Á D¡R!*@ò$A Á D&@$A
Á D‰R!&@&A
Ç 8‰!Ž"|òÅ<C3B2> À À À À À<00>ÇÏ<8ùñÄ@>|ðãàŸ"|àâ <8ˆáÇÏ<!ãÇ> Ä@$"D€B$@@ˆ@€"<10>C „"É$"Q$… Ä@B$"D€B$@@ˆ@€<10>C „"É$"Q$… À€A‡"@ðBÀxˆ@€ðB <©‡‚"Q'… < Á D<\€B@@ˆ@€ˆB (©pD<$H Â"$ D€B$@@ˆ@€ˆB`„$$ ù$O Ä$ D€B$@@ˆ@<40>"ˆBa„"$ $H ÇÂÇ 8øAÄ@|ðà<C3B0>"ðâ!"8ˆáÇ ‰ãLjŽ> À À À À@ À@㈠Ä@@‰’H À@@‰’H À@‰SÄH À@@‰RH À@@‰2H ÄB@‰2H Â@q<03>ž À@ À@ À À@ Á€@>|ðãàŸ"|àâ Ž |qóäO"Døâ €@@ˆ@€"<10>C  @‰„H€"d<>@ €@@ˆ@€<10>C  @‰„H€"d<>@ Ä€@xˆ@€ðB  xaà„H€"Tñ@ Ä€@@ˆ@€ˆB  @„O"T<>@ ÇÀ@@ˆ@€ˆB` @‰„H"L<>@ À‚@@ˆ@<40>"ˆBa @‰„H"L<>@ À‚@|ðà<C3B0>"ðâ!>|qðƒˆD€ãç€ À@ À@ À À@À ÇÀ@|ùáÇÀ>8ñò <|! Ä@<10><10> D‰ „"@Q° Ä@<10><10> D‰ „"@Q° Ç€@ñ<10><D‰â <xQP Ä@@<10><10> (@‰Pƒ À@@<10><10> D<>`„$@ùP ÄB@<10><10> D<>a„"@‰P Â@ùáÁ>8<>ò!"|‰ À@ À@À À À@ À@>8<>â Ä@@ D<>@ Ä@ D<>@ Ç€@<D<>@ Ä@@ D<>@ Ä@@ D<>@ ÄB@ D<>@ Â@ 8ùã〠À@ À@ À À@ ÇÀ@"8ð À@@6Dˆ À€@6Dˆ À€@*Dˆ Á@*Dˆ Á@*Dˆ Â@*Dˆ Â@"8ð À@ À@ À À@0 À@Ã<>ŸD Ä@@"@!$H"DB! Ä@@"@!$H"DB! À@x!$ |@A Ä@@@!ÅÈ D€€À Ä@@"@!H"DA ÄB@"@!H"DB Â@| â<03>D À@@ À@0 À À@ À@DøãÃˆŽ ùáÇÏ<C387>> Ä@@"D!$L <20><10> Ä@@"D!$L<10><10> Ä@@ |!$
ñ<10> ÃÀ@ D!Ä
<08><10> À@@"D!I<08><10> ÄB@"D!I<04><10> Â@D ∎ùáÁŸ À@ À@ À À@ Á@8ùó<C3B9><|ð Ã@D€BBˆ<42>"ˆ Å €@D€BBˆ<42>"ˆ Á
@@ðC†"ð Á
@\€B$A<  Á @D€B'È<> <10> Á@D€B$H<> ˆ ÇÇ@8øCÄG ˆ À@ À@ À À@ Á@ !ãÇ>8 Ã@ Q$… D Å
@Q$… D Á@Q'… < Á@$H  Á@ù$O Á@$H @ ÇÏ„@‰ãLjŽ>| À@ À@ À À@ Á@>xqóä Ã@ D B Å@ D B Á@<D CÄ Á@ D B Á@ D B Á@ D B ÇÏ„@>xpCç À@ À@ À À@ Á@>|àAÇÏ< Ã@ <10>¢$„" Å@ <10>¢$„" Á@<𡇈„< Á@ D( Á@ ‰ò$$ Á@ $" ÇÇ@>ñÇÈ" À@ À@ À À@ Á@xñÀƒ<C380>Ž Ã@D‰!DH Å@D‰!DH Á @D‰áC Á @"D‰ ˆ Á@>D‰äH Á@"D‰$H ÇÁ@"xñâ#<23>Ÿ À@ À@ À À@ Á@>|ðãà<@ˆÁ|‰ã€p Ã@@ˆ@€"@ˆ"ˆŠ"@ Å@@ˆ@€"@P"ˆŠ"Q@,X Á@xˆ@€"@P"<22>
QÃ2d Á@@ˆ@€ž<@ ÄJ!"D Á@@ˆ@€<0F> @ É"!@"D  Á@@ˆ@<40><08> @ BH"!@2d  ÇÇ@|ðà<C3B0><08> | BH!óã€,X@ À@ @@ À@ @ À À@ Á@>|ðãà>8ˆ Ã@@ˆ@€ D<> Å@@ˆ@€ D  Á@xˆ@€<@à Á@@ˆ@€ @<40> Á@@ˆ@€ D<> Á@@ˆ@<40> Dˆ ÇÇ@|ðà<C3B0>>8ˆ À@ À@ À À@ Á@>|ðãà<@ˆÇÈ<C387>>8 Ã@@ˆ@€"@ˆ!<08> D Å@@ˆ@€"@P! DâÅ<C3A2> Á@xˆ@€"@P<01><0&A Á@@ˆ@€ž<@ A ò$A Á@@ˆ@€<0F> @ ! D$A
Á@@ˆ@<40><08> @ B! D&A
ÇÄ@|ðà<C3B0><08> | AÁ>8òÅ<C3B2> À@ À@ À À@ Á@ƒçÏ>q㈀ Ã@€„I Å@@„J Á@@‡ˆ„<00>óÄ Á@<00> Á@I Á@H€ ÇÇ@‡Ïq㈀ À@ À@ À À Áƒç‡|ø@ ÃB"@   ÅBB"@   ÁCÄBx   Á"B@! Á"B"@!ð ÁB"@! ÇÇç‡|! À À À À Çãäxp ÄH€Dˆ ÄI€Dˆ ÀŠ€ÃÄxˆ Á
""Pˆ  >Hˆ Ä"Dˆ ÇÇãçÇ"Dp À À À À  ÄF ÄJ À‚ Á Â Ä ÇÏ„ À À À À À À Ä Ä\ Ä| ÄD ÄD Ä À À À À À ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü0.6499939 0 0
This shows that FORMATLINE calls SETUPGETCH, which calls EDITELT, etc.
And this is how SHOW PATHS looks after Browser is loaded:
úêÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀø?|÷à`|<ù÷ð<<|ûà/öûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀûß½öûïï»Üùû÷ûÝö|ûýïö{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀûÞ¿½öÿïï·íuý÷÷íöºõýïö»ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀûÞ¿¼àï·íuýðwíöºõýïöÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀø=ß½÷÷ïàwí­þ÷÷ìÖîýïöÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀûü½÷ûïï·í­ÿw÷íöÖàýïöëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀûûï½öûïï»ÝÝÿ·ûÝöîß}ïöóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀûûï½÷ïï¼=Ýÿ·ü=öîß}àvûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀþ`ÿÿÿÿÿÿÿàþ`ÿÿÿÿÿÿ€þ`þ üÀ Ns„g˜Cþã¾ IÌ“½2DäÉ0@ÀüÀ ©JJ”$€@<40> h!JJ”%*H@ÀüÀ <10>©JJ„ <20> x!BJ”%,@@ÀüÀ <11>©KŠg  œ‘ x8 CÊä%,0@ÀüÀ ‰ùJ_ <10> X @B_¤%*ý€ JQ” €@<10>‰X DJQ”%)H@Àý€@"…sg¼€@žãˆ†IÌc D2Q—˜È°@Àù€@"„ù€@"€ù€€$€ù€€Dÿÿÿÿÿÿ€ ûDÿÿÿÿÿÿü@ûH€€B.<2E>óH€€B$Ðóˆ™ïðŒ÷?Ä"$ðó<00>¥IR„‰$"¤ðö<00>¡IP„‰$¤°ö­ÂqLç Ää° ö¥Kâ„ D N<> öJ2„ $  æ"<22>âr,ô $@ æ"€@ @ ìD€€@€ÿÿÿÿÿÿÿàìD€<> ìDÿÿÿÿÿÿü ìˆÿÿÿÿÿð ÎAßã¼Ï 숀¡)@„‘!( Ȉ€ @„‘! Ø<08>¡î;þ‡Ð<01>Î@„á9 Ø ¡ <10><> ˆ(@„<>! Ø  <10><>@‰(@„<>!( Ø !‘Éœ<>„Èyă¼Ï Ð !‰ <10><>A`„ ° "‰ <10><>B€€ ° B…î8žñ °@B„!ÿÿÿÿÿÿÿà°@$D€Bÿÿÿÿÿÿ€°@$„€B  @$ˆÿÿÿÿÿð„@`à€(ˆÿÿÿÿÿÿ€ˆ€€ Ns„g˜`€I ©JJ”$€`€I<00>©JJ„aQ É}œd˜$<03>©KŠg?A¡)R¤€H0 ‰ùJ_?A R‡¤€<04>@p‰JQ” €!\‡¤€ €€…sg¼€¤A‰ P…¤€ C$B‰)P•¤€
p$B„É<11>d˜˜>H„„ ÿÿÿÿÿÿ€>„H„€*@0ÿÿÿÿÿÿü?„Hˆ5<>À?„ÿÿÿÿÿÿ€j=ˆt8™ïðŒ÷?Ä=ùÀ¥IR„‰$}¢Cþã¾IžçÁÇyž`æ¡IP„‰$" @<40>jP"BPøÿ­ÂqLç Ä$ <20>z"B<10>Àÿø¥Kâ„ D DA œ‘yœáÂrcÿ€¥J2„ $~
DA<10>XP¡Bð<00>âr,ô $z
HB<10>ZPBPÎz
ˆžãˆ‡Ižyž`ñÀ~ <14>ì<~ rÿÿÿÿÿÿü~@y€xÿÿÿÿÿð|@"4@|@)":0ðô@*"¡î;þ‡Ðü€*D À¡ <10><>ü€RD A€< <10><>ø€Tˆ@
@‘Éœ<>ø€Tˆ@<06>0<10><>ùT<>H<10><>ù©D…î8žñù©¢ñ©!@òÒ"H€0òRB¨@ÿÿÿÿÿðòTD¤0ÿÿÿÿÿÿ€ô”„Rô¤ˆQÀ€ä¨ˆ)0 É}œd˜ä©$<24>¡)R¤€èI@€ R‡¤€èR  @\‡¤€èR  P…¤€È”@‰)P•¤€Ð¤@ˆ„É<11>d˜Ð
¤€Ð
H€Bà
I"àQ!€ÿÿÿÿÿÿ€ <00>€@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð@À <00>@ €À¤H@À-$D ¡ÿqßïIž ÂAŒ“À5H$ HH„JP•%BR¤<52>@6H"<02>HH„J•%BRÄ:<3A><01>NH„‰ÎIœÅBRÃj<>ˆHH„HP?OÂR <52>l ˆHH„D‰JPD#(ÂR”<52>u <08>„OqÄG1žD#(ùŒ‹u@AÚ@ €€ê€ @€ô€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð@Àµ ÿÿÿÿÿÿÿÿ@Ä<ÎDŸƒ¥æÕ@Ä!)mD<6D>5ê@Â!)}D<>=ê é3Üÿæy@Â9.UD<55>´B MJ$‰ A@Á!*Wä<57>-Ô"<02>OB$‰A@Á!)F$<24>-è!<01>O3œ' Èq ÉF$ó¥ä@¨ˆK
$ A@À€ °ˆKJ$ AÐ@„é3Ò$æy`@„ À@@ÿÿÿÿÿÿÿÿ r_áîGþJD¥ D<>JD¡ D<>@>ArDâ™Î(œ <@BD—Å <10>< BD”e <10>8 A„äYîžxp@p ààÀCÿÏxŸÀBR$•(AD"R$•AD@#'ÎqD ‡ýÇ|c$N$¾(Cä<18>!"”¤©$£(B$A!"„$©
'"ÏB$ÀA9"d<®’òÀ!!"’²À!!"”¥"R±Àc%"LÀÀÀÀÀà!ÿqß8æ:D€"éqÝøxà@ HH„¤IJ€"MJQH@à@HH„¤HÊ€"OJQH@à@<00>NH„¸KÊ€*OJUHp` ˆHH„¨I߀*KJUH@` HH„D¤IÑ‚>KJ_AH@` OqÄC$ç:QòéqŠAOx` `PPppppÿÿÿÿÿþp00‡¸ï³ß"(„$BJR(D$BBR(G$B3„R(
$$B
ú( $$BJŠ8 "¸â3ÄŠ8 B8 À@À8@4@ÿÿÿÿÿþ@ÿÿÿÿÿÿÿü`@À €@À@@ ƒ¤Ïsüw™äx@@<02>5(H$%áø@À@A=H$!þ A<Îpœ'!Ç€ !,(P<>$!þ "!-(H<>$%áø@À ¤ÏH<C38F>w™äx  €@À
@`@À
@ÿÿÿÿÿÿÿü
€`ÿÿÿÿÿþ
À@À 
<02>žb
‚¥)*P
 B¥)*
 ÀB¥.)œ"
Ar'å)|PB
 $e)FP
 yÎEžò
 0à@@@ €8@Àÿÿÿÿÿþÿÿÿÿÿÿð$ÿÿÿÿÿÿð@X8@¡ÀPg ïñÞgÎg¿Â3Üÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ0.6999817 0 0
This shows that FORMATLINE calls TEDIT.NSCHAR.RUN, which calls EDITELT, etc. (on another part of the calling tree).
You can reshape or scroll the window to see more of the result.
Requirements
1
MASTERSCOPE, GRAPHER
Installation
1
Load BROWSER.LCOM and the other required modules from the library.
User Interface
1
Browser creates a new window for each SHOW PATHS command, but will reuse a window if that window has an earlier instance of the same SHOW PATHS command displayed in it.
The windows can be reshaped and scrolled with the normal window menu commands (which pop up when the right button is pressed in the window title bar).
The windows are active in the sense that nodes(% NODES NIL % nodes NIL NIL 12) in the graph (i.e., functions) can be selected using the mouse. Clicking with the left button over the name of a function causes a menu to appear with menu items: Display will pretty-printed in the Browser printout window(BROWSER% PRINTOUT% WINDOW NIL Browser% printout% window NIL NIL 12). Describe will describes the function, using the MasterScope DESCRIBE command, in the Browser describe window(BROWSER% DESCRIBE% WINDOW NIL Browser% describe% window NIL NIL 12). The Edit menu item will calls the editor on that function. There are two menu items that will show you a new graph rooted at the function selected: CallsFrom and CallsTo.
The Browser graph is not updated automatically when you edit a function; you must give the SHOW PATHS command again to see the changes.
Browser Variables
1
BROWSERFORMAT(BROWSERFORMAT (Variable) NIL NIL NIL 12) [Variable]
Controls the layout of the graph. It is set initially to display the graph horizontally, with the root to the left, and links running left to right.
Example:
BROWSERFORMAT=(VERTICAL REVERSE)
Lays out the graph with the root at the bottom and links running from bottom to top. For more details, see the description of the LAYOUTGRAPH function in the GRAPHER Library Module.
BROWSERMAX(BROWSERFORMAT (Variable) NIL NIL NIL 12) [Variable]
Maxumum depth of the graph. Initially 6.
BROWSERBOXING(BROWSERBOXING (Variable) NIL NIL NIL 12) [Variable]
Controls how duplicate nodes in the graph are displayed. Its initial setting boxes functions that occur more than once in the graph.
Example:
BROWSERBOXING = ((MARK BORDER 5) COPIES/ONLY)
Boxes copies of the function with a border of 5. For more details, see the description of the LAYOUTGRAPH function in the GRAPHER Library Module.
Functions
1
(BROWSER T) turns the Browser on.
The Browser calls LAYOUTFOREST (in Grapher) to generate a graph showing the calling hierarchy.
SHOWGRAPH displays the graph.
The Browser modification to MasterScope can be undone by calling (BROWSER NIL), restoring the teletype-oriented output of SHOW PATHS.
Limitations
1
Browser works only with MasterScope.
Examples
1
Type the following into an Interlisp Exec window:
.ANALYZE ANY ON MY-MODULE
.SHOW PATHS FROM MY-FUNCTION
[This page intentionally left blank]
(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 11) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))2à3T/àT4HHà 3à3à3TT1<00><00>à31llà
34HHà
3à4HHà3à4HHà3à1llà31llà
32à3T7HHà
3là4HHà
3à4HHà3à5à3àT/T/øäìTEø3 PAGEHEADING VERSOHEADEø3 PAGEHEADING RECTOHEADDø3 PAGEHEADINGFOOTINGVDø3 PAGEHEADINGFOOTINGRTITAN
TITAN
 HELVETICA HELVETICA
CLASSIC
 HELVETICACLASSIC
MODERN
MODERN
MODERN
MODERNMODERNMODERN

TIMESROMAN
 HRULE.GETFNMODERN
4 HRULE.GETFNMODERN
3 HRULE.GETFNMODERN
 HRULE.GETFNMODERN
 HRULE.GETFNMODERN 
'IM.INDEX.GETFNMODERN
(IM.INDEX.GETFNMODERN
EIM.INDEX.GETFN .
=
 ZP BMOBJ.GETFN5
TIMESROMAN

  
:” BMOBJ.GETFN5
TIMESROMAN

.? 
 HRULE.GETFNMODERN  
 HRULE.GETFNMODERN   2   HRULE.GETFNMODERN %
U   . IM.INDEX.GETFNáDIM.INDEX.GETFN@
'DIM.INDEX.GETFNMODERN
 Z

"   HRULE.GETFNMODERN
)IM.INDEX.GETFN
˜
 "ƒ (
)IM.INDEX.GETFN
)
)IM.INDEX.GETFN ˆ
 .^ ( 
 HRULE.GETFNMODERN    A  @*
   HRULE.GETFNMODERN $   HRULE.GETFNMODERN 2

$£Õëzº