-C Improvements\sto\sthe\snon-printing\scharacter\sdelimiter\slogic\sin\sthe\sCLI\nprompt,\sfor\simproved\saccuracy\sand\sfor\simproved\stestability.
-D 2026-05-03T15:53:52.474
+C New\stest\scases\sfor\sthe\sshell\sprompt
+D 2026-05-03T18:31:49.934
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F test/sharedB.test 1a84863d7a2204e0d42f2e1606577c5e92e4473fa37ea0f5bdf829e4bf8ee707
F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
-F test/shell-prompt.sql 96c055ac09aff7f96b7e2bca8f0192c36ed34d11df4cf4a58b9d4540b387ff3f
+F test/shell-prompt.sql b062f7778cf5529ccac2e0c07364b8a050c87397706d28ea2240dc5c43e920ac
F test/shell1.test c84eff209f93ad17ccdf7e1634969fc8231684254edeb21d9b13d67c3179cdb5
F test/shell2.test dc541d2681503e55466a24d35a4cbf8ca5b90b8fcdef37fc4db07373a67d31d3
F test/shell3.test 91efdd545097a61a1f72cf79c9ad5b49da080f3f10282eaf4c3c272cd1012db2
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P b9545b0f0b6fa0a777a064e1410b17f52cb49d853c188f9b8b3a772bd810ece3
-R 2722a106bcabd9853ab1b6613af68b1b
+P f5649795cd8d7a1f270037ef0b212ea605c1665ec05a75a6da0b250f2aeab070
+R daac4c37beafe71b6d5a94bfbd982640
U drh
-Z 4349d7842f8a2c527da152c639edc6d0
+Z 55650fa07137fdaa2a9585b2911bac41
# Remove this line to create a well-formed Fossil manifest.
.testcase 5005
SELECT shell_prompt_test('abc/e[1,32m/e[0m/e[/exyz',NULL,NULL,1);
.check abc^[[1,32m^A^[[0m^B^[[^[xyz
+
+# Additional tests for octal escapes
+#
+.testcase 6000
+SELECT shell_prompt_test('/7');
+.check ^G
+.testcase 6001
+SELECT shell_prompt_test('/78');
+.check ^G8
+.testcase 6002
+SELECT shell_prompt_test('/7//');
+.check ^G/
+.testcase 6003
+SELECT shell_prompt_test('/7/');
+.check ^G
+.testcase 6004
+SELECT shell_prompt_test('/57');
+.check /
+.testcase 6005
+SELECT shell_prompt_test('/578');
+.check /8
+.testcase 6006
+SELECT shell_prompt_test('/57//');
+.check //
+.testcase 6007
+SELECT shell_prompt_test('/57/');
+.check /
+.testcase 6008
+SELECT shell_prompt_test('/10');
+.check ^H
+.testcase 6009
+SELECT shell_prompt_test('/101');
+.check A
+.testcase 6010
+SELECT shell_prompt_test('/1011');
+.check A1
+.testcase 6011
+SELECT shell_prompt_test('/33[0');
+.check ^[[0
+
+# The UNKNOWN() error is shown regardless of whether or not the
+# escape is part of an active branch.
+.testcase 6012
+SELECT shell_prompt_test('/x/z/:/y/;');
+.check 'UNKNOWN("/z")UNKNOWN("/y")'
+
+# Additional tests of \001..\002 escapes
+#
+# Two or more disconneted ANSI escapes
+#
+.testcase 7000
+SELECT shell_prompt_test('a-/e[1m-/e[0m-z',null,null,1);
+.check a-^A^[[1m^B-^A^[[0m^B-z
+
+# Empty parameter
+.testcase 7001
+SELECT shell_prompt_test('a-/e[m-z',null,null,1);
+.check a-^A^[[m^B-z
+
+# /e followed by non-[
+.testcase 7002
+SELECT shell_prompt_test('a-/eX-z',null,null,1);
+.check a-^[X-z
+.testcase 7003
+SELECT shell_prompt_test('a-/eX/e[m-z',null,null,1);
+.check a-^[X^A^[[m^B-z
+.testcase 7004
+SELECT shell_prompt_test('a-/e[m/eX-z',null,null,1);
+.check a-^A^[[m^B^[X-z