Method code for $command_cache.set_command_modules()

[Turn on line numbering]
arg name, definer, value;
var m;

switch (value[1]) {
    case 'set:
        for m in (modules.set_difference(value[2]))
            .del_command_module(m);
        for m in (value[2].set_difference(modules))
            .add_command_module(m);
    case 'add:
        .add_command_module(value[2]);
    case 'del:
        .del_command_module(value[2]);
    default:
        throw(~type, "Unknown action: " + value[1]);
}

// Created 18-Sep-1997 as a part of ColdCore, see: @help Credit

Tlon