Fix broken payment/checkout page #17
Reference in New Issue
Block a user
Delete Branch "fix/payment-page-heredoc-escape"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
elc's heredoc parser treats
<html>as an opener and scans forward for</html>, which lives inside page_close's return statement. This injected the entire El source of page_close verbatim into page_open's output, which terminated the document before Stripe's scripts could load — breaking the payment page completely.Root cause: cross-function heredoc span. elc opens a heredoc at
<html lang="en">in page_open and scans forward to find the matching</html>, picking it up from page_close'sreturn widgets + "</body></html>".Fix:
<!DOCTYPE html><html lang="en">in a quoted string literal — not a heredoc<head>...</head>is the only heredoc in page_open, and it closes within the same functionpage_closein styles.el asextern fnsodist/page_close.csupplies the pre-compiled definition (avoiding the second duplicate-symbol link failure)aria-label,stroke-width,stroke-linecap,×, and several text nodes that had whitespace stripped by elc's heredoc parserVerified locally: all 13 checks pass (no El source in output, correct document structure, Stripe script present, all HTML attributes intact).