Commits Between Branches origin/release/0.19.0 and release/0.20.0

f53fc01ab 2023-11-30 Andy C [release] Update release note template
2e34cc726 2023-11-30 Andy C [cleanup] Remove unused method
8ad23d7e9 2023-12-02 James Rowe [doc] Fix inverted proc/func naming convention (#1761)
b108c24df 2023-12-02 Andy C [metrics] Separate data language line counts from YSH
9b99a2a2c 2023-12-03 Andy C [doctools] ref-check gives TOC stats
fccc52f29 2023-12-03 Andy C [doctools] Broken links / Orphaned topics report
6624570e3 2023-12-03 Andy C [doctools] Report the number of topics with more than 5 words
ab27b8ecd 2023-12-04 Andy C [spec/ysh-builtins] Add example of proc read-lines
a0f746376 2023-12-04 Andy C [soil] Add ref check to CI
93c720fcf 2023-12-04 Andy C [doc/ref] Rename Oil -> YSH
88888f85f 2023-12-04 Andy C [doctools] Make the ref-check report nicer
6a56330dd 2023-12-05 Andy C [doctools] Polish ref-check a bit more
2b1baf8f2 2023-12-05 Andy C [build] Allow user to override BASE_CXXFLAGS (in addition to CXXFLAGS)
ddbdd0557 2023-12-11 Andy Chu [cpp demo] Figuring out the full regcomp/regexec API
193af2b28 2023-12-11 Andy Chu [eggex] Sketch new API
c89bd0ad4 2023-12-11 Andy Chu [ysh builtin] Sketch eggex API with methods on Str and Match
94cbddfdf 2023-12-11 Andy Chu [frontend refactor] Introduce syntax_asdl::Eggex
6b6319e5d 2023-12-11 Andy Chu [eggex] Collect list of named captures
a82f94a72 2023-12-11 Andy Chu [grammar refactor] Consolidate eggex
dcb91ad12 2023-12-11 Andy Chu [ysh breaking] Change eggex syntax for translation preference
b87c12e90 2023-12-11 Andy Chu [eggex refactor] Rename fields
18938413f 2023-12-12 Ellen [README] Rename library/ -> builtin/ (#1766)
d52d495c2 2023-12-13 Andy Chu [eggex] Encode flags to normalized string
a4845beba 2023-12-13 Andy Chu [eggex] Canonicalize regex flags at parse time
167dfcc66 2023-12-13 Andy Chu [eggex] More flags support: spliced eggex must have same flags
b93aec09d 2023-12-13 Andy Chu [ysh] Support eggex flags in ~ and case
7075fc5bc 2023-12-13 Andy Chu [spec/ysh-regex] Adjust allowed failures
183d13fdf 2023-12-13 Andy Chu [refactor] Add regex wrappers so we can add submatch indices to libc
28cb4b658 2023-12-13 Andy Chu [libc refactor] Make regex flags a required arg
71715fdab 2023-12-13 Andy Chu [cpp] Fix unit tests
e6bbc73b6 2023-12-13 Andy Chu [libc refactor] regex_match() returns a list of indices
ecc5087fb 2023-12-14 Andy Chu [eggex] _match() fails when arg is out of range
b7e6525aa 2023-12-14 Andy Chu [spec/ysh-case] Fix after _match() change
293406b81 2023-12-14 Andy Chu [refactor] libc.regex_match() -> regex_search()
18fbd14f3 2023-12-14 Andy Chu [cpp] Fix unit tests
b6ea8095b 2023-12-14 Andy Chu [build/oil-defs] Fix typo
3af44f20b 2023-12-14 Andy Chu [refactor] Store regex submatch indices and string
c5ffb67eb 2023-12-14 Andy Chu [refactor] Use regex indices directly
69b271f0c 2023-12-14 Andy Chu [eggex] Implement _start() and _end()
11246551d 2023-12-15 Andy C [eggex] Implement value.Match() API
7b76121ae 2023-12-15 Andy C [eggex refactor] Consolidate MatchFunc and MatchMethod
d9108dbb7 2023-12-15 Andy C [eggex] Str => search() respects regex flags
b0175cb50 2023-12-16 Andy C [eggex] Implement pos param to Str => search
0c052f567 2023-12-16 Andy C [test/spec] Split spec/ysh-regex-api out of spec/ysh-regex
87410d9fb 2023-12-16 Andy C [eggex] Fix bug where unmatched groups wouldn't be null
b8075f956 2023-12-16 Andy C [ysh] Show libc regex parse error to user
992e1452b 2023-12-16 Andy C [osh fix] Fix [[ x =~ $pat ]] error message
7987230dd 2023-12-16 Andy C [regex refactor] Move regexec() eflags into Python
36cd2e03b 2023-12-16 Andy C [eggex] Implement Str => leftMatch()
3473f7cd3 2023-12-16 Andy C [eggex] Rename _match() -> _group()
9a20d7151 2023-12-16 Andy C [doc] Draft of regex API doc
47be27cb3 2023-12-16 Andy C [eggex] Change capture syntax
0f6fc2a47 2023-12-16 Andy C [eggex] Allow Int or Str arg for Match accessors
cbbb4e6cc 2023-12-16 Andy C [eggex] Implement named capture groups
5b3184619 2023-12-16 Andy C [spec/ysh-regex-api] Add test for capture order
e9fcb23d1 2023-12-17 Andy C [ysh regex] Str => search() and leftMatch() allow plain ERE
44e0de2f2 2023-12-17 Andy C [ysh regex] Change bad group arg to error.Expr status 3
092479b50 2023-12-17 Samuel Hierholzer [ysh] Implement List => indexOf() (#1765)
cecbb6495 2023-12-17 Andy C [doc] First pass of YSH Regex API
8edf77d84 2023-12-17 Andy C [spec/ysh-regex-api] Tests for type conversion funcs
a2bfe38c6 2023-12-17 Andy C [doc] Polish regex docs
379a8ceac 2023-12-17 Andy C [doc/ref] Skeleton for eggex topics
3876ca7eb 2023-12-17 Andy C [doc/ref] Re-organize and write YSH cmd-lang topics.
4b263956c 2023-12-18 Andy C [eggex] Evaluate convert_func on re::Capture group
f738a3aba 2023-12-18 Andy C [eggex refactor] Prepare for type conversion funcs
bc08f4a26 2023-12-18 Andy C [translation fix] Placeholder value that C++ accepts
668eb9ea2 2023-12-18 Andy C [eggex] Implement eggex capture conversion func
e31c87cb8 2023-12-19 Andy C [eggex refactor] Use regex_match_t sum type for global match
9d93286fd 2023-12-19 Andy C [eggex refactor] Consolidate _group() and m => group() impls
d89e2be3e 2023-12-19 Andy C [eggex refactor] Use sum type for eggex_ops
52fe56a03 2023-12-19 Andy C [eggex refactor] Simplify convert_func calculation.
41063e9d6 2023-12-19 Andy C [eggex refactor] Add EggexEvaluator, add convert_locs
c85e134c2 2023-12-19 Andy C [test/lint] Fix build
e1736ee62 2023-12-19 Andy C [eggex] Improve error from type conversion func
d8f611bf2 2023-12-19 Andy C [doc] Document eggex type conversion functions.
686dc1a0d 2023-12-19 Andy C [doc] Update eggex reference and help topics
31e01f1cf 2023-12-19 Andy C [benchmarks] Add regcomp-cache synthetic stress test
e544a91a2 2023-12-20 Andy C [benchmarks/regcomp-cache] Enhance benchmark with comparison
86c8aa2f3 2023-12-20 Andy C [benchmarks/regcomp-cache] Fix compare function
2a46f2254 2023-12-21 Andy C [benchmarks/regcomp-cache] Add 3rd inner loop to reuse a cache
24320e52f 2023-12-22 Andy C [ysh builtin] Start shvm builtin
96d60ca79 2023-12-22 Andy C [ysh builtin] Use pp and _guts, rather than shvm
a86ae287d 2023-12-22 Andy C [ysh builtin] Implement pp value (x)
5afe6b0f9 2023-12-22 Andy C [doc/ref] Document type -a
bb1c45f6b 2023-12-22 Andy C [builtin/pp] Show vm::ValueId() for most values.
35bca9657 2023-12-22 Andy C [cpp] Fix unit tests
bc8971d71 2023-12-22 Andy C [ysh] Improve = operator output
44f231d72 2023-12-22 Andy C [translation fix] Remove statement under 'with'
f6409e700 2023-12-22 Andy C [test/lint] Fix build
372119144 2023-12-23 Andy C [builtin/pp] Rename pp value -> pp asdl
0be5c6a48 2023-12-23 Andy C [builtin/pp] Implement pp line (42) for spec tests
a77d88cd5 2023-12-23 Andy C [ysh] Add heap object ID to = output
afc8d6988 2023-12-23 Andy C [builtin/pp] Use j8 printer instead of yajl
ecae80dbb 2023-12-23 Andy C [test/spec] Use 'pp line' instead of '=' in more spec tests
881a4f270 2023-12-23 Andy C [doc/ref] Clarify 'type' help topic
6bb9934c5 2023-12-23 Andy C [doc/ref] Fix typo
09898b9dd 2023-12-23 Andy C [refactor] Move = keyword impl
21e04faa7 2023-12-23 Andy C [ysh] Use j8 printer for the = operator
eba4f4598 2023-12-23 Andy C [j8 printer] Simple cycle detection
4bacdc69e 2023-12-23 Andy C [data_lang refactor] Introduce j8 InstancePrinter
b6ffa262a 2023-12-23 Andy C [test/spec] Fix CSS links in spec test code
b31dd882f 2023-12-23 Andy C [mycpp] Write else: body connected with if 0:
a38796c72 2023-12-23 Andy C [translation] Fix integer flag defaults generated by flag_gen.py
7618792e9 2023-12-23 Andy C [translation] Make 'pp cell' translate
f8491f741 2023-12-23 Andy C [ASDL] Move PrettyPrint() to fmt.PrettyPrint()
7be4cd847 2023-12-23 Andy C [data_lang] Add UTF-8 state machine, with tests
5705c5fb4 2023-12-23 Andy C [data_lang/utf8_impls] Test JSON-c implementation
30e331671 2023-12-24 Andy Chu [j8] Escape invalid utf-8 with \yff
3f9fa6fc1 2023-12-24 Andy Chu [translation] Fix build by renaming to pyj8.py
4e3072cbd 2023-12-25 Andy Chu [pea] Fix list of files to parse
984fbc2a3 2023-12-25 Andy Chu [j8] Sketch a more efficient encoding interface
e0d3bd980 2023-12-25 Andy C [j8] First pass at lexer
0b78f8168 2023-12-26 Andy C [j8] First pass of J8 string lexer
2546c3f0d 2023-12-26 Andy C [j8] Add newer lexers to fastlex extension
52774bdea 2023-12-26 Andy C [build/cpython-defs] Update fastlex methods
ab37312d1 2023-12-26 Andy C [j8] Adjust lexer, and translate it properly
e71fa45f5 2023-12-26 Andy C [j8] Prototype lexer
b3e4c2313 2023-12-26 Andy C [j8] j8 write uses our new j8.py impl, in Python
07b4eea4c 2023-12-26 Andy C [j8] Implement JSON-like escaping when encoding
3f61e83ef 2023-12-26 Andy C [j8] Do \u{123456} style escaping in encoded b"" strings
9e3873eea 2023-12-26 Andy C [j8] Start LexerDecoder
8456b0a40 2023-12-26 Andy C [j8] Start decoding strings in the lexer
e2e39801b 2023-12-26 Andy C [j8 parser] Decode character escapes
7b11180b7 2023-12-26 Andy C [j8] Start parser
98a764242 2023-12-26 Andy C [core fix] The = operator must flush stdout
ace56c3a0 2023-12-26 Andy C [translation] Fix build
90a298190 2023-12-26 Andy C [j8] Parse List
7ec3b10a6 2023-12-26 Andy C [j8 refactor] Simplify and remove code
5c5cfa535 2023-12-26 Andy C [types] Fix build
098412ba1 2023-12-26 Andy C [j8] Distinguish floats and integers
e423aae91 2023-12-27 Andy C Test out node.js errors
ca30ed02e 2023-12-27 Andy C [j8] Fix J8_Int lexer definition so it works with CPython
bcb852174 2023-12-27 Andy C [j8] Always use the J8 printer for 'json write'
f99e65b04 2023-12-27 Andy C [j8] Adjust API, and fix lint error
182821424 2023-12-27 Andy C [doc/ysh-faq] Elaborate on removal of echo -e -n
1a365d4da 2023-12-27 Samuel Hierholzer [doc] Add [[ -v expr ]] to known differences (#1771)
fdfa48c8a 2023-12-27 Andy C [test/spec] More tests for [[ -v expr ]] and [ -v expr ]
345864510 2023-12-27 Andy C [j8 refactor] More explicit public API
fa3c2f58e 2023-12-27 Andy C [test/spec] Fix metadata
10ead87e3 2023-12-27 Andy C [test/spec] Migrate more metadata
556acfe00 2023-12-27 Andy C [j8] Add skeleton for toJ8(), toJson(), fromJ8, fromJson()
02fc614f0 2023-12-27 Andy C [builtin/json] Fix build
540178cd1 2023-12-27 Andy C [data_lang] Add json-errors.sh file, to inspect error messages
935d5e7e5 2023-12-27 Andy C [j8] json read now uses the j8 parser, not yajl
e22edb4e8 2023-12-27 Andy C [j8] Fix usage of BufWriter
604b1d164 2023-12-27 Andy C [ysh refactor] Use j8 to print compexport output
0a5afdd06 2023-12-28 Andy C [j8] Tickle all the J8/JSON decode errors
cc595739b 2023-12-28 Andy C [j8] Raise encode errors, options for showing object cycles and non-data
fd5f44714 2023-12-28 Andy C [j8] Implement fromJson() fromJ8()
0f9d4a1ce 2023-12-28 Andy C [translation] Fix build
1a0dfbf28 2023-12-28 Andy C [ysh semantics] Fix and/or operators to lazily evaluate
d27375231 2023-12-28 Andy C [translation] JSON crash dump uses j8.Printer, not py-yajl
71304ccbd 2023-12-29 Andy C [spec/ysh-json] Failing test for surrogate pair and half
25f7a24c5 2023-12-29 Andy C [cleanup] Remove/repurpose py-yajl test
4387e318f 2023-12-29 Andy C [doc/ref] Update toc-data, add chap-errors
40052e94c 2023-12-29 Andy C [doc/ref] Document encoding errors for JSON, JSON8, Packle
a27a6da8a 2023-12-29 Andy C [build] Remove py-yajl submodule!
617048953 2023-12-29 Andy C [build] Remove more remnants of py-yajl
875784dd3 2023-12-29 Andy C [core] Minor optimization to crash dump
58308e183 2023-12-29 Andy C [soil] Add oils-cpp line counts to CI
7bd21325c 2023-12-29 Andy C [refactor] Move EchoLexer to new SimplerLexer2
7cca7dc54 2023-12-29 Andy C Revert "[refactor] Move EchoLexer to new SimplerLexer2"
3d02496a4 2023-12-29 Andy C [cleanup] Remove SimpleLexer2
7a766816c 2023-12-29 Andy C [test/unit] Fix build
95fb4ab7d 2023-12-29 Andy C [builtin/json] Handle encode errors
61b0ed749 2023-12-29 Andy C [builtin/error] Handle exception from 'error' builtin consistently
12fca62ec 2023-12-29 Andy C [json-survey] Python's lib doesn't respect JSON spec!
7cec4d350 2023-12-29 Andy C [spec/ysh-json] Sketching the _error Dict API
ee322d154 2023-12-30 Andy C [doc/ref] Re-organize into 3 chapters for data languages.
7eac1a012 2023-12-30 Andy C [doc/ref] Minor fixes
c26ccc8b6 2023-12-30 Andy C [builtin/try] Set _error register when using error builtin
c4d929936 2023-12-30 Andy C [json] Able to handle encode/decode errors with _error
d699c1e2d 2023-12-30 Andy C [builtin/error] Change default status to 10.
835336fdc 2023-12-31 Andy C [J8] Expose error.Stuctured with start_pos and end_pos
ecc1547b0 2023-12-31 Andy C [test/ysh-runtime-errors] Fix after default status = 10
6509015e5 2023-12-31 Andy C [test/lint] Fix build
0586f0948 2023-12-31 Andy C [doc/ref] Rewrite help for concat ++
58d847008 2024-01-01 Samuel Hierholzer [builtins] Implement Dict => values() method (#1777)
aee0ccd6a 2024-01-01 Andy C [builtin/error] Allow user to attached named properties to error.
e9299c611 2024-01-02 Andy C [demo] Explore Python's re.sub API
e493c0187 2024-01-02 Andy C [spec/ysh-string] Failing spec tests for J8 strings
4ca132aeb 2024-01-02 Andy C [ysh] Preliminary support for J8 string literals in command mode
fe9550cea 2024-01-02 Andy C [ysh] Disallow word parts after u'' and b''
1deabdb63 2024-01-02 Andy C [j8 refactor] Use Id.Left_* token types for quotes
f770a4351 2024-01-02 Andy C [spec/ysh-string] $'' strings don't support \u{123456}
9a07ad573 2024-01-02 Andy C [spec/ysh-string] Failing tests for multi-line J8 strings
590cb4ed5 2024-01-02 Andy C [word_parse refactor] Turn else clause into assert
ab3274772 2024-01-02 Andy C [word_parse refactor] Prepare for J8 multi-line strings
1bd58fcb5 2024-01-02 Andy C [ysh] Implement u''' and b''' in command mode
a4b246bfb 2024-01-02 Andy C [word_parse fix] Fix assertion
a0e7ce63c 2024-01-02 Andy C [test/ysh-every-string] New test for string literal syntax
62e0d0e92 2024-01-02 Andy C [test] Add ysh-every-string to CI and release.
3916fb076 2024-01-02 Andy C [word_parse] Consolidate 2 options under shopt -s parse_ysh_string
af917f1af 2024-01-02 Andy C [test/ysh-every-string] Add escaping test cases
9c5bc76de 2024-01-03 Andy C [ysh] Allow j8 strings in expression mode
76c1e2e75 2024-01-03 Andy C [ysh] Remove $'''
02ef29496 2024-01-03 Andy C [ysh] Remove more remnants of $'''
82af762d7 2024-01-03 Aidan [ysh] Make ^"..." syntax sugar for ^["..."] (#1779)
5ac349482 2024-01-03 Andy C [j8] Strings use single quotes: u'' and b''
8350a42f0 2024-01-04 Andy C [translation] Fix build
176f0a544 2024-01-04 Andy C [j8] Separate lexer for JSON strings
59c4a2cb2 2024-01-04 Andy C [fix] Bad merge!
c0698fc69 2024-01-04 Andy C [test/ysh-every-string] Test J8 escapes
3d99861ba 2024-01-04 Andy C [j8] Change the encoder to emit b''
dc0e93097 2024-01-04 Andy C [spec/ysh-json] Fix a couple tests.
643a1336d 2024-01-04 Andy C [doc/ref] Update docs for YSH string literals, with J8
92cb2287f 2024-01-04 Andy C [doc/ref] Document J8 strings
093fa7e6d 2024-01-04 Andy C [spec/ysh-json] Failing test cases for more errors
dad3d9daf 2024-01-05 Andy C [builtins] Rename j8 -> json8
c505aac62 2024-01-05 Andy C [j8] Make '' an alias for u''
3d5776e49 2024-01-05 Andy C [j8] Translate j8.Parser to C++
2a4efe0da 2024-01-05 Andy C [cpp] Make the stub return true
1a237d93b 2024-01-05 Andy C [j8] JSON parser rejects J8-style quotes
58c4699c1 2024-01-05 Andy C [translation] Fix build
b5f7d0d89 2024-01-05 Andy C [j8] Disallow \yff in u'' strings, in code and data
4ccacf825 2024-01-05 Andy C [j8] Disallow \u{} escapes in surrogate range
ff5391bdf 2024-01-05 Andy C [spec/ysh-json] Update a few tests
8a739ca62 2024-01-05 Andy C [j8] JSON uses lossy encoding, with Unicode replacement char U+FFFD
3e6609658 2024-01-06 Andy C [json] Decode surrogate pairs properly
6772c74df 2024-01-06 Andy C [cpp] Implement UTF-8 check with the Bjoern DFA
8ba202490 2024-01-06 Andy C [build] Add headers attr to cc_library()
f51b02977 2024-01-06 Andy C [build] Fix typo bug
1064a8939 2024-01-06 Andy C [ysh fix] Validate j8 strings in expr mode, as well as command mode
ed0c0e352 2024-01-06 Andy C [data_lang] Switch to newer Bjoern DFA
a149a7d5d 2024-01-06 Andy C [data_lang] Add UTF-8 testdata files
128f4c16c 2024-01-07 Andy C [j8] Start string encoder in pure C
13705b6ef 2024-01-07 Andy C [j8] Pure C encoder working
4f5a15a4d 2024-01-07 Andy C [j8] Polishing the string encoder
1110e5243 2024-01-07 Andy C [j8] Implement J8 vs. JSON logic
b2b0b8438 2024-01-08 Andy C [j8] Extract and test function
b23b3e472 2024-01-08 Andy C [mycpp refactor] Simplify BufWriter
876ea147b 2024-01-08 Andy C [mycpp/runtime] Plan new BufWriter API
c862cdaae 2024-01-08 Andy C [test/unit] Fix build
c27ac6dd9 2024-01-09 Andy C [j8] Figuring out BufWriter growth issue
17ae9e1c4 2024-01-09 Andy C [j8] Try chunk-based algorithm
d70990ed8 2024-01-09 Andy C [j8] Test API with C++ function
d8c91f70a 2024-01-09 Andy C [j8 rename] Rename to .cc since test is C++, not C
c70f08326 2024-01-10 Andy C [doc] Notes about dynamic scope and ${}
9fd6322d2 2024-01-10 Andy C [j8] Nicer growth logic
28033c348 2024-01-10 Andy C [j8] Start pure C j8c library
b271e0a5f 2024-01-10 Andy C [soil] Turn of dry_run flag to cleanup-jobs-index
a752f3179 2024-01-10 Andy C [build] Add ysh stdlib/ to OVM tarball
1d85563f6 2024-01-11 Andy C [j8] Implement EncodeString() in pure C
037cfb489 2024-01-11 Andy C [j8] Rename C APIs
22ad0573a 2024-01-11 Andy C [translation] Rewriting pyj8::WriteString()
d0b375481 2024-01-11 Andy C [j8] Implement encoder using mylib.BufWriter
713623c8a 2024-01-11 Andy C [test/unit] Fix build under Clang
4791caa2d 2024-01-11 Andy C [j8/j8c] Fix 2 buffer overflows
4cb78d64f 2024-01-11 Andy C [translation] Switch to pyj8::WriteString()
01b5fedb7 2024-01-11 Andy C [test/lint] Fix build
f4c29f3ae 2024-01-12 Andy C [pyext] Add fastfunc wrapper
e07042a41 2024-01-12 Andy C [data_lang] Replace pyj8 string encoding with fastfunc
3cac38706 2024-01-12 Andy C [build/cpython-defs] Update method definitions
8c1192d5b 2024-01-12 Andy C [spec/ysh-bugs] Migrate old test
2e69c640d 2024-01-12 Andy C [translation] Reimplement UTF-8 check
b407fdd08 2024-01-12 Andy C [doc] Work on J8 notation doc.
422d71b62 2024-01-13 Andy C [spec/ysh-json] Test nested messages
6c29d3379 2024-01-13 Andy C [doc] Polish J8 Notation doc
fe751386d 2024-01-13 Andy C [doc] Polish J8 Notation doc
b6e1cb962 2024-01-13 Andy C [spec/ysh-json] Adjust surrogate half test case
b64bc8fbe 2024-01-13 Andy C [rename] j8c -> j8_libc
afe2b7ca4 2024-01-13 Andy C [build fix] Renamed file
6ea2e52d5 2024-01-13 Andy C [json] Fix bugs with \/ and \' escapes
cd3cd046f 2024-01-13 Andy C [word_eval] Add locations to a couple errors
232c9144e 2024-01-13 Andy C [spec/builtins2] Survey of shell encoding.
fed17cb53 2024-01-17 Andy Chu [build] Mark functions 'static inline'
7cb3e5b59 2024-01-13 Andy C [github-actions] Don't have submodules any more
ff2e44d51 2024-01-18 Adam Bannister [doc] Fix default target to be ASAN (#1798)
4bd5badd5 2024-01-18 Andy C [soil] Working on dev-setup task
2b805e126 2024-01-18 Andy C [soil] dev-setup task works on both Ubuntu and Debian
cb95871a2 2024-01-18 Andy C [soil/dev-setup] Show wedge tree
f1b4a1735 2024-01-19 Andy C [github-actions] Switch dev-setup back to Ubuntu 20 for now
d65dc57c7 2024-01-19 Andy C [soil] Starting to port time_.py to python3
356a42088 2024-01-19 Adam Bannister [doc/ref] Fix typo in chap-type-method.md (#1800)
76019c81c 2024-01-19 Andy C [soil] Improve wedge size report
f5c0652ea 2024-01-19 Andy C [deps] python3 WEDGE uses --without-static-libpython
ec50d84a5 2024-01-19 Andy C [deps] MyPy and python2 size optimizations
4c264e11a 2024-01-19 Andy C [deps] Improve wedge report
a8279284f 2024-01-19 Andy C [soil] Starting dev-setup2 task on Fedora (on sourcehut)
46b7127c2 2024-01-19 Andy C [soil] Some fixes for dev-setup2, testing Fedora
cb5b220cd 2024-01-19 Andy C [soil] Can run without Python 2
5ab7f49d7 2024-01-19 Andy C [soil] More upgrades to Ubuntu 22 and Debian Bookworm
f3e1aa4da 2024-01-19 Andy C [github-actions] Upgrade the rest to Ubuntu 22
43505fe4f 2024-01-19 Andy C [github-actions] Use podman for dummy task
a3bd336ca 2024-01-19 Andy C [github-actions] pea task -> podman
8f2f31393 2024-01-20 Andy C [soil] Save up to 4000 jobs
521a79940 2024-01-22 Andy C [demo] Survey of string replace in Python and JS.
de37673c0 2024-01-22 Andy C [demo/survey-replace] JS doesn't support $0, it has $& instead!
f756f3bd2 2024-01-22 Andy C [build/deps] Some progress running on Fedora
4106d5f24 2024-01-22 Andy C [build/deps] Start to move test/spec-bin into wedges
2a5c3c911 2024-01-22 Andy C [build/deps] mksh builds on Debian and Fedora
58df065dc 2024-01-22 Andy C [build/deps] Moving shells from test/spec-bin
7289284b9 2024-01-22 Andy C [build/deps] spec-bin shells all compile on Alpine
6a72825dd 2024-01-23 Andy C [build/deps] dev-setup-alpine works!
5d549df8f 2024-01-24 Adam Bannister [osh] Implement $SECONDS (#1801)
064800ac5 2024-01-23 Andy C [demo] Make the demo run a bit faster
534526510 2024-01-23 Andy C [osh] Store timestamps as floats internally
5d6da3619 2024-01-23 Andy C [refactor] Comments, and planning parallel build/deps.sh
109f2df73 2024-01-24 Andy C logging
c2d367a0b 2024-01-24 Andy C [soil] dev-setup-* back to building spec-bin
ed9994164 2024-01-24 Andy C [build/deps] Prototype without test/common.sh
1a97f9bf5 2024-01-24 Andy C [build/deps] Add table of wedges
889a57a32 2024-01-24 Andy C [soil] Install spec-bin wedges in parallel
b5633a400 2024-01-26 Matthew Davidson [spec/builtins2] Add test cases for 'command -p' (#1808)
ebc75925a 2024-01-25 Andy C [build/deps] Fix relative wedge check
9d0a8bcc2 2024-01-25 Andy C [build/deps] Start parallelizing other wedges
8071aaf8d 2024-01-25 Andy C [build/deps] Install wedges in parallel
89df688a7 2024-01-25 Andy C [build/deps] Install py and cpp wedges in parallel
48c09f5c5 2024-01-26 Andy C [build/deps] Build spec-bin wedges too
fd4caf8aa 2024-01-26 Andy C [build/deps] Fix timestamp! %m -> %M
af7a4a98e 2024-01-26 Andy C [reformat] benchmarks/*.py
ea152fd84 2024-01-26 Andy C [j8] Fix 2 parsing bugs
2391ef835 2024-01-26 Andy C [j8] Encode empty containers to {} and []
0e2f259a6 2024-01-26 Andy C [soil] Show wedge task start and end times
6c490d26f 2024-01-26 Andy C [build/deps] Make HTML table sortable
3054c92cb 2024-01-26 Andy C [build/deps] Remove dummy stub
2f11b8ac7 2024-01-26 Andy C [build/deps] Fix field sorting, and add xargs slot
83adf0e83 2024-01-26 Andy C [benchmarks] Stub for wedge report
451f209c8 2024-01-26 Andy C [benchmarks/wedge] Basic ggplot2() working
7cf8c9889 2024-01-27 Andy C [benchmarks/wedge] Plot of xargs slots
205e64a3d 2024-01-27 Andy C [refactor] RunSimpleCommand takes bit flags
3d1aa8001 2024-01-27 Andy C [builtin/command] Implement -p flag
1535631ed 2024-01-27 Andy C [test/cpp-unit] Fix build
67c116e26 2024-01-27 Andy C [ysh/builtins] Implement write --json -- $s
b7a58a72b 2024-01-27 Andy C [xtrace] A filename like foo/bar.c shouldn't be quoted
bc1fa02a0 2024-01-28 Andy C [builtin/pp] pp proc uses J8 notation
f6a9405fc 2024-01-28 Andy C [refactor] compexport uses EncodeString() API
c2d77a876 2024-01-28 Andy C [xtrace] YSH uses shell string encoding, not QSN
d5ddb69b5 2024-01-28 Andy C [core] Quote filenames with J8 strings, not QSN
dca464261 2024-01-28 Andy C [refactor] Introduce j8_lite.py for ASDL to depend on
8349115b2 2024-01-28 Andy C [prebuilt] ASDL runtime uses j8_lite, not QSN
a4b922ec2 2024-01-28 Andy C [mycpp/examples fix] parse.py depends on ASDL and thus j8lite
547c9ace5 2024-01-28 Andy C [yaks] Disable Soil CI because of fastfunc dep
50c25a324 2024-01-28 Andy C [ysh breaking] Remove read --qsn and write --qsn
63737021d 2024-01-28 Andy C [doc] Remove QSN from ysh-tour
60f6cb1e9 2024-01-28 Andy C [cleanup] Remove bug chunks of QSN
fc1801891 2024-01-28 Andy C [pea] Regenerate manifest
e4a18414f 2024-01-28 Andy C [j8 refactor] Introduce shell encoding APIs
e2ce6266e 2024-01-28 Andy C [j8] Start implementing ShellEncodeString()
23756b885 2024-01-28 Andy C [j8] Implement low-level shell encoding
80c82ca5c 2024-01-28 Andy C [j8] Implement wrapper fastfunc.ShellEncode()
dc5bb5dec 2024-01-28 Andy C [j8] declare -p uses new fastfunc.ShellEncodeString()
31d4f7d43 2024-01-28 Andy C [j8] Migrate from shell encoding from QSN -> J8
d8c4263ba 2024-01-28 Andy C [j8] Migrate everything from QSN -> J8
313e282e5 2024-01-29 Andy C [test/spec] Migrate failure metadata
d14782fad 2024-01-29 Andy C [j8] Fix UTF8_REJECT handling.
a23c474e9 2024-01-29 Andy C [spec/ysh-json] Adjust allowed failures
b9d9e34a2 2024-01-29 Andy Chu [j8] Build fix for Ubuntu
fe8688bca 2024-01-29 Andy Chu [cleanup] Remove old copy of CanOmitQuotes()
8c63282f2 2024-01-29 Andy Chu [cleanup] Remove QSN
41ac36cff 2024-01-29 Andy Chu [spec/ysh-comand-sub] Failing test for @() and J8 lines
cf43b50fc 2024-01-29 Andy Chu [ysh translation] Fix int literal bug by removing 0b 0o 0x prefixes
7e1d31fe9 2024-01-29 Andy Chu [ysh builtin translation] Avoid crash in promptVal()
73339d6cd 2024-01-29 Andy Chu [ysh prompt] Adjust error message and spec test
4390a8ddf 2024-01-30 Andy Chu [mycpp runtime] assert -> DCHECK
3e37a5d4d 2024-01-30 Andy Chu [mycpp runtime] Fix bug caused by DCHECK
273c21334 2024-01-30 Andy Chu [mycpp/runtime] Disable List/Str slice step support
aa02881eb 2024-01-30 Andy Chu [mycpp/runtime] Remove unused slicing code
d49876e2d 2024-01-30 Samuel Hierholzer [errors] Better message when attempting to stringify a List (#1764)
f275ce7da 2024-01-31 Samuel Hierholzer [build] Check whether libc *pwent() available, e.g. for Android (#1814)
a821fc257 2024-01-31 Andy C [demo] Test cases for ^ and replacement
bb99379a4 2024-01-31 Andy C [demo] Also test multi-line matches
139146035 2024-01-31 Andy C [mycpp/runtime] Fix List slicing logic
7ca2b5b96 2024-01-31 Aidan [ysh builtins] Implement Str => replace() (#1778)
b343ef3b7 2024-01-31 Aidan [eggex] Document and test Eggex flags (#1817)
b63176fdb 2024-01-31 Andy C [mycpp/runtime refactor] Don't use len_ for local var name
4c2bacdd0 2024-02-01 Andy C [web/base.css] ALL pages conditionally get font-size: large
5b954839a 2024-02-02 Andy C [j8] Can't omit quotes on "true" "false" "null"
f45288a22 2024-02-02 Andy C [j8 fix] Use memcmp() correctly
81c6b5754 2024-02-02 Andy C [j8] Add missing header
99c50044f 2024-02-02 Andy C [yaks] Move back to Python 2 and re-enable tests
2dcf91ce6 2024-02-02 Andy C [spec/ysh-xtrace] Fix more assertions due to quoting 'true'
20a2d04fe 2024-02-02 Andy C [j8] Minor clean up and planning
2ecc7a38c 2024-02-02 Andy C [j8] Fix parse error with ( ) tokens in JSON/JSON8
d7a401bdf 2024-02-02 Andy C [spec/ysh-json] Fix assertion
c4f222e33 2024-02-02 Andy C [ASDL] Fix crash on object cycles in generated Python.
05a85ea85 2024-02-02 Andy C [spec/ysh-json] Add failing test case
031f57eb0 2024-02-02 Andy C [j8] Fix cycle detection
ea1644e2a 2024-02-03 Andy C [j8 refactor] Use one dict to detect cycles, not two
0acb18e7d 2024-02-03 Adam Bannister [ysh] echo disallows typed args when shopt -s simple_echo #1767 (#1804)
3000eac44 2024-02-03 Andy C [test/spec] Tests for echo (42) and echo (x)
b287a35cd 2024-02-03 Andy C [translation] Make note of different with frontend/flag_spec
3985e2e94 2024-02-03 Andy C [cpp] Add missing #include to fix #ifdef
937bd8b41 2024-02-03 Andy C [release] Bump version to 0.20.0
ffbe52abc 2024-02-03 Andy C [build/cpython-defs] Update for release 0.20.0