From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kazuhiro Ito Newsgroups: gmane.emacs.bugs 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 Message-ID: <20110527214619.7407C360038@msa102.auone-net.jp> References: <20110505023551.6981134803A@msa103.auone-net.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (generated by SEMI-EPG 1.14.6 - "Maruoka") Content-Type: multipart/mixed; boundary="Multipart_Sat_May_28_06:46:06_2011-1" X-Trace: dough.gmane.org 1306532829 4024 80.91.229.12 (27 May 2011 21:47:09 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 27 May 2011 21:47:09 +0000 (UTC) To: 8619@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 27 23:47:05 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QQ4s5-0000ry-Jy for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 May 2011 23:47:05 +0200 Original-Received: from localhost ([::1]:56917 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQ4s5-0001gm-9Y for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 May 2011 17:47:05 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:42883) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQ4s3-0001gh-8e for bug-gnu-emacs@gnu.org; Fri, 27 May 2011 17:47:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQ4s2-0008Ev-Gs for bug-gnu-emacs@gnu.org; Fri, 27 May 2011 17:47:03 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46595) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQ4s2-0008Er-CG for bug-gnu-emacs@gnu.org; Fri, 27 May 2011 17:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QQ4s1-0002rL-R8; Fri, 27 May 2011 17:47:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Kazuhiro Ito Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 May 2011 21:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8619 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8619-submit@debbugs.gnu.org id=B8619.130653278910948 (code B ref 8619); Fri, 27 May 2011 21:47:01 +0000 Original-Received: (at 8619) by debbugs.gnu.org; 27 May 2011 21:46:29 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QQ4rU-0002qX-JX for submit@debbugs.gnu.org; Fri, 27 May 2011 17:46:28 -0400 Original-Received: from msa102.auone-net.jp ([61.117.18.162]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QQ4rS-0002qH-1T for 8619@debbugs.gnu.org; Fri, 27 May 2011 17:46:27 -0400 Original-Received: from GUNGNIR.med.osaka-cu.ac.jp (121-87-193-138f1.nar1.eonet.ne.jp [121.87.193.138]) by msa102.auone-net.jp (au one net msa) with ESMTP id 7407C360038; Sat, 28 May 2011 06:46:19 +0900 (JST) In-Reply-To: <20110505023551.6981134803A@msa103.auone-net.jp> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL/10.8 EasyPG/1.0.0 Emacs/23.3.50 (i386-mingw-nt6.1.7601) MULE/6.0 (HANACHIRUSATO) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 27 May 2011 17:47:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:46747 Archived-At: --Multipart_Sat_May_28_06:46:06_2011-1 Content-Type: text/plain; charset=US-ASCII 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 --Multipart_Sat_May_28_06:46:06_2011-1 Content-Type: application/octet-stream; type=patch Content-Disposition: attachment; filename="coding.c.diff" Content-Transfer-Encoding: 7bit === modified file 'src/coding.c' --- src/coding.c 2011-05-09 09:59:23 +0000 +++ src/coding.c 2011-05-27 12:13:14 +0000 @@ -5325,7 +5325,7 @@ && coding->mode & CODING_MODE_LAST_BLOCK) ccl->last_block = 1; - while (charbuf < charbuf_end) + do { ccl_driver (ccl, charbuf, destination_charbuf, charbuf_end - charbuf, 1024, charset_list); @@ -5347,6 +5347,7 @@ || ccl->status == CCL_STAT_INVALID_CMD) break; } + while (charbuf < charbuf_end); switch (ccl->status) { --Multipart_Sat_May_28_06:46:06_2011-1--