# Nushell core team meeting 2024-07-03 ## Attendees - Devyn - Darren - Michael - Andy - Stefan - Antoine - Jakub - woosaaahh ## Agenda - [x] Absolute vs. canonical paths - (not merging real_parent, but for context: https://github.com/nushell/nushell/pull/13243) - [x] How's the IR going? - [x] Problem with `++` from two items: - `{a: 2} ++ {a: 3}` => `[{a: 2}, {a: 3}]` - `1 ++ 2` => `[1, 2]` - `[1] ++ 2` => `???` ## Discussed Topics ### Absolute vs. canonical path ```nushell= mkdir symlink-test cd symlink-test mkdir foo mkdir bar/baz ln -s foo bar/baz/foo-link cd bar/baz/foo-link ls .. # lists "foo" and "bar", the contents of "symlink-test" '..' | path expand --no-symlink # prints path to "symlink-test" ``` - Probably better to do absolute paths without canonicalization - No need to check the real parent, possibly? But let's check what Python does for example - Possible to identify when things are in a certain scope where process working directory needs to be a certain value? - Stefan suggested a Global Path Lock where a lock is taken to change PWD - Might be difficult to deal with locking challenges - Big hazard comes from external crates that might do relative path stuff unknowingly - There's a Windows UNC path error that might have been clearer if we could change PWD ### IR https://hackmd.io/uxu8_6rQToWDevrqIBb5tA Getting very close to most things working (see TODO list) Write doc about each instruction Some features of the IR might not be relevant in the new parser (e.g., hopefully parser info). ### Alias bug (span refactor) Jakub reverted the Span No.2 PR for now Possibly left an unknown span (0,0) in somewhere ### `++` Let's keep strict append semantics for now ## Issues > :bulb: the issues which [needs-core-team-attention](https://github.com/nushell/nushell/labels/needs-core-team-attention) > :bulb: **Note** > to list all the PRs currently [opened in `nushell/nushell`](https://github.com/nushell/nushell/pulls): > ```nu > gh pr list --json url,number,author,title > | from json > | each {|i| > $"- [($i.number)]\(($i.url)\) ($i.title) \(@($i.author.login)\)" > } > | reverse > | to text > ```