ASSIGN_EVENT_ONCE(cur, new) does this: - if cur is nullptr: assign cur = new, return true - if *cur and *new are equal: quietly return false - if *cur and *new are unequal: warn and return false
Would a Scheme analog of ASSIGN_EVENT_ONCE be used like this, (let ((my-foo-event #f)) ;; . . . (listeners ((foo-event this-engraver event) (if (ly:set-event-once! my-foo-event event) ;; my-foo-event event has been set: handle it or am I thinking too much like a C++ programmer? Thanks, — Dan