decoders writing control-1 chars?

Aidan Kehoe kehoea
Tue Oct 31 18:20:15 EST 2006


 Ar an triochad? l? de m? Deireadh F?mhair, scr?obh Ilya N. Golubev: 

 > On 2005/11/28 02:10:19 +0 Vin Shelton committed in "stable"
 > `release-21-4' branch this change.
 > 
 > 2005-04-05  Aidan Kehoe  <kehoea at parhasard.net>
 > 
 > 	* mule-ccl.c (ccl_driver): Calculate the charset and position code
 > 	for control-1 characters properly, both when reading multibyte
 > 	characters and writing them. 
 > 
 > This changes what `write-multibyte-character' CCL instruction writes
 > when passed a representation of `control-1' charset character.  So the
 > change is obviously visible to lisp programmer.  Still it is not noted
 > in `NEWS' file.
 >
 > `control-1' emchars are just like any others, and coding systems
 > decoding data to these emchars certainly make sense.  How do we
 > implement such a coding systems in CCL?  Assume that CCL program have
 > prepared generic emchar representation for `write-multibyte-character'
 > in its registers, and this emchar may be or not be in `control-1'
 > charset.  How do we have it write `control-1' emchar out after that
 > change?
 > 
 > Another issue is that emchar value being written out for `(control-1
 > CODE)' chars, 0 <= CODE < 32, is negative, which makes little sense.

Where do you see this? 

 > Please resolve the issue.  Perhaps you decide to revert the change.
 > Or perhaps you devise and recommend the workaround.  Then please note
 > the change in <Lisp and internal changes> section of `NEWS' with
 > stating how to work around that, how to write `control-1' emchars out.

Thank you for the report, Ilya. The intention was that the change would
bring the CCL interpreter into line with the documentation, but after
superficial investigation, it looks like write-multibyte-character does
nothing useful when control-1?s charset ID and a corresponding character ID
are specified as its arguments. 

But, CCL is underdocumented and not easy to test, and it?s a year or more
since I wrote that code (it had been in 21.5 for a long time before being
integrated into 21.4), so I need to look a little harder to be sure that I
understand what was intended and what?s going wrong before doing anything.

-- 
Santa Maradona, priez pour moi!



More information about the XEmacs-Beta mailing list