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.

231012

   map:

      I made an edit which swapped out xv for gwenview.

   menu.dat:

      I updated the menu for the change to map.

231022

   I made changes to the comments at the top of very nearly all the
   of this distribution.

   And from this point forward I will try not to include any
   directories called "junk" in the distribution.

231121

   escape:

      I added this script to this menu.

   dollar:

      I added this script to this menu.

   drab.sam:

      I added this function to this menu.

231229

   view_it:

      I added this script to this menu.

231230

   view_it:

      I modified this script.

   mshow.sam:

      I modified this function definition.

   type_set.sam:

      I added this function definition to this menu.

   wolf:
      I modified this script.

231231

   mshow.sam:

      I modified the function definition.

   view_it:

      I modified this script.

   type_set.sam:

      I modified this function definition.

   mshow.sam, mshow:

      I changed mshow.sam from a function definition into a script.

240101

   dog, sam_view:

      I modified these scripts.

   type_set.sam:

      I modified this function definition.

   ment:

      I modified this script.

240102

   ment:

      I modified this script.

240106

   dog:

      I modified this script.

   fetch:

      I wrote this script.

240109

   dog, wolf:

      I modified these scripts.

240112

   mshow:

      I modified this scsript.

   type_set.sam:

      I modified this function definition.

240113

   lc.sam, menu.dat:

      I removed this function definition after first putting it and
      menu.dat in pass19.  I updated menu.dat.

240114

   map, picture:

      I removed these scripts, as view_it can be used instead of them.

   menu.dat:

      I modified the descriptions of function mkstring and script
      prn2file. 

   pda.sam, pdb.sam:

      I removed these functions, as they were no longer useful.

   menu.dat:

      I updated this file.

240116:

   samlabel, sammntpt, st_after:

      I moved these scripts to /mnt/joe_root/handy.

   menu.dat:

      I updated this file.

240120:

   ex_dog:

      I added this script.

   data:

      I added this directory.

   data:

      ex_dog.dat, ex_dog.jpg:

         I added these files.

240125

   mshow:

      I modified this script.

240319

   menu.dat:

      I updated this file with improved descriptions of "type_set" and
      "wolf.

240405

   fat_ment:

      I modified this script.

240407

   rotate:

      I made this script.

240409

   rotate:

      I modified this script.

240419

   view_it:

      I added a comment to the script.

240508

   menu.dat:

      I edited the description of dog.

240515

   msub:

      I modified this script.

240525

   rotate:

      I modified this script.

240531

   menu.dat:

      I edited the description of msub.

240624

   fat_ment:

      I modified this script, and then I removed it.

   ment:

      I modified this script.

   menu.dat:

      I removed fat_ment from the menu.

240701

   sub.sam:

      I modified this function definition.

   menu.dat:

      I edited the description of sub.

240702

   sub.sam:

      I removed this function definition.

   menu.dat:

      I removed the description of sub.

   mshow:

      I modified this script.

   view_it:

      I modified this script.

   wolf:

      I modified this script.

240706

   msub:

      I modified this script.

   menu.dat:

      I modified the description of msub.

240709

   rotate:

      I modified this script.

   menu.dat:

      I updated the description of rotate.

240724

   view_it:

      I modified this script.

240724

   dog:

      I modified this script.

   wolf:

      I modified this script.

240726

   menu.dat:

      I modified the descriptions of dog, type_set, view_it and wolf.

240729

   view_it:

      I modified this script.

   menu.dat:

      I modified the description of view_it.

240804

   menu.dat:

      I removed the descriptions of checkpkg and bits, as these scripts
      are not currently in SAM.tool.

      I revised the description for function chang.

      I added descriptions for existing scripts compile and fmenu.

241124

   rotate:

      I modified this script.

   menu.dat:

      I modified the description of rotate.

241126

   where:

      I wrote this script.

   doink:

      I moved this script here from my personal $lib/handy0.

   menu.dat:

      I added descriptions of where and doink.

241227

   mark.sam, byemark.sam, shomark.sam:

      I wrote these function definitions.

241228

   finmark:

      I wrote this function definition.

241230

   ex_dog:

      I removed and regenerated this script.

   dog, wolf:

      I modfied these scripts.

   menu.dat:

      I modified the descriptions of dog and wolf.

250108:

   dog, wolf:

      I modified these scripts.

250123:

   clr_temp, temp_num:

      I wrote these scripts.
