|
From: | Jan Djärv |
Subject: | bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. |
Date: | Mon, 22 Nov 2010 22:58:03 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; sv-SE; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 |
Stefan Monnier skrev 2010-11-21 21.34:
Invalid hash table rehash size: 1\,5Where does this "1,5" come from?src/lisp.h:#define DEFAULT_REHASH_SIZE 1.5 Apparently this code in fns.c, Fmake_hash_table somehow turns it into 1,5./* Look for `:rehash-size SIZE'. */ i = get_key_arg (QCrehash_size, nargs, args, used); rehash_size = i< 0 ? make_float (DEFAULT_REHASH_SIZE) : args[i]; if (!NUMBERP (rehash_size) || (INTEGERP (rehash_size)&& XINT (rehash_size)<= 0) || XFLOATINT (rehash_size)<= 1.0) signal_error ("Invalid hash table rehash size", rehash_size);Hmm... I can't think of any way this code could turn the 1.5 float into a "1,5" symbol.
It is args[i] that has the wrong value. But I can't figure out where it comes from. No lisp code I see sets :rehash-size explicitly to 1.5. The
backtrace is just#0 Fmake_hash_table (nargs=8, args=0x7fffffffcbd0) at /home/jhd/src/emacs/trunk/src/fns.c:4349 #1 0x00000000006302cb in read1 (readcharfun=14797521, pch=0x7fffffffce8c, first_in_list=0) at /home/jhd/src/emacs/trunk/src/lread.c:2336 #2 0x000000000062f6e2 in read0 (readcharfun=14797521) at /home/jhd/src/emacs/trunk/src/lread.c:1955 #3 0x000000000062f61d in read_internal_start (stream=14797521, start=13414610, end=13414610) at /home/jhd/src/emacs/trunk/src/lread.c:1926 #4 0x000000000062f401 in Fread_from_string (string=14797521, start=13414610, end=13414610) at /home/jhd/src/emacs/trunk/src/lread.c:1872 #5 0x00000000006009f2 in Ffuncall (nargs=2, args=0x7fffffffd018) at /home/jhd/src/emacs/trunk/src/eval.c:2996 #6 0x000000000065231d in Fbyte_code (bytestr=14797297, vector=14798629, maxdepth=16) at /home/jhd/src/emacs/trunk/src/bytecode.c:679 #7 0x00000000005ff4c3 in Feval (form=14795334) at /home/jhd/src/emacs/trunk/src/eval.c:2358 #8 0x000000000062ef02 in readevalloop (readcharfun=14164562, stream=0xdae520, sourcename=14384145, evalfun=0x5fee05 <Feval>, printflag=0, unibyte=13414610, readfun=13414610, start=13414610, end=13414610) at /home/jhd/src/emacs/trunk/src/lread.c:1737 #9 0x000000000062da01 in Fload (file=14384017, noerror=13414610, nomessage=13414610, nosuffix=13414610, must_suffix=13414610) at /home/jhd/src/#10 0x00000000005ff541 in Feval (form=14291270) at /home/jhd/src/emacs/trunk/src/eval.c:2366 #11 0x000000000062ef02 in readevalloop (readcharfun=14164562, stream=0xdaa130, sourcename=14325681, evalfun=0x5fee05 <Feval>, printflag=0, unibyte=13414610, readfun=13414610, start=13414610, end=13414610) at /home/jhd/src/emacs/trunk/src/lread.c:1737 #12 0x000000000062da01 in Fload (file=14325425, noerror=13414610, nomessage=13414610, nosuffix=13414610, must_suffix=13414610) at /home/jhd/src/emacs/trunk/src/lread.c:1228 #13 0x00000000005ff541 in Feval (form=14302662) at /home/jhd/src/emacs/trunk/src/eval.c:2366 #14 0x0000000000556e8c in top_level_2 () at /home/jhd/src/emacs/trunk/src/keyboard.c:1330 #15 0x00000000005fd4ae in internal_condition_case (bfun=0x556e76 <top_level_2>, handlers=13825266, hfun=0x556976 <cmd_error>) at /home/jhd/src/emacs/trunk/src/eval.c:1460 #16 0x0000000000556ed6 in top_level_1 (ignore=13414610) at /home/jhd/src/emacs/trunk/src/keyboard.c:1338 #17 0x00000000005fcd90 in internal_catch (tag=13821330, func=0x556e8e <top_level_1>, arg=13414610) at /home/jhd/src/emacs/trunk/src/eval.c:1204
emacs/trunk/src/lread.c:1228#18 0x0000000000556dca in command_loop () at /home/jhd/src/emacs/trunk/src/keyboard.c:1293 #19 0x00000000005563f7 in recursive_edit_1 () at /home/jhd/src/emacs/trunk/src/keyboard.c:923 #20 0x00000000005565fb in Frecursive_edit () at /home/jhd/src/emacs/trunk/src/keyboard.c:985 #21 0x0000000000554587 in main (argc=5, argv=0x7fffffffe5e8) at /home/jhd/src/emacs/trunk/src/emacs.c:1716
Lisp Backtrace: "read-from-string" (0xffffd020) "byte-code" (0xffffd380) "load" (0xffffd840) "load" (0xffffdd00) Any idea what I should look at? The string in Fread_from_string is "#s(hash-table size 65 test eql rehash-size 1,5 rehash-threshold 0,8 data ())" but how to figure out where it comes from? Jan D.
[Prev in Thread] | Current Thread | [Next in Thread] |