@@ -254,6 +254,27 @@ md"""
254
254
# Test macro
255
255
"""
256
256
257
+ # ╔═╡ b6b1e037-754e-4c9c-a79d-2a1517cb409d
258
+ remove_quotes (ex:: Expr ) = Expr (if ex. head === :$
259
+ :block
260
+ else
261
+ ex. head
262
+ end , remove_quotes .(ex. args)... )
263
+
264
+ # ╔═╡ 8020701d-e23a-4d95-b4ad-ebeddd374fb5
265
+ remove_quotes (x) = x
266
+
267
+ # ╔═╡ fc1ec730-4e11-452c-94a7-26605a87a89e
268
+ let
269
+ e = """
270
+ map(1:15) do i
271
+ @test 2 * \$ i > 0.19
272
+ end
273
+ """ |> Meta. parse
274
+
275
+ e, remove_quotes (e)
276
+ end
277
+
257
278
# ╔═╡ bfe4dc61-9160-4c7e-8897-9c723b309adc
258
279
# function test(expr)
259
280
# if Meta.isexpr(expr, :call, 3) && expr.args[1] === :(==)
488
509
489
510
# ╔═╡ a661e172-6afb-42ff-bd43-bb5b787ee5ed
490
511
macro eval_step_by_step (e)
491
- step_by_step (e; __module__= __module__)
512
+ step_by_step
513
+ quote
514
+ if false
515
+ $ (esc (remove_quotes (e)))
516
+ end
517
+ $ (step_by_step (e; __module__= __module__))
518
+ end
492
519
end
493
520
494
521
# ╔═╡ 930f8244-cf25-4c1a-95f6-5c8963559c62
501
528
@eval_step_by_step xasdf = 123
502
529
503
530
# ╔═╡ 8a5a4c26-e36c-4061-b32f-4448625ce4a6
504
- xasdf
531
+ try
532
+ xasdf
533
+ catch e
534
+ e
535
+ end
505
536
506
537
# ╔═╡ 21d4560e-721f-4ed4-9db7-86a8151ab22c
507
538
md """
@@ -643,11 +674,6 @@ function test(expr, extra_args...; __module__)
643
674
Test. test_expr! (" " , expr, extra_args... )
644
675
645
676
quote
646
- # for pluto to detect
647
- if false
648
- $ (esc (expr))
649
- end
650
-
651
677
expr_raw = $ (QuoteNode (expr))
652
678
try
653
679
# steps = @eval_step_by_step($(expr))
@@ -1118,7 +1144,12 @@ begin
1118
1144
export @test
1119
1145
1120
1146
macro test (expr... )
1121
- test (expr... ; __module__= __module__)
1147
+ quote
1148
+ if false
1149
+ $ (esc (remove_quotes (expr[1 ])))
1150
+ end
1151
+ $ (test (expr... ; __module__= __module__))
1152
+ end
1122
1153
end
1123
1154
1124
1155
function Base. show (io:: IO , m:: MIME"text/html" , call:: Union{WrongCall,CorrectCall} )
@@ -1390,10 +1421,12 @@ embed_display(@test false)
1390
1421
# ╠═14c525a1-eca1-466b-8e63-3a90d7d7111c
1391
1422
# ╟─a2efc968-246c-40c2-b285-2ec94b185a44
1392
1423
# ╠═c39021dc-157c-4bcb-a3a9-fec8d9286b48
1424
+ # ╠═b6b1e037-754e-4c9c-a79d-2a1517cb409d
1425
+ # ╠═8020701d-e23a-4d95-b4ad-ebeddd374fb5
1426
+ # ╠═fc1ec730-4e11-452c-94a7-26605a87a89e
1393
1427
# ╠═e1c306e3-0a47-4149-a9fb-ec7ab380fa11
1394
1428
# ╠═b6e8a170-12cc-4d97-905d-274e2609bfd8
1395
1429
# ╟─bfe4dc61-9160-4c7e-8897-9c723b309adc
1396
- # ╠═ac02b12a-3982-4526-a51c-0bf85198b81b
1397
1430
# ╠═bb770f3f-72dd-4a71-8d71-9e773224df05
1398
1431
# ╠═22a33c8c-e07f-445e-9d8d-a676f704ec45
1399
1432
# ╠═176f39f1-fa36-4ce1-86ba-76248848a834
@@ -1403,6 +1436,7 @@ embed_display(@test false)
1403
1436
# ╠═3b2e8f55-1d4b-4a36-83f6-26becbd79e4b
1404
1437
# ╠═7c1aa057-dff2-48cd-aad5-1bbc1c0a729b
1405
1438
# ╠═ec2ed42c-1227-4e0d-b642-20e6f3503d2a
1439
+ # ╠═ac02b12a-3982-4526-a51c-0bf85198b81b
1406
1440
# ╠═9c3f6eab-b1c3-4607-add8-d6d7e468c11a
1407
1441
# ╠═1ac164c8-88fc-4a87-a194-60ef616fb399
1408
1442
# ╠═98ac4c36-49c7-4f65-982d-0b8bf6c372c0
0 commit comments