Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on REXX.
#
# 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.
# An introduction to eev can be found here:
#
#   (find-eev-quick-intro)
#   http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# 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/e/rexx.e>
#           or at <http://angg.twu.net/e/rexx.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######




# «.regina»			(to "regina")
# «.netrexx»			(to "netrexx")
# «.oorexx-svn»			(to "oorexx-svn")
# «.oorexx-cpack-build-deb»	(to "oorexx-cpack-build-deb")
# «.oorexx»			(to "oorexx")
# «.oorexx-docs»		(to "oorexx-docs")
# «.oorexx-mode»		(to "oorexx-mode")
# «.sc»				(to "sc")
# «.eepitch-rexxsc»		(to "eepitch-rexxsc")
# «.sc-chat-2019dec27»		(to "sc-chat-2019dec27")
# «.0branch-repl»		(to "0branch-repl")
# «.0branch-oorexx»		(to "0branch-oorexx")
# «.srf»			(to "srf")
# «.srf-fossil»			(to "srf-fossil")
# «.srf-lua»			(to "srf-lua")
# «.multiline-comments»		(to "multiline-comments")
# «.oorexx-marc»		(to "oorexx-marc")
# «.parsing»			(to "parsing")



# (find-angg "REXX/")
# (find-angg "REXX/pig.rexx")

# http://0branch.com/highlight/snippets/pig.nrx
# http://0branch.com/highlight/snippets/pig.rexx
# http://en.wikipedia.org/wiki/REXX
# (find-zsh "availabledebs | sort | grep rexx")



#####
#
# Regina REXX
# 2012jan17
#
#####

# «regina»  (to ".regina")
# http://regina-rexx.sourceforge.net/

# (find-status   "regina-rexx")
# (find-vldifile "regina-rexx.list")
# (find-udfile   "regina-rexx/")

# (find-man "1 rxstack")
# (find-man "1 regina")
# (find-man "1 rxqueue")
# (find-udfile "regina-rexx/changelog.Debian.gz")
# (find-udfile "regina-rexx/copyright")
# (find-udfile "regina-rexx/examples/rexxcps.rexx")
# (find-udfile "regina-rexx/examples/block.rexx")
# (find-udfile "regina-rexx/examples/regutil.rexx")
# (find-udfile "regina-rexx/examples/extqueue.rexx")
# (find-udfile "regina-rexx/examples/testvms.rexx")
# (find-udfile "regina-rexx/examples/dateconv.rexx")
# (find-udfile "regina-rexx/examples/newstr.rexx")
# (find-udfile "regina-rexx/examples/animal.rexx")
# (find-udfile "regina-rexx/examples/dynfunc.rexx")
# (find-udfile "regina-rexx/examples/gci-try.rexx")
# (find-udfile "regina-rexx/examples/testeof.rexx")
# (find-udfile "regina-rexx/examples/timeconv.rexx")
# (find-udfile "regina-rexx/examples/t1.rexx")
# (find-man "1 rexx")

~/tmp/Regina-REXX-3.6-i686-pc-linux-gnu.tgz
# (find-fline "~/tmp/Regina-REXX-3.6-i686-pc-linux-gnu.tgz")

# http://ufpr.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.6/regutil.pdf
# http://ufpr.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.6/regina.pdf

(code-pdf-page  "regina"  "$S/http/ufpr.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.6/regina.pdf")
(code-pdf-text  "regina"  "$S/http/ufpr.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.6/regina.pdf")
(code-pdf-page  "regutil" "$S/http/ufpr.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.6/regutil.pdf")
(code-pdf-text  "regutil" "$S/http/ufpr.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.6/regutil.pdf")
;; (find-reginapage      1  "Contents")
;; (find-reginapage (+ 1 1) "Index")
;; (find-reginatext "")
;; (find-regutilpage      1  "Contents")
;; (find-regutilpage (+ 1 1) "Index")
;; (find-regutiltext "")




#####
#
# NetREXX
# 2012jan17
#
#####

# «netrexx»  (to ".netrexx")
# http://www.netrexx.org/
# http://ibm-netrexx.215625.n3.nabble.com/import-static-td3665748.html
# https://sourceforge.net/p/netrexx/code/ci/master/tree/tools/emacs-mode/netrexx-mode.el
# https://git.code.sf.net/p/netrexx/code

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -Rfv ~/usrc/netrexx-code/
cd      ~/usrc/
git clone https://git.code.sf.net/p/netrexx/code netrexx-code
cd      ~/usrc/netrexx-code/

# (find-fline "~/usrc/")
# (find-fline "~/usrc/netrexx-code/")
# (find-gitk  "~/usrc/netrexx-code/")

# (code-c-d "netrexxcode" "~/usrc/netrexx-code/")
# (find-netrexxcodefile "")
# (find-netrexxcodefile "tools/emacs-mode/netrexx-mode.el")




#####
#
# oorexx-svn
# 2021jan18
#
#####

# «oorexx-svn»  (to ".oorexx-svn")
# «oorexx-cpack-build-deb»  (to ".oorexx-cpack-build-deb")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rfv ~/usrc/oorexx/
mkdir   ~/usrc/oorexx/
cd      ~/usrc/
svn co https://svn.code.sf.net/p/oorexx/code-0/main/trunk oorexx

cd      ~/usrc/oorexx/
# (find-es "git" "very-hard-reset")
# (find-sh "svn help revert")

