Skip to content

Conversation

@nbfalcon
Copy link

@nbfalcon nbfalcon commented Apr 5, 2021

  • Macros that expand to sharpquoted forms are now also prettily printed like
    their quote equivalents:
    (defmacro test (x) `#'x) (test x) ; (test) now looks like #'x instead of (function x)
  • Don't error if the macro-expansion contains invalid quote-like forms:
    (defmacro test '(quote . t)) (test) ; (test) now expands to (quote . t) instead of erroring 
    while such macros are arguably wrong, macrostep shouldn't choke on them since
    macroexpand doesn't either.

nbfalcon added 2 commits April 4, 2021 10:57
`macrostep' already prints `quote' like ', so do something similar for
`function' (sharpquote).
`length' doesn't work on macros that expand to irregular quote forms, e.g.
(quote . x), where X is not a list. Handle those correctly as well, by
abstracting the quote checking code into a function that checks for `cons'es.
@nbfalcon
Copy link
Author

nbfalcon commented Apr 5, 2021

Fixes #23.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant