Данные, сохраненные в системных выделениях окна, не ограничиваются
простым текстом. Возможно, данные выделения включают изображения или
другие бинарные данные аналогичного типа, а также контент с богатым
текстом, представленный HTML, и PostScript. Поскольку типы данных,
связанные с этими данными, отличаются от тех, что используются для простого
текста, вставка таких данных облегчается набором функций, названных
обработчики вставки медиа (yank-media handlers),
которые регистрируются каждым основным режимом для выполнения вставки и вызываются
при необходимости при выполнении команды yank-media.
Зарегистрируйте обработчик вставки медиа, который применяется к текущему буферу.
types может быть символом, обозначающим тип данных выделения (см. Доступ к выделениям), регулярным выражением, по которому сравниваются такие типы, или списком этих символов и регулярных выражений. Например:
(yank-media-handler 'text/html #'my-html-handler) (yank-media-handler "image/.*" #'my-image-handler)
Когда выделение предлагает тип данных, соответствующий types,
вызывается функция handler для вставки его данных, с
символом, обозначающим соответствующий тип данных выделения, и данными,
возвращенными функцией gui-get-selection.
Команда yank-media-types представляет список типов данных
выделения, которые в настоящее время доступны, что полезно при
реализации обработчиков вставки медиа; поскольку программы обычно предлагают
эклектичную и редко согласованную смесь типов данных.