@verb #1:"overb_conflicts" this none this rxd #55 @program #1:"overb_conflicts" this none this "Copied from Picard (#7153):verb_conflicts Aug 25 15:27:25 1997" "Copied from Generic Object (#12):property_conflicts by Slacker (#2) Aug 22 21:25:48 1997" "object:overb_conflicts()" "Looks for verbname conflicts that would keep chparent(object,newparent)" " from working." "Returns a list of elements of the form {, }" "where is the object with the -o." "If it returns {}, then no verb conflicts have been found." "Programmed by Picard (#7153) on Thursday August 6th, 1997." {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 "... verbs existing on this" "... cannot be -o on newparent, or it's ancestors." verbs = verbs(this) conflicts = {} for o in ({newparent, @newparent:ancestors()}) for p in (verbs(o)) if (index(p, " ")) "Okay, the verb has a space in it, showing it has more the one" "alias. We'd better weed them all out to check." p = $su:words(p) else p = {p} endif for a in (p) "Okay, lets check for any asterix's (*) in the verb. If we" "don't find them, we'll screw up the verb_info() part. Also" "we want to get the verb from the start to the asterix, and" "the start to the end. Watch out for multiple aliases too." p = $su:star_list(a) "We'll have to fix this later. :(" for p in (p) if (p in verbs) i = verb_info(o, p) "Let's see if the verb is -o on the parent" if (!index(i[2], "o")) conflicts = {@conflicts, {p, o}} "Uh oh, the verb is -o. Tough luck." endif endif endfor endfor "I guess we need this in case the parent list gets too long " $command_utils:suspend_if_needed() endfor endfor return conflicts "Last modified by Slacker (#55) on Mon Jun 21 05:46:05 1999 MDT." .