From ce2b1f40072ba2be2945e35c5725d07803f85d9d Mon Sep 17 00:00:00 2001 From: Kai Jaeger Date: Thu, 2 May 2024 15:45:42 +0200 Subject: [PATCH] Serious `Replace` bug fixed --- APLSource/Fire/GUI/CheckSALTedScripts.aplf | 4 +- APLSource/Fire/History.apla | 6 ++- APLSource/Fire/Replace/FixScript.aplf | 18 ++++---- APLSource/Fire/Replace/QFX.aplf | 12 +++--- APLSource/Fire/Version.aplf | 2 +- APLSource/TestCases/Test_Replace_068.aplf | 50 ++++++++++++++++++++++ APLSource/TestCases/Test_Replace_069.aplf | 50 ++++++++++++++++++++++ Docs/ReleaseNotes.md | 5 +++ html/FireAndRegularExpressions.html | 2 +- html/ReadMe.html | 2 +- html/ReleaseNotes.html | 10 ++++- html/UsefulRegExes.html | 2 +- 12 files changed, 139 insertions(+), 24 deletions(-) create mode 100644 APLSource/TestCases/Test_Replace_068.aplf create mode 100644 APLSource/TestCases/Test_Replace_069.aplf diff --git a/APLSource/Fire/GUI/CheckSALTedScripts.aplf b/APLSource/Fire/GUI/CheckSALTedScripts.aplf index 78b7209..54241ca 100644 --- a/APLSource/Fire/GUI/CheckSALTedScripts.aplf +++ b/APLSource/Fire/GUI/CheckSALTedScripts.aplf @@ -1,8 +1,8 @@ CheckSALTedScripts←{ ⍝ Check whether any SALT managed scripts got changed and if so report them. ⍝ This is because Fire changes thenm in the WS but does NOT tell SALT about it. - (0∊no←⍴##.G.ChangedSaltedScript):⍬ - m←⊂(⍕no),' script',((1 Object Syntax > Expose GUI Properties + diff --git a/html/FireAndRegularExpressions.html b/html/FireAndRegularExpressions.html index 6414e4f..25ffa45 100644 --- a/html/FireAndRegularExpressions.html +++ b/html/FireAndRegularExpressions.html @@ -8,7 +8,7 @@ html{-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}body{margin:0;font-family:Verdana, Arial, "Liberation Sans", sans-serif;background-color:#323232;font-size:16px;max-width:900px;padding:0.83em;color:#DDD;margin-left:auto;margin-right:auto;overflow-wrap:break-word;line-height:1.4;}h1,h2,h3,h4,h5,h6{color:hsl(39,97%,83%);padding-left:0;}h1,h2,h3,h4{margin-bottom:0.88em;}h1{font-size:1.5em;margin:0.27em 0 1.11em 0;}h1 > code,h2 > code,h3 > code,h4 > code,h5 > code,h6 > code{font-size:1em;background-color:inherit;}h2{font-size:1.35em;margin:0.55em 0 0.55em 0;padding-top:0.55em;border-bottom:1px solid Silver;}nav h2{font-size:1.20em;margin:0 0 0.75em 0;}h3{margin:0;margin-top:0.75em;font-size:1.25em;}h4{font-size:1.2em;margin:0;margin-top:0.75em;}h5{font-size:1.15em;margin:0;margin-top:0.60em;padding:0;}h6{font-size:1em;margin:0;margin-top:0.60em;padding:0;}hr{border:0;border-top:1px solid silver;}a{color:#A3A3FF;margin:0;padding:0;vertical-align:baseline;}a:visited{color:hsl(270,70%,85%);}a:visited code{color:hsl(270,70%,85%);}a.autoheader_anchor{text-decoration:none;}img{margin-top:0.55em;margin-bottom:0.27em;}ul{list-style-type:disc;}dd{padding-top:0.25em;}p.first_dd{padding-top:0.25em;}li > ul,li > ol{padding-bottom:0;}li{margin-left:1.38em;margin-bottom:0.5em;}ul > li{margin-left:2.5em;}ol > li{margin-left:2.5em;}li ul{margin-left:0.55em;}li ul{margin-left:0.27em;}li p{padding:1px 0 0 0;margin:0.55em 0 0.27em 0;}ul, ol{padding:0;margin:0.5em -0.6em;}ul ul,ul ol,ol ol,ol ul{margin-top:0.5em;margin-left:-0.6em;}p{padding:0.6em 0 0 0;margin:0;}pre{position:relative;overflow:auto;padding:0.55em 0.35em 0.55em 0.35em;margin:0.55em 0 0.55em 0 !important;background-color:#1A1A1A;-moz-tab-size:4;tab-size:4;-o-tab-size:4;display:block;font-family:APLFont, monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;border:1px solid silver;line-height:1;border-radius:5px;}pre > code{line-height:1.2;border:0;padding:0;margin:0;background-color:inherit;font-weight:normal;white-space:pre-wrap;}th code ,td code{color:#8B0000;background-color:inherit;padding:0.02em 0.3em;border-radius:5px;border:1px solid #737373;}a code{padding:0;font-size:1em;background-color:inherit;color:inherit;}nav code{background-color:inherit;font-weight:400;}code{font-family:APLFont, monospace;color:#FFC266;background-color:#1A1A1A;line-height:1.4;white-space:nowrap;margin:0 0.2em 0 0.2em;padding:0.02em 0.3em;border-radius:5px;}tbody tr:nth-child(even){background-color:#DAA520;border-bottom:0px solid silver;}tbody tr:nth-child(odd){background-color:#E6BD56;border-bottom:0px solid silver;}th{background-color:#C3941D;color:black;border-bottom:0px solid silver;}th, td{padding:0.3em 0.8em;font-weight:normal;}table td + td{border-left:0px solid silver;border-bottom:0px solid silver;}table th + th{border-left:0px solid silver;border-bottom:0px solid silver;}table{margin:0.75em 0;border-collapse:collapse;font-family:APLFont;font-size:1em;line-height:1.0;border:2px solid Black;}table a{color:blue;}table a:visited{color:blue;}thead th{color:black;background-color:#B68A1B;}td{color:black;}tfoot td{color:black;background-color:#B68A1B;}li > table{margin:0.55em 0 0.55em 0;}tr{margin:1.11em;}blockquote{border-left:0.27em solid silver;padding:0 0.25em;margin:0.5em 0.25em 0.80em 0.5em;}blockquote p:first-child{padding-top:0;}blockquote p:last-child{padding-bottom:0;}blockquote p{padding:0.25em;}blockquote ul li{margin-left:1.38em;}blockquote ol li{margin-left:1.38em;}li > blockquote{margin-left:0;}nav{background-color:#4C4C4C;border:1px solid Silver;padding:0.55em;margin:0.50em 0 1em 0;margin-right:0;overflow:hidden;font-size:1em;}nav#main_nav{width:auto;}nav ul{list-style-type:None;margin:0 1em 0.11em 0;padding:0;}nav ul,nav ul{margin-left:2em;}nav > ul ul{margin-left:2em;}nav a{color:#EDEDED;}nav a:visited{color:#B0B0B0;}nav ul li{margin:0 0 0.16em 0;}nav li p{margin:0;padding:0;line-height:1;margin:0;padding:0;}nav li{line-height:1.5;padding:0;margin-top:0;margin-bottom:0;margin-left:2em;}nav p{font-weight:bold;font-size:1em;padding-top:0;margin-bottom:0.5em;}dl{margin-top:0.1em;margin-bottom:0.1em;}dt{margin-top:0.75em;margin-bottom:0.1em;font-weight:bold;}.toc-container{height:auto;margin:0;padding:0.5em 0.5em 0 0;}nav h2{font-size:1.5em;margin:0.27em 1em 0.27em 1em;}div.toc-container ul{margin-left:0.5em;margin-right:1em;padding-left:1em;}[type="checkbox"]{position:absolute;left:-9999px;}label{display:block;width:100%;height:1.1em;cursor:pointer;top:0;padding-left:1em;}div#footnotes_div p{line-height:1.2;padding-bottom:0;padding-top:0;}div#footnotes_div ol{padding-top:0;}@font-face{font-family:"APLFont";src:local("APL385 Unicode"), url("https://misc.aplteam.com/apl385.ttf") format("truetype");}.hide{transition:opacity 400ms, display 400ms;opacity:0;display:none;}.red{color:red;}.center{text-align:center;margin-left:auto;margin-right:auto;}.left{text-align:left;margin-right:0;}.right{text-align:right;margin-left:0;}.print_only{display:none;}div.leanpub{padding:0.83em 0.55em 1.11em 0;margin:0.55em 0 0 0.27em;overflow:auto;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;}div.leanpub p:first-child,div.leanpub h1:first-child,div.leanpub h2:first-child,div.leanpub h3:first-child,div.leanpub ul:first-child,div.leanpub ol:first-child{padding-top:0;}div.leanpub_A{border:1px solid black;background-color:#4C004C;padding:0.55em;margin:1.11em 0 0.83em 0;color:#DDD;}div.leanpub h3,div.leanpub_A h3{font-size:1.2em;padding:0;margin:0;}div.leanpub h4,div.leanpub_A h4{font-size:1.1em;padding:0.27em 0 0 0;margin:0;}div.leanpub h5,div.leanpub h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A h5,div.leanpub_A h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A > p:first-child{padding-top:0;margin-top:0;}div.leanpub img{float:left;padding:0.5em;margin:0.5em 1em 0 0;clear:both;background-color:#CCCCFF;}div.leanpub tbody *{background-color:transparent;}div.leanpub p{padding:0.17em 0 0 0;margin:0;}span.leanpub_code{color:Red;}div.leanpub p{display:block;padding:0.44em 0 0 0;}div.leanpub > div{margin-left:3em;}pre[class*="language-"]{position:relative;margin:5px 0;padding:1.75em 0 1.75em 1em;}details summary{cursor:pointer;}details summary > *{display:inline;}div.accordion{border:1px solid silver;padding:0;margin:0.5em 0;background-color:#4C004C;}div.accordion > div{border:1px solid silver;padding:0.5em;margin:0 0;}div.accordion > div p,div.accordion > div ul,div.accordion > div ol,div.accordion > div img,div.accordion > div table{margin-block-end:0.1em;}div.collapsible{border:1px solid silver;padding:0.5em;margin:0.5em 0;background-color:#4C004C;}div.collapsible p,div.collapsible ul,div.collapsible ol,div.collapsible img,div.collapsible table{margin-block-end:0.1em;}ul.checkboxes{list-style:none;margin-left:-2em;padding-left:0;}li{text-indent:0;padding-left:0;line-height:1.4;}ul.checkboxes > li::before{content:"☐ ";}ul.checkboxes > li.checked::before{content:"☒ ";}pre > button{position:absolute;top:5px;right:5px;font-size:0.8em;padding:0.15em;border:1.25px solid #232326;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}pre button:hover{cursor:pointer;background-color:#BCBABB;}#main_nav{position:relative;}#main_nav h2{font-size:1.2em;margin:0;padding:0.5em 0.5em 0em 0.5em;border-bottom:0px solid Silver;}#toc-toggle{position:absolute;top:1.1em;right:1em;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}#toc-list{margin:1em 1em 0.25em 0;}sup, sub{text-decoration:none;}svg{padding:0.5em;background-color:#CCCCFF;} diff --git a/html/ReadMe.html b/html/ReadMe.html index 9eec9a8..754b6b7 100644 --- a/html/ReadMe.html +++ b/html/ReadMe.html @@ -8,7 +8,7 @@ html{-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}body{margin:0;font-family:Verdana, Arial, "Liberation Sans", sans-serif;background-color:#323232;font-size:16px;max-width:900px;padding:0.83em;color:#DDD;margin-left:auto;margin-right:auto;overflow-wrap:break-word;line-height:1.4;}h1,h2,h3,h4,h5,h6{color:hsl(39,97%,83%);padding-left:0;}h1,h2,h3,h4{margin-bottom:0.88em;}h1{font-size:1.5em;margin:0.27em 0 1.11em 0;}h1 > code,h2 > code,h3 > code,h4 > code,h5 > code,h6 > code{font-size:1em;background-color:inherit;}h2{font-size:1.35em;margin:0.55em 0 0.55em 0;padding-top:0.55em;border-bottom:1px solid Silver;}nav h2{font-size:1.20em;margin:0 0 0.75em 0;}h3{margin:0;margin-top:0.75em;font-size:1.25em;}h4{font-size:1.2em;margin:0;margin-top:0.75em;}h5{font-size:1.15em;margin:0;margin-top:0.60em;padding:0;}h6{font-size:1em;margin:0;margin-top:0.60em;padding:0;}hr{border:0;border-top:1px solid silver;}a{color:#A3A3FF;margin:0;padding:0;vertical-align:baseline;}a:visited{color:hsl(270,70%,85%);}a:visited code{color:hsl(270,70%,85%);}a.autoheader_anchor{text-decoration:none;}img{margin-top:0.55em;margin-bottom:0.27em;}ul{list-style-type:disc;}dd{padding-top:0.25em;}p.first_dd{padding-top:0.25em;}li > ul,li > ol{padding-bottom:0;}li{margin-left:1.38em;margin-bottom:0.5em;}ul > li{margin-left:2.5em;}ol > li{margin-left:2.5em;}li ul{margin-left:0.55em;}li ul{margin-left:0.27em;}li p{padding:1px 0 0 0;margin:0.55em 0 0.27em 0;}ul, ol{padding:0;margin:0.5em -0.6em;}ul ul,ul ol,ol ol,ol ul{margin-top:0.5em;margin-left:-0.6em;}p{padding:0.6em 0 0 0;margin:0;}pre{position:relative;overflow:auto;padding:0.55em 0.35em 0.55em 0.35em;margin:0.55em 0 0.55em 0 !important;background-color:#1A1A1A;-moz-tab-size:4;tab-size:4;-o-tab-size:4;display:block;font-family:APLFont, monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;border:1px solid silver;line-height:1;border-radius:5px;}pre > code{line-height:1.2;border:0;padding:0;margin:0;background-color:inherit;font-weight:normal;white-space:pre-wrap;}th code ,td code{color:#8B0000;background-color:inherit;padding:0.02em 0.3em;border-radius:5px;border:1px solid #737373;}a code{padding:0;font-size:1em;background-color:inherit;color:inherit;}nav code{background-color:inherit;font-weight:400;}code{font-family:APLFont, monospace;color:#FFC266;background-color:#1A1A1A;line-height:1.4;white-space:nowrap;margin:0 0.2em 0 0.2em;padding:0.02em 0.3em;border-radius:5px;}tbody tr:nth-child(even){background-color:#DAA520;border-bottom:0px solid silver;}tbody tr:nth-child(odd){background-color:#E6BD56;border-bottom:0px solid silver;}th{background-color:#C3941D;color:black;border-bottom:0px solid silver;}th, td{padding:0.3em 0.8em;font-weight:normal;}table td + td{border-left:0px solid silver;border-bottom:0px solid silver;}table th + th{border-left:0px solid silver;border-bottom:0px solid silver;}table{margin:0.75em 0;border-collapse:collapse;font-family:APLFont;font-size:1em;line-height:1.0;border:2px solid Black;}table a{color:blue;}table a:visited{color:blue;}thead th{color:black;background-color:#B68A1B;}td{color:black;}tfoot td{color:black;background-color:#B68A1B;}li > table{margin:0.55em 0 0.55em 0;}tr{margin:1.11em;}blockquote{border-left:0.27em solid silver;padding:0 0.25em;margin:0.5em 0.25em 0.80em 0.5em;}blockquote p:first-child{padding-top:0;}blockquote p:last-child{padding-bottom:0;}blockquote p{padding:0.25em;}blockquote ul li{margin-left:1.38em;}blockquote ol li{margin-left:1.38em;}li > blockquote{margin-left:0;}nav{background-color:#4C4C4C;border:1px solid Silver;padding:0.55em;margin:0.50em 0 1em 0;margin-right:0;overflow:hidden;font-size:1em;}nav#main_nav{width:auto;}nav ul{list-style-type:None;margin:0 1em 0.11em 0;padding:0;}nav ul,nav ul{margin-left:2em;}nav > ul ul{margin-left:2em;}nav a{color:#EDEDED;}nav a:visited{color:#B0B0B0;}nav ul li{margin:0 0 0.16em 0;}nav li p{margin:0;padding:0;line-height:1;margin:0;padding:0;}nav li{line-height:1.5;padding:0;margin-top:0;margin-bottom:0;margin-left:2em;}nav p{font-weight:bold;font-size:1em;padding-top:0;margin-bottom:0.5em;}dl{margin-top:0.1em;margin-bottom:0.1em;}dt{margin-top:0.75em;margin-bottom:0.1em;font-weight:bold;}.toc-container{height:auto;margin:0;padding:0.5em 0.5em 0 0;}nav h2{font-size:1.5em;margin:0.27em 1em 0.27em 1em;}div.toc-container ul{margin-left:0.5em;margin-right:1em;padding-left:1em;}[type="checkbox"]{position:absolute;left:-9999px;}label{display:block;width:100%;height:1.1em;cursor:pointer;top:0;padding-left:1em;}div#footnotes_div p{line-height:1.2;padding-bottom:0;padding-top:0;}div#footnotes_div ol{padding-top:0;}@font-face{font-family:"APLFont";src:local("APL385 Unicode"), url("https://misc.aplteam.com/apl385.ttf") format("truetype");}.hide{transition:opacity 400ms, display 400ms;opacity:0;display:none;}.red{color:red;}.center{text-align:center;margin-left:auto;margin-right:auto;}.left{text-align:left;margin-right:0;}.right{text-align:right;margin-left:0;}.print_only{display:none;}div.leanpub{padding:0.83em 0.55em 1.11em 0;margin:0.55em 0 0 0.27em;overflow:auto;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;}div.leanpub p:first-child,div.leanpub h1:first-child,div.leanpub h2:first-child,div.leanpub h3:first-child,div.leanpub ul:first-child,div.leanpub ol:first-child{padding-top:0;}div.leanpub_A{border:1px solid black;background-color:#4C004C;padding:0.55em;margin:1.11em 0 0.83em 0;color:#DDD;}div.leanpub h3,div.leanpub_A h3{font-size:1.2em;padding:0;margin:0;}div.leanpub h4,div.leanpub_A h4{font-size:1.1em;padding:0.27em 0 0 0;margin:0;}div.leanpub h5,div.leanpub h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A h5,div.leanpub_A h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A > p:first-child{padding-top:0;margin-top:0;}div.leanpub img{float:left;padding:0.5em;margin:0.5em 1em 0 0;clear:both;background-color:#CCCCFF;}div.leanpub tbody *{background-color:transparent;}div.leanpub p{padding:0.17em 0 0 0;margin:0;}span.leanpub_code{color:Red;}div.leanpub p{display:block;padding:0.44em 0 0 0;}div.leanpub > div{margin-left:3em;}pre[class*="language-"]{position:relative;margin:5px 0;padding:1.75em 0 1.75em 1em;}details summary{cursor:pointer;}details summary > *{display:inline;}div.accordion{border:1px solid silver;padding:0;margin:0.5em 0;background-color:#4C004C;}div.accordion > div{border:1px solid silver;padding:0.5em;margin:0 0;}div.accordion > div p,div.accordion > div ul,div.accordion > div ol,div.accordion > div img,div.accordion > div table{margin-block-end:0.1em;}div.collapsible{border:1px solid silver;padding:0.5em;margin:0.5em 0;background-color:#4C004C;}div.collapsible p,div.collapsible ul,div.collapsible ol,div.collapsible img,div.collapsible table{margin-block-end:0.1em;}ul.checkboxes{list-style:none;margin-left:-2em;padding-left:0;}li{text-indent:0;padding-left:0;line-height:1.4;}ul.checkboxes > li::before{content:"☐ ";}ul.checkboxes > li.checked::before{content:"☒ ";}pre > button{position:absolute;top:5px;right:5px;font-size:0.8em;padding:0.15em;border:1.25px solid #232326;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}pre button:hover{cursor:pointer;background-color:#BCBABB;}#main_nav{position:relative;}#main_nav h2{font-size:1.2em;margin:0;padding:0.5em 0.5em 0em 0.5em;border-bottom:0px solid Silver;}#toc-toggle{position:absolute;top:1.1em;right:1em;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}#toc-list{margin:1em 1em 0.25em 0;}sup, sub{text-decoration:none;}svg{padding:0.5em;background-color:#CCCCFF;} diff --git a/html/ReleaseNotes.html b/html/ReleaseNotes.html index fa5d1f5..c175c14 100644 --- a/html/ReleaseNotes.html +++ b/html/ReleaseNotes.html @@ -8,7 +8,7 @@ html{-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}body{margin:0;font-family:Verdana, Arial, "Liberation Sans", sans-serif;background-color:#323232;font-size:16px;max-width:900px;padding:0.83em;color:#DDD;margin-left:auto;margin-right:auto;overflow-wrap:break-word;line-height:1.4;}h1,h2,h3,h4,h5,h6{color:hsl(39,97%,83%);padding-left:0;}h1,h2,h3,h4{margin-bottom:0.88em;}h1{font-size:1.5em;margin:0.27em 0 1.11em 0;}h1 > code,h2 > code,h3 > code,h4 > code,h5 > code,h6 > code{font-size:1em;background-color:inherit;}h2{font-size:1.35em;margin:0.55em 0 0.55em 0;padding-top:0.55em;border-bottom:1px solid Silver;}nav h2{font-size:1.20em;margin:0 0 0.75em 0;}h3{margin:0;margin-top:0.75em;font-size:1.25em;}h4{font-size:1.2em;margin:0;margin-top:0.75em;}h5{font-size:1.15em;margin:0;margin-top:0.60em;padding:0;}h6{font-size:1em;margin:0;margin-top:0.60em;padding:0;}hr{border:0;border-top:1px solid silver;}a{color:#A3A3FF;margin:0;padding:0;vertical-align:baseline;}a:visited{color:hsl(270,70%,85%);}a:visited code{color:hsl(270,70%,85%);}a.autoheader_anchor{text-decoration:none;}img{margin-top:0.55em;margin-bottom:0.27em;}ul{list-style-type:disc;}dd{padding-top:0.25em;}p.first_dd{padding-top:0.25em;}li > ul,li > ol{padding-bottom:0;}li{margin-left:1.38em;margin-bottom:0.5em;}ul > li{margin-left:2.5em;}ol > li{margin-left:2.5em;}li ul{margin-left:0.55em;}li ul{margin-left:0.27em;}li p{padding:1px 0 0 0;margin:0.55em 0 0.27em 0;}ul, ol{padding:0;margin:0.5em -0.6em;}ul ul,ul ol,ol ol,ol ul{margin-top:0.5em;margin-left:-0.6em;}p{padding:0.6em 0 0 0;margin:0;}pre{position:relative;overflow:auto;padding:0.55em 0.35em 0.55em 0.35em;margin:0.55em 0 0.55em 0 !important;background-color:#1A1A1A;-moz-tab-size:4;tab-size:4;-o-tab-size:4;display:block;font-family:APLFont, monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;border:1px solid silver;line-height:1;border-radius:5px;}pre > code{line-height:1.2;border:0;padding:0;margin:0;background-color:inherit;font-weight:normal;white-space:pre-wrap;}th code ,td code{color:#8B0000;background-color:inherit;padding:0.02em 0.3em;border-radius:5px;border:1px solid #737373;}a code{padding:0;font-size:1em;background-color:inherit;color:inherit;}nav code{background-color:inherit;font-weight:400;}code{font-family:APLFont, monospace;color:#FFC266;background-color:#1A1A1A;line-height:1.4;white-space:nowrap;margin:0 0.2em 0 0.2em;padding:0.02em 0.3em;border-radius:5px;}tbody tr:nth-child(even){background-color:#DAA520;border-bottom:0px solid silver;}tbody tr:nth-child(odd){background-color:#E6BD56;border-bottom:0px solid silver;}th{background-color:#C3941D;color:black;border-bottom:0px solid silver;}th, td{padding:0.3em 0.8em;font-weight:normal;}table td + td{border-left:0px solid silver;border-bottom:0px solid silver;}table th + th{border-left:0px solid silver;border-bottom:0px solid silver;}table{margin:0.75em 0;border-collapse:collapse;font-family:APLFont;font-size:1em;line-height:1.0;border:2px solid Black;}table a{color:blue;}table a:visited{color:blue;}thead th{color:black;background-color:#B68A1B;}td{color:black;}tfoot td{color:black;background-color:#B68A1B;}li > table{margin:0.55em 0 0.55em 0;}tr{margin:1.11em;}blockquote{border-left:0.27em solid silver;padding:0 0.25em;margin:0.5em 0.25em 0.80em 0.5em;}blockquote p:first-child{padding-top:0;}blockquote p:last-child{padding-bottom:0;}blockquote p{padding:0.25em;}blockquote ul li{margin-left:1.38em;}blockquote ol li{margin-left:1.38em;}li > blockquote{margin-left:0;}nav{background-color:#4C4C4C;border:1px solid Silver;padding:0.55em;margin:0.50em 0 1em 0;margin-right:0;overflow:hidden;font-size:1em;}nav#main_nav{width:auto;}nav ul{list-style-type:None;margin:0 1em 0.11em 0;padding:0;}nav ul,nav ul{margin-left:2em;}nav > ul ul{margin-left:2em;}nav a{color:#EDEDED;}nav a:visited{color:#B0B0B0;}nav ul li{margin:0 0 0.16em 0;}nav li p{margin:0;padding:0;line-height:1;margin:0;padding:0;}nav li{line-height:1.5;padding:0;margin-top:0;margin-bottom:0;margin-left:2em;}nav p{font-weight:bold;font-size:1em;padding-top:0;margin-bottom:0.5em;}dl{margin-top:0.1em;margin-bottom:0.1em;}dt{margin-top:0.75em;margin-bottom:0.1em;font-weight:bold;}.toc-container{height:auto;margin:0;padding:0.5em 0.5em 0 0;}nav h2{font-size:1.5em;margin:0.27em 1em 0.27em 1em;}div.toc-container ul{margin-left:0.5em;margin-right:1em;padding-left:1em;}[type="checkbox"]{position:absolute;left:-9999px;}label{display:block;width:100%;height:1.1em;cursor:pointer;top:0;padding-left:1em;}div#footnotes_div p{line-height:1.2;padding-bottom:0;padding-top:0;}div#footnotes_div ol{padding-top:0;}@font-face{font-family:"APLFont";src:local("APL385 Unicode"), url("https://misc.aplteam.com/apl385.ttf") format("truetype");}.hide{transition:opacity 400ms, display 400ms;opacity:0;display:none;}.red{color:red;}.center{text-align:center;margin-left:auto;margin-right:auto;}.left{text-align:left;margin-right:0;}.right{text-align:right;margin-left:0;}.print_only{display:none;}div.leanpub{padding:0.83em 0.55em 1.11em 0;margin:0.55em 0 0 0.27em;overflow:auto;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;}div.leanpub p:first-child,div.leanpub h1:first-child,div.leanpub h2:first-child,div.leanpub h3:first-child,div.leanpub ul:first-child,div.leanpub ol:first-child{padding-top:0;}div.leanpub_A{border:1px solid black;background-color:#4C004C;padding:0.55em;margin:1.11em 0 0.83em 0;color:#DDD;}div.leanpub h3,div.leanpub_A h3{font-size:1.2em;padding:0;margin:0;}div.leanpub h4,div.leanpub_A h4{font-size:1.1em;padding:0.27em 0 0 0;margin:0;}div.leanpub h5,div.leanpub h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A h5,div.leanpub_A h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A > p:first-child{padding-top:0;margin-top:0;}div.leanpub img{float:left;padding:0.5em;margin:0.5em 1em 0 0;clear:both;background-color:#CCCCFF;}div.leanpub tbody *{background-color:transparent;}div.leanpub p{padding:0.17em 0 0 0;margin:0;}span.leanpub_code{color:Red;}div.leanpub p{display:block;padding:0.44em 0 0 0;}div.leanpub > div{margin-left:3em;}pre[class*="language-"]{position:relative;margin:5px 0;padding:1.75em 0 1.75em 1em;}details summary{cursor:pointer;}details summary > *{display:inline;}div.accordion{border:1px solid silver;padding:0;margin:0.5em 0;background-color:#4C004C;}div.accordion > div{border:1px solid silver;padding:0.5em;margin:0 0;}div.accordion > div p,div.accordion > div ul,div.accordion > div ol,div.accordion > div img,div.accordion > div table{margin-block-end:0.1em;}div.collapsible{border:1px solid silver;padding:0.5em;margin:0.5em 0;background-color:#4C004C;}div.collapsible p,div.collapsible ul,div.collapsible ol,div.collapsible img,div.collapsible table{margin-block-end:0.1em;}ul.checkboxes{list-style:none;margin-left:-2em;padding-left:0;}li{text-indent:0;padding-left:0;line-height:1.4;}ul.checkboxes > li::before{content:"☐ ";}ul.checkboxes > li.checked::before{content:"☒ ";}pre > button{position:absolute;top:5px;right:5px;font-size:0.8em;padding:0.15em;border:1.25px solid #232326;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}pre button:hover{cursor:pointer;background-color:#BCBABB;}#main_nav{position:relative;}#main_nav h2{font-size:1.2em;margin:0;padding:0.5em 0.5em 0em 0.5em;border-bottom:0px solid Silver;}#toc-toggle{position:absolute;top:1.1em;right:1em;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}#toc-list{margin:1em 1em 0.25em 0;}sup, sub{text-decoration:none;}svg{padding:0.5em;background-color:#CCCCFF;} @@ -23,6 +23,14 @@

Release Notes

A bump of the minor number indicates added functionality plus possibly bug fixes.

A bump of the patch number indicates bug fixes.

+ +

Version 9.6.3 from 2024-04-04

diff --git a/html/UsefulRegExes.html b/html/UsefulRegExes.html index db6c8f8..afe495c 100644 --- a/html/UsefulRegExes.html +++ b/html/UsefulRegExes.html @@ -8,7 +8,7 @@ html{-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}body{margin:0;font-family:Verdana, Arial, "Liberation Sans", sans-serif;background-color:#323232;font-size:16px;max-width:900px;padding:0.83em;color:#DDD;margin-left:auto;margin-right:auto;overflow-wrap:break-word;line-height:1.4;}h1,h2,h3,h4,h5,h6{color:hsl(39,97%,83%);padding-left:0;}h1,h2,h3,h4{margin-bottom:0.88em;}h1{font-size:1.5em;margin:0.27em 0 1.11em 0;}h1 > code,h2 > code,h3 > code,h4 > code,h5 > code,h6 > code{font-size:1em;background-color:inherit;}h2{font-size:1.35em;margin:0.55em 0 0.55em 0;padding-top:0.55em;border-bottom:1px solid Silver;}nav h2{font-size:1.20em;margin:0 0 0.75em 0;}h3{margin:0;margin-top:0.75em;font-size:1.25em;}h4{font-size:1.2em;margin:0;margin-top:0.75em;}h5{font-size:1.15em;margin:0;margin-top:0.60em;padding:0;}h6{font-size:1em;margin:0;margin-top:0.60em;padding:0;}hr{border:0;border-top:1px solid silver;}a{color:#A3A3FF;margin:0;padding:0;vertical-align:baseline;}a:visited{color:hsl(270,70%,85%);}a:visited code{color:hsl(270,70%,85%);}a.autoheader_anchor{text-decoration:none;}img{margin-top:0.55em;margin-bottom:0.27em;}ul{list-style-type:disc;}dd{padding-top:0.25em;}p.first_dd{padding-top:0.25em;}li > ul,li > ol{padding-bottom:0;}li{margin-left:1.38em;margin-bottom:0.5em;}ul > li{margin-left:2.5em;}ol > li{margin-left:2.5em;}li ul{margin-left:0.55em;}li ul{margin-left:0.27em;}li p{padding:1px 0 0 0;margin:0.55em 0 0.27em 0;}ul, ol{padding:0;margin:0.5em -0.6em;}ul ul,ul ol,ol ol,ol ul{margin-top:0.5em;margin-left:-0.6em;}p{padding:0.6em 0 0 0;margin:0;}pre{position:relative;overflow:auto;padding:0.55em 0.35em 0.55em 0.35em;margin:0.55em 0 0.55em 0 !important;background-color:#1A1A1A;-moz-tab-size:4;tab-size:4;-o-tab-size:4;display:block;font-family:APLFont, monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;border:1px solid silver;line-height:1;border-radius:5px;}pre > code{line-height:1.2;border:0;padding:0;margin:0;background-color:inherit;font-weight:normal;white-space:pre-wrap;}th code ,td code{color:#8B0000;background-color:inherit;padding:0.02em 0.3em;border-radius:5px;border:1px solid #737373;}a code{padding:0;font-size:1em;background-color:inherit;color:inherit;}nav code{background-color:inherit;font-weight:400;}code{font-family:APLFont, monospace;color:#FFC266;background-color:#1A1A1A;line-height:1.4;white-space:nowrap;margin:0 0.2em 0 0.2em;padding:0.02em 0.3em;border-radius:5px;}tbody tr:nth-child(even){background-color:#DAA520;border-bottom:0px solid silver;}tbody tr:nth-child(odd){background-color:#E6BD56;border-bottom:0px solid silver;}th{background-color:#C3941D;color:black;border-bottom:0px solid silver;}th, td{padding:0.3em 0.8em;font-weight:normal;}table td + td{border-left:0px solid silver;border-bottom:0px solid silver;}table th + th{border-left:0px solid silver;border-bottom:0px solid silver;}table{margin:0.75em 0;border-collapse:collapse;font-family:APLFont;font-size:1em;line-height:1.0;border:2px solid Black;}table a{color:blue;}table a:visited{color:blue;}thead th{color:black;background-color:#B68A1B;}td{color:black;}tfoot td{color:black;background-color:#B68A1B;}li > table{margin:0.55em 0 0.55em 0;}tr{margin:1.11em;}blockquote{border-left:0.27em solid silver;padding:0 0.25em;margin:0.5em 0.25em 0.80em 0.5em;}blockquote p:first-child{padding-top:0;}blockquote p:last-child{padding-bottom:0;}blockquote p{padding:0.25em;}blockquote ul li{margin-left:1.38em;}blockquote ol li{margin-left:1.38em;}li > blockquote{margin-left:0;}nav{background-color:#4C4C4C;border:1px solid Silver;padding:0.55em;margin:0.50em 0 1em 0;margin-right:0;overflow:hidden;font-size:1em;}nav#main_nav{width:auto;}nav ul{list-style-type:None;margin:0 1em 0.11em 0;padding:0;}nav ul,nav ul{margin-left:2em;}nav > ul ul{margin-left:2em;}nav a{color:#EDEDED;}nav a:visited{color:#B0B0B0;}nav ul li{margin:0 0 0.16em 0;}nav li p{margin:0;padding:0;line-height:1;margin:0;padding:0;}nav li{line-height:1.5;padding:0;margin-top:0;margin-bottom:0;margin-left:2em;}nav p{font-weight:bold;font-size:1em;padding-top:0;margin-bottom:0.5em;}dl{margin-top:0.1em;margin-bottom:0.1em;}dt{margin-top:0.75em;margin-bottom:0.1em;font-weight:bold;}.toc-container{height:auto;margin:0;padding:0.5em 0.5em 0 0;}nav h2{font-size:1.5em;margin:0.27em 1em 0.27em 1em;}div.toc-container ul{margin-left:0.5em;margin-right:1em;padding-left:1em;}[type="checkbox"]{position:absolute;left:-9999px;}label{display:block;width:100%;height:1.1em;cursor:pointer;top:0;padding-left:1em;}div#footnotes_div p{line-height:1.2;padding-bottom:0;padding-top:0;}div#footnotes_div ol{padding-top:0;}@font-face{font-family:"APLFont";src:local("APL385 Unicode"), url("https://misc.aplteam.com/apl385.ttf") format("truetype");}.hide{transition:opacity 400ms, display 400ms;opacity:0;display:none;}.red{color:red;}.center{text-align:center;margin-left:auto;margin-right:auto;}.left{text-align:left;margin-right:0;}.right{text-align:right;margin-left:0;}.print_only{display:none;}div.leanpub{padding:0.83em 0.55em 1.11em 0;margin:0.55em 0 0 0.27em;overflow:auto;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;}div.leanpub p:first-child,div.leanpub h1:first-child,div.leanpub h2:first-child,div.leanpub h3:first-child,div.leanpub ul:first-child,div.leanpub ol:first-child{padding-top:0;}div.leanpub_A{border:1px solid black;background-color:#4C004C;padding:0.55em;margin:1.11em 0 0.83em 0;color:#DDD;}div.leanpub h3,div.leanpub_A h3{font-size:1.2em;padding:0;margin:0;}div.leanpub h4,div.leanpub_A h4{font-size:1.1em;padding:0.27em 0 0 0;margin:0;}div.leanpub h5,div.leanpub h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A h5,div.leanpub_A h5{font-size:1.0em;padding:0.27em 0 0 0;margin:0;}div.leanpub_A > p:first-child{padding-top:0;margin-top:0;}div.leanpub img{float:left;padding:0.5em;margin:0.5em 1em 0 0;clear:both;background-color:#CCCCFF;}div.leanpub tbody *{background-color:transparent;}div.leanpub p{padding:0.17em 0 0 0;margin:0;}span.leanpub_code{color:Red;}div.leanpub p{display:block;padding:0.44em 0 0 0;}div.leanpub > div{margin-left:3em;}pre[class*="language-"]{position:relative;margin:5px 0;padding:1.75em 0 1.75em 1em;}details summary{cursor:pointer;}details summary > *{display:inline;}div.accordion{border:1px solid silver;padding:0;margin:0.5em 0;background-color:#4C004C;}div.accordion > div{border:1px solid silver;padding:0.5em;margin:0 0;}div.accordion > div p,div.accordion > div ul,div.accordion > div ol,div.accordion > div img,div.accordion > div table{margin-block-end:0.1em;}div.collapsible{border:1px solid silver;padding:0.5em;margin:0.5em 0;background-color:#4C004C;}div.collapsible p,div.collapsible ul,div.collapsible ol,div.collapsible img,div.collapsible table{margin-block-end:0.1em;}ul.checkboxes{list-style:none;margin-left:-2em;padding-left:0;}li{text-indent:0;padding-left:0;line-height:1.4;}ul.checkboxes > li::before{content:"☐ ";}ul.checkboxes > li.checked::before{content:"☒ ";}pre > button{position:absolute;top:5px;right:5px;font-size:0.8em;padding:0.15em;border:1.25px solid #232326;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}pre button:hover{cursor:pointer;background-color:#BCBABB;}#main_nav{position:relative;}#main_nav h2{font-size:1.2em;margin:0;padding:0.5em 0.5em 0em 0.5em;border-bottom:0px solid Silver;}#toc-toggle{position:absolute;top:1.1em;right:1em;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}#toc-list{margin:1em 1em 0.25em 0;}sup, sub{text-decoration:none;}svg{padding:0.5em;background-color:#CCCCFF;}