public static boolean undefineConflictingDefinitionsP(MethodSlot newslot) {
    if (newslot.methodFunctionP) {
      if (MethodSlot.warnAboutFunctionShadowingSlotsP(newslot)) {
        if (!(Stella.yOrNP("Do you want to remove the conflicting method definitions? "))) {
          return (false);
        }
        Symbol.undefineExternalSlots(newslot.slotName);
        Slot.unregisterSlotName(newslot);
      }
      if (Symbol.lookupMacro(newslot.slotName) != null) {
        if (!((BooleanWrapper)(KeyValueList.dynamicSlotValue(newslot.dynamicSlots, Stella.SYM_STELLA_METHOD_MACROp, Stella.FALSE_WRAPPER))).wrapperValue) {
          { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationWarning();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> WARNING: ", Stella.STANDARD_WARNING);
                {
                  Stella.STANDARD_WARNING.nativeStream.println();
                  Stella.STANDARD_WARNING.nativeStream.println(" Function `" + Stella_Object.deUglifyParseTree(newslot) + "' redefines an exisiting macro of the same name.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
            }
          }
        }
        else {
          if (!(newslot.functionCode != null)) {
            newslot.functionCode = Symbol.lookupMacro(newslot.slotName).functionCode;
          }
        }
      }
      else if (Symbol.lookupFunction(newslot.slotName) != null) {
        if (((BooleanWrapper)(KeyValueList.dynamicSlotValue(newslot.dynamicSlots, Stella.SYM_STELLA_METHOD_MACROp, Stella.FALSE_WRAPPER))).wrapperValue) {
          { Object old$PrintreadablyP$001 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationWarning();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> WARNING: ", Stella.STANDARD_WARNING);
                {
                  Stella.STANDARD_WARNING.nativeStream.println();
                  Stella.STANDARD_WARNING.nativeStream.println(" Macro `" + Stella_Object.deUglifyParseTree(newslot) + "' redefines an exisiting function of the same name.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$001);
            }
          }
        }
      }
    }
    else {
      if (Slot.warnAboutSlotShadowedByAFunctionP(newslot)) {
        System.out.println(" Removing the preexisting function definition.");
        Symbol.undefineFunction(newslot.slotName);
      }
    }
    return (true);
  }