From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Simon Josefsson Newsgroups: gmane.emacs.devel Subject: Re: BIG5-HKSCS? Date: Thu, 13 Nov 2003 17:34:14 +0100 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <200311130153.KAA04615@etlken.m17n.org> <200311130610.PAA04983@etlken.m17n.org> <200311130901.SAA05204@etlken.m17n.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1068741632 13233 80.91.224.253 (13 Nov 2003 16:40:32 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 13 Nov 2003 16:40:32 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Nov 13 17:40:28 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AKKWC-0003OA-00 for ; Thu, 13 Nov 2003 17:40:28 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AKKWB-0007vl-00 for ; Thu, 13 Nov 2003 17:40:27 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AKLS9-0001X8-Sj for emacs-devel@quimby.gnus.org; Thu, 13 Nov 2003 12:40:21 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AKLRc-0001Jw-6w for emacs-devel@gnu.org; Thu, 13 Nov 2003 12:39:48 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AKLR3-00012N-UW for emacs-devel@gnu.org; Thu, 13 Nov 2003 12:39:45 -0500 Original-Received: from [217.13.230.178] (helo=yxa.extundo.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AKLNm-0008Dy-1q for emacs-devel@gnu.org; Thu, 13 Nov 2003 12:35:50 -0500 Original-Received: from latte (yxa.extundo.com [217.13.230.178]) (authenticated bits=0) by yxa.extundo.com (8.12.10/8.12.10) with ESMTP id hADGYK1K030098; Thu, 13 Nov 2003 17:34:21 +0100 Original-To: Kenichi Handa Mail-Copies-To: nobody X-Payment: hashcash 1.2 0:031113:handa@m17n.org:e9c80add97c1107b X-Hashcash: 0:031113:handa@m17n.org:e9c80add97c1107b X-Payment: hashcash 1.2 0:031113:emacs-devel@gnu.org:2ac69f070e80d6b3 X-Hashcash: 0:031113:emacs-devel@gnu.org:2ac69f070e80d6b3 In-Reply-To: <200311130901.SAA05204@etlken.m17n.org> (Kenichi Handa's message of "Thu, 13 Nov 2003 18:01:36 +0900 (JST)") User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) X-MIME-Autoconverted: from 8bit to quoted-printable by yxa.extundo.com id hADGYK1K030098 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:17803 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:17803 Kenichi Handa writes: > In article , Simon Josefsson writes: >> The HMAC-MD5 function seem to fail, causing my login attempts in Gnus >> to fail. Reproduce it by: > >> jas@latte:~/src/emacs-unicode/src$ ./emacs -q ../lisp/gnus/rfc2104.el > >> then do M-x eval-buffer RET and try to evaluate some of the test >> vectors, the first one should give: > >> (rfc2104-hash 'md5 64 16 "Jefe" "what do ya want for nothing?") >> =3D> "750c783e6ab0b503eaa86e310a5db738" > >> With emacs-unicode I get "f898573306b1366f6edd841a9f5b2871". > > Thank you for testing. I've just installed a fix for > rfc2104.el. I'd like to ask you to try it again. rfc2104.el now works, thanks. But does the fix really have to explicitly mention charsets like iso-latin-1? Is there no way to handle binary octet strings in emacs-unicode? Preferably in a portable way, that works on old Emacs versions and on XEmacs. > This is a typical problem of emacs-unicode in which > characters 128..255 are valid Unicode characters, thus, for > instance, (concat '(?a ?\300)) returns a multibyte string of > `a' and `=C0'. But in the current Emacs, it returns a unibyte > string. > > I suspect the similar fix is necessary in several other > places. Having a way to deal with data that is a pure single byte, without involving coding systems, seems like a rather important thing to me. >> Is anyone using the emacs-unicode branch with Gnus? > > At least, I'm not a Gnus user. I'd like to ask people to > use emacs-unicode in various ways to find bugs. What I can > test is limited, but, usually, I can fix them quite easily > like this case. It started now, but when I enter a summary buffer it crashed: Program received signal SIGSEGV, Segmentation fault. 0x081a3c81 in skip_chars (forwardp=3D1, string=3D160, lim=3D36) at syntax= .c:1591 1591 char_ranges[n_char_ranges++] =3D c; (gdb) bt #0 0x081a3c81 in skip_chars (forwardp=3D1, string=3D160, lim=3D36) at sy= ntax.c:1591 #1 0x090ed860 in ?? () #2 0x081a30d0 in Fskip_chars_forward (string=3D1, lim=3D1) at syntax.c:1= 344 #3 0x081b1a43 in Fbyte_code (bytestr=3D6, vector=3D160, maxdepth=3D15205= 4512) at bytecode.c:1418 #4 0x08185689 in funcall_lambda (fun=3D1223225480, nargs=3D1, arg_vector=3D0xbfffcf44) at eval.c:2911 #5 0x0818514d in Ffuncall (nargs=3D2, args=3D0xbfffcf40) at eval.c:2781 #6 0x081b0ff5 in Fbyte_code (bytestr=3D406381860, vector=3D1, maxdepth=3D-1073754304) at bytecode.c:710 #7 0x08185689 in funcall_lambda (fun=3D1213250456, nargs=3D2, arg_vector=3D0xbfffd084) at eval.c:2911 #8 0x0818514d in Ffuncall (nargs=3D3, args=3D0xbfffd080) at eval.c:2781 #9 0x081b0ff5 in Fbyte_code (bytestr=3D408546780, vector=3D2, maxdepth=3D-1073753984) at bytecode.c:710 #10 0x08185689 in funcall_lambda (fun=3D1222504096, nargs=3D0, arg_vector=3D0xbfffd1b4) at eval.c:2911 #11 0x0818514d in Ffuncall (nargs=3D1, args=3D0xbfffd1b0) at eval.c:2781 #12 0x081b0ff5 in Fbyte_code (bytestr=3D416820644, vector=3D0, maxdepth=3D-1073753680) at bytecode.c:710 #13 0x08185689 in funcall_lambda (fun=3D1222459392, nargs=3D0, arg_vector=3D0xbfffd2d4) at eval.c:2911 #14 0x0818514d in Ffuncall (nargs=3D1, args=3D0xbfffd2d0) at eval.c:2781 ---Type to continue, or q to quit--- #15 0x081b0ff5 in Fbyte_code (bytestr=3D410610228, vector=3D0, maxdepth=3D-1073753392) at bytecode.c:710 #16 0x08185689 in funcall_lambda (fun=3D1222459176, nargs=3D2, arg_vector=3D0xbfffd3f4) at eval.c:2911 #17 0x0818514d in Ffuncall (nargs=3D3, args=3D0xbfffd3f0) at eval.c:2781 #18 0x081b0ff5 in Fbyte_code (bytestr=3D416766892, vector=3D2, maxdepth=3D-1073753104) at bytecode.c:710 #19 0x08185689 in funcall_lambda (fun=3D1222077040, nargs=3D2, arg_vector=3D0xbfffd514) at eval.c:2911 #20 0x0818514d in Ffuncall (nargs=3D3, args=3D0xbfffd510) at eval.c:2781 #21 0x081b0ff5 in Fbyte_code (bytestr=3D416766916, vector=3D2, maxdepth=3D-1073752816) at bytecode.c:710 #22 0x08185689 in funcall_lambda (fun=3D1222110576, nargs=3D1, arg_vector=3D0xbfffd634) at eval.c:2911 #23 0x0818514d in Ffuncall (nargs=3D2, args=3D0xbfffd630) at eval.c:2781 #24 0x081b0ff5 in Fbyte_code (bytestr=3D416640468, vector=3D1, maxdepth=3D-1073752528) at bytecode.c:710 #25 0x08185689 in funcall_lambda (fun=3D1221949600, nargs=3D6, arg_vector=3D0xbfffd764) at eval.c:2911 #26 0x0818514d in Ffuncall (nargs=3D7, args=3D0xbfffd760) at eval.c:2781 #27 0x081b0ff5 in Fbyte_code (bytestr=3D408688788, vector=3D6, maxdepth=3D-1073752224) at bytecode.c:710 #28 0x08185689 in funcall_lambda (fun=3D1221947744, nargs=3D7, ---Type to continue, or q to quit--- arg_vector=3D0xbfffd894) at eval.c:2911 #29 0x0818514d in Ffuncall (nargs=3D8, args=3D0xbfffd890) at eval.c:2781 #30 0x081b0ff5 in Fbyte_code (bytestr=3D408688788, vector=3D7, maxdepth=3D-1073751920) at bytecode.c:710 #31 0x08185689 in funcall_lambda (fun=3D1214659912, nargs=3D3, arg_vector=3D0xbfffd9c4) at eval.c:2911 #32 0x0818514d in Ffuncall (nargs=3D4, args=3D0xbfffd9c0) at eval.c:2781 #33 0x081b0ff5 in Fbyte_code (bytestr=3D406477324, vector=3D3, maxdepth=3D-1073751616) at bytecode.c:710 #34 0x08185689 in funcall_lambda (fun=3D1223292464, nargs=3D1, arg_vector=3D0xbfffdb24) at eval.c:2911 #35 0x0818514d in Ffuncall (nargs=3D2, args=3D0xbfffdb20) at eval.c:2781 #36 0x08180cce in Fcall_interactively (function=3D407759756, record_flag=3D406023676, keys=3D1211380872) at callint.c:850 #37 0x0812e9db in Fcommand_execute (cmd=3D407759756, record_flag=3D406023= 676, keys=3D1, special=3D406023676) at keyboard.c:9725 #38 0x08123462 in command_loop_1 () at keyboard.c:1756 #39 0x0818345e in internal_condition_case (bfun=3D0x8123100 , handlers=3D406111316, hfun=3D0x8122c40 ) at eval.c:1333 #40 0x08122f9e in command_loop_2 () at keyboard.c:1292 #41 0x08182fbb in internal_catch (tag=3D1, func=3D0x8122f70 , arg=3D406023676) at eval.c:1094 #42 0x08122f3e in command_loop () at keyboard.c:1271 ---Type to continue, or q to quit--- #43 0x081229d4 in recursive_edit_1 () at keyboard.c:987 #44 0x08122b01 in Frecursive_edit () at keyboard.c:1043 #45 0x081211e0 in main (argc=3D3, argv=3D0xbfffe374) at emacs.c:1673 (gdb) l 1673 Frecursive_edit (); 1674 /* NOTREACHED */ 1675 return 0; 1676 } 1677 ^L 1678 /* Sort the args so we can find the most important ones 1679 at the beginning of argv. */ 1680 1681 /* First, here's a table of all the standard options. */ 1682 (gdb) up #1 0x090ed860 in ?? () (gdb) up #2 0x081a30d0 in Fskip_chars_forward (string=3D1, lim=3D1) at syntax.c:1= 344 1344 return skip_chars (1, string, lim); (gdb) p string $1 =3D 1 (gdb) p lim $2 =3D 1 (gdb) up #3 0x081b1a43 in Fbyte_code (bytestr=3D6, vector=3D160, maxdepth=3D15205= 4512) at bytecode.c:1418 1418 TOP =3D Fskip_chars_forward (TOP, v1); (gdb) up #4 0x08185689 in funcall_lambda (fun=3D1223225480, nargs=3D1, arg_vector=3D0xbfffcf44) at eval.c:2911 2911 val =3D Fbyte_code (AREF (fun, COMPILED_BYTECODE), (gdb) up #5 0x0818514d in Ffuncall (nargs=3D2, args=3D0xbfffcf40) at eval.c:2781 2781 val =3D funcall_lambda (fun, numargs, args + 1); (gdb) up #6 0x081b0ff5 in Fbyte_code (bytestr=3D406381860, vector=3D1, maxdepth=3D-1073754304) at bytecode.c:710 710 TOP =3D Ffuncall (op + 1, &TOP); (gdb) q A debugging session is active. Do you still want to close the debugger?(y or n) y jas@latte:~/src/emacs-unicode/src$