@verb #9359:"set_message_read" this none this rxdo #8084 @program #9359:"set_message_read" this none this {message_id, who, ng} = args caller_perms():controls(who) || raise(E_PERM) mid = this:message_id(message_id, ng) propname = " " + tostr(toint(who)) unread = `this.(propname) ! E_PROPNF => {}' i = listiassoc(ng, unread) if (!i) return else unread[i] = setremove(unread[i], mid) endif "Remove just the {ng} if it exists." unread = setremove(unread, {ng}) if (unread) this.(propname) = unread else `delete_property(this, propname) ! E_PROPNF' endif "Last modified by Dax (#789) on Tue May 3 14:12:00 2005 MDT." .