Warning: this is a htmlized version!
The original is across this link. |
####### # # E-scripts on Tcl/Tk. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/a/e/tcl.e> # or at <http://angg.twu.net/e/tcl.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/a/.emacs[.html]>, # <http://angg.twu.net/a/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # (find-fline "/snarf/ftp/ftp.neosoft.com/languages/tcl/all.files.list") # (find-fline "~/TK/diag.006") # (find-fline "$S/http/www.tclfaq.wservice.com/tcl-faq/part1-5.txt.gz" 4877) ####### # # Draft of Osterhout's book # ####### # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/") # To make each part GhostViewable we have to change the first line on # each from "%!" to "%!PS-Adobe-2.0" or something like that. # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/book.p1.ps") # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/book.p2.ps") # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/book.p3.ps") # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/book.p4.ps") cd /snarf/http/www.cica.indiana.edu/cica/faq/tcl/ gv /snarf/http/www.cica.indiana.edu/cica/faq/tcl/book.p1.ps & gv /snarf/http/www.cica.indiana.edu/cica/faq/tcl/book.p2.ps & gv /snarf/http/www.cica.indiana.edu/cica/faq/tcl/book.p3.ps & gv /snarf/http/www.cica.indiana.edu/cica/faq/tcl/book.p4.ps & ####### # # Eedit # ####### # (find-fline "~/TK/Edit") ####### # # Tcl8.0 source # ####### apti libreadlineg2-dev pdsc /big/slinks2/dists/slink/main/source/libs/tcl8.0_8.0.4-2.dsc cd /usr/src/tcl8.0-8.0.4/ etags $(find generic unix -name '*.[ch]') cd /usr/src/tcl8.0-8.0.4/ debian/rules binary |& tee odrb # (find-vldifile "tcl8.0.list") # (find-vldifile "tcl8.0-dev.list") # (find-fline "/usr/doc/tcl8.0/") # (find-fline "/usr/doc/tcl8.0-dev/") # (find-tclfile "") # (find-tcltag "Tcl_ListObjCmd") # (find-tclfile "generic/tclListObj.c") # (find-tcltag "main") ###### # # Tk8.0 source # ###### pdsc /big/slinks2/dists/slink/main/source/libs/tk8.0_8.0.4-2.dsc cd /usr/src/tk8.0-8.0.4/ # (find-vldifile "tk8.0.list") # (find-vldifile "tk8.0-dev.list") # (find-fline "/usr/doc/tk8.0/") # (find-fline "/usr/doc/tk8.0-dev/") # (eeman "3tk image") # (eeman "3tk bitmap" "-data") # (find-tkfile "generic/tkWindow.c" "\"image\"") # (find-tkfile "generic/tkImage.c" "Tk_ImageCmd(") # (find-tkfile "generic/tkImgBmap.c") # (find-tkfile "tests/imgBmap.test") ##### # # The "placer" geometry manager # ##### # (find-vldifile "tk8.0-dev.list") for i in $(grep /usr/man/man3/ /var/lib/dpkg/info/tk8.0-dev.list); do echo $i gzip -cd < $i | agrep wm done # (eeman "3tk place") # (find-tkfile "tests/place.test") cd /usr/src/tk8.0-8.0.4/tests/ expectk -Debug 1 place.test tubak place.test ####### # # Tcl7.x source # ####### pdsc /big/slinks2/dists/slink/main/source/libs/tcl7.6_7.6p2-7.dsc cd /usr/src/tcl7.6-7.6p2/ etags $(find generic unix -name '*.[ch]') # (find-tcl7file "") # (find-tcl7file "generic/tclCmdIL.c") # (find-tcl7tag "Tcl_ListCmd") # (find-tcl7file "generic/tclUtil.c") # (find-tcl7tag "Tcl_Merge") ####### # # Some docs and examples # ####### (find-fline "/usr/doc/tcl8.0/") (find-fline "/usr/doc/tcl8.0/README.gz" "Tcl newsgroup") (find-fline "/usr/lib/tcl8.0/") (find-enode "Regexps") (find-elnode "Match Data") (find-fline "~/EXPECT/") (find-fline "/usr/doc/dotfile/") (w3-open-local "/usr/doc/dotfile/html/dotdotfiles.html") /snarf/http/www.cica.indiana.edu/cica/faq/tcl/ dpkg -L dotfile dotfile-doc ####### # # tix 4.1 # ####### # (find-slink "tix41") # (find-slink "tix41-dev") # (find-vldifile "tix41.list") # (find-vldifile "tix41-dev.list") # (find-fline "/usr/doc/tix41/") # (find-fline "/usr/doc/tix41/examples/") # (find-fline "/usr/doc/tix41/txt/") apti tix41 tix41-dev cd /usr/doc/tix41/examples/ ./widget ####### # # tkref # ####### # «tkref» rm -Rv /usr/src/tkref/ mkdir /usr/src/tkref/ cd /usr/src/tkref/ tar -xvzf /snarf/ftp/ftp.neosoft.com/languages/tcl/sorted/info/ref/QuickRef.tar.gz tar -xvzf /snarf/ftp/ftp.neosoft.com/languages/tcl/sorted/packages-7.6/info/ref/tkref-4.1.0.tar.gz tar -xvzf /snarf/ftp/ftp.neosoft.com/languages/tcl/sorted/packages-7.6/info/ref/tkrefcard.tar.gz tar -xvzf /snarf/ftp/ftp.neosoft.com/languages/tcl/sorted/packages-8.0/info/ref/tkref-8.0.2.tar.gz # needs "multicol.sty", which is in tetex-nonfree... # (find-es "tex" "tetex-0.9-nonfree") # (find-fline "/usr/src/tkref/tkref-8.0.2/") cd /usr/src/tkref/tkref-8.0.2/ make refbase.dvi xdvi refbase.dvi & cd /usr/src/tkref/tkref-8.0.2/ make PERL=perl TMPDIR=/tmp gv refguide.ps & xdvi /usr/src/tkref/tkref-8.0.2/refbase.dvi & ####### # # cgi.tcl-0.7 # 99aug30 # ####### # «cgi.tcl» rm -Rv /usr/src/cgi.tcl-0.7/ cd /usr/src/ tar -xvzf /snarf/http/expect.nist.gov/cgi.tcl/cgi.tcl.tar.gz cd /usr/src/cgi.tcl-0.7/ rm -Rv /usr/lib/tcl8.0/cgi/ mkdir /usr/lib/tcl8.0/cgi/ cd /usr/lib/tcl8.0/cgi/ cp -v /usr/src/cgi.tcl-0.7/cgi.tcl . echo 'pkg_mkIndex . cgi.tcl' | tclsh rm -Rv /var/www/cgi-tcl/ mkdir /var/www/cgi-tcl/ cd /usr/src/cgi.tcl-0.7/example/ cp -v * /var/www/cgi-tcl/ for i in *.cgi; do echo Fixing: $i tclsh ../fixline1 /usr/bin < $i > /var/www/cgi-tcl/$i chmod 755 /var/www/cgi-tcl/$i done # (find-fline "/var/www/cgi-tcl/example.tcl" "production environment") cat >> /var/www/cgi-tcl/example.tcl <<'---' cgi_root {} # http://localhost/cgi-tcl --- # (find-fline "~/EXPECT/tclquery.cgi") cd /var/www/cgi-tcl/ ln -s ~/EXPECT/tclquery.cgi . lynx http://localhost/cgi-tcl/ # (find-fline "/var/www/cgi-tcl/") # (find-fline "/var/www/cgi-tcl/example.tcl") # (find-fline "/usr/lib/tcl8.0/cgi/") # (find-fline "/usr/lib/tcl8.0/cgi/cgi.tcl") # (find-fline "/var/log/apache/") # (find-fline "/var/log/apache/error.log") # (find-cgitclfile "") # (find-cgitclfile "fixline1") # (find-cgitclfile "example/") # (find-cgitclfile "example/README") # (find-cgitclfile "doc/ref.txt") # (find-cgitclfile "doc/ref.txt" "can be given arguments to fake input") # (find-cgitclfile "doc/ref.txt" "cgi_cgi_set") # (find-cgitclfile "cgi.tcl" "proc cgi_cgi") # (find-cgitclfile "cgi.tcl" "proc cgi_cgi_set") # (find-cgitclfile "doc/ref.txt" "** Getting at the input") # (find-fline "/usr/lib/tcl8.0/") # (find-fline "/usr/lib/tcl8.0/parray.tcl") expect -c ' package require cgi cgi_input "name=libes&old=foo&new1=bar&new2=hello" puts [cgi_import_list] puts "" foreach name [cgi_import_list] { puts "$name [cgi_import_as $name value]" # cgi_import_as $name value # puts "$name $value" } ' # (find-es "http" "tcl_http") # (find-vldifile "tcl8.0-dev.list") # (find-fline "/usr/doc/tcl8.0-dev/") # (eeman "pkgMkIndex") # (eeman "pkg_mkIndex") cd /usr/src/cgi.tcl-0.7/example/ for i in *; do printf "%-22s" $i:; head -n 1 < $i; done # (find-node "(sh-utils)printf invocation") ####### # # Using cgi.tcl # ####### lynx http://localhost/cgi-tcl/ cat # (find-fline "/var/www/cgi-tcl/") # (find-fline "/var/www/cgi-tcl/my.cgi") lynx http://localhost/cgi-tcl/my.cgi #!/usr/bin/tclsh # (find-cgitclfile "doc/ref.txt" "\ncgi_input") # (find-cgitclfile "doc/ref.txt" "-- Variables") # (find-cgitclfile "doc/ref.txt" "black & white") package require cgi cgi_input puts "Content-type: text/plain" puts "" puts [cgi_import_list] foreach v [cgi_import_list] { puts "$v [cgi_import $v]" } ####### # # cgi.tcl-0.7 (old) # ####### rm -Rv /usr/src/cgi.tcl-0.7/ cd /usr/src/ tar -xvzf /snarf/http/expect.nist.gov/cgi.tcl/cgi.tcl.tar.gz cd /usr/src/cgi.tcl-0.7/ ./configure # (find-cgitclfile "Makefile") make PREFIX=/usr rm -Rv /var/www/cgi.tcl mkdir /var/www/cgi.tcl cd /usr/src/cgi.tcl-0.7/example/ for i in *.cgi; do sed 's:#!/depot/path/tclsh:#!/usr/bin/tclsh: s:package require cgi:source cgi.tcl:' \ $i > /var/www/cgi.tcl/$i done cp README *.tcl *.pl *.cnt ../cgi.tcl /var/www/cgi.tcl/ chown -Rc edrx:edrx /var/www/cgi.tcl/ chmod 777 /var/www/cgi.tcl/*.{cgi,pl} # (find-fline "/var/www/cgi.tcl/example.tcl" "pitch.nist") # (find-fline "/var/www/cgi.tcl/") lynx http://127.0.0.1/cgi.tcl/ lynx http://127.0.0.1/cgi.tcl/examples.cgi # pkgIndex.tcl: # # (find-fline "/usr/lib/tcl8.0/") # (find-fline "/usr/lib/tcl8.0/tclIndex") # (find-fline "/usr/lib/tcl8.0/init.tcl" "# auto_mkindex --") # (find-fline "/usr/lib/tcl8.0/init.tcl" "# pkg_mkindex --") # (find-cgitclfile "pkgcreate") # (find-cgitclfile "pkgIndex.tcl") # (find-cgitclfile "Makefile" "updating of pkgIndex.tcl") # (find-cgitclfile "cgi.tcl") echo 'pkg_mkIndex /usr/src/cgi.tcl-0.7' | tclsh # (w3-open-local "/snarf/http/www.beedub.com/book/2nd/library.doc.html") mycat /var/lib/dpkg/info/tix41* |& l ln -s /usr/src/cgi.tcl-0.7/example /var/www/cgi.tcl chown -Rc edrx:edrx /usr/src/cgi.tcl-0.7/example sed 's:#!/depot/path/tclsh:#!/usr/bin/tclsh:' cookie.cgi cd /usr/src/cgi.tcl-0.7/ # (find-cgitclfile "") # (find-fline "~/TCL/h") # (find-fline "/snarf/http/www.tclfaq.wservice.com/tcl-faq/part1-5.txt.gz") http://expect.nist.gov/doc/tcl-debug.ps.Z http://conch.msen.com/~clif/TclTutor.0.96.tar.gz ftp://130.246.72.228/pub/cookbook/cookbook.tar.gz ftp://ftp.scriptics.com/pub/tcl/doc/engManual.tar.Z ftp://ftp.scriptics.com/pub/tcl/doc/styleGuide.tar.Z ftp://ftp.neosoft.com/languages/tcl/sorted/info/ref/tkrefcard.tar.gz ftp://ftp.neosoft.com/languages/tcl/sorted/info/ref/QuickRef.tar.gz # (find-fline "/snarf/ftp/ftp.neosoft.com/languages/tcl/all.files.list") ~/ICON/lslR2find < /snarf/ftp/ftp.neosoft.com/languages/tcl/all.files.list agrep -i ':^|debug' /snarf/ftp/ftp.neosoft.com/languages/tcl/all.files.list ./alcatel/code/debug.tar.gz ./alcatel/extensions/debugger.gz ./sorted/packages-7.6/devel/l-debug.tar.gz sne ftp://ftp.neosoft.com/languages/tcl/alcatel/code/tdebug-1.0.tar.gz ###### # # TDebug-1.7 # ###### rm -Rv /usr/src/tdebug-1.7/ mkdir /usr/src/tdebug-1.7/ cd /usr/src/tdebug-1.7/ tar -xvzf /snarf/ftp/ftp.neosoft.com/languages/tcl/stuff/TDebug-1.7.tar.gz cd /usr/src/tdebug-1.7/ patch TdChoose.tcl <<'%%%' 1c1 < #!/usr/local/bin/wish -f --- > #!/usr/bin/wish -f %%% cd /usr/src/tdebug-1.7/ lynx README.html # (find-fline "$S/ftp/ftp.neosoft.com/languages/tcl/stuff/TDebug-1.7.tar.gz") cd /usr/src/tk8.0-8.0.4/tests/ tubak place.test ######## # # weblint # ######## # (find-slink "weblint") # (find-fline "/usr/doc/weblint/") # (find-fline "$S/http/www.yahoo.com/Computers_and_Internet/Information_and_Documentation/Data_Formats/HTML/") ####### # # Cookbook # ####### # Not working very well, and not very interesting. rm -Rv /usr/src/cookbook/ cd /usr/src/ tar -xvzf /snarf/ftp/130.246.72.228/pub/cookbook/cookbook.tar.gz cd /usr/src/cookbook/ # (find-fline "/usr/src/cookbook/ch1/Make_htcl") # (find-fline "/usr/src/cookbook/ch1/htclInit.c") # (find-fline "/usr/src/cookbook/ch1/htclInit.c") # (find-fline "/usr/src/cookbook/ch1/hyper.tcl") # (find-fline "/usr/src/cookbook/ch1/contents") cd ch1/ gcc -c -o htclInit.o htclInit.c gcc -ltcl8.0 -ltk8.0 -o htcl htclInit.c $(LOCAL_LIBRARIES) ######## # # impress # ######## cd /usr/src/ rm -Rv 04alpha tar -xvzf /snarf/http/www.ntlug.org/~ccox/impress/impress_complete.tar.gz cd /usr/src/04alpha/ # (find-fline "/usr/src/04alpha/impress.tcl") lynx /snarf/http/www.ntlug.org/~ccox/impress/Docs.html lynx /snarf/http/www.tcltk.com/tclets/impress/ ###### # # tk8.0 examples # ###### # (code-c-d "tkex" "/usr/doc/tk8.0/examples/") # (find-tkexfile "widget") # Nice places to put tuba breakpoints: # (find-tkexfile "widget" "set demo") # (find-tkexfile "widget" "proc showCode") # (find-fline "/usr/lib/tk8.0/demos/widget" "The canvas item types") (cd /usr/src/tcl8.0-8.0p2/doc; ls -C echo; cd /usr/src/tk8.0-8.0p2/doc; ls -C) | l # (find-tkfile "") # (find-tkfile "generic/tkCmds.c") # (find-fline "/usr/doc/tk8.0/examples/plot.tcl") wget -r -nc -np -A htm,html,gif,jpg -l 20 -X man http://www.scriptics.com/ cd /usr/doc/tk8.0/examples/ a2ps -o ~/o.ps -M A4dj -6 -A --highlight-level=none \ widget plot.tcl arrow.tcl ruler.tcl items.tcl cd rm o.p[0-9][0-9] gs -sDEVICE=djet500 -r300 -sOutputFile=o.p%02d -dNOPAUSE -dBATCH o.ps rm o.zip; zip o.zip o.p0? laf o.zip ###### # # neosoft text packages # ###### # (code-c-d "tclarch" "/snarf/ftp/ftp.neosoft.com/languages/tcl/") # (find-tclarchfile "all.files.list" "text:") -rwxrwxr-x 1 root neobot 24874 Oct 30 1996 Tdoc1.2.1-info.tar.gz -rwxrwxr-x 2 root neobot 7355 Oct 29 1996 TkEmacs1.3.README -rwxrwxr-x 2 root neobot 7347 May 18 1994 beth.4.1.README -rwxrwxr-x 2 root neobot 13695 Jan 20 1995 tcllex-5.03.tar.gz -rwxrwxr-x 1 root neobot 37831 Mar 10 1997 tkinfo-1.3.tar.gz # (find-tclarchfile "sorted/packages-7.6/text/tcllex-5.03.tar.gz") # (find-tclarchfile "sorted/packages-7.6/text/tkinfo-1.3.tar.gz") # (find-tclarchfile "sorted/packages-7.6/text/") ###### # # Tuba-2.5.b1 # 99nov11 # ###### # «tuba» rm -Rv /usr/src/tuba-2.5.b1/ cd /usr/src/ tar -xvzf /snarf/http/www.geocities.com/SiliconValley/Ridge/2549/tuba/tuba-2.5.b1.tar.gz cd /usr/src/tuba-2.5.b1/ cd /usr/src/tuba-2.5.b1/src/ # make -f Makefile.Linux Tclparser.so |& tee ../om make -f Makefile.Linux SHLIB_LD='g++ -shared' Tclparser.so |& tee ../om # (find-fline "/usr/src/tuba-2.5.b1/") # (find-fline "/usr/src/tuba-2.5.b1/om") # (find-fline "/usr/src/tuba-2.5.b1/src/Makefile.Linux") # (find-tubafile "tuba") # (find-tubafile "tuba_lib.tcl") # (find-tubafile ".tubarc") # An example, using my "tubak" alias: # (find-fline "/usr/doc/tk8.0/examples/widget") cd /usr/doc/tk8.0/examples/ tubak widget ####### # # blt8.0_2.4f # ####### apti blt8.0 blt8.0-dev # (find-vldifile "blt8.0.list") # (find-vldifile "blt8.0-dev.list") # (find-fline "/usr/doc/blt8.0/") # (find-fline "/usr/lib/blt2.4/demos/") cd /usr/lib/blt2.4/demos/ ./barchart ./barchart2 ./barchart3 ./barchart4 ./barchart5 ./bgexec ./bgexec2 #./bgexec3 #./bgexec4 ./bitmap ./busy ./calendar #./eps ./form ./graph ./graph2 ./graph3 ./graph4 ./graph5 ./graph6 ./graph7 ./hier ./hier2 ./hier3 ./hier4 ./htext #./htext.txt ./spline ./stripchart ./tabset ./tabset2 ./tabset3 ./tabset4 pdsc /big/slinks2/dists/slink/main/source/libs/blt8.0_2.4f-3.dsc cd /usr/src/blt8.0-2.4f/ debian/rules binary |& tee odrb # (code-c-d "blt" "/usr/src/blt8.0-2.4f/") # (find-bltfile "src/bltDnd.c") # (find-bltfile "src/bltPs.c") # (find-bltfile "src/bltDebug.c") # (find-bltfile "src/bltGrHairs.c") # (find-bltfile "src/bltGraph.c") # (find-bltfile "demos/") # (find-bltfile "library/") ####### # # Tcl/Tk CD (infomagic, aug 95) # ####### # (find-fline "/cdrom/alcatel/code/INDEX" "tdcad") # (find-fline "/cdrom/alcatel/code/INDEX" "tkcron") # (find-fline "/cdrom/alcatel/code/INDEX" "make-a-wish") # (find-fline "/cdrom/alcatel/code/INDEX" "budge") # (find-fline "/cdrom/alcatel/code/INDEX" "picasso") # (find-fline "/cdrom/alcatel/code/INDEX" "tkprompt") # (find-fline "/cdrom/alcatel/code/INDEX" "replayxt") # (find-fline "/cdrom/alcatel/code/INDEX" "tkHelloWorld") # (find-fline "/cdrom/alcatel/code/INDEX" "evap") # (find-fline "/cdrom/alcatel/code/INDEX" "mankala") # (find-fline "/cdrom/alcatel/code/INDEX" "tkcvs") # (find-fline "/cdrom/alcatel/code/INDEX" "tcl-cgi") # (find-fline "/cdrom/alcatel/code/INDEX" "stl-0.3") # (find-fline "/cdrom/alcatel/code/") # (find-fline "/cdrom/alcatel/code/stl-0.3/stl/") # (find-fline "/cdrom/olive.kek.jp/News/") # (find-fline "/cdrom/olive.kek.jp/News/news92/comp.lang.tcl.92_digest") tdcad tkcron gv /cdrom/alcatel/workshop/1993/tcl93-proceedings/tcl93-proceedings/body/mclennan.ps # (defun tclndx (s) (find-fline "~/CB/tcltk95-ls-lR.i" s)) # (tclndx "xf") # (tclndx "TkSteal3.6h/TkSteal/") # (find-fline "/cdrom/alcatel/extensions/TkSteal3.6h/TkSteal/") # (find-fline "/cdrom/alcatel/extensions/raster0.1/README") # (find-fline "/cdrom/alcatel/extensions/INDEX") # (find-fline "/cdrom/alcatel/extensions/dlwish/dlwish.README") # (find-fline "/cdrom/alcatel/code/make-a-wish/make-a-wish-1.2.README") ###### # # MazeMan # ###### # Not working!!! rm -Rv /usr/src/MazeMan_1.0/ cd /cdrom/alcatel/code/MazeMan/ cp -dipvR MazeMan_1.0 /usr/src/ cd /usr/src/MazeMan_1.0/ cd /usr/src/MazeMan_1.0/src/ # (find-fline "/usr/src/MazeMan_1.0/src/Makefile") make INCLUDES= CC=gcc LIBS='-L/usr/X11R6/lib -ltk8.0 -ltcl8.0 -lX11 -lm' # (find-fline "/snarf/ftp/ftp.neosoft.com/languages/tcl/all.files.list") http://www.neosoft.com/tcl psne ftp://ftp.neosoft.com/languages/tcl/alcatel/code/MazeMan_1.0.tar.gz # (find-fline "/snarf/ftp/ftp.neosoft.com/languages/tcl/alcatel/code/MazeMan_1.0.tar.gz") ###### # # et - Embedded Tcl/Tk # ###### # «et» # (find-slink "et") apti et # (find-fline "/usr/doc/et/") # (find-fline "/usr/doc/et/html/") # (find-etfile "") # (find-etfile "color.c") # (find-etfile "color.tcl") lynx /usr/doc/et/html/index.html # (find-vldifile "et.list") # (find-fline "/usr/doc/et/") pdsc /big/slinks1/dists/slink/main/source/devel/et_80b2-8.dsc cd /usr/src/et-80b2/ make CFLAGS="-O" \ LIBS="-ltk8.0 -ltcl8.0 -ldl -L/usr/X11R6/lib -lX11 -lm -lc" \ ET2CFLAGS="-I/usr/lib/tk8.0 -I/usr/lib/tcl8.0" \ color |& tee omc cd /usr/src/et-80b2/ # (find-etfile "omc") # (find-etfile "doc/ET.doc" 1234) # (find-etfile "Makefile") # (find-etfile "doc/Makefile") # (find-etfile "debian/") # (find-etfile "debian/rules") # (find-etfile "et80.c" 562) # (find-etfile "et80.c" 754) # (find-etfile "doc/ET.doc") # (find-fline "/usr/doc/et/html/ET0015.html") lynx /usr/doc/et/html/ET0015.html # (code-c-d "et" "/usr/src/et-80b2/") # (find-etfile "Makefile") # (find-etfile "") # (find-etfile "" "httpd") ##### # # tclsh's interactive mode # ##### # (find-fline "/usr/lib/tcl8.0/init.tcl" "interactive") # (find-fline "/usr/lib/tcl8.0/tclAppInit.c" "interactive") # (find-tclfile "") # (find-tclfile "unix/Makefile" "\ntclsh:") # (find-tclfile "odrb" "tclsh") # (find-tclfile "unix/rl-tclMain.c") # (find-tclfile "unix/tclAppInit.c") ##### # # swig - a more pretentious et # 99nov21 # ##### apti swig swig-doc swig-examples # (find-vldifile "swig.list") # (find-vldifile "swig-doc.list") # (find-vldifile "swig-examples.list") # (find-fline "/usr/doc/swig/examples/OpenGL/") # (find-fline "/usr/doc/swig/examples/tcl/tree/") cd /usr/doc/swig/ gzip -dv Makefile.template cd /usr/doc/swig/examples/tcl/tree/ make SWIG=swig |& tee om cd /usr/doc/swig/examples/tcl/graph/ gzip -dv *.gz make SWIG=swig |& tee om # cd /usr/doc/swig/examples/tcl/graph/ wish graph.tcl # (find-swigefile "tcl/graph/graph.tcl" "Button 2 adds") cd /usr/doc/swig/html/ lynx /usr/doc/swig/html/Introduction.html edrxnetscape /usr/doc/swig/html/Introduction.html & rm -Rv /tmp/html/ mkdir /tmp/html/ cd /tmp/html/ wget -nv -r -A html http://127.0.0.1/doc/swig/html/Index.html |& tee o perl -nle 'm:^.*html/([^" ]+) : && print $1' < o | sort # (find-node "(sed)Addresses") # (find-fline "/usr/doc/swig/html/") # (find-fline "/usr/doc/swig/") # (find-fline "/usr/doc/swig/examples/") # (find-fline "/usr/doc/swig/examples/README.gz") edrxnetscape /usr/doc/swig/html/Contents.html # LIBS = -L$(MESA)/lib -lMesaaux -lMesatk -lMesaGLU -lMesaGL -lXext # XLIBS = -L/usr/X11R6/lib -lX11 # INCLUDE = -I$(MESA)/include -I/usr/X11R6/include # (find-fline "/usr/doc/swig/examples/OpenGL/") # (find-fline "/usr/doc/swig/examples/OpenGL/Makefile") # (find-fline "/usr/doc/swig/Makefile.template") cd /usr/doc/swig/examples/OpenGL/ gzip -dv $(find *) ../../Makefile.template.gz cd /usr/doc/swig/examples/OpenGL/ make LIBS='-lMesaaux -lMesatk -lMesaGLU -lMesaGL -lXext' \ INCLUDE='-I/usr/include/GL -I/usr/X11R6/include' \ SWIG=swig \ tcl # Falta o glaux.h. ###### # # moodss # ###### # (find-fline "/usr/doc/moodss/") # (find-vldifile "moodss.list") # (find-fline "/usr/doc/moodss/INSTALL") wish moodss ps cpustats memstats ###### # # Alguns programinhas educativos # ###### puts .[exec echo foo]. puts .[exec false 2> /dev/null]. puts .[system {echo foo; echo bar}]. puts .[catch [exec true]]. proc L {a} {puts -nonewline "$a; "; return [list $a]} puts [L [L [L a]]] puts [L [L [L ""]]] puts [L [L [L \\]]] puts [L [L [L \{]]] puts [L [L [L \}]]] puts [L [L [L {a b}]]] puts [L [L [L {a\{ b}]]] puts [L [L [L \n]]] puts "{" proc id {arg} {return $arg} proc E {script} { global errorInfo if [set err [catch "id $script" output]] { regexp "^\[^\n\]*" $errorInfo firstline puts $firstline } else { puts $output } } E $() E $ E {$foo} expect -c 'foreach s [info globals] {puts $s}' | sort expect -c 'foreach s [info commands] {puts $s}' | sort echo 'foreach s [info globals] {puts $s}' | tclsh -f - | sort echo 'foreach s [info commands] {puts $s}' | tclsh -f - | sort echo 'foreach s [info commands ::*] {puts $s}' | tclsh -f - | sort # (find-fline "/usr/lib/tcl8.0/init.tcl") (global-set-key [f7] 'tcl-send-region) # (find-enode "Keyboard Macros") # (find-elnode "Keyboard Macros") last-kbd-macro (setq last-kbd-macro "\C-a\C-[xtosp\C-m\C-[[D\C-[w\C-a<li>{\C-e}\C-a\C-[[B-- \C-y \C-a\C-[[B") (insert-kbd-macro 'mf) C-c ESC r -- tcl-send-region ###### # # Parsers for Tcl (recycling) # ###### # (find-tcl7file "") # (find-tcl7file "generic/tclParse.c") # (find-tcl7file "generic/tclInt.h" "ParseValue") # (find-tcl7file "tests/parse.test") agrep Tcl /usr/src/tcl7.6-7.6p2/generic/tclParse.c (fooi "TCL_BACKSLASH, " "/" "TCL_CLOSE_BRACE, " "}" "TCL_COMMAND_END, " "0" "TCL_DOLLAR, " "$" "TCL_NORMAL, " "a" "TCL_OPEN_BRACE, " "{" "TCL_OPEN_BRACKET," "[" "TCL_QUOTE, " "\"" "TCL_SPACE, " " " ) 0aaaaaaaa 0 aa aaaaaaaaaaaaaaaa a"a$aaaaaaaaaaa aaaaaaaaaaa0aaaa aaaaaaaaaaaaaaaa aaaaaaaaaaa[/0aa aaaaaaaaaaaaaaaa aaaaaaaaaaa{a}aa # (find-elfile "tcl-mode.el") # (find-fline "/usr/src/tuba-2.5.b1/") # (find-fline "/usr/src/tuba-2.5.b1/src/") # (find-fline "/usr/src/tuba-2.5.b1/src/README" "VERY QUICK") # (find-fline "/usr/src/tuba-2.5.b1/src/Tclparser.tcl") # Three parsers, each to be run with M-x eet: source /usr/src/tuba-2.5.b1/src/Tclparser.tcl proc tset {vname val} {puts "$vname:=$val"; upvar $vname v; set v $val} tset code {if [$a=="!"] {puts bang} else {puts $a}; [put${s} foo] bar} tset tp [new_Tclparser $code 1] while 1 { tset tok [$tp gettok] if {$tok==[geteof]} break } delete_Tclparser $tp source /usr/src/tuba-2.5.b1/src/Tclparser.tcl proc tset {vname val} {puts "$vname:=$val"; upvar $vname v; set v $val} proc parse_recursively {code {pre {}}} { set tp [new_Tclparser $code 1] while 1 { puts -nonewline $pre tset tok [$tp gettok] if {$tok==[geteof]} break if [regexp "^\[\[\{\"\]" $tok] { parse_recursively $tok " $pre" } } delete_Tclparser $tp } tset code {if {$a=="!"} {puts bang} else {puts $a}; [put${s} foo] bar} parse_recursively $code source /usr/src/tuba-2.5.b1/src/Tclparser.tcl proc tset {vname val} {puts "$vname := $val"; upvar $vname v; set v $val} proc parse_recursively {code {pre {}}} { set tp [new_Tclparser $code 1] while 1 { switch [set tok [$tp gettok]] \ [geteof] break \ [geteos] {puts "$pre<<EOS>>"} \ default { puts "$pre$tok" if [regexp "^\[\[\{\"\]" $tok] { parse_recursively $tok " $pre" } } } delete_Tclparser $tp } tset code {if {$a=="!"} {puts bang} else {puts $a}; [put${s} foo] bar} parse_recursively $code # (find-node "(flex)Top") ##### # # splitter # ##### proc splitter0 {str p1p2} { foreach {p1 p2} $p1p2 {} return [list [string range $str 0 [expr $p1-1]] \ [string range $str $p1 $p2] \ [string range $str [expr $p2+1] end]] } regexp -indices "2.*4" 0123456789 r foreach {beg line rest} [splitter0 0123456789 $r] {} puts [splitter0 0123456789 $r] # -> 01 234 56789 proc splitter {pat str} { set rest $str while {[regexp -indices $pat $rest {} range]} { foreach {prematch match rest} [splitter0 $rest $range] {} lappend pieces $prematch $match } lappend pieces $rest return $pieces } puts [splitter "(<\[^>\]*>)" "012<34>5<67>88"] # -> 012 <34> 5 <67> 88 set str [exec cat /home/root/ZHTML/escripts/kernel.e] set pat1 "\n((#+|;+|\\\\|\\\\;) «\[!-~\]+»\n)" set spl [splitter $pat1 $str] foreach {nonmatch match} $spl { puts -nonewline "([string length $nonmatch]), $match" } # Constant/linear/linear*log time? # (find-fline "/usr/src/tcl7.4/tclVar.c" "Tcl_AppendCmd(") # (find-fline "/usr/src/tcl7.4/tclVar.c" "Tcl_LappendCmd(") ##### # # encode_entities # ##### isoto850 < /usr/lib/perl5/HTML/Entities.pm isoto850 < /usr/lib/perl5/HTML/Entities.pm | grep "[Ç-ÿ]" | tee ~/o # (find-fline "~/o") # (find-fline "/usr/lib/perl5/HTML/Entities.pm") for {set x 128} {$x<256} {incr x} { set Entname([format "%c" $x]) [format "%c" $x] } # puts $Entname(À) -> À foreach {char entname} { Æ AElig Á Aacute  Acirc À Agrave Å Aring à Atilde Ä Auml Ç Ccedil É Eacute Ê Ecirc È Egrave Ë Euml Í Iacute Ï Iuml Ó Oacute Ô Ocirc Ò Ograve Õ Otilde Ö Ouml Ú Uacute Û Ucirc Ù Ugrave Ü Uuml á aacute â acirc æ aelig à agrave å aring ã atilde ä auml ç ccedil é eacute ê ecirc è egrave ë euml í iacute î icirc ì igrave ï iuml ó oacute ô ocirc ò ograve õ otilde ö ouml ß szlig ú uacute û ucirc ù ugrave ü uuml ¦ ordf « laquo ø deg § ordm » raquo & amp > gt < lt " quot } { set Entname($char) "&$entname;" } ##### # # expand (Bill Duquette's html generator) # ##### cd $S/http/www.cogent.net/~duquette/expand/ psne http://www.cogent.net/~duquette/expand/expand1.2.tar.gz rm -Rv /usr/src/expand1.2/ mkdir /usr/src/expand1.2/ cd /usr/src/expand1.2/ unzip -a $S/http/www.cogent.net/~duquette/expand/expand12.zip # (find-fline "/usr/src/expand1.2/") # (find-fline "~/TCL/html.004") ##### # # Some notes on an old version of my html generator # ##### # (find-enode "Fill Commands") # (find-enode "Fill Commands" "adaptive-fill-mode") # (find-enode "Text Mode" "indented-text-mode") # (find-fline "~/.zshrc" "date") date --utc '+%Y%b%d %k:%M' | tr A-Z a-z date -u '+%Y%b%d %k:%M' | tr A-Z a-z date -r ~/TCL/html.004 -u '+%Y%b%d %k:%M' | tr A-Z a-z puts [exec date -u "+%Y%b%d %k:%M" | tr A-Z a-z] # My timezone is wrong. Shit. # (find-vldifile "libc6.list") # (find-vldifile "timezones.list") # (find-fline "/usr/sbin/tzconfig") # (find-fline "/usr/bin/tzselect") ###### # # finer control on evaluation # ###### proc id {arg} {return $arg} proc E {script} { global errorInfo if [set err [catch "id $script" output]] { regexp "^\[^\n\]*" $errorInfo firstline puts $firstline } else { puts $output } } set a1 {[set $a2]} set a2 a3 set a3 {[set $a4]} set s4 a5 proc jaa {args} { return [uplevel #0 eval list [list $args]] } puts {jaa $a1 $a1} puts [jaa {$a1 $a1}] puts [jaa "$a1 $a1"] puts [jaa {$a1} {$a1}] puts [jaa $a1 $a1] set a1 {$a2} set a2 foo proc id {x} { return $x } proc e {s} { uplevel #0 id [list $s] } puts [e {$a1}] proc map {F list1} { set list2 {} foreach item $list1 { lappend list2 [eval $F [list $item]] } return $list2 } proc le {ss} { map e $ss } puts [le {$a1 $a1}] proc es {args} { le $args } puts [es {$a1} {$a1}] puts [es {$a1 $a1}] puts aa puts [list aa] puts [list [list aa]] puts "" puts {$aa} puts [list {$aa}] puts [list [list {$aa}]] puts "" puts [lindex {$aa $aa} 0] puts [lindex {{$aa} {$aa}} 0] puts [lindex {{{$aa}} {{$aa}}} 0] puts "" puts [list {$a1} {$a1}] puts [list {{$a1}} {{$a1}}] puts "" puts [list aa {aa} {$aa}] puts [list \\ \{ \$a \$\{\\a ] puts \$\{\\a Acho que o "list" sempre põe chaves -- exceto pelos elementos que não têm nenhum caracter especial. # (find-tcl7file "") # (find-tcl7file "tclBasic.c" "\"append\"") Tcl_ListCmd Como é que eu faço um "eval" em que cada argumento passe protegido? Quero isso aqui, ó: proc map {F list1} { set list2 {} foreach item $list1 { lappend list2 [eval $F [list $item]] } return $list2 } proc foo {args} { eval map puts [list $args] eval map puts [list [map list $args]] } foo \{a \\a \$a Um grande mistério: o que é eval puts \{a b\} ? Ah, o concat faz algo bem bobo com os strings que ele concatena... ou não? Qual é a diferença entre concat e join? Como o concat age sobre não-listas? O concat só sanduícha espaços, i.e., ele é quase a mesma coisa que "join $list", só que o concat recebe seus argumentos separados. A transformação que leva um string em "list $string" é horrivelmente complicada e eu deveria pôr um nível de abstração em torno dela pra usá-la mais claramente; aí o tcl passaria a ter tipos (mesmo que só na cabeça do programador). Se eu esqueço os tipos com profundidades mistas os tipos básicos passam a ser string, lista de strings, lista de lista de strings... e uma lista de lista de strings, se tiver sido criada do jeito certo, não sintetizada às pressas com "$a $b"s (mas acho que "[list $a] [list $b]" dá o mesmo que [list $a $b], pela definição do concat) deve ser invariante por map {map list} $list, acho. ##### # # plugin # ###### /snarf/ftp/ftp.scriptics.com/pub/tcl/plugin/tclplug20-x86-linux2.tar.gz /snarf/http/sunscript.sun.com/dist/plugin /snarf/http/sunscript.sun.com/dist/plugin/index.html /snarf/http/sunscript.sun.com/dist/plugin/old /snarf/http/sunscript.sun.com/dist/plugin/old/index.html /snarf/http/sunscript.sun.com/dist/plugin/tclplug20-src.tar.gz tar -tvzf /snarf/ftp/ftp.scriptics.com/pub/tcl/plugin/tclplug20-x86-linux2.tar.gz # (find-fline "/snarf/ftp/ftp.scriptics.com/pub/tcl/plugin/tclplug20-x86-linux2.tar.gz") rm -Rv /usr/src/tclplug20-x86-linux2/ cd /usr/src/ tar -xvzf $S/ftp/ftp.scriptics.com/pub/tcl/plugin/tclplug20-x86-linux2.tar.gz cd /usr/src/tclplug20-x86-linux2/ su -s install.sh edrx # (find-fline "~/.netscape/") # (find-fline "~edrx/.netscape/") # (find-fline "~edrx/.netscape/plugin-list") /home/edrx/.netscape/plugins/libtclp2.0.so 885356030 application/x-tcl: .tcl:Tcl Web Applets; pluginName=Tcl Plugin 2.0 pluginDescription=Tcl Plugin 2.0 (2.0.200). Executes tclets found in Web pages. See the <a href=http://sunscript.sun.com/plugin/>Tcl Plugin</a> home page for more details. rm -Rv /usr/src/tclplugin2.0/ cd /usr/src/ tar -xvzf $S/http/sunscript.sun.com/dist/plugin/tclplug20-src.tar.gz cd /usr/src/tclplugin2.0/ # (find-fline "/usr/src/tclplugin2.0/") # (find-fline "/usr/src/tclplugin2.0/README" "--with") cd /usr/src/tclplugin2.0/tcl8.0/unix/ ./configure --enable-shared |& tee oc make |& tee om # (find-fline "/usr/src/tclplugin2.0/tcl8.0/unix/om" "duplicate case value") # (find-fline "/usr/src/tclplugin2.0/tcl8.0/generic/tclPosixStr.c" 328) cd /usr/src/tclplugin2.0/tk8.0/unix/ ./configure |& tee oc make |& tee om cd /usr/src/tclplugin2.0/plugin2.0/unix/ configure \ --with-tcl=/usr/src/tclplugin2.0/tcl8.0/unix \ --with-tk=/usr/src/tclplugin2.0/tk8.0/unix \ --with-mozilla=/home/root/.netscape |& tee oc ###### # # itcl # ###### apti itcl3.0 itcl3.0-dev # (find-vldifile "itcl3.0.list") # (find-vldifile "itcl3.0-dev.list") # (find-fline "/usr/doc/itcl3.0/") # (find-fline "/usr/doc/itcl3.0/iwidgets3.0.0/examples/catalog") # (find-fline "/usr/lib/iwidgets3.0.0/scripts/") apti itcl3.0 itcl3.0-dev cd /usr/doc/itcl3.0/iwidgets3.0.0/examples/ /usr/doc/itcl3.0/iwidgets3.0.0/examples/catalog pdsc /big/slinks2/dists/slink/main/source/libs/itcl3.0_3.0-1.dsc cd /usr/src/itcl3.0-3.0/ psner -A htm,html,gif,jpg -X TclTkMan -l 200 http://www.tcltk.com/ |& tee ~/o cd $S/http/www.tcltk.com/ setopt extendedglob # rm -Rv *~TclTkMan unsetopt extendedglob cd $S/http/ wget -A htm,html,gif,jpg -X TclTkMan -l 200 -r -k -nc http://www.tcltk.com/ rm -Rv /usr/src/itcl-intro/ cd /usr/src/ tar -xvzf $S/http/www.tcltk.com/itcl/doc/itcl-intro.tar.gz cd /usr/src/itcl-intro/ # On autoloading and auto_mkindex: gv -page 63 -scale 2 itclitk-a4.ps ###### # # xf4.3 # ###### rm /usr/src/xf/ cd /usr/src/ tar -xvzf $S/http/home.nycap.rr.com/drlabelle/download/xf43.tar.gz cd /usr/src/xf/ # (find-fline "/usr/src/xf/") # (find-fline "/usr/src/xf/Install.txt") edrxnetscape Help/index.html ##### # # tclhttpd # ##### rm /usr/src/tclhttpd2.2.1/ cd /usr/src/ tar -xvzf $S/http/www.scriptics.com/ftp/httpd/tclhttpd2.2.1.tar.gz cd /usr/src/tclhttpd2.2.1/ # (find-fline "/usr/src/tclhttpd2.2.1/") # (find-fline "/usr/src/tclhttpd2.2.1/README") cd /usr/src/tclhttpd2.2.1/ tclsh bin/httpd.tcl -debug true lynx http://127.0.0.1:8015/ ##### # # modemtcl # ##### cd /usr/src/ rm -Rv modemtcl-0.1/ mkdir modemtcl-0.1/ cd /usr/src/modemtcl-0.1/ tar -xvzf $S/http/www.fe.msk.ru/~vitus/works/modemtcl-0.1.tar.gz cd /usr/src/modemtcl-0.1/ make modemtcl man2t < modemtcl.1 | l # (find-fline "/usr/src/modemtcl-0.1/") # (find-fline "/usr/src/modemtcl-0.1/dumbterm.tcl" "/dev/ttyS") cd /usr/src/modemtcl-0.1/ rm /var/lock/LCK..ttyS2 modemtcl dumbterm.tcl # (find-fline "/usr/src/modemtcl-0.1/") man 3tcl fileevent ###### # # plplot (with Tcl) # ###### apti plplot plplot-doc plplot-dev plplot-tcl # (find-vldifile "plplot-tcl.list") # (find-fline "/usr/doc/plplot-tcl/") # (find-node "(plplot)Top") # (find-vldifile "octave-plplot.list") # (find-vldifile "plplot.list") # (find-vldifile "plplot-dev.list") # (find-vldifile "plplot-doc.list") # (find-vldifile "plplot-tcl.list") # (find-fline "/usr/lib/tcl8.0/plplot/") # (find-fline "/usr/doc/plplot/examples/tcl/") # (find-fline "/usr/doc/plplot/examples/tk/") # (find-fline "/usr/doc/plplot/examples/tcl/tcldemos.tcl") # (find-fline "/usr/doc/plplot/examples/tcl/") # (find-node "(plplot)API") # Working: cd /usr/doc/plplot/examples/tcl/ pltcl -e 'plsdev xwin; plinit; source tcldemos.tcl proc run {args} { foreach n $args { puts "$n:"; $n; puts "$n ok" }} run 1 2 3 4 5 6 8 9 10 12 13 14 15 16 17 18 exit' # (find-plpfile "bindings/tk/tkMain.c" "pltkMain(int") # (find-plpfile "bindings/tk/tkMain.c" "argTable") # (find-node "(plplot)Initializing") # Not working (but almost :-)) # rm -Rv /usr/src/plplote/ mkdir /usr/src/plplote/ cd /usr/src/plplote/ cp -iv /usr/doc/plplot/examples/c/* . gzip -dv * cd /usr/src/plplote/ gcc tutor.c cd /usr/src/plplote/ gcc -E tutor.c > tutor.E gcc -ltk8.0 -ltcl8.0 -L/usr/X11R6/lib -lX11 -ldl -lm \ -lplplotdtk -lMatrix tutor.c |& tee o # (find-fline "/usr/src/plplote/") # (find-fline "/usr/src/plplote/tutor.c") # (find-fline "/usr/src/plplote/plcdemos.h") # (find-fline "/usr/src/plplote/Makefile") # (find-plpfile "") # (find-plpfile "bindings/tcl/") # (find-plpfile "bindings/tk/") # (find-plpfile "bindings/tk/tkMain.c") pltcl -e 'puts foo' /usr/lib/libPLcxx.so /usr/lib/libplplotdtk.a /usr/lib/libplplotdX.a /usr/lib/libPLcxx.a /usr/lib/libMatrix.a /usr/lib/libplplotdX.so /usr/lib/libplplotdtk.so /usr/lib/libMatrix.so # (find-fline "/usr/doc/plplot-dev/") # (find-fline "/usr/doc/plplot-doc/") # (find-fline "/usr/doc/plplot-tcl/") # (find-fline "/usr/doc/plplot/") # (find-vldifile "plplot-dev.list") # (find-vldifile "plplot-doc.list") # (find-vldifile "plplot-tcl.list") # (find-vldifile "plplot.list") # (find-vldifile "plotmtv.list") # (find-vldifile "quickplot.list") # (find-vldifile "sciplot.list") ##### # # sciplot # ##### Pgrep m/sciplot/ apti sciplot lesstifg lesstifg-dev # (find-vldifile "sciplot.list") # (find-fline "/usr/doc/sciplot/") cd /usr/doc/sciplot/ edrxnetscape SciPlot.html # (find-fline "/usr/doc/sciplot/examples/") apti lesstifg-dev cd /tmp gcc -o ./xyplot -I/usr/X11R6/include /usr/doc/sciplot/examples/xyplot.c -lsciplot xyplot /usr/doc/sciplot/examples/data.txt cd /tmp gcc -o ./realtime /usr/doc/sciplot/examples/realtime.c -lsciplot realtime # (find-fline "/usr/doc/octave-plplot/") # (find-vldifile "octave-plplot.list") ##### # # quickplot # ##### Pgrep m/quickplot/ apti quickplot # (find-vldifile "quickplot.list") # (find-fline "/usr/doc/quickplot/") test_data | quickplot -Pv & man quickplot ##### # # plotmtv # ##### apti plotmtv # (find-vldifile "plotmtv.list") # (find-fline "/usr/doc/plotmtv/") # (find-fline "/usr/doc/plotmtv/examples/") cd /usr/doc/plotmtv/examples/ ./run.csh pdsc /big/slinks2/dists/slink/main/source/math/plplot_4.99j-8.dsc debian/rules binary |& tee odrb ##### # # tkirc # ##### # (find-vldifile "tkirc.list") # (find-fline "/usr/bin/tkirc") # (find-fline "/usr/doc/tkirc/") # (find-fline "~/.tkircrc") ##### # # Debugging ".so"s # ##### # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/book.examples" "31") # (find-fline "~/TCL/simple2.c") # (find-fline "~/TCL/simple2.tcl") # (find-tclfile "odrb" " -shared") cd ~/TCL/ gcc -shared -o simple2.so simple2.c ##### # # visual-tcl # ##### apti visual-tcl # (find-vldifile "visual-tcl.list") # (find-fline "/usr/doc/visual-tcl/") # (find-fline "/usr/doc/examples/visual-tcl/") # (find-fline "/usr/bin/vtcl") # (find-fline "/usr/lib/visual-tcl/vt.tcl") # (find-fline "/usr/lib/visual-tcl/vt.tcl" "proc vTcl:main") cd /usr/doc/examples/visual-tcl/ vtcl cd /usr/doc/examples/visual-tcl/ tubak /usr/lib/visual-tcl/vt.tcl ##### # # very small httpd, from comp.lang.tcl/dejanews # ##### >> Forum: comp.lang.tcl >> Thread: simple httpd written in tk/tcl >> Message 1 of 1 Subject: Re: simple httpd written in tk/tcl Date: 1999/04/07 Author: Samy Zafrany <samy@mail.netanya.ac.il> Posting History David S Cargo wrote: > I am trying to find the simple httpd written in tk/tcl that has been > mentioned in the FAQ. The location given in the FAQ, > http://arsenio.mit.edu:8001 no longer responds to http requests. The > contact, jrq@mtl.mit.edu (John R. Gilbert) is no longer a valid user on > that system. > > I just want a supersimple httpd to run on a single system to serve up > static pages on a very small intranet. I have downloaded tclhttpd 2.1.7 > from Scriptics, but is more complex than I personally need. > > I have used Alta Vista to search the web and Deju News to search news > archives, but I didn't find an alternate source. > > --David S. Cargo The simplest httpd that I ever seen is due to Harald Kaplan. I do not recall were I got it, but since it's so short, here it is (it may look too short to be useful, but it is!), with the author's words in comment: # <html><head><title>DustMote source.</title></head> # <body bgcolor=white><plaintext> # This web server program has a smaller source than any other that I have # seen or heard of. Its name is DustMote, and I hereby place it in the # public domain. # I wrote it in the Tcl language because Tcl is free, easy, stable, and # well documented. For more documentation than comes with the Tcl # download, one may purchase Brent B. Welch's excellent book, "Practical # Programming in Tcl and Tk," second edition, Prentice Hall PTR. It is # well worth the money. It is true that Tcl is not remarkably speedy, but # it is fast enough for my site, and, though not multi-threaded, it can # handle many clients at the same time asynchronously, by the use of # non-blocking channels. # Of course, there are now many freeware server programs to be downloaded # from the web, and most of them are sturdy professional jobs that go like # lightning and swarm with useful features. The businessperson ought to # use one of those. I am an amateur, so I had to write the program myself. # There are nearly no features. All DustMote can do is serve files, both # text and image. I offer it to fellow amateurs, so they can ignore other # people's features and think up new features that have never been thought # up before. # If you do use my program, remember to change the definition of "root" to # suit your computer. Be sure to use forward slashes, not backward, or # else double them so Tcl will understand them rightly. # Please E-mail complaints to hmk@nadn.navy.mil and do not try to spare my # feelings. The date of this revision is May 26, 1998. # Yours truly, # Harold Kaplan. set root "/var/www" set default "index.html" set port 80 proc bgerror {trouble} {puts stdout "bgerror: $trouble"} proc answer {socketChannel host2 port2} { fileevent $socketChannel readable [list readIt $socketChannel] } proc readIt {socketChannel} { global root default fconfigure $socketChannel -blocking 0 set gotLine [gets $socketChannel] if { [fblocked $socketChannel] } then {return} fileevent $socketChannel readable "" set shortName "/" regexp {/[^ ]*} $gotLine shortName set many [string length $shortName] set last [string index $shortName [expr $many-1] ] if {$last=="/"} then {set shortName $shortName$default } set wholeName $root$shortName if [catch {set fileChannel [open $wholeName RDONLY] } ] { puts $socketChannel "HTTP/1.0 404 Not found" puts $socketChannel "" puts $socketChannel "<html><head><title><No such URL.></title></head>" puts $socketChannel "<body><center>" puts $socketChannel "The URL you requested does not exist on this site." puts $socketChannel "</center></body></html>" } else { fconfigure $fileChannel -translation binary fconfigure $socketChannel -translation binary -buffering full puts $socketChannel "HTTP/1.0 200 OK" puts $socketChannel "" set work [read $fileChannel] puts $socketChannel $work close $fileChannel } close $socketChannel } socket -server answer $port vwait forEver ##### # # dustmote 1.04 # 99nov11 # ##### # (find-fline "$S/ftp/ftp.unicamp.br/pub/simtelnet/win95/webbrows/dumo104.zip") ##### # # tcltutor - new version # ##### rm -Rv /usr/src/TclTutor/ cd /usr/src/ tar -xvzf $S/http/www.msen.com/~clif/tutor097.tar.gz cd /usr/src/TclTutor/ # (find-tcltfile "") # (find-tcltfile "conf.tk") patch conf.tk <<'%%%' 1094,1095c1094,1097 < set install_dir "/usr/local/lib/tcltutor/lessons" < set bin_dir "/usr/local/bin" --- > # set install_dir "/usr/local/lib/tcltutor/lessons" > # set bin_dir "/usr/local/bin" > set install_dir "/usr/src/TclTutor/local/lib/tcltutor/lessons" > set bin_dir "/usr/src/TclTutor/local/bin" %%% cd /usr/src/TclTutor/ # ./Configure tubak conf.tk # (find-tcltfile "conf.tk") cd /usr/src/TclTutor/local/bin/ ./TclTutor.tk ##### # # Crim - interface to the 2D diagram # ##### # (find-fline "~/TK/diaglib.013") # (find-fline "/usr/doc/tk8.0/examples/items.tcl") # Version 0: canvas .c -width 500 -height 350 -relief sunken -borderwidth 2 pack .c -expand yes -fill both proc blop {x y args} { eval .c create rectangle \ [expr $x*20+5] [expr $y*20+5] [expr $x*20+20] [expr $y*20+20] \ -tags $x,$y .c bind $x,$y <Enter> ".c itemconf $x,$y -fill yellow" .c bind $x,$y <Leave> ".c itemconf $x,$y -fill {}" } blop 0 0 blop 1 0 blop 2 1 # Version 1: canvas .c -width 500 -height 350 -relief sunken -borderwidth 2 pack .c -expand yes -fill both # Globals: (behaves like:) # xyrets() xyrets(1,0) -> 0,0 (or {}) # xyfail() xyfail(2,1) -> 3,0 (or {}) # xynow xynow -> 2,1 (or {}) set xynow {} proc blop {x y ret fail} { global xyrets xyfails eval .c create rectangle \ [expr $x*20+5] [expr $y*20+5] [expr $x*20+20] [expr $y*20+20] \ -tags $x,$y .c bind $x,$y <Enter> "enter-blop $x,$y" .c bind $x,$y <Leave> "leave-blop $x,$y" set xyrets($x,$y) $ret set xyfails($x,$y) $fail } proc color-blop {xy this_ret_fail_retfail} { global xyrets xyfails if {$xy==""} {return} set xyret $xyrets($xy) set xyfail $xyfails($xy) set xyretfail {} if {$xyret==$xyfail} {set xyretfail $xyret; set xyret {}; set xyfail {}} foreach axy [list $xy $xyret $xyfail $xyretfail] \ color $this_ret_fail_retfail { if {$axy!=""} {.c itemconf $axy -fill $color} } } proc enter-blop {xy} { global xynow; if {$xynow!=$xy} {leave-blop $xynow} color-blop $xy {mintcream yellow red orange} set $xynow $xy } proc leave-blop {xy} { global xynow if {$xy!={}} {color-blop $xy {{} {} {} {}}} set $xynow {} } blop 0 0 {} {} blop 1 0 0,0 {} blop 2 1 1,0 1,0 blop 2 2 1,0 2,1 Próximos passos: 1) passo a ter um array indexado por x,y que diz quem é o ret e quem é o fail de um cara; cada um deles pode ser {}. Na hora de colorir o fail fica em vermelho, o ret em amarelo, e se os dois forem o mesmo a gente colore de laranja. O próprio carinha sob o cursor ganha um verde bonito. 2) Passo a ter um outro array que diz o texto pra mostrar embaixo quando ###### # # tkinspect # ###### psne $ALCATCL/alcatel/code/tkinspect-5.1.6.tar.gz rm -Rv /usr/src/tkinspect-5/ cd /usr/src/ tar -xvzf $SALCATCL/alcatel/code/tkinspect-5.1.6.tar.gz cd /usr/src/tkinspect-5/ rm -Rv RCS patch install.tcl <<'%%%' 84c84 < set prefix /usr/local --- > set prefix /usr/src/tkinspect-5 153a154 > set wish /usr/bin/wish 219a220,221 > > do_install %%% patch version.tcl <<'%%%' 12c12 < if {$major != 4} { --- > if {$major != 4 && 0} { %%% mkdir -p bin lib/tkinspect agrep send $(find *) |& tee o cd /usr/src/tkinspect-5/ wish install.tcl # tubak install.tcl wish -f tkinspect.tcl # (find-fline "/usr/src/tkinspect-5/README") # (find-fline "/usr/src/tkinspect-5/install.tcl") # (find-fline "/usr/src/tkinspect-5/install.tcl" "proc do_install") # (find-fline "/usr/src/tkinspect-5/install.tcl" "proc install ") # set wish /usr/bin/wish # (find-fline "/usr/src/tkinspect-5/install.tcl" 130) # (find-fline "/usr/src/tkinspect-5/version.tcl") # (code-c-d "tki" "/usr/src/tkinspect-5/") # (find-tkifile "tkinspect.tcl") cd /usr/src/tkinspect-5/ agrep -w proc *.tcl */*.tcl | tee ~/o agrep -w target *.tcl */*.tcl | tee ~/o2 # (find-fline "~/o") # (find-fline "~/o2") # (find-tkifile "") # (find-tkifile "stl-lite/") # Not working AFAIK ##### # # send # 99oct?? # ##### # «send» startx xauth nextract /tmp/0.0 :0.0 chmod 666 /tmp/0.0 # su -s xauth edrx nmerge /tmp/0.0 # Tests with my diagram editor: # echo 'puts [send tmpdiag {winfo children .buttons}]; exit' | wish proc listwithchildren {app parent} { puts $parent foreach child [send $app "winfo children $parent"] { listwithchildren $app $child } } listwithchildren [lindex $argv 0] . exit # (find-fline "~/TCL/") # (find-fline "~/TCL/winfo") # (find-fline "~/TCL/tclsendmail") # And for items in canvases?... cat > /tmp/w <<'---' proc ps {args} {puts [eval send tmpdiag $args]} ps winfo children . ps winfo children .c ps .c configure ps .c find all ps .c itemconfigure 1 ps .c type 1 --- wish /tmp/w ##### # # mktclapp: C functions with binary arguments # ##### # «mktclapp_objcom» # (find-fline "/usr/doc/mktclapp/mktclapp.html" "<a name=\"toc11\">") # (find-fline "~/MTA/") # (find-fline "~/MTA/test.tcl") # (find-fline "~/MTA/Makefile") # (find-fline "~/MTA/objcom.c") cd ~/MTA/ make clean cd ~/MTA/ make cd ~/MTA/ (cat ~/replace/ega1.8; gzip -cd /usr/share/consolefonts/iso01.f08.gz) \ > /tmp/512 objcom test.tcl 8 /tmp/512 # (find-node "(gdb)File Options") # (gdb "gdb -quiet -x ~/MTA/objcom.gdb objcom") # (find-fline "~/MTA/objcom.gdb") # (find-tcltag "Tcl_GetStringFromObj") # (find-tcltag "Tcl_GetIntFromObj") # (find-tcltag "Tcl_Obj") # (find-fline "~/MTA/objcom.E") # (find-fline "~/MTA/objcom_.E") ####### # # Enhancing mktclapp with a variadic argument parser # (Completely incomplete!) # ####### /* * (find-node "(libc)Variable Arguments Output") * (find-node "(gcc.info)Macro Varargs") * (find-node "(libc)Variadic Functions") * (find-node "(libc)Variadic Example") * (find-node "(cpp)Stringification") */ int add_em_up (int count,...) { va_list ap; int i, sum; va_start (ap, count); /* Initialize the argument list. */ sum = 0; for (i = 0; i < count; i++) sum += va_arg (ap, int); /* Get the next argument value. */ va_end (ap); /* Clean up. */ return sum; } int main (void) { /* This call prints 16. */ printf ("%d\n", add_em_up (3, 5, 5, 6)); /* This call prints 55. */ printf ("%d\n", add_em_up (10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); return 0; } #define assert_nargs(n, msg) \ if (argc!=(n)+1) { \ Et_ResultF(interp, "wrong # args: should be %s %s", argv[0], msg); \ return TCL_ERROR; \ } #define get_intarg(n, name, iptr) \ { \ if (argc!=(n)+1) { \ Et_ResultF(interp, "wrong # args: should be %s %s", argv[0], msg); \ return TCL_ERROR; \ } /* char *tail; int n; errno = 0; next = strtol (string, &tail, 0); if (errno) printf ("Overflow\n"); else sum += next; string = tail; } int strtol (const char *STRING, char **TAILPTR, int BASE) 0004 int ET_COMMAND_add(ET_TCLARGS){ 0005 if( argc!=3 ){ 0006 Et_ResultF(interp, "wrong # args: should be \"%s NUM1 NUM2\"",argv[0]); 0007 return TCL_ERROR; 0008 } 0009 Et_ResultF(interp,"%d", atoi(argv[1]) + atoi(argv[2])); 0010 return TCL_OK; # (find-tclfile "") # (find-tclfile "changes" "Changes for Tcl 8.0 go below this line.") # (find-vldifile "tcl8.0-dev.list") # (find-fline "/usr/doc/tcl8.0-dev/") grep -i obj $(eefile vldi tcl8.0-dev.list) | sort > ~/o grep -i obj $(eefile vldi tcl8.0-dev.list) | sort \ | perl -nle 'm:man3/(.*).3tcl.gz: && print $1' \ | perl -nle 'print " [man3tcl $_]"' \ | tee ~/o http://angg/cgi-bin/man2html/usr/man/man3/CrtObjCmd.3tcl.gz#index # (find-fline "~/o") /usr/man/man3/BoolObj.3tcl.gz # (find-tcltag "Tcl_Obj") # (find-fline "$PAGE2/mktclapp.th") # (find-fline "~/MTA/objcom.c") grep -i tcl ~/osnl | sort | grep -i htm > ~/o2 grep -v /man ~/o2 > ~/o3 grep /man ~/o2 > ~/o4 # (find-fline "~/o3") # (find-fline "~/o4") grep -i tcl ~/osnl | sort | awk '{if ($0 ~ /htm/) print " "$0; else print $0}' 14839 Fundamental /var/lib/dpkg/info/tcl8.0-dev.list ###### # # environment variables # ###### # «environment» expect -c 'puts $env(DOREMOTE)' export DOREMOTE=1; expect -c 'puts $env(DOREMOTE)' export DOREMOTE=; expect -c 'puts $env(DOREMOTE)' unset DOREMOTE; expect -c 'puts [info exists env(DOREMOTE)]' export DOREMOTE=1; expect -c 'puts [info exists env(DOREMOTE)]' unset DOREMOTE; unset DR; expect -c 'puts [expr {[info exists env(DR)]&&$env(DR)}]' export DR=1; expect -c 'puts [expr {[info exists env(DR)]&&$env(DR)}]' export DR=0; expect -c 'puts [expr {[info exists env(DR)]&&$env(DR)}]' unset DR; ##### # # groupkit-5.1 # 99sep11 # ##### # «groupkit» rm -Rv /usr/src/groupkit-5.1/ cd /usr/src/ tar -xvzf $S/ftp/ftp.cpsc.ucalgary.ca/pub/projects/grouplab/software/groupkit-5.1.tar.gz cd /usr/src/groupkit-5.1/ cd /usr/src/groupkit-5.1/unix/ ./configure --with-tcl=/usr/lib make install prefix=/usr exec_prefix=/usr/local |& tee omi registrar & open.reg # (find-fline "/usr/local/bin/") # (find-fline "/usr/lib/gk5.1/") rm -Rv /usr/lib/gk5.1/ rm -v /usr/local/bin/registrar rm -v /usr/local/bin/open.reg # (find-fline "/usr/src/groupkit-5.1/") # (find-fline "/usr/src/groupkit-5.1/README") # (find-fline "/usr/src/groupkit-5.1/unix/omi") # (find-fline "/usr/src/groupkit-5.1/unix/Makefile") # cd /usr/src/groupkit-5.1/unix/ # ./configure --with-tcl=/usr/src/tcl8.0-8.0.4/unix # mkdir /tmp/p /tmp/ep # make install prefix=/tmp/p exec_prefix=/tmp/ep |& tee omi # find /tmp cd /usr/src/groupkit-5.1/unix/ strace-to ~/s wish open.reg |& tee ow ###### # # Freehand drawing # 99oct18 # ###### # (global-set-key [f3] 'eew-bounded) %* pack [canvas .c] bind .c <ButtonPress-1> { set %W(line) [list %W coords [%W create line %x %y %x %y] %x %y] } bind .c <B1-Motion> {eval [lappend %W(line) %x %y]} bind .c <ButtonRelease-1> {unset %W(line)} %* %* # z = x+iy => z^2 = (x+iy)^2 = x^2-y^2+2ixy # # .d is the domain, .c is the image. z |-> z^2. # Bug: y is flipped, but that's unnoticeable in this case. # proc bpress {W x y} { global $W-line set $W-line [list $W coords [$W create line $x $y $x $y] $x $y] } proc bmotion {W x y} { global $W-line eval [lappend $W-line $x $y] } # pack [canvas .c -width 200 -height 200] bind .c <ButtonPress-1> {bpress .c %x %y} bind .c <B1-Motion> {bmotion .c %x %y} # proc tof {n} {expr ($n-100)/50.0} proc toscr {x} {expr ($x*50)+100} proc imx {x y} {toscr [expr {pow([tof $x],2) - pow([tof $y],2)}]} proc imy {x y} {toscr [expr {2*[tof $x]*[tof $y]}]} # toplevel .d pack [canvas .d.e -width 200 -height 200] bind .d.e <ButtonPress-1> { bpress .d.e %x %y bpress .c [imx %x %y] [imy %x %y] } bind .d.e <B1-Motion> { puts "%x %y" bmotion .d.e %x %y bmotion .c [imx %x %y] [imy %x %y] } %* ###### # # tkpaint # 99oct18 # ###### apti tkpaint # (find-vldifile "tkpaint.list") # (find-fline "/usr/doc/tkpaint/") # (find-fline "/usr/X11R6/bin/tkpaint") # (find-fline "/usr/X11R6/lib/tkpaint/") # (find-fline "/usr/doc/tkpaint/examples/") cd /usr/doc/tkpaint/examples/ tkpaint demo2.pic tkpaint demo3.pic ##### # # static tcl libs (for freewrap) # 99nov11 # ##### # «static_libs» pdsc /big/slinks2/dists/slink/main/source/libs/tcl8.0_8.0.4-2.dsc cd /usr/src/tcl8.0-8.0.4/ # etags $(find generic unix -name '*.[ch]') debian/rules binary |& tee odrb # (find-tclfile "") # (find-tclfile "debian/") # (find-tclfile "odrb") # (find-tclfile "unix/") ##### # # freewrap # 99nov11 # ##### # «freewrap» rm -Rv /usr/src/freewrap/ mkdir /usr/src/freewrap/ cd /usr/src/freewrap/ tar -xvzf $S/http/www.albany.net/~dlabelle/freewrap/download/freewrap33.tar.gz # (find-fline "/usr/src/freewrap/freewrap.mta") mv freewrap.mta freewrap.mta.old cat > freewrap.mta <<'---' # Configuration file generated by xmktclapp # Hand editing is not recommended # # The "xmktclapp" program reads the lines that begin with "##". # The "mktclapp" program reads lines that don't begin with "#". # Lines beginning with a single "#" are comment. # ## Autofork No ## CFile:tcl/encrypt.c 1 ## CmdLine Console ## ConfigFile freewrap.mta ## MainScript tcl/freewrap.tcl ## Mode Tcl/Tk ## NoSource No ## OutputFile tcl/freewrap.c ## Shroud No ## Standalone Yes ## TclFile:tcl/freewrap.tcl 1 ## TclLib /usr/lib/tcl8.0 ## TkLib /usr/lib/tk8.0 # -console -main-script "freewrap.tcl" -tcl-library "/usr/lib/tcl8.0" -tk-library "/usr/lib/tk8.0" -strip-tcl "/usr/lib/tcl8.0/history.tcl" -strip-tcl "/usr/lib/tcl8.0/init.tcl" -strip-tcl "/usr/lib/tcl8.0/ldAout.tcl" -strip-tcl "/usr/lib/tcl8.0/parray.tcl" -strip-tcl "/usr/lib/tcl8.0/pkgIndex.tcl" -strip-tcl "/usr/lib/tcl8.0/safe.tcl" -strip-tcl "/usr/lib/tcl8.0/tclIndex" -strip-tcl "/usr/lib/tcl8.0/word.tcl" -strip-tcl "/usr/lib/tk8.0/bgerror.tcl" -strip-tcl "/usr/lib/tk8.0/button.tcl" -strip-tcl "/usr/lib/tk8.0/clrpick.tcl" -strip-tcl "/usr/lib/tk8.0/comdlg.tcl" -strip-tcl "/usr/lib/tk8.0/console.tcl" -strip-tcl "/usr/lib/tk8.0/dialog.tcl" -strip-tcl "/usr/lib/tk8.0/entry.tcl" -strip-tcl "/usr/lib/tk8.0/focus.tcl" -strip-tcl "/usr/lib/tk8.0/listbox.tcl" -strip-tcl "/usr/lib/tk8.0/menu.tcl" -strip-tcl "/usr/lib/tk8.0/msgbox.tcl" -strip-tcl "/usr/lib/tk8.0/obsolete.tcl" -strip-tcl "/usr/lib/tk8.0/optMenu.tcl" -strip-tcl "/usr/lib/tk8.0/palette.tcl" -strip-tcl "/usr/lib/tk8.0/safetk.tcl" -strip-tcl "/usr/lib/tk8.0/scale.tcl" -strip-tcl "/usr/lib/tk8.0/scrlbar.tcl" -strip-tcl "/usr/lib/tk8.0/tclIndex" -strip-tcl "/usr/lib/tk8.0/tearoff.tcl" -strip-tcl "/usr/lib/tk8.0/text.tcl" -strip-tcl "/usr/lib/tk8.0/tk.tcl" -strip-tcl "/usr/lib/tk8.0/tkfbox.tcl" -strip-tcl "/usr/lib/tk8.0/xmfbox.tcl" "encrypt.c" -strip-tcl "freewrap.tcl" --- rm freewrap mktclapp -f freewrap.mta > freewrap.c mktclapp -header > freewrap.h make \ LIBS="/usr/lib/libtcl8.0.a /usr/lib/libtk8.0.a -L/usr/X11R6/lib -lX11 -ldl -lieee -lm -lc" \ CFLAGS="-pipe -fPIC -DSTATIC_BUILD -DTcl_GetByteArrayFromObj=Tcl_GetStringFromObj -DTcl_NewByteArrayObj=Tcl_NewStringObj" \ -f makefile.linux |& tee om cd /usr/src/freewrap/ laf file freewrap ldd freewrap laf /usr/lib/lib{tcl,tk}* # (find-fline "/usr/src/freewrap/freewrap.mta") # (find-fline "/usr/src/freewrap/makefile.linux") # (find-vldifile "tcl8.0-dev.list") ####### # # postscript # ####### # (find-tkfile "tests/") # (find-tkfile "tests/canvPs.test") # (find-tkfile "tests/canvRect.test") # (find-tkfile "tests/canvText.test") # (find-tkfile "tests/canvPsArc.tcl") # (find-tkfile "tests/canvPsBmap.tcl") # (find-tkfile "tests/canvPsGrph.tcl") # (find-tkfile "tests/canvPsText.tcl") canvPs.test: .c postscript -file bar.ps canvRect.test: set x [.c postscript] canvText.test: set x [.c postscript] font.test: set post [.b.c postscript] font.test: set x [.b.c postscript] visual: $c postscript -file tmp.ps #### # # Tk - more on PostScript # 99nov06 # #### # «tk_ps» # (find-tkfile "doc/CanvPsY.3") # (find-tkfile "doc/CrtItemType.3") # (find-tkfile "doc/canvas.n") # (eeman "3tk CanvPsY") # (eeman "3tk CrtItemType") # (eeman "3tk canvas" "postscript") # (find-fline "~/LATEX/") # (find-fline "~/LATEX/diaglib.013" "postscript -file") ##### # # New version of the diagram libs # 00jan?? # ##### # «newdiaglib» # (find-fline "~/LATEX/basiclib.013") # (find-fline "~/LATEX/diaglib.013") # (find-fline "~/LATEX/diaglib.014") # (find-fline "~/LATEX/desenhos.013") # (find-fline "~/.emacs" "diaglib") # (find-angg ".emacs" "diags") (defun eediag-bounded () (interactive) (write-ee-bounded "----------\n" "\n#----------" "cd ~/LATEX; cat > tmpdiag <<'--%%--'\nsource diaglib.014\n" "\n--%%--\nwish tmpdiag &\n")) (global-set-key [f3] 'eediag-bounded) ##### # # Calling Tcl from C # 99dec14 # ##### # (find-fline "$S/http/www.cica.indiana.edu/cica/faq/tcl/book.examples" "Tcl_Interp") # (find-vldifile "tcl8.0-dev.list") # (find-fline "/usr/doc/tcl8.0-dev/") # (eeman "Tcl_Eval") # (eeman "Tcl_EvalObj") # (eeman "Tcl_GetStringResult") cd /tmp/ cat > calltcl0.c <<'---' #include <stdio.h> #include <tcl.h> main(int argc, char *argv[]) { Tcl_Interp *interp = Tcl_CreateInterp(); Tcl_Eval(interp, "puts Hello"); Tcl_Eval(interp, "expr 1+2"); printf("..%s..\n", Tcl_GetStringResult(interp)); } --- gcc -ltcl8.0 -o calltcl0 calltcl0.c calltcl0