110109

This is the beginning of the SAM tool package log.  The code in here
was previously a part of the example package, but it has been split-off
to for a separate package.

110110

I moved love.f from the tool package to the kernel package.  It seems
to belong there.  It may make the user experience easier.  See my notes
in the kernel change log.

110115

I made no changes since the last release, 110112aa.

110327

I removed xargs by putting it in junk.  It seems it isn't needed.  I
tried removing it when I noticed that it wasn't working in Slackware
13.1 (transistioning from 12.0).  That was a relief.  I was hoping to
dump it in favor of the xargs that comes with standard with Slackware.

111223

I'm preparing to release again.  Note the changes above, since some
have occurred since the last release, 110116aa.  I have also made these
changes since the last release: 

I added lc.f.

I removed xargs, because it seems it wasn't needed.

I replaced the use of "set" with "type" in ment.f.

I updated menu.dat.

120419

I changed map to operate on all files $1.*.  I updated the menu.dat
correspondingly.

140829

I changed sam_edit. I changed exed to texed.  texed works better with
recent changes to JOE involving syntax coloration.  See notes in texed.

150107

I changed

   dog

I added the version number as $2.  This allows the use of

   "dog notes 1"

This is a syntax similar to "notes 1" which is already in use.

150114

I made

   emenu

and updated the corresponding menu.dat file.

emenu uses texed to edit $level/menu.dat, or if there is one argument,
$1/menu.dat.

150330

I made some edits to menu.dat.

170816

   git_readme.txt, .git, cachmet2:

      These are new.  I used them to upload to a SourceForge git
      repository.

180327

   I removed git_readme.txt and .git.

   dog:

     I updated this tool.

180401

   dog:

      On about 180219 I changed the code to make it compatible with
      Zombie.  It detects Zombie mode by the non-blank value of
      ZombieDisplay.  As part of this change I changed the place where
      dog.html is stored--now in /tmp instead of $env_scratch.

180401

   dog:

      I changed the code to account for variable bplace having been
      changed to sam_root.

181115

   dog:

      I changed the code to have two different purposes.  I call them
      dog and named.  Purpose dog is the original purpose and the code
      performs in the original way.  Purpose named uses the name of an
      existing, normally remote, URL saved in file
      /tmp/dog_name.

      I made this change with the new purpose to facilitate safe
      browsing of URL links in emails.  This is a problem otherwise,
      because I feel the only safe way to open anything in a web
      browser is in ZombieSlak's student.  ZombieSlak's student remakes
      /home/student at each boot, so it doesn't harbor cookies,
      malware, etc.

      But to use ZombieSlak's student to go to URL links named in an
      email requires a handy means of getting to the URL.  That is what
      this new dog purpose does.

181230

   dog:

      I changed variable SuperDisplay to ZombieDisplay.  I did this,
      because SuperDrive is now called ZombieSlak.  Note that I also
      (perhaps a bad thing to do) changed all the occurences of "Super"
      to "Zombie" and "SuperDrive" to "ZombieSlak" in this changlog.txt
      file--except for the two uses above in this paragraph.

190216

   dog:

      I changed the chmod for dog_name and dog.html from

         chmod ugo+r /tmp/dog.html

      to

         chmod 644 /tmp/dog.html
         
         # Bail if the above fails.
         result=$?; bad "chmod 644 /tmp/dog.html failed."


      And I made a corresponding change for dog_name.  I did this,
      because I was having conflicts.  That occurred from use of dog by
      different users, as happens when it is run as non-student in
      ZombieSlak.

      There is some history to this.  Before I put dog to use for
      ZombieSlak I dog.html was in $env_scratch.  I needed to make it
      readable by multiple users, but--this is important--it is not a
      good idea to just make it "chmod ugo+rw".  I did not do this.

      Instead I made the code better.  It now checks that the
      permissions are 644 and thus do not allow writing except by the
      owner.  It will exit with an error message if there is a problem. 
      The user will just have to deal with it.

      I need to keep these (dog.html and dog_name) files secure,
      otherwise something could happen, exploit or accident, to change
      the links.  This could be trouble.

      OK, I added more.  Now errors in two steps which preceed the
      above will also trigger failure.  These two steps are the
      creation of dog_name and updating of dog.html.

      And I added cleanup feature (dog gone) which removes dog.html and
      dog_name.

      And I changed the adding of the splurge menu to not use
      /home/joe/config, as student was having trouble with it.

      One more thing.  I added some functions to the code.  It now
      defines and uses a function called bail.  This is needed by
      the functions of

         /boot/tool/script_tools

      which it sources.  I did this so I could use function bad of
      script_tools.

190426

   sam_edit:

      I changed this in two ways:

         -I moved it to

            sam_editcor

         -I made a symlink:

            sam_edit->../example/handy/ex_base

      I did this so that sam_edit would use the new ex_base versions of
      the exed family.

190831

   sam_edit:

      I reversed the above changes.

191006

   menu.dat:

      I improved the documentation for dog:

         I documented "Purpose accessory".

         I explained that "Purpose original" requires jopublic, which
         is not currently available in the /RS installation.

191022

   ment.f:

      I changed the code so it puts "\$level" into the scripts that it
      makes instead of "$level".

191110

   sam_edit:

      I rearranged the if-block which previously would not allow
      editing of a file (by non-root) which was both big and writable.

      Now it does allow editing of such files, but it gives an
      explanation regarding big files and makes you press a key to
      continue.

      It still gives the "You must be root..." message, but that comes
      first in the if-block, as the code was easier that way.

      These changes were motivated by some code I wrote that invokes
      $sam_root/begin to do some clever things.  I discovered in the
      process that I needed an easier way to open archived files for
      writing.  That's when I realized that I needed a new paradigm and
      a new term:

         A big file left as writable is either a mistake or a "hybrid".

      I added the above explanation to the code and gave write
      permission to all of the, currently of interest, hybrid files. 
      The "currently of interest" files were work-related for my
      current job.

191201

   menu.dat:

      I made a minor edit by adding the word "end" where I had omitted
      it by mistake in the description for the hold command.

200425

   away.f, cdfar.f, chang.f, home.f, lc.f, root.f, sub.f:

      All of these are functions yet they had the #!/bin/sh pragma.  I
      removed it.

200903

   dog:

      I changed the way that script_tools was referenced.

200918

   hold:

      I replaced "sam1-5" with "sam1 5".  I think this is correct.  It
      made the error message go away.

      It seems I haven't tried the hold command in many years.  I have
      to say that I don't recall what exactly hold is good for.  Since
      I haven't used it in so long, maybe it isn't needed.  Anyway,
      perhaps I fixed it.

201027

   pony.spl:

      I added code to the beginning making this the result:

         <html>
         <body>
         <center>
         <table border="0" cellpadding="0" cellspacing="0"><tr>
         <td bgcolor="white" width="800" valign="top">
         <pre>

      And I added code to the ending making this this result:

         </pre>
         </td></tr></table>
         </center>
         </body>
         </html>

      The middle:

         `splurge9 $2`

      remains as it was.

      The reason for these changes was to give the page a width thus
      allowing the use of <center> ... </center> in a practical way.

      I may want to do this to center titles.  Or alternately, say for
      a poem that has short lines, I may want to simply indent the
      titles using <ul> ...  </ul>.  (Note that </ul> seems to give the
      equivalent of <br>, so perhaps use one less <br> at this point.)

210207

   menu.dat:

      I cleaned up this file by editing the format and the sequence.

   section:

      I added this tool.

210213

   sectmenu:

      I added this tool.

220108

   menu.dat:

      I made an edit to explain that sub also adds optional $2.
