Вот у меня есть окно и у программы с ней есть различные режимы. В разных режимах поведение окна кардинально разное. Думаю это можно устроить двумя способами: тупой - обработчик сигнала определяет какой режим и действует по ситуации, и более мне интересный - замена обработчика сигнала.
Насчёт последнего тут опять есть один очевидный вариант - вся эта динамика возлагается на имплементацию CL, т.е. намертво приколачиваем к сигналу лямбду, а та в свою очередь вызывает лямбду, которую лисп может менять в соответствии с режимом программы.
У меня же вопрос с более низкоуровневым переключением, на уровне инфраструктуры gtk. Что-то типа функции отключающей обработчики от сигнала, чтобы затем подключить другой соответствующий другому режиму. Я вот практически уверен, что ничего такого в cl-gobject-introspection нет. Остаётся вопрос - возможно ли это?
cast monk