mirror of
https://github.com/janet-lang/janet
synced 2024-12-26 08:20:27 +00:00
Fix #477
Make the walk function preserve bracket type, which should fix threading macro behavior when threading into bracketed expressions.
This commit is contained in:
parent
b91fe8be5a
commit
0a1d902f46
@ -1141,7 +1141,10 @@
|
|||||||
:table (walk-dict f form)
|
:table (walk-dict f form)
|
||||||
:struct (table/to-struct (walk-dict f form))
|
:struct (table/to-struct (walk-dict f form))
|
||||||
:array (walk-ind f form)
|
:array (walk-ind f form)
|
||||||
:tuple (tuple/slice (walk-ind f form))
|
:tuple (let [x (walk-ind f form)]
|
||||||
|
(if (= :parens (tuple/type form))
|
||||||
|
(tuple/slice x)
|
||||||
|
(tuple/brackets ;x)))
|
||||||
form))
|
form))
|
||||||
|
|
||||||
(undef walk-ind)
|
(undef walk-ind)
|
||||||
|
@ -61,4 +61,8 @@
|
|||||||
(assert-no-error "import macro 1" (macex '(import a :as b :fresh maybe)))
|
(assert-no-error "import macro 1" (macex '(import a :as b :fresh maybe)))
|
||||||
(assert (deep= ~(,import* "a" :as "b" :fresh maybe) (macex '(import a :as b :fresh maybe))) "import macro 2")
|
(assert (deep= ~(,import* "a" :as "b" :fresh maybe) (macex '(import a :as b :fresh maybe))) "import macro 2")
|
||||||
|
|
||||||
|
# #477 walk preserving bracket type
|
||||||
|
(assert (= :brackets (tuple/type (postwalk identity '[]))) "walk square brackets 1")
|
||||||
|
(assert (= :brackets (tuple/type (walk identity '[]))) "walk square brackets 2")
|
||||||
|
|
||||||
(end-suite)
|
(end-suite)
|
||||||
|
Loading…
Reference in New Issue
Block a user