# (code-c-d "oorexx" "~/usrc/oorexx/")
# (find-oorexxsh "find * | sort")
# (find-oorexxsh "find * | sort | grep -i cmake")
# (find-oorexxfile "")
# (find-oorexxfile "INSTALL")
# (find-oorexxfile "INSTALL" "unix-like-build.txt")
# (find-oorexxfile "CMake-build-readme.txt")
# (find-oorexxfile "CMake-build-readme.txt" "On Linux run the following commands to build a deb:")
# (find-oorexxgrep "grep --color -nRH --null -e OS_DIST *")
# (find-oorexxfile "cmake_install.cmake")

cd      ~/usrc/oorexx/
# cmake -DBUILD_DEB=1 -DOS_DIST=ubuntu1404 ~/usrc/oorexx/   |& tee ocm
cmake   -DBUILD_DEB=1 -DOS_DIST=debian107  ~/usrc/oorexx/   |& tee ocm
make       |& tee om
cpack ./   |& tee ocp

# (find-oorexxfile "ocm")
# (find-oorexxfile "om")
# (find-oorexxfile "ocp")

ls -lAF *.deb
sudo dpkg -i *.deb

# (find-status   "oorexx")
# (find-vldifile "oorexx.list")
# (find-vldifile "oorexx.list" "/usr/bin/rexx")
# (find-udfile   "oorexx/")






#####
#
# oorexx
# 2019dec27
#
#####

# «oorexx» (to ".oorexx")
# http://www.oorexx.org/download.html
# https://sourceforge.net/projects/oorexx/files/oorexx/4.2.0/
# https://sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/
# https://sourceforge.net/projects/oorexx/files/oorexx/4.2.0/ooRexx-4.2.0-1.debian%20700.i386.deb/download

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
sudo dpkg -i /tmp/ooRexx-4.2.0-1.debian700.x86_64.deb

# (find-status   "oorexx")
# (find-vldifile "oorexx.list")
# (find-udfile   "oorexx/")

# (find-fline "/usr/bin/csvStream.cls")
# (find-fline "/usr/bin/mime.cls")
# (find-fline "/usr/bin/oorexx-config")
# (find-fline "/usr/bin/rexx")
# (find-fline "/usr/bin/rexx.cat")
# (find-fline "/usr/bin/rexx.img")
# (find-fline "/usr/bin/rexxc")
# (find-fline "/usr/bin/rexximage")
# (find-fline "/usr/bin/rxapi")
# (find-fline "/usr/bin/rxapid")
# (find-fline "/usr/bin/rxftp.cls")
# (find-fline "/usr/bin/rxqueue")
# (find-fline "/usr/bin/rxregexp.cls")
# (find-fline "/usr/bin/rxsubcom")
# (find-fline "/usr/bin/smtp.cls")
# (find-fline "/usr/bin/socket.cls")
# (find-fline "/usr/bin/streamsocket.cls")
# (find-udfile "oorexx/CPLv1.0.txt.gz")
# (find-udfile "oorexx/changelog.Debian.gz")
# (find-udfile "oorexx/copyright")
# (find-man "1 oorexx-config")
# (find-man "1 rexx")
# (find-man "1 rexxc")
# (find-man "1 rxqueue")
# (find-man "1 rxsubcom")
# (find-fline "/usr/share/ooRexx/ccreply.rex")
# (find-fline "/usr/share/ooRexx/complex.rex")
# (find-fline "/usr/share/ooRexx/factor.rex")
# (find-fline "/usr/share/ooRexx/greply.rex")
# (find-fline "/usr/share/ooRexx/guess.rex")
# (find-fline "/usr/share/ooRexx/ktguard.rex")
# (find-fline "/usr/share/ooRexx/makestring.rex")
# (find-fline "/usr/share/ooRexx/month.rex")
# (find-fline "/usr/share/ooRexx/philfork.rex")
# (find-fline "/usr/share/ooRexx/pipe.rex")
# (find-fline "/usr/share/ooRexx/properties.rex")
# (find-fline "/usr/share/ooRexx/qdate.rex")
# (find-fline "/usr/share/ooRexx/qtime.rex")
# (find-fline "/usr/share/ooRexx/readme")
# (find-fline "/usr/share/ooRexx/rexx.csh")
# (find-fline "/usr/share/ooRexx/rexx.sh")
# (find-fline "/usr/share/ooRexx/rexxcps.rex")
# (find-fline "/usr/share/ooRexx/rexxtry.rex")
# (find-fline "/usr/share/ooRexx/rxapid.service")
# (find-fline "/usr/share/ooRexx/scclient.rex")
# (find-fline "/usr/share/ooRexx/scserver.rex")
# (find-fline "/usr/share/ooRexx/semcls.rex")
# (find-fline "/usr/share/ooRexx/sfclient.rex")
# (find-fline "/usr/share/ooRexx/sfserver.rex")
# (find-fline "/usr/share/ooRexx/sscclient.rex")
# (find-fline "/usr/share/ooRexx/stack.rex")
# (find-fline "/usr/share/ooRexx/usecomp.rex")
# (find-fline "/usr/share/ooRexx/usepipe.rex")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rexx



#####
#
# oorexx-docs
# 2019dec27
#
#####

# «oorexx-docs» (to ".oorexx-docs")
# (find-angg ".emacs" "oorexx-docs")
# https://sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/
# https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/
# (find-fline "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/")
# (find-fline "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/")

