Commits Between Branches origin/release/0.17.0 and release/0.18.0

7b54194bd 2023-07-26 Aidan [osh] error builtin for both procs and funcs (#1682)
b9a5bf77d 2023-07-27 Aidan [ysh] Implement varadic arguments in funcs (#1683)
a43bc5d5c 2023-07-27 Andy C [build/deps] Add yapf to py3-libs "wedge"
d0ce446f2 2023-07-27 Andy C [fix] Hack to revert to old py3-lib version number
2e94bd6bf 2023-07-27 Andy C [rename] OilEvaluator -> ExprEvaluator
21800e76e 2023-07-27 Andy C [devtools] Move C++ formatting to devtools/format.sh
f13f87050 2023-07-27 Andy C [devtools] Install yapf in virtualenv
de8c93fad 2023-07-28 Andy C [devtools] Work around 'git log' regression
e3cbbc6d2 2023-07-29 Andy C [main] Add --tool flag
1247046d8 2023-07-29 Andy C [fix] osh -n respects --one-pass-parse
72ec6f695 2023-07-29 Andy C [fix] Bug with interactive shell and --tool
3b40685ae 2023-07-29 Andy C [fix] tools/oshc-deps.sh uses osh --tool
936df3dcc 2023-07-29 Andy C [rename] osh2oil.py -> ysh_ify.py
9390599d1 2023-07-29 Andy C [fix] After renaming
4a7e541e6 2023-07-31 andychu [core] Job control overhaul (#1675)
a9ed51e47 2023-07-31 Andy C [spec/stateful/job-control] Mark pipeline suspend/resume N-I
edb545eca 2023-07-31 Andy C [translation] Static typing of Hay evaluation
66a1d506b 2023-08-01 Andy C [translation] More Hay translation
3ac07a751 2023-08-01 Andy C [rename] util.ArgsSpec -> typed_args.Spec
ef821e1ac 2023-08-01 Andy C [translation] Hay functions
b8609aafd 2023-08-01 Andy C [frontend] Sketch of general typed_args.Spec
74908c042 2023-08-01 Andy C [cleanup] Remove PyObject support in flag parser
126972165 2023-08-03 Melvin Walls [core] Remove processes from dict on exit (#1686)
62db78ad6 2023-08-04 Aidan [ysh] Fix bugs in case arm parsing (#1684)
146a001a9 2023-08-04 Andy C [release] Shell functions for 0.17.0
fe6a1f882 2023-08-04 Andy C [doc] Fix ~/.config/oil -> oils in getting-started
a1eb13883 2023-08-04 Andy C [doc] Partial renaming, Oil -> YSH, etc.
bfcfb0453 2023-08-04 Andy C [doctools] Minor renaming
6719e5591 2023-08-04 Andy C [doc] Separate "card" for each chapter index
0db73c17f 2023-08-04 Andy C [doctools] New 'chapter-links-' mechanism
bf3737443 2023-08-04 Andy C [doc] Move help text to ref/chap-front-end.md
961e01778 2023-08-05 Andy C [doc] Fix essential help topics
a1ec6019f 2023-08-05 Andy C [fix] For _devbuild/gen/help_.py
2e999eae7 2023-08-05 Andy C [doc/ref] Use <pre> for topics embedded in help
5fbb244e7 2023-08-05 Andy C [doc/ref] Create chap-cmd-lang
95cbd7a3b 2023-08-05 Andy C [fix] For _devbuild/gen/help_.py
26dc4a3f5 2023-08-05 Andy C [doc/ref] Chapters osh-assign and expr-lang
6b183ffb7 2023-08-05 Andy C [doc/ref] Chapter word-lang, builtin-cmd
290c135e0 2023-08-05 Andy C [doc/ref] ysh-help.md moved into chapters
bd59697fd 2023-08-05 Andy C [doc/ref] Move osh-help.md into ref/chap-*
ed417ed71 2023-08-05 Andy C [doc] Move ref indexes, and delete some docs
a91ee17af 2023-08-05 Andy C [doc] Cleanup pass over doc/
c017f0eda 2023-08-05 Andy C [doc fix] Add missing index.md
29f0d658e 2023-08-05 Andy C [doc] More reorg / polish
a9f617ea7 2023-08-05 Andy C [doc/ref] Remove docs that aren't in chapters
2b136a06f 2023-08-05 Andy C [doc] Polish the entry points
eb01cfc5d 2023-08-05 Andy C [doc/ref] Start index-j8.md
397af9ec5 2023-08-05 Andy C [doc/ref] Data Languages skeleton
bbeef3d45 2023-08-06 Andy C [doc] Show which docs aren't ready to read yet
fa61ce6be 2023-08-06 Andy C [doc/ref] Refactor CSS
a4f0a38f9 2023-08-06 Andy C [doctools] Create a tree in CardsFromChapters()
b561fb0f4 2023-08-06 Andy C [doctools] Export debug info for new ref_check.py tool
1e2c8356e 2023-08-07 Andy C [doctools] Fix unit test
b7fde0053 2023-08-07 Martin Fischer [github] Add FUNDING.yml (#1689)
5d80369b7 2023-08-07 Andy C [README] Oil -> Oils
8e590c49d 2023-08-07 Andy C [doctools] Start simpler in-process ref-check
3ce950132 2023-08-07 Andy C [doctools] Checking chapter topic integrity
8f2641abf 2023-08-07 Andy C [translation] Add _gen/frontend/help_meta.*
7262fdd45 2023-08-07 Andy C [fix] dev-minimal build without help
c63958df2 2023-08-07 Andy C [fix] More minimal build fixes
3b6d17794 2023-08-07 Andy C [build fix] Remove help_meta.h header
bfb4ac11c 2023-08-07 Andy C [builtin/help refactor] Start using Dict metadata
e0376de53 2023-08-07 Andy C [builtin/help] Print URLs for most topics
23787122b 2023-08-07 Andy C [fix] Unit tests and bin/osh_eval.py types
be0a361de 2023-08-07 Andy C [doc/ref] Print help more nicely
e360ec097 2023-08-07 Andy C [test/spec] Fix help builtin tests
b7cda4a02 2023-08-07 Andy C [builtin/help] Show 'ysh-chapters' topic when used from ysh
f001ab9c3 2023-08-07 Andy C [fix] bin/osh_eval.py after help refactoring
4450ceec7 2023-08-07 Andy C [main] Print a consistent version string
fb85833cd 2023-08-07 Andy C [main] More consistent --help and --version in Python / C++
3eaeb3fad 2023-08-08 Andy C [fix] C++ unit tests
7ba1609a0 2023-08-09 Andy C [soil] Add cmark wedge to Dockerfile.clang
2bf057820 2023-08-09 Andy C [build] Restore help metadata, to translate to C++
b2c9e2298 2023-08-09 Andy C [mycpp/runtime] Refactor GLOBAL_{STR,LIST}() initialization
9fea4193c 2023-08-09 Andy C [mycpp/runtime] Implement GLOBAL_DICT()
efabd94ed 2023-08-10 Andy C [mycpp] Generate GLOBAL_DICT from top level constants
0a3825803 2023-08-10 Andy C [mycpp/runtime] Fix initialization for empty dict
145073ab8 2023-08-10 Andy C [mycpp/runtime] Add unused hash_value_ field to Str
9f7c2d70c 2023-08-10 Andy C [benchmarks/uftrace] Account for hash value in Str header
de575f92a 2023-08-10 Andy C [mycpp/runtime refactor] GLOBAL_{LIST,DICT} style change
21edb0327 2023-08-10 Andy C [fix] consts_gen.py GLOBAL_LIST
3f68531f4 2023-08-10 Andy C [mycpp/runtime cleanup] Remove Cheney GC
ed3f1ffc5 2023-08-10 Andy C [build fix] Finish removing Cheney GC
ffc88f00f 2023-08-10 Andy C [builtin/help refactor] Tweak topic dict, add test
7e12f3c60 2023-08-10 Andy C [translation] Serialize help data as GLOBAL_DICT
365159db3 2023-08-10 Andy C [build] Skeleton for embedding text files in the C++ binary
e5bce14eb 2023-08-10 Andy C [cpp] Add unit test for ResourceLoader
14bcde82c 2023-08-10 Andy C [translation] Embed _devbuild/help in the C++ binary
2cd2aaf70 2023-08-10 Andy C [translation] Silence some C++ compile warnings
add655caa 2023-08-10 Andy C [mycpp/runtime refactor] Prepare for multiple allocator pools
a2bf0ac87 2023-08-10 Andy C [mycpp/runtime] Two pools: 24 byte and 48 byte
b22dccf61 2023-08-10 Andy C [benchmarks/uftrace] Fix typo
ca86826fb 2023-08-12 Martin Fischer [cleanup] Fix typos in source code (#1693)
d717011c1 2023-08-12 Andy C [test/spec refactor] Move spec/osh-only to ysh suites
f1ac95833 2023-08-12 Andy C [soil] Move ysh-spec to ovm-tarball task
48b1da973 2023-08-12 Andy C [soil] Move ysh-py spec tests to spec-cpp for 'jq'
1be8ecaad 2023-08-12 Andy C [cpp/qsn] Fix signed char bug yet again!
c79377410 2023-08-12 Andy C [frontend/pyreadline] Check errors and throw exceptions
2032d6429 2023-08-12 Andy C [builtin/complete] Add syntax error when no args, but flags
dfb412766 2023-08-12 Melvin Walls [ysh] Add 1:n Range iterator
db77c4fc7 2023-08-12 Andy C [translation] Fix crash when 'complete' prints its state
00f9b2b34 2023-08-12 Andy C [mycpp] Disallow try/finally
8433565c7 2023-08-13 Andy C [main] Embed stdlib/*.ysh, and implement --tool cat-em
45b08c27b 2023-08-13 Andy C [mycpp/runtime] Make Pools about 16 KiB each
6f0536467 2023-08-13 Andy C [doc] Clean up j8-notation doc
49a2ea0be 2023-08-13 Andy C [test/spec cleanup] Move metadata into spec/ysh-* files
751619a64 2023-08-13 Andy C [test/spec refactor] Move more metadata to spec/*
1808ef322 2023-08-13 Andy C [test/spec fix] Add missing metadata
4958113f7 2023-08-13 Aidan [ysh] Define Funcs in the Variable Namespace (#1688)
f26ad0baf 2023-08-15 Andy C [doc/ref rename] index-* -> toc-*
fa1f2ecb9 2023-08-15 Andy C [mycpp/demo] Idea for interfaces
0f0c15a05 2023-08-16 Melvin Walls [ysh translation] Implement len() (#1697)
9ae93fd57 2023-08-17 Aidan [ysh] Add --builtin flag to source (#1700)
5e82343f5 2023-08-15 Andy C [doc/ref] Sketch of YSH methods and funcs
f2367ead5 2023-08-22 Andy C [pea] Nice test of parallel parsing
538378f7b 2023-08-22 Andy C [build] Change default target to _bin/cxx-asan/{osh,ysh}
18f1d5653 2023-08-22 Andy C [mycpp/runtime] Fix API for BumpLeakHeap
88c18bfe5 2023-08-22 Andy C [mycpp/runtime fix] Another API fix
d848e641c 2023-08-23 Andy C [mycpp/runtime] Translate non-global Dict literals
c4158373a 2023-08-23 Andy C [mycpp/runtime] Remove NewDict() APIs
9d22101e2 2023-08-23 Andy C [rename] Rename to alloc.ctx_SourceCode()
335e0f129 2023-08-23 Andy C [refactor] ui.ctx_Location and CurrentLocation() were redundant
9f77a4d28 2023-08-23 Andy C [osh and ysh] Fix case $LINENO bug
80ec0c946 2023-08-23 Andy C [refactor] Clarify that token is for $LINENO
c90e0d324 2023-08-23 Andy C [errors] More specific error location for $[len(42)]
5b68c12c5 2023-08-23 Andy C [errors] SetTokenForLine() just once on ShAssignment
df4afb91f 2023-08-23 Andy C [errors] Remove unnecessary SetTokenForLine()
429614f01 2023-08-23 Andy C [fix] Location info for bare assignment
6e9e55e7a 2023-08-23 Andy C [errors] Remove SetTokenForLine() in command.If
70cedea4e 2023-08-23 Andy C [errors] Improve location in: for x in (y)
cd4643306 2023-08-23 Andy C [test/lint] Fix build
08289e944 2023-08-23 Andy C [errors] Add locations to errors, e.g. f(x) and 3 < 4
097aaa882 2023-08-23 Andy C [ysh] Fix bug with uncaught ZeroDivisionError
36aabf919 2023-08-23 Andy C [ysh] Fix semantics of ternary 'if' to match if statement
d0423decf 2023-08-24 Andy C [test fix] No errors for 'and' expression
8f20c45c9 2023-08-24 Andy C [spec/ysh-expr-arith] Improve tests
20f7f97e2 2023-08-24 Andy C [pea] Parallel parsing and pickle test
fdb6aafe4 2023-08-24 Melvin Walls [frontend] New API typed_args::Reader (#1705)
1243a19df 2023-08-24 Andy C [pea] Perf tests for parallel type checking
353192276 2023-08-24 Andy C [ysh] Change semantics of 'not' to match and or if
c70557c01 2023-08-24 Andy C [fix] Spec tests and pea/TEST.sh
6ef097baf 2023-08-24 Andy C [ysh refactor] Extract function _ConvertForBinaryOp
7fb66677a 2023-08-24 Andy C [ysh] Fix conversion logic
1487623f3 2023-08-24 Andy C [ysh semantics] Comparison operators take both Int and Float
86f4badd2 2023-08-24 Andy C [test/ysh-runtime-errors fix] Remove test case
4ebf33506 2023-08-24 Andy C [spec/ysh-assign] Add test case for augmented assignment.
f3c496a38 2023-08-25 Andy C [mycpp/runtime] Implement str(double d)
f0152f4a8 2023-08-26 Andy C failing tests
7a7ee64a1 2023-08-26 Andy C tweak
ea97ae972 2023-08-26 Andy C [ysh semantics] Unary - and ~ do conversions from string
0bb7581d7 2023-08-26 Andy C [refactor] Rename error.InvalidType2 -> TypeErr
44a529bc7 2023-08-26 Andy C [ysh] Improve error API, and use it in a few places
696a310fe 2023-08-26 Andy C [ysh refactor] Improve error API; simplify Slice/Range evaluation
aeacaf176 2023-08-26 Andy C [ysh refactor] Use better error APIs
b8649d37f 2023-08-26 Andy C [translation] Use ui.ValType() instead of value_str()
420a67d88 2023-08-27 Andy C [refactor] Improve error APIs
4c1a964d1 2023-08-27 Andy C [ysh refactor] Move toward an API with locations
3519b33ae 2023-08-27 Andy C [ysh refactor] Remove ToInt / ToStr in favor of new APIs
b8d90b3d4 2023-08-27 Andy C [rename] MustBeX() -> ToX()
cdbf3cdb7 2023-08-27 Andy C [ysh] Remove BashArray,BashAssoc support for setvar x[obj]
4cb10e215 2023-08-27 Andy C [ysh] Fix crash on conversion to integer
b6383a9d1 2023-08-27 Andy C [ysh refactor] Inline some short methods, clean up code
0572cb6a9 2023-08-27 Andy C [ysh] Add location info errors for ++ and binary arith ops
00f2e0a8f 2023-08-27 Andy C [refactor] Extract long _EvalPlaceMutation() method
75f715868 2023-08-27 Andy C [ysh] Check args to eval_hay(), evaluate ^(echo hi)
e9a1acf61 2023-08-27 Andy C [refactor] Use short 'r' name instead of arg_reader
09b13a407 2023-08-27 Andy C [stdlib] Skeleton for stdlib/{args,testing}.sh
60fe7a448 2023-08-27 Andy C [ysh parser] Unify parsing of proc and func params
18634939c 2023-08-27 Andy C [translation] Rewrite code that returns variants conditionally
84676f4d5 2023-08-27 Andy C [ysh grammar] Rename productions, add some tests
2c9b1cea1 2023-08-28 Andy C [ysh] Transform ysh_proc grammar rule -> proc_sig.Closed
3e69d5c80 2023-08-28 Andy C [ysh proc] Word param types can only be Ref or Str
faa2b7604 2023-08-28 Andy C [ysh refactor] Remove prefix token from Param
c47329996 2023-08-28 Andy C [ysh proc] Make syntax of block param consistent
b45d345da 2023-08-28 Andy C [mycpp] Fix bug with s not in ('foo', 'bar')
e2f9c368e 2023-08-28 Andy C [ysh refactor] Simplify ysh_func transform function
185bad8c8 2023-08-28 Andy C [refactor] Extract core/code.py, to unify Proc/Func arg binding
8075f1971 2023-08-28 Andy C [refactor] Make field names consistent
58d665b51 2023-08-28 Andy C [spec/ysh-*] Add failing tests for proc and func param binding
76b9c38d0 2023-08-28 Andy C [frontend] Params are (Token, str name) pairs
2d54da0bb 2023-08-28 Andy C [test/lint] Misc fixes
e45cad993 2023-08-28 Andy C [ysh] Add location info to param binding
58546efea 2023-08-29 Aidan [ysh] Define identity, max, min and abs in YSH (#1709)
a6764358f 2023-08-29 Andy C [osh fix] cd replaces the top of the dir stack
44553deec 2023-08-29 Andy C [test/spec] Rename spec/testdata *.oil -> *.ysh
f6993854f 2023-08-29 Andy C [ysh] Implement is-main builtin
6517a7ef0 2023-08-29 Aidan [translation] Fix crash in oils-native from bad % format string (#1713)
8f0e83b13 2023-08-30 Andy C [build] Fix shell error when building without readline.
c59715710 2023-08-30 Andy C [spec/redirect-glob] New tests for redirects with globs
ff2ec73d3 2023-08-31 Andy C [ysh fix] Binary operators are left associative!
d13435eef 2023-08-31 Andy C [cpp] Remove code made obsolete by last change
9fd444510 2023-08-30 Andy C [osh-language] Evaluate redirect words that are paths differently
341075915 2023-09-01 Andy C [doc/ref] Document the redirect to file behavior
bf4da65eb 2023-09-01 Andy C [release] Publish benchmarks/uftrace
8a5f4ae5b 2023-09-02 Andy C [doc/ref] Skeleton for some new builtin functions
2a01bd8a6 2023-09-02 Andy C [doctool] Starting src-tree source viewer
49082a88d 2023-09-02 Andy C [test/spec-runner] Replace awk code with doctools/src_tree.py
0852ad969 2023-09-02 Andy C [doctools] Render repo files to an HTML tree
6efcb993a 2023-09-03 Andy C [doctools/src-tree] Fix a couple links
4fa60cf54 2023-09-03 Andy C [release] Replace source-code.wwz with src-tree.wwz
b1564b2d6 2023-09-03 Andy C [test refactor] Consolidate into test/sh-assert.sh
8b42e5c38 2023-09-03 Andy C [refactor] Tighten up error messages, simplify conditional
2451a87bb 2023-09-03 Andy C [ysh] Allow shell assignment foo=bar at the top level
762a99892 2023-09-03 Andy C [translation] Fix error related to !=
7d68848a7 2023-09-03 Andy C [test] Fix tests after removing parse_sh_assign
093efe5ef 2023-09-03 Melvin Walls [translation] Translate more builtins: join, maybe, etc. (#1712)
0a1fa5728 2023-09-03 Andy C [test/ysh-parse-errors] Rename function
1ca1ea8eb 2023-09-03 Andy C [test] Expand ysh-parse-errors to C++
dd6a83eff 2023-09-03 Andy C [test/ysh-parse-errors] Restore a Hay test
2dbeff95c 2023-09-03 Andy C [cleanup] Add comments, move assertion
375e603e8 2023-09-03 Andy C [hay] Disallow shell assignment x=1 in Hay Attrs
a22759e52 2023-09-03 Andy C [release] Bump version to 0.18.0
6c828b9cb 2023-09-03 Aidan [stdlib] Define any() all() sum() List::reverse() in YSH (#1714)
49f9de2ee 2023-09-04 Andy C [build] Remove Cirrus CI
a2c770db4 2023-09-04 Andy C [doc] Update command vs. expression mode
af64b84f6 2023-09-05 Aidan [docs] Document all stdlib/{math,list}.ysh functions (#1718)
659744a5e 2023-09-05 Melvin Walls [translation] Spec and implement Bool() Int() Float() ... (#1717)
91a08a805 2023-09-05 Andy C [doc/ref] Make a pass over builtin-func and the TOC.
6334e6ed6 2023-09-05 Andy C [metrics] Tweak line counts
9915015a2 2023-09-05 Andy C [core] Flush after writeln() to --debug-file
72ec6940b 2023-09-05 Andy C [mycpp/examples] Reproduced crash due to global
392d4c13f 2023-09-05 Andy C [fix] Remove failing assertion
3f6c07e39 2023-09-05 Andy C [core] Remove dead code
3f400856b 2023-09-05 Melvin Walls [core/vm] Simplify _Callable.Call() signature (#1719)
550074eff 2023-09-06 Melvin Walls [translation] More functions / methods - List->extend(), glob(), split(), ... (#1720)
325bb70db 2023-09-06 Andy C [translation] Remove global Token LINE_ZERO
bbebf3ba2 2023-09-06 Andy C [spec/introspect] Add test
f4c234c84 2023-09-06 Andy C [core] Improve BASH_SOURCE compatibility
e7dfe3ac9 2023-09-06 Andy C [spec/introspect] More tests for 'source'
416efb406 2023-09-06 Andy C [core] Rewrite debug stack with sum types
f3ccefa4b 2023-09-06 Andy C [frontend] Remove global _EOL_TOK object, fixing crash
cd8873c29 2023-09-06 Andy C [frontend fix] Return dummy Token instead of None
e4d4f62b8 2023-09-06 Andy C [rename] Bool() -> bool(), Int() -> int(), etc.
1fce4be37 2023-09-10 Andy C [builtins] First pass of new 'compexport' builtin
98e8afb1b 2023-09-10 Andy C [builtin/compexport] Start testing it
07c9f1340 2023-09-10 Andy C [builtin/compexport] Docs and more test cases
3365ce4b2 2023-09-10 Andy C [translation fix] Remove 'if 1' mycpp does not like
7d1aeec89 2023-09-10 Andy C [builtin/compexport] Improve spec tests
8dc57654a 2023-09-10 Andy C [testdata/completion] demo: bash COMPREPLY is a shell string
13ba29b8b 2023-09-10 Andy C [testdata/completion] Test complete -W and -C with spaces
ca1f4f910 2023-09-10 Andy C [testdata/completion] Figure out how to adapt complete -C output to -W string
8b38f3c90 2023-09-11 Andy C [testdata/completion] Test out completino of $HOME etc.
ac92e9d65 2023-09-11 Andy C [builtin/complete] Stub for complete -C
3ef3f5a7e 2023-09-11 Andy C [builtin/compexport] Use JSON instead of QSN
4be911bd3 2023-09-11 Andy C [spec/ysh-completion] Add test cases covering ShellQuoteB()
ee552f1c0 2023-09-11 Andy C [refactor] Add comp_action_e type
bd5a31014 2023-09-12 Andy C [completion] Remove extra quoting on completion candidates
34552814d 2023-09-12 Andy C [build] Embed gCommitHash in the C++ binary
0ea915519 2023-09-12 Andy C [build fix] Generate git-commit.txt in build/py.sh all
a1b3d9130 2023-09-12 Andy C [build fix] mkdir for git-commit.txt
ac4d1c7ae 2023-09-12 Andy C [build fix] Use build/stamp.sh
8c283875f 2023-09-12 Andy C [bin] Show git commit in --version string
25b48a99e 2023-09-12 Andy C [spec/ysh-completion] Make a pass over test cases
49499b3f0 2023-09-12 Andy C [build fix] Include git-commit.txt int he tarball
1a0c59f82 2023-09-12 Andy C [build] Query Ninja graph for generated headers
70b27856e 2023-09-12 Andy C [rename] //cpp/git_comit -> //cpp/build_stamp
787f2dde2 2023-09-12 Andy C [core] Add --completion-demo flag
7f0bb7d09 2023-09-12 Andy C [build/cpython-defs] Update for Oils 0.18.0
8e88cc550 2023-09-12 Andy C [release] Fix typo
e0908382c 2023-09-13 Andy C [spec/ysh-completion] Disable test when git is too old
2881f2903 2023-09-13 Andy C [spec/ysh-completion] Fix version detection