bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#8619: 23.3.50; CCL coding system encoder doesn't run CCL_EOF_CODE on


From: Kazuhiro Ito
Subject: 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
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/23.3.50 (i386-mingw-nt6.1.7601) MULE/6.0 (HANACHIRUSATO)

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

Attachment: coding.c.diff
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]