GNU bug report logs - #8619
23.3.50; CCL coding system encoder doesn't run CCL_EOF_CODE on zero length string

Previous Next

Package: emacs;

Reported by: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>

Date: Thu, 5 May 2011 02:37:02 UTC

Severity: normal

Found in version 23.3.50

Fixed in version 24.0.93

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 8619 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Kenichi Handa <handa <at> m17n.org>
Cc: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>, 8619 <at> debbugs.gnu.org
Subject: Re: bug#8619: 23.3.50;
	CCL coding system encoder doesn't run CCL_EOF_CODE on zero length
	string
Date: Mon, 30 May 2011 13:07:22 -0300
> I think the cause of the problem is that encode_codin_ccl() does not
> call ccl_driver() for zero length string.  Please see the attached patch.

That sounds right.  Handa, could you confirm?


        Stefan


>> When I start emacs (emacs-23 branch and trunk) with -Q and evaluate
>> below code, I receive unexpected result.
>> 
>> (let ((string ""))
>> (define-ccl-program ccl-test
>> '(1
>> ((read r0))
>> ((write "[EOF]"))))
>> (make-coding-system 'ccl-test-cs 4 ?T "CCL_EOF_BLOCK tester"
>> '(ccl-test . ccl-test))
>> (list
>> (ccl-execute-on-string 'ccl-test (make-vector 9 0) string)
>> (decode-coding-string string 'ccl-test-cs)
>> (encode-coding-string string 'ccl-test-cs)))
>> 
>> It returns
>> ("[EOF]" "[EOF]" "")
>> But emacs22 returns
>> ("[EOF]" "[EOF]" "[EOF]")
>> and I expect such result.

> -- 
> Kazuhiro Ito





This bug report was last modified 13 years and 250 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.