pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:5229:    return "r" + name;    }       if (objectp (resolved)) {    if (object_program (resolved) == what) {    ENC_MSG (" compare_resolved: %O is program of %O\n", what, resolved);    append = ({'p'});    break compare;    }    -  if (resolved->is_resolv_dirnode) +  if ((resolved->is_resolv_joinnode) && +  (sizeof(resolved->joined_modules) == 1)) { +  ENC_MSG(" compare_resolved: %O is a single element joinnode.\n", +  resolved); +  resolved = resolved->joined_modules[0]; +  } +  if (resolved->is_resolv_dirnode) {    if (resolved->module == what) {    ENC_MSG (" compare_resolved: %O is dirnode module of %O\n", what, resolved);    append = ({'m'});    resolved = resolved->module;    break compare;    }    else if (object_program (resolved->module) == what) {    ENC_MSG (" compare_resolved: %O is program of dirnode module of %O\n",    what, resolved);    append = ({'m', 'p'});    break compare;    }    else    ENC_MSG (" compare_resolved: %O is different from dirnode module %O\n",    what, resolved->module); -  +  }   #if 0    // This is only safe if the joinnode modules don't conflict,    // and we don't know that.    if (resolved->is_resolv_joinnode) {    ENC_MSG (" compare_resolved: searching for %O in joinnode %O\n",    what, resolved);    foreach (resolved->joined_modules, mixed part)    if (string|array name = compare_resolved (name, what, part,    module_object)) {    if (module_object) module_object[0] = resolved;    return name;    }    }   #endif -  +  } else { +  ENC_MSG(" compare_resolved: %O is not an object.\n", resolved);    }       ENC_MSG (" compare_resolved: %O is different from %O\n", what, resolved);    return 0;    }       name = "r" + name;    string|array res = name;       if (append)