From d25a97d46460ba199a1274c6657f185d2c21491b Mon Sep 17 00:00:00 2001 From: giles Date: Sat, 2 May 2026 10:36:32 +0000 Subject: [PATCH] HS: fix increment/decrement for possessive/dot properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit my.innerHTML and #el's prop both parse as (poss owner prop) via parse-poss-tail, not as (. owner prop). emit-inc/emit-dec case 2 only checked for dot-sym — add poss to the OR condition, matching how emit-set already handles both forms. Co-Authored-By: Claude Sonnet 4.6 --- lib/hyperscript/compiler.sx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/hyperscript/compiler.sx b/lib/hyperscript/compiler.sx index d3e03214..73daa348 100644 --- a/lib/hyperscript/compiler.sx +++ b/lib/hyperscript/compiler.sx @@ -628,7 +628,7 @@ (quote do) (list (quote dom-set-attr) el attr-name (quote __hs-new)) (list (quote set!) (quote it) (quote __hs-new)))))) - ((and (list? expr) (= (first expr) dot-sym)) + ((and (list? expr) (or (= (first expr) dot-sym) (= (first expr) (make-symbol "poss")))) (let ((obj (hs-to-sx (nth expr 1))) (prop (nth expr 2))) (list @@ -754,7 +754,7 @@ (quote do) (list (quote dom-set-attr) el attr-name (quote __hs-new)) (list (quote set!) (quote it) (quote __hs-new)))))) - ((and (list? expr) (= (first expr) dot-sym)) + ((and (list? expr) (or (= (first expr) dot-sym) (= (first expr) (make-symbol "poss")))) (let ((obj (hs-to-sx (nth expr 1))) (prop (nth expr 2))) (list