30.22 Доступ к выделениям

Типы данных и выделения, которые понимают gui-get-selection и gui-set-selection, не определены точно и зависят от системы окон, в которой запущен Emacs.

В то же время gui-set-selection абстрагируется от множества сложностей: его аргумент data передается дословно специфичному для системы коду для преобразования в формат, подходящий для передачи в систему окон или запроса у клиентов.

Наиболее полная реализация выделений существует в рамках X Window System. Это как артефакт истории (X была первой системой окон, поддерживаемой Emacs), так и следствие технических соображений: выделения X — это не просто удобный способ передачи текстового и мультимедийного контента между клиентами, а общая система межклиентской связи, дизайн, который привел к распространению типов выделений и данных.

Усугубляя эту путаницу, в X существует еще один механизм межклиентской связи: Inter-Client Exchange. ICE используется Emacs только для связи с менеджерами сессий и является отдельной темой.