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

From: Kazuhiro Ito <[email-masked]>
Date: Thu, 05 May 2011 11:35:36 +0900

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