(code-pdf-page "rexxpg" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/rexxpg.pdf")
(code-pdf-text "rexxpg" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/rexxpg.pdf")
(code-pdf-page "rexxref" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/rexxref.pdf")
(code-pdf-text "rexxref" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/rexxref.pdf" 11)
;; (find-rexxrefpage)
;; (find-rexxreftext)
;; (find-rexxpgpage)
;; (find-rexxpgtext)

(code-pdf-page "rexxpg" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/rexxpg.pdf")
(code-pdf-text "rexxpg" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/rexxpg.pdf")
;; (find-rexxpgpage)
;; (find-rexxpgtext)
;; (find-rexxpgpage (+ 11 1) "1. Meet Open Object Rexx (ooRexx)")
;; (find-rexxpgpage (+ 11 1) "1.1. The Main Attractions")
;; (find-rexxpgpage (+ 11 1) "1.1.1. Object-Oriented Programming")
;; (find-rexxpgpage (+ 11 1) "1.1.2. An English-Like Language")
;; (find-rexxpgpage (+ 11 1) "1.1.3. Cross-Platform Versatility")
;; (find-rexxpgpage (+ 11 1) "1.1.4. Fewer Rules")
;; (find-rexxpgpage (+ 11 1) "1.1.5. Interpreted, Not Compiled")
;; (find-rexxpgpage (+ 11 1) "1.1.6. Built-In Classes and Functions")
;; (find-rexxpgpage (+ 11 2) "1.1.7. Typeless Variables")
;; (find-rexxpgpage (+ 11 2) "1.1.8. String Handling")
;; (find-rexxpgpage (+ 11 2) "1.1.9. Clear Error Messages and Powerful Debugging")
;; (find-rexxpgpage (+ 11 2) "1.1.10. Impressive Development Tools")
;; (find-rexxpgpage (+ 11 2) "1.2. Rexx and the Operating System")
;; (find-rexxpgpage (+ 11 2) "1.3. A Classic Language Gets Classier")
;; (find-rexxpgpage (+ 11 3) "1.3.1. From Traditional Rexx to Open Object Rexx")
;; (find-rexxpgpage (+ 11 4) "1.4. The Object Advantage")
;; (find-rexxpgpage (+ 11 5) "1.5. The Next Step")
;; (find-rexxpgpage (+ 11 6) "2. A Quick Tour of Traditional Rexx")
;; (find-rexxpgpage (+ 11 6) "2.1. What Is a Rexx Program?")
;; (find-rexxpgpage (+ 11 6) "2.2. Running a Rexx Program")
;; (find-rexxpgpage (+ 11 9) "2.3. Elements of Rexx")
;; (find-rexxpgpage (+ 11 9) "2.4. Writing Your Program")
;; (find-rexxpgpage (+ 11 10) "2.5. Testing Your Program")
;; (find-rexxpgpage (+ 11 10) "2.6. Variables, Constants, and Literal Strings")
;; (find-rexxpgpage (+ 11 11) "2.7. Assignments")
;; (find-rexxpgpage (+ 11 12) "2.8. Using Functions")
;; (find-rexxpgpage (+ 11 13) "2.9. Program Control")
;; (find-rexxpgpage (+ 11 17) "2.10. Subroutines and Procedures")
;; (find-rexxpgpage (+ 11 20) "3. Into the Object World")
;; (find-rexxpgpage (+ 11 20) "3.1. What Is Object-Oriented Programming?")
;; (find-rexxpgpage (+ 11 20) "3.2. Modularizing Data")
;; (find-rexxpgpage (+ 11 21) "3.3. Modeling Objects")
;; (find-rexxpgpage (+ 11 22) "3.3.1. How Objects Interact")
;; (find-rexxpgpage (+ 11 23) "3.3.2. Methods")
;; (find-rexxpgpage (+ 11 23) "3.3.3. Polymorphism")
;; (find-rexxpgpage (+ 11 24) "3.3.4. Classes and Instances")
;; (find-rexxpgpage (+ 11 25) "3.3.5. Data Abstraction")
;; (find-rexxpgpage (+ 11 26) "3.3.6. Subclasses, Superclasses, and Inheritance")
;; (find-rexxpgpage (+ 11 27) "4. The Basics of Classes")
;; (find-rexxpgpage (+ 11 28) "4.1. Rexx Classes for Programming")
;; (find-rexxpgpage (+ 11 28) "4.1.1. The Alarm Class")
;; (find-rexxpgpage (+ 11 28) "4.1.2. *NEW* The AlarmNotification Class")
;; (find-rexxpgpage (+ 11 28) "4.1.3. The Array Class")
;; (find-rexxpgpage (+ 11 28) "4.1.4. The Bag Class")
;; (find-rexxpgpage (+ 11 29) "4.1.5. The Buffer Class")
;; (find-rexxpgpage (+ 11 29) "4.1.6. The CaselessColumnComparator Class")
;; (find-rexxpgpage (+ 11 29) "4.1.7. The CaselessComparator Class")
;; (find-rexxpgpage (+ 11 29) "4.1.8. The CaselessDescendingComparator Class")
;; (find-rexxpgpage (+ 11 29) "4.1.9. The CircularQueue Class")
;; (find-rexxpgpage (+ 11 29) "4.1.10. The Collection Classes")
;; (find-rexxpgpage (+ 11 30) "4.1.11. The ColumnComparator Class")
;; (find-rexxpgpage (+ 11 30) "4.1.12. The Comparable Class")
;; (find-rexxpgpage (+ 11 30) "4.1.13. The Comparator Class")
;; (find-rexxpgpage (+ 11 30) "4.1.14. The DateTime Class")
;; (find-rexxpgpage (+ 11 31) "4.1.15. The DescendingComparator Class")
;; (find-rexxpgpage (+ 11 31) "4.1.16. The Directory Class")
;; (find-rexxpgpage (+ 11 31) "4.1.17. The EventSemaphore Class")
;; (find-rexxpgpage (+ 11 31) "4.1.18. The File Class")
;; (find-rexxpgpage (+ 11 31) "4.1.19. The IdentityTable Class")
;; (find-rexxpgpage (+ 11 31) "4.1.20. The InputOutputStream Class")
;; (find-rexxpgpage (+ 11 32) "4.1.21. The InputStream Class")
;; (find-rexxpgpage (+ 11 32) "4.1.22. The InvertingComparator Class")
;; (find-rexxpgpage (+ 11 32) "4.1.23. The List Class")
;; (find-rexxpgpage (+ 11 32) "4.1.24. The MapCollection Class")
;; (find-rexxpgpage (+ 11 33) "4.1.25. The Message Class")
;; (find-rexxpgpage (+ 11 33) "4.1.26. *NEW* The MessageNotification Class")
;; (find-rexxpgpage (+ 11 33) "4.1.27. The Method Class")
;; (find-rexxpgpage (+ 11 33) "4.1.28. The Monitor Class")
;; (find-rexxpgpage (+ 11 33) "4.1.29. The MutableBuffer Class")
;; (find-rexxpgpage (+ 11 34) "4.1.30. The MutexSemaphore Class")
;; (find-rexxpgpage (+ 11 34) "4.1.31. The NumericComparator Class")
;; (find-rexxpgpage (+ 11 34) "4.1.32. The Orderable Class")
;; (find-rexxpgpage (+ 11 34) "4.1.33. The OrderedCollection Class")
;; (find-rexxpgpage (+ 11 34) "4.1.34. The OutputStream Class")
;; (find-rexxpgpage (+ 11 35) "4.1.35. The Package Class")
;; (find-rexxpgpage (+ 11 35) "4.1.36. The Pointer Class")
;; (find-rexxpgpage (+ 11 35) "4.1.37. The Properties Class")
;; (find-rexxpgpage (+ 11 35) "4.1.38. The Queue Class")
;; (find-rexxpgpage (+ 11 35) "4.1.39. The Relation Class")
;; (find-rexxpgpage (+ 11 35) "4.1.40. The RexxContext Class")
;; (find-rexxpgpage (+ 11 36) "4.1.41. *NEW* The RexxInfo Class")
;; (find-rexxpgpage (+ 11 36) "4.1.42. The RexxQueue Class")
;; (find-rexxpgpage (+ 11 36) "4.1.43. The Routine Class")
;; (find-rexxpgpage (+ 11 36) "4.1.44. The Set Class")
;; (find-rexxpgpage (+ 11 36) "4.1.45. The SetCollection Class")
;; (find-rexxpgpage (+ 11 36) "4.1.46. The StackFrame Class")
;; (find-rexxpgpage (+ 11 37) "4.1.47. The Stem Class")
;; (find-rexxpgpage (+ 11 37) "4.1.48. The Stream Class")
;; (find-rexxpgpage (+ 11 37) "4.1.49. The StreamSupplier Class")
;; (find-rexxpgpage (+ 11 37) "4.1.50. The String Class")
;; (find-rexxpgpage (+ 11 38) "4.1.51. The StringTable Class")
;; (find-rexxpgpage (+ 11 38) "4.1.52. The Supplier Class")
;; (find-rexxpgpage (+ 11 38) "4.1.53. The Table Class")
;; (find-rexxpgpage (+ 11 38) "4.1.54. *NEW* Ticker Class")
;; (find-rexxpgpage (+ 11 38) "4.1.55. The TimeSpan Class")
;; (find-rexxpgpage (+ 11 38) "4.1.56. *NEW* Validate Class")
;; (find-rexxpgpage (+ 11 39) "4.1.57. *NEW* VariableReference Class")
;; (find-rexxpgpage (+ 11 39) "4.1.58. The WeakReference Class")
;; (find-rexxpgpage (+ 11 39) "4.2. Rexx Classes for Organizing Objects")
;; (find-rexxpgpage (+ 11 39) "4.2.1. The Object Class")
;; (find-rexxpgpage (+ 11 39) "4.2.2. The Class Class")
;; (find-rexxpgpage (+ 11 40) "4.3. Creating Your Own Classes Using Directives")
;; (find-rexxpgpage (+ 11 41) "4.3.1. What Are Directives?")
;; (find-rexxpgpage (+ 11 41) "4.3.2. The Directives Rexx Provides")
;; (find-rexxpgpage (+ 11 43) "4.3.3. How Directives Are Processed")
;; (find-rexxpgpage (+ 11 43) "4.3.4. A Sample Program Using Directives")
;; (find-rexxpgpage (+ 11 44) "4.3.5. Another Sample Program")
;; (find-rexxpgpage (+ 11 45) "4.4. Defining an Instance")
;; (find-rexxpgpage (+ 11 45) "4.5. Types of Classes")
;; (find-rexxpgpage (+ 11 45) "4.5.1. Object Classes")
;; (find-rexxpgpage (+ 11 45) "4.5.2. Mixin Classes")
;; (find-rexxpgpage (+ 11 46) "4.5.3. Abstract Classes")
;; (find-rexxpgpage (+ 11 46) "4.5.4. Metaclasses")
;; (find-rexxpgpage (+ 11 49) "5. A Closer Look at Objects")
;; (find-rexxpgpage (+ 11 49) "5.1. Using Objects in Rexx")
;; (find-rexxpgpage (+ 11 51) "5.2. Common Methods")
;; (find-rexxpgpage (+ 11 51) "5.2.1. Initializing Instances Using INIT")
;; (find-rexxpgpage (+ 11 52) "5.2.2. The MAKESTRING and STRING Methods")
;; (find-rexxpgpage (+ 11 54) "5.2.3. Uninitializing and Deleting Instances Using UNINIT")
;; (find-rexxpgpage (+ 11 55) "5.3. Special Method Variables")
;; (find-rexxpgpage (+ 11 56) "5.4. Public, Local, and Built-In Environment Objects")
;; (find-rexxpgpage (+ 11 56) "5.4.1. The Global Environment Object (.environment)")
;; (find-rexxpgpage (+ 11 57) "5.4.2. The Local Environment Object (.local)")
;; (find-rexxpgpage (+ 11 59) "5.4.3. Built-In Environment Objects")
;; (find-rexxpgpage (+ 11 59) "5.4.4. The Default Search Order for Environment Objects")
;; (find-rexxpgpage (+ 11 60) "5.5. Determining the Scope of Methods and Variables")
;; (find-rexxpgpage (+ 11 60) "5.5.1. Objects with a Class Scope")
;; (find-rexxpgpage (+ 11 61) "5.5.2. Objects with Their Own Unique Scope")
;; (find-rexxpgpage (+ 11 61) "5.6. More about Methods")
;; (find-rexxpgpage (+ 11 62) "5.6.1. The Default Search Order for Selecting a Method")
;; (find-rexxpgpage (+ 11 63) "5.6.2. Changing the Search Order for Methods")
;; (find-rexxpgpage (+ 11 64) "5.6.3. Public versus Private Methods")
;; (find-rexxpgpage (+ 11 65) "5.6.4. Defining an UNKNOWN Method")
;; (find-rexxpgpage (+ 11 65) "5.7. Concurrency")
;; (find-rexxpgpage (+ 11 66) "5.7.1. Inter-Object Concurrency")
;; (find-rexxpgpage (+ 11 68) "5.7.2. Intra-Object Concurrency")
;; (find-rexxpgpage (+ 11 70) "6. Commands")
;; (find-rexxpgpage (+ 11 70) "6.1. How to Issue Commands")
;; (find-rexxpgpage (+ 11 73) "6.2. Rexx and Batch Files")
;; (find-rexxpgpage (+ 11 74) "6.3. Using Variables to Build Commands")
;; (find-rexxpgpage (+ 11 75) "6.4. Using Quotation Marks")
;; (find-rexxpgpage (+ 11 76) "6.5. ADDRESS Instruction")
;; (find-rexxpgpage (+ 11 78) "6.6. Using Return Codes from Commands")
;; (find-rexxpgpage (+ 11 78) "6.7. Subcommand Processing")
;; (find-rexxpgpage (+ 11 78) "6.8. Trapping Command Errors")
;; (find-rexxpgpage (+ 11 79) "6.8.1. Instructions and Conditions")
;; (find-rexxpgpage (+ 11 80) "6.8.2. Disabling Traps")
;; (find-rexxpgpage (+ 11 80) "6.8.3. Using SIGNAL ON ERROR")
;; (find-rexxpgpage (+ 11 80) "6.8.4. Using CALL ON ERROR")
;; (find-rexxpgpage (+ 11 81) "6.8.5. A Common Error-Handling Routine")
;; (find-rexxpgpage (+ 11 82) "7. Input and Output")
;; (find-rexxpgpage (+ 11 82) "7.1. More about Stream Objects")
;; (find-rexxpgpage (+ 11 82) "7.2. Reading a Text File")
;; (find-rexxpgpage (+ 11 84) "7.3. Reading a Text File into an Array")
;; (find-rexxpgpage (+ 11 84) "7.4. Reading Specific Lines of a Text File")
;; (find-rexxpgpage (+ 11 85) "7.5. Writing a Text File")
;; (find-rexxpgpage (+ 11 86) "7.6. Reading Binary Files")
;; (find-rexxpgpage (+ 11 86) "7.7. Reading Text Files a Character at a Time")
;; (find-rexxpgpage (+ 11 87) "7.8. Writing Binary Files")
;; (find-rexxpgpage (+ 11 88) "7.9. Closing Files")
;; (find-rexxpgpage (+ 11 88) "7.10. Direct File Access")
;; (find-rexxpgpage (+ 11 90) "7.11. Checking for the Existence of a File")
;; (find-rexxpgpage (+ 11 91) "7.12. Getting Other Information about a File")
;; (find-rexxpgpage (+ 11 91) "7.13. Using Standard I/O")
;; (find-rexxpgpage (+ 11 93) "7.14. Using Windows Devices")
;; (find-rexxpgpage (+ 11 94) "A. Distributing Programs without Source")
;; (find-rexxpgpage (+ 11 95) "B. Sample Rexx Programs")
;; (find-rexxpgpage (+ 11 102) "C. Notices")
;; (find-rexxpgpage (+ 11 102) "C.1. Trademarks")
;; (find-rexxpgpage (+ 11 103) "C.2. Source Code For This Document")
;; (find-rexxpgpage (+ 11 104) "D. Common Public License Version 1.0")
;; (find-rexxpgpage (+ 11 104) "D.1. Definitions")
;; (find-rexxpgpage (+ 11 104) "D.2. Grant of Rights")
;; (find-rexxpgpage (+ 11 105) "D.3. Requirements")
;; (find-rexxpgpage (+ 11 105) "D.4. Commercial Distribution")
;; (find-rexxpgpage (+ 11 106) "D.5. No Warranty")
;; (find-rexxpgpage (+ 11 106) "D.6. Disclaimer of Liability")
;; (find-rexxpgpage (+ 11 106) "D.7. General")
;; (find-rexxpgpage (+ 11 108) "E. Revision History")
;; (find-rexxpgpage (+ 11 109) "Index")


# (find-sh "locate rexxapi")


* (eepitch-shell2)
mkdir -p $S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/
cd       $S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/
rpm2cpio *.rpm | cpio -idmv


(progn
(code-c-d "oorexxdocs" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/")
(code-pdf-page "oorexxreadme" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/readme.pdf")
(code-pdf-text "oorexxreadme" "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/readme.pdf")
(code-pdf-page "oorexxref"    "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/rexxref.pdf")
(code-pdf-text "oorexxref"    "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/rexxref.pdf")
(code-pdf-page "oorexxunix"   "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/unixextensions.pdf")
(code-pdf-text "oorexxunix"   "$S/https/sourceforge.net/projects/oorexx/files/oorexx-docs/4.2.0/unixextensions.pdf")
)
;; (find-oorexxdocsfile "")
;; (find-oorexxrefpage)
;; (find-oorexxreftext)
;; (find-oorexxunixpage)
;; (find-oorexxunixtext)
;; (find-oorexxreadmepage)
;; (find-oorexxreadmetext)



#####
#
# oorexx-mode
# 2020jan05
#
#####

# «oorexx-mode» (to ".oorexx-mode")
# https://mail.google.com/mail/ca/u/0/#inbox/FMfcgxwGCbLSkRztvdRScsnRtMwCdJvb
# (find-angg ".emacs" "auto-mode-alist")
# (find-angg ".emacs" "auto-mode-alist" "oorexx-mode")
# (find-angg "elisp/oorexx-mode.el")
# (load    "~/elisp/oorexx-mode.el")
# (find-sh "locate oorexx-mode")

# (find-srffile "")
# (find-angg "REXX/pig.rexx")




#####
#
# sc
# 2019dec27
#
#####

# «sc» (to ".sc")
# (find-fline "~/REXX/sc.rexx")
# (find-fline "~/REXX/sc.rexx" "word prefixes")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
~/REXX/sc.rexx

:c 9 * 5 / 32 +   # to farenheit
:f 32 - 5 * 9 /   # to celsius

:.. 2 .p          # print with two decimal places
:.% 100 * ..      # display as a percentage

:d dup            
:x swap
:.digits digits .

# quick register access
:m ->m
:mm <-m

# these use doubles (because log does)
:logn swap log swap log /
:log2 2 logn




#####
#
# eepitch-rexxsc
# 2019dec27
#
#####

# «eepitch-rexxsc» (to ".eepitch-rexxsc")
# (find-angg ".emacs" "rexx-sc")
# (find-fline "~/REXX/sc.rexx")
# (find-fline "~/REXX/sc.rexx" "when word=")
# (find-fline "~/REXX/sc.rexx" "binopWords=" "+")

* (eepitch-rexxsc)
* (eepitch-kill)
* (eepitch-rexxsc)
1 2 + .

:c 9 * 5 / 32 +   # to farenheit
:f 32 - 5 * 9 /   # to celsius

:.. 2 .p          # print with two decimal places
:.% 100 * ..      # display as a percentage

:d dup            
:x swap
:.digits digits .

# quick register access
:m ->m
:mm <-m

# these use doubles (because log does)
:logn swap log swap log /
:log2 2 logn

* (eepitch-rexxsc)
* (eepitch-kill)
* (eepitch-rexxsc)
words
.macros
.registers






#####
#
# sc-chat-2019dec27
# 2019dec27
#
#####

# «sc-chat-2019dec27» (to ".sc-chat-2019dec27")

:d dup
: c works too
my favourite is .%
.p is ( a b -- ) where a is a number and b the number of places
the .. macro is then trivial
as is .%, which prints a number as a nicely formatted percentage
:.. 2 .p # print with two decimal places :.% 100 * .. # display as a percentage
:.. 2 .p:.% 100 * .. # display as a percentage
damnit!
:.. 2 .p

:.% 100 * ..
->foo writes
<-foo reads
: rot ->tmp swap <-tmp swap
:-rot rot rot 
what else?  octal and hex literals as the web page shows, 0o7777 etc.
-1 2 15 ** + dup dup . .oct .hex
120 ! .  200 set-digits   120 ! .




#####
#
# 0branch-repl
# 2021jan18
#
#####

# «0branch-repl»  (to ".0branch-repl")
# https://0branch.com/highlight/snippets/repl.rexx
# https://0branch.com/snippets/repl.rexx

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-sh "rexx")
rexx $S/https/0branch.com/snippets/repl.rexx

# (find-angg ".emacs" "eepitch-oorexx")

* (eepitch-oorexx)
* (eepitch-kill)
* (eepitch-oorexx)







#####
#
# 0branch-oorexx
# 2019dec28
#
#####

# «0branch-oorexx» (to ".0branch-oorexx")
# (find-git-links "https://github.com/0branch/ooRexx" "ooRexx")
# (find-git-links "https://github.com/0branch/ooRexx" "0brexx")
# https://github.com/0branch/ooRexx

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -Rfv ~/usrc/ooRexx/
cd      ~/usrc/
git clone https://github.com/0branch/ooRexx
cd      ~/usrc/ooRexx/

git branch --list -a
git for-each-ref
PAGER=cat git log --oneline --graph --all -20

# (find-fline "~/usrc/")
# (find-fline "~/usrc/ooRexx/")
# (find-gitk  "~/usrc/ooRexx/")

# (code-c-d "0brexx" "~/usrc/ooRexx/")
# (find-0brexxfile "")
# (find-0brexxfile "INSTALL")
# (find-0brexxfile "INSTALL" "Use a binary installer package")





#####
#
# srf
# 2020jan03
#
#####

# «srf» (to ".srf")
# https://0branch.com/snippets/srf-697e70.tgz
# https://0branch.com/snippets/srf.patch
# https://0branch.com/snippets/srf-13354e1226.tar.gz

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/srf-697e70/
tar -C ~/usrc/ -xvzf $S/https/0branch.com/snippets/srf-697e70.tgz
cd     ~/usrc/srf-697e70/

# (find-fline "$S/https/0branch.com/snippets/srf.patch")
patch -p0    < $S/https/0branch.com/snippets/srf.patch

# (find-man "patch")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "~/usrc/srf-13354e1226/")
rm -Rv ~/usrc/srf-13354e1226/
mkdir  ~/usrc/srf-13354e1226/
tar -C ~/usrc/ -xvzf $S/https/0branch.com/snippets/srf-13354e1226.tar.gz
cd     ~/usrc/srf-13354e1226/

# (code-c-d "srf" "~/usrc/srf-697e70/")
# (code-c-d "srf" "~/usrc/srf-13354e1226/")
# (find-srffile "")
# (find-srffile "doc/")
# (find-srffile "doc/readme")
# (find-srffile "doc/words")
# (find-srffile "lib/")
# (find-srffile "lib/interpreter.cls")
# (find-srffile "lib/numerics.cls")
# (find-srffile "lib/stack.cls")
# (find-srffile "lib/token.cls")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd     ~/usrc/srf-697e70/
cd     ~/usrc/srf-13354e1226/
rexx -v
export PATH=$HOME/usrc/ooRexx/bld/bin/:$PATH
rexx -v
./srf
1 2 + .
'0 "dup .  1 +" 5 repeat drop  10 rand 9 = until' forever
1 2 3 .s
.s

'stack~push(123 * 456)' host .s

-- access vocab table directly:
'say vocab[":"]' host
'vocab["foo"]=123' host
foo .
-- access the stack:
.s
'stack~push(123 * 456)' host .s
-- run shell commands:
'"ls /"' host
-- encapsulate in words:
'"ls ' word '"' concat concat .
: ls '"ls ' word '"' concat concat host
ls /
ls ~
-- end of examples

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# 2020jan06:
cd     ~/usrc/srf-13354e1226/
export PATH=$HOME/usrc/ooRexx/bld/bin/:$PATH
./srf
: ! 'inc *' over dec repeat#
5 ! .
123 ! .
206 set-digits 123 ! .
10  set-digits 123 ! .
: see  word dup  'fetch trim' 'drop "[not a high-level word]"'  rot defined if  .
see !
see bletch
words
-- (find-srffile "doc/words")
-- (find-srfgrep "grep --color -nrH --null -e drops *")
see drops
see repeat




#####
#
# srf from the fossil repo
# 2020jan10
#
#####

# «srf-fossil» (to ".srf-fossil")
# (find-sh "fossil help up")
# http://fossil.0branch.com/srf/index

* (eepitch-shell2)
* (eepitch-kill)
* (eepitch-shell2)
# rm -fv ~/usrc/fossil-repos/srf.fsl
mkdir -p ~/usrc/fossil-repos/
cd       ~/usrc/fossil-repos/

fossil clone http://edrx@fossil.0branch.com/srf    srf.fsl
fossil pull  http://edrx@fossil.0branch.com/srf -R srf.fsl
fossil all ls

# cd        ~/usrc/srf/ && fossil close
# rm -Rfv   ~/usrc/srf/
mkdir -p    ~/usrc/srf/
cd          ~/usrc/srf/
fossil open ~/usrc/fossil-repos/srf.fsl
fossil update

# http://fossil.0branch.com/srf/info/0dec0bad9d928c71
fossil up multiline-comments
fossil up host-experiment
fossil up trunk

cp -v       ~/usrc/srf/eg/srfrc ~/.srfrc

# (code-c-d "srf" "~/usrc/srf/")
# (find-srffile "")
# (find-srffile "srf")
# (find-srffile "eg/")
# (find-srffile "eg/dot-srfrc")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
~/usrc/srf/srf
1 2 + .

* (eepitch-srf)
* (eepitch-kill)
* (eepitch-srf)
1 2 + .

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd     ~/usrc/srf/
export PATH=$HOME/usrc/ooRexx/bld/bin/:$PATH
./srf
1 2 + .
die .
5 ! .
'read: "' ask upper 5 from '" (uppercased)' concat concat .
  Hello world

-- (these are all good candidates for primitives)
: tr      'o=stack~pop; i=stack~pop; s=stack~pop; stack~push(translate(s, o, i))' host
: char    'stack~push(d2c(stack~pop))' host
: quote   'stack~push(quote(stack~pop))' host

: value   swap quote swap store       -- store a literal/quoted value
: letter  dup length rand  1 substr   -- random letter in string

-- quoting before storing (via 'value') allows us to use these as normal words:
'aeiou' 'vowels' value
-- 'abcdefghijklmnopqrstuvwxyz' 'alphabet' value
''  '97 + char concat' 26 repeat#  'alphabet' value
alphabet  vowels '' tr  ' ' '' gsub  'consonants' value

-- dumb example: random templated string 
: C       consonants letter
: V       vowels letter

-- print 10 random strings
"C V C C V C 'concat' 5 repeat ." 10 repeat




#####
#
# srf-lua
# 2020jan29
#
#####

# «srf-lua» (to ".srf-lua")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd     ~/usrc/srf/
fossil up
mkdir lua/
cd     ~/usrc/srf/lua/
cp -v ~/LUA/lua50init.lua edrxlib.lua
cd     ~/usrc/srf/lua/
cd     ~/usrc/srf/
fossil add lua/readme
fossil add lua/edrxlib.lua

fossil commit -m 'adding lua directory' --branch lua

# (find-srffile "")
# (find-srffile "lua/")
# (find-srffile "lua/readme")

cd     ~/usrc/srf/
laf
fossil branch
fossil checkout trunk
fossil branch
laf
fossil checkout lua
laf

cd     ~/usrc/srf/lua/
fossil add srf0.lua srf1.lua
fossil commit -m 'add srf0.lua and srf1.lua'




#####
#
# multiline-comments
# 2021jan18
#
#####

# «multiline-comments»  (to ".multiline-comments")
# (find-angg "SRF/test1.srf")

* (eepitch-srf)
* (eepitch-kill)
* (eepitch-srf)
: /* sentence drop  'ask "*/" = until' forever

/*
1 2 + .
*/

1 2 + .








#####
#
# Marc's mirror of ooRexx
# 2020jan03
#
#####

# «oorexx-marc» (to ".oorexx-marc")
# https://github.com/0branch/ooRexx

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rfv ~/usrc/ooRexx/
cd      ~/usrc/
git clone https://github.com/0branch/ooRexx
cd      ~/usrc/ooRexx/

export PAGER=cat
git branch --list -a
git for-each-ref
git log --oneline --graph --all -20

cd      ~/usrc/ooRexx/
mkdir bld
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bld .  |& tee ocm
make          |& tee om
make install  |& tee omi

# (find-fline "~/usrc/")
# (find-fline "~/usrc/ooRexx/")
# (find-gitk  "~/usrc/ooRexx/")

# (code-c-d "ooRexx" "~/usrc/ooRexx/")
# (find-ooRexxfile "")
# (find-ooRexxfile "samples/")
# (find-ooRexxfile "omi")
# (find-ooRexxfile "bld/bin/")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
export PATH=$HOME/usrc/ooRexx/bld/bin/:$PATH
w rexx
~/REXX/repl.rexx
say .rexxinfo~version '(r'.rexxinfo~revision'), built' .rexxinfo~date




#####
#
# parsing
# 2020jan03
#
#####

# «parsing» (to ".parsing")
# (find-oorexxrefpage (+ 22 64) "2.18. PARSE")
# (find-oorexxreftext (+ 22 64) "2.18. PARSE")
# (find-oorexxrefpage (+ 22 583) "9" "Parsing")
# (find-oorexxreftext (+ 22 583) "9" "Parsing")








oh, yes, maybe
[http://0branch.com/highlight/snippets/piping.rexx here now]


file:///home/edrx/tmp/Regina-REXX-3.6-i686-pc-linux-gnu.tgz

http://downloads.sourceforge.net/project/regina-rexx/regina-rexx/3.6/Regina-REXX-3.6-i686-pc-linux-gnu.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fregina-rexx%2Ffiles%2Fregina-documentation%2F&ts=1326802768&use_mirror=ufpr



* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
cat > hi.rexx <<'%%%'
#!/usr/bin/env regina -a
parse arg name
say "Hi" name
%%%

chmod +x hi.rexx
/tmp/hi.rexx



http://0branch.com/highlight/snippets/nrj

http://ibm-netrexx.215625.n3.nabble.com/The-NetRexx-interpreter-and-static-state-td3681783.html
http://ibm-netrexx.215625.n3.nabble.com/
http://ibm-netrexx.215625.n3.nabble.com/Patch-for-netrexx-mode-el-Emacs-td3668998.html


http://www.markcrocker.com/rexxtipsntricks/rxtt28.2.0224.html
http://www.kilowattsoftware.com/tutorial/rexx/parseTutorial.htm

https://groups.google.com/forum/#!searchin/comp.lang.rexx/emacs%7Csort:date


Emacs and oorexx:
https://mail.google.com/mail/ca/u/0/#inbox/FMfcgxwGCbLSkRztvdRScsnRtMwCdJvb


https://0branch.com/snippets/srf.patch





#  Local Variables:
#  coding:               utf-8-unix
#  End: