@verb #1:"property_conflicts" this none this rxd #55 @program #1:"property_conflicts" this none this "object:property_conflicts(newparent)" "Looks for propertyname conflicts that would keep chparent(object,newparent)" " from working." "Returns a list of elements of the form {, @}" "where is list of descendents of object defining ." {newparent} = args if (!valid(newparent)) return newparent == #-1 ? {} | raise(E_INVARG) elseif (!$perm_utils:controls(caller_perms(), this) || !$perm_utils:perm_f(caller_perms(), newparent)) "... if you couldn't chparent anyway, you don't need to know..." raise(E_PERM, "The prospective parent isn't yours, and it isn't fertile!") endif "... properties existing on newparent" "... cannot be present on object or any descendent..." props = conflicts = {} for o in ({this, @this:descendents_suspended()}) for p in (properties(o)) if (`property_info(newparent, p) ! E_PROPNF => 0') if (i = p in props) conflicts[i] = {@conflicts[i], o} else props = {@props, p} conflicts = {@conflicts, {p, o}} endif endif $command_utils:suspend_if_needed() endfor endfor return conflicts "Last modified by Slacker (#55) on Mon Jun 21 05:46:05 1999 MDT." .