Skip to content

Conversation

@kchanqvq
Copy link
Member

This keeps the nice idea of JS emulation while cut down some kludges from the implementation. Hopefully uncontroversial :)

  • simplify bootstrap process. ffi.lisp is back to target, emulation goes to compat.lisp. read-j helpers in compat.lisp no longer needed, read-j goes to read.lisp.
  • cleanup some extraneous conversions, close Why there's both CONVERT-XSTRING and CONVERT-PROPERTY-KEY? #587
    convert-xstring is inlined to jsstring (under no other circumstance it should be used). Fix a dangling convert-xstring which should have been convert-property-key
  • we used to have many tests (need to keep sync with literal!) in convert for the branch that outsource to literal, then there's a cond in literal that has no catch-all branch (will return NIL if falls through, too bad!). I changed it so that catch all branch in convert outsource to literal (all atomic value without special meaning should rightfully be handled this way), then catch all branch in literal errors.

Copy link
Member

@davazp davazp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. Feel free to merge. I'll rebase bootstrap tomorrow

@kchanqvq
Copy link
Member Author

Thanks, good night :) and congrats for getting JSCL to build itself!

@kchanqvq kchanqvq merged commit b2fbbdd into jscl-project:master Feb 11, 2026
1 check passed
@davazp
Copy link
Member

davazp commented Feb 11, 2026

we used to have many tests (need to keep sync with literal!) in convert for the branch that outsource to literal, then there's a cond in literal that has no catch-all branch (will return NIL if falls through, too bad!). I changed it so that catch all branch in convert outsource to literal (all atomic value without special meaning should rightfully be handled this way), then catch all branch in literal errors.

The default with NIL made me waste a couple of hours of work in the bootstrap. The error is much safer.

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.

Why there's both CONVERT-XSTRING and CONVERT-PROPERTY-KEY?

2 participants