(composition . t)))
(make-coding-system
- 'compound-text 2 ?x
- "Compound text based generic encoding for decoding unknown messages."
+ 'compound-text-no-extensions 2 ?x
+ "Compound text based generic encoding for decoding unknown messages.
+
+This coding system does not support ICCCM Extended Segments."
'((ascii t) (latin-iso8859-1 katakana-jisx0201 t) t t
nil ascii-eol ascii-cntl nil locking-shift single-shift nil nil nil
init-bol nil nil)
(mime-charset . x-ctext)
(composition . t)))
+(define-coding-system-alias
+ 'x-ctext-no-extensions 'compound-text-no-extensions)
+(define-coding-system-alias
+ 'ctext-no-extensions 'compound-text-no-extensions)
+
+;; Same as compound-text-no-extensions, but doesn't produce composition
+;; escape sequences. Used in post-read and pre-write conversions of
+;; compound-text, see mule.el.
+(make-coding-system
+ 'ctext-no-compositions 2 ?x
+ "Compound text based generic encoding for decoding unknown messages.
+
+Like `compound-text-no-extensions', but does not produce escape sequences
+for compositions."
+ '((ascii t) (latin-iso8859-1 katakana-jisx0201 t) t t
+ nil ascii-eol ascii-cntl nil locking-shift single-shift nil nil nil
+ init-bol nil nil)
+ '((safe-charsets . t)
+ (mime-charset . x-ctext)))
+
+(make-coding-system
+ 'compound-text 5 ?x
+ "Compound text encoding with ICCCM Extended Segment extensions.
+
+This coding system should be used only for X selections. It is inappropriate
+for decoding and encoding files, process I/O, etc."
+ nil
+ '((post-read-conversion . ctext-post-read-conversion)
+ (pre-write-conversion . ctext-pre-write-conversion)))
+
(define-coding-system-alias 'x-ctext 'compound-text)
(define-coding-system-alias 'ctext 'compound-text)