Thanks Alexander, you are right. I fixed it accidentally when I was unintentionally quoting random things inside manually.
If you interested in specifics, please check this https://gitlab.com/Abel-ze-Normand/pgint.l/commit/1d5307af26bafdb012ddeb2fcd4ff165677c7441#351b402b0cf612cf18c60eaca9c2b8be18f8ae51_161_183 line, which was causing such problem. So, (pg-trans) and (assert-throws) both are functions with manual arguments evaluation. My referenced line was throwing an error ``` !? ... pg-db-err -- Tag not found ``` But after I quoted (pg-trans ...) call, this test works like a charm. So I have a question, is there a reason to quote functions used as args for functions with manually evaluated arguments? I thought that there is no such reason to quote this sub S-expressions because they are not evaluated anyway (due to function declaration like for pg-trans or assert-throws) Thanks, Nail. пт, 18 янв. 2019 г. в 23:45, Alexander Burger <[email protected]>: > Hi Abel, > > > Hello everyone, can someone help me please to understand why (catch) > around > > manually-evaluated function args is not actually catching thrown tag? > > ------------------- > > (de manual-eval X > > (mapc eval X) ) > > > > (de throw-err () (throw 'my-err) ) > > > > # this does not evaluate > > > > (catch 'my-err > > (manual-eval > > (throw-err) ) ) > > I think it works fine. The error is correctly thrown and caught. > > You can easily make a negative test. Change the tag 'my-err' in the > 'catch' tag to something else, and you get > > !? (throw 'my-err) > my-err -- Tag not found > ? > > ☺/ A!ex > > -- > UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe > -- С уважением, Наиль.
