gui-get-selection および gui-set-selection が認識するデータ型や選択肢は厳密に規定されておらず、Emacs
が動作しているウィンドウシステムによって異なります。
同時に、gui-set-selection は多くの複雑さを抽象化しています。その引数である
data
は、ウィンドウシステムやリクエスト元クライアントへの転送に適した形式に変換されるよう、システム固有のコードにそのまま渡されます。
セレクションの最も包括的な実装は、X Window Systemに備わっている。これは歴史的な経緯(XはEmacsが最初にサポートしたウィンドウシステムであった)によるものであると同時に、技術的な検討によってもたらされたものである。Xのセレクションは、単にクライアント間でテキストやマルチメディアコンテンツを転送するための便法ではなく、汎用的なクライアント間通信システムであり、その設計によってセレクションやデータの種類が多岐にわたることとなった。
この混乱に拍車をかけるように、Xの下にはもう一つのクライアント間通信機構であるInter-Client Exchangeが存在します。ICEはEmacsがセッションマネージャと通信する際にのみ使用されるものであり、別の話題となります。