From f74ae90e3e5b24aa56fe76c78d33f7e68214e874 Mon Sep 17 00:00:00 2001 From: Stuart Dilts Date: Mon, 20 Jan 2025 09:49:09 -0700 Subject: [PATCH] Fix next / prev pointer changing in %replace-frame --- lisp/tree/frame.lisp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/tree/frame.lisp b/lisp/tree/frame.lisp index 3a951ec..ac41d6e 100644 --- a/lisp/tree/frame.lisp +++ b/lisp/tree/frame.lisp @@ -188,8 +188,10 @@ of FRAME to those of ROOT." (if (root-frame-p root) (setf (%frame-next frame) frame (%frame-prev frame) frame) - (setf (%frame-next (frame-prev root) frame) - (%frame-prev (frame-next root) frame))) + (psetf (%frame-next (frame-prev root)) frame + (%frame-prev (frame-next root)) frame + (%frame-prev frame) (frame-prev root) + (%frame-next frame) (frame-next root))) (swap-in-parent root frame) (setf (frame-parent frame) (frame-parent root)) ;; don't bother with an if-statement to see which values to change: