Tcl Source Code

Artifact [1445f8fa9a]
Login

Artifact 1445f8fa9a28990baf36cf38b968cc71c16ea839:

Ticket change [1445f8fa9a] - Closed ticket [8e1e31eac0]: lsort treats NUL chars strangely plus 6 other changes by sebres 2017-07-20 14:35:20.
D 2017-07-20T14:35:20.389
J closedate 2457955.10787487
J closer sebres
J icomment Shortly:\suse\sthe\soption\s<code>-dictionary</code>\sby\s<code>lsort</code>.\r\n\r\nIn\sTcl\sthe\sstring\s<code>"\\0"</code>\sis\san\sutf-8\ssequence\sc080\shex...\r\nSee\sfor\sexample\s<code>expr\s{"\\0"\seq\s[encoding\sconvertfrom\sutf-8\s\\xc0\\x80]}</code>\r\nThis\sgoing\sto\sspecial\shandling\s(resp.\sspecial\sutf-8\stable)\swithin\sTcl\sto\sdifferentiate\sbetween\szero-byte\sand\szero-NTS-character.\r\n\r\nBut\s<code>lsort</code>\s(without\s<code>-dictionary</code>)\swill\sdo\sthat\snot\sfor\szero-char,\sbut\sfor\sall\sother\snon-ascii\scharaters\salso\s(e.\sg.\sumlauts,\setc.).\r\n\r\nPossibly\sfollowing\sexample\scan\shelp\syou\sto\sdo\sthe\ssorting\susing\sbyte-comparision...\r\n<pre><code>\r\n%\slsort\s[list\s"\\0\s1"\s"\\x7F\s2"\s"\\x80\s3"]\r\n{⌂\s2}\s{\s\s1}\s{?\s3}\r\n%\slsort\s-dictionary\s[list\s"\\0\s1"\s"\\x7F\s2"\s"\\x80\s3"]\r\n{\s\s1}\s{⌂\s2}\s{?\s3}\r\n%\sproc\ssortbybyte\s{a\sb}\s{expr\s{[scan\s$a\s%c]\s-\s[scan\s$b\s%c]}}\r\n%\slsort\s-command\ssortbybyte\s-index\s0\s[list\s"\\0\s1"\s"\\x7F\s2"\s"\\x80\s3"]\r\n{\s\s1}\s{⌂\s2}\s{?\s3}\r\n</code></pre>\r\n\r\n@TCT,\s@Jan:\sshould\swe\shandle\sthe\sdefault\ssorting\salgorithm\sto\stake\sinto\saccount\sthis\sbyte-sequence,\sso\sit\swill\sbe\ssorted\sas\sfirst\schar\sin\sutf-8?<br/>\r\nI\sthink\snot...
J login sebres
J mimetype text/x-fossil-wiki
J resolution Invalid
J status Closed
K 8e1e31eac0fd6b6c4452bc108a98ab08c6b64588
U sebres
Z b23723a1e1fd9b9a8374109f5f3f57da