--- cube.cmd	2019-02-21 02:59:00.000000000 -0000
+++ cube.cmd	2019-02-21 03:00:00.000000000 -0000
@@ -5,11 +5,10 @@
     º  Batch update of CONFIG.SYS-like files. CUBE modifies a Target ASCII  º
     º  file, given a set of commands in a Procedure file.                   º
     º                                                                       º
+    º  2019-02-09 V3.0 RLW Adjust box-drawing characters for CP850          º
     º  2019-02-09 V3.0 RLW Correct endless REPSTRING loop                   º
     º  2019-02-09 V3.0 RLW Remove dead code                                 º
-    º  2019-01-25 V2.9 SCS remove the bootdrive hack from YD                º
-    º                      newer rpm don't need that anymore, as we have    º
-    º                      nice rpm scripts for that now                    º
+    º  2019-01-25 V2.9 SCS Remove the bootdrive hack - no longer needed     º
     º  2018-06-12 V2.8 SHL Correct comments - no functional changes         º
     º  2017-04-01 V2.8 SHL Correct ADDSTRING ALWAYS logic more              º
     º  2015-04-28 V2.7 SHL Correct ADDSTRING logic                          º
@@ -168,19 +167,19 @@
 if chkmd = 0 then call exit 1 source 'ended.'      /* It's OVER !! and OK !!  */
 if chkmd = 1 then call exit 2 source 'ended.'      /*                         */
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  Error report and action (based on Onerr setting, from ONERROR cmd)   Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  Error report and action (based on Onerr setting, from ONERROR cmd)   º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 OnErrorDo:
   parse arg line,msg
   say PFile', line' line':' msg
   if OnErr = 'STOP' then call Exit 0 source 'stopped.'
                     else return 0
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  Searches All or First or Last lines in Target starting with string   Æ
-   ³  Returns the line number(s) found.                                    Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  Searches All or First or Last lines in Target starting with string   º
+   º  Returns the line number(s) found.                                    º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 Whereis: procedure expose Target. CaseM LStrip
  parse arg string,direction,mode
  if wordpos(direction,'F A')>0 then do; de=1; a=Target.0; par=1; end
@@ -205,9 +204,9 @@
  end
  return ret
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  Update Target file from Target. stem. Remove '       ' lines Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  Update Target file from Target. stem. Remove '       ' lines º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 SaveFile:
  address cmd 'erase' TFile
  src = rc
@@ -220,9 +219,9 @@
  end
  return src
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  Insert a line in Target file (stem) after line number i.             Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  Insert a line in Target file (stem) after line number i.             º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 Insert: procedure  expose Target. NumberOfChanges
  parse arg i string
  if i = Target.0 then k = Target.0 + 1
@@ -239,10 +238,10 @@
  NumberOfChanges = NumberOfChanges + 1
  return
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  returns a procedure command line  with all strings uppercased, exceptÆ
-   ³  doubled-quoted strings.                                              Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  returns a procedure command line  with all strings uppercased, exceptº
+   º  doubled-quoted strings.                                              º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 upkw: procedure expose vn. vv. _d_
   parse arg sentence
   sentence = strip(sentence)
@@ -260,9 +259,9 @@
   end
   return phrase
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  apply command line-specified substitutions within a string           Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  apply command line-specified substitutions within a string           º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 Cmdrs: procedure expose vn. vv.
  parse arg y
  do i = 1 to vn.0
@@ -278,9 +277,9 @@
  end
  return y
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³  apply env. variables substitutions to STRING if req. in OPTION.      Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º  apply env. variables substitutions to STRING if req. in OPTION.      º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 Envrs: procedure
   Parse arg String,Option
   out = ''
@@ -295,10 +294,10 @@
   end
   return String
 
-/* ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍž
-   ³ All that must be done to quit and more: say msg, save Target file if  Æ
-   ³ necessary (type=1).                                                   Æ
-   ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŸ  */
+/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
+   º All that must be done to quit and more: say msg, save Target file if  º
+   º necessary (type=1).                                                   º
+   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ  */
 Exit:
  parse arg type msg
  src=0
@@ -466,8 +465,6 @@
          Tar= Target.w; Wi = With; end             /*     string compare mode */
       else do
          Tar = translate(Target.w); Wi=translate(With); end  /*     string compare mode */
-      /* 2015-04-28 SHL was leaving early */
-      /* 2017-04-01 SHL was still failing if not always */
       if pos(Wi,Tar) = 0 |,                        /* String not there or    */
          wordpos('ALWAYS',Opt) <> 0 then do        /* ALWAYS specified.       */
       select                                       /* Where to add ?          */
@@ -575,7 +572,6 @@
            Tar = Target.w; Os=Ostr; end            /*     string compare mode */
         else do
            Tar = translate(Target.w); Os=translate(Ostr); end  /*     string compare mode */
-        /* 2015-04-28 SHL avoid spurious uppercasing */
         ospos = pos(Os,Tar)
         if ospos > 0 then do                       /*     String is there     */
            s = left(Target.w, ospos - 1)
