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 #8 received at 8619 <at> debbugs.gnu.org (full text, mbox):

From: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>
To: 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: Sat, 28 May 2011 06:46:07 +0900
[Message part 1 (text/plain, inline)]
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.

> 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
[coding.c.diff (application/octet-stream, attachment)]

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.