Здравствуйте Денис Смирнов В сообщении от 14 апреля 2011 Денис Смирнов написал(a): > Я представляю как решить эту задачу, но сложность возникает в > том, что нам надо объединять 3 таких конфига (да даже если бы > было два -- уже было бы сложно): > - общесистемный (который ты сейчас создаешь); > - дистрибутивный (который частично перекрывает общесистемный); > - пользовательский Вообще-то напрашивается - если есть правило в дистрибутивном, то общесистемное правило просто не действеут, если есть пользовательский, то не действует не дистрибутивный, не пользовательский. >При этом они могут быть противоречивы. >Скажем в системном "vim > emacs", в пользовательском >"emacs >vim". Значит "emacs >vim". >Еще веселее если такие противоречия окажутся внутри одного >конфига: >vim > emacs >kate > vim >emacs > kate Откинуть одно из противоречищих правил. Например, если правила рассматриваются снизу вниз, то первое, если сверху вниз, то последнее. Т.е. по хорошему - при (первом?) запуске сеанса пользователя надо создавать временный, непротиворечивый сводный конфиг (автоматом?) или в ОЗУ, или диске, причём правила его составленя должны быть ясны пользователю (раз есть собственный конфиг). Я-бы предлжил - последняя запись - самая важная (перекрывает все верхние), (приоритет внутри файла от конца к началу) - приоритет конфигов сверху вниз: пользовательский, оконной среды, дистрибутивный, общесистемный. - протмворечивое правило с меньшим приоритетом не рассматривается. Т.е. даже так - все конфиги сливаются в один большой и рассматриваются снизу вверх. -- А ещё говорят так (fortune): The moving cursor writes, and having written, blinks on. ________________________________________________________________________ С уважением Хихин Руслан