* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. @ 2010-11-21 14:23 Jan Djärv 2010-11-21 18:07 ` Eli Zaretskii 2010-11-21 18:58 ` Stefan Monnier 0 siblings, 2 replies; 10+ messages in thread From: Jan Djärv @ 2010-11-21 14:23 UTC (permalink / raw) To: 7460 This bug report will be sent to the Free Software Foundation, not to your local site managers! Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your report will be posted to the bug-gnu-emacs@gnu.org mailing list and the gnu.emacs.bug news group, and at http://debbugs.gnu.org. Please describe exactly what actions triggered the bug and the precise symptoms of the bug. If you can, give a recipe starting from `emacs -Q': When building Emacs for GnuStep: `/bin/pwd`/temacs --batch --load loadup bootstrap Loading loadup.el (source)... Using load-path (/home/jhd/src/emacs/emacs-23/lisp /home/jhd/src/emacs/emacs-23/lisp/emacs-lisp /home/jhd/src/emacs/emacs-23/lisp/language /home/jhd/src/emacs/emacs-23/lisp/international /home/jhd/src/emacs/emacs-23/lisp/textmodes) Loading emacs-lisp/byte-run... Loading emacs-lisp/backquote... Loading subr... Invalid hash table rehash size: 1\,5 make[1]: *** [bootstrap-emacs] Fel 255 make[1]: Lämnar katalogen "/home/jhd/src/emacs/obj-23-ns/src" make: *** [src] Fel 2 , is not a decimal point in my locale. Doing % LANG=C make makes the compilation succeed. I seem to remember there used to be a LANG=C before temacs, but is seems to be gone now? Jan D. If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. For information about debugging Emacs, please read the file /home/jhd/src/emacs/emacs-23/etc/DEBUG. In GNU Emacs 23.2.90.1 (x86_64-unknown-linux-gnu, NS gnustep-gui-0.18.0) of 2010-11-21 on f4.localdomain Windowing system distributor `GNU', version 10.3.18 configured using `configure '--verbose' '--enable-asserts' '--with-ns' '--without-x' 'CFLAGS=-g'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: C value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: sv_SE.utf8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: C/lah Minor modes in effect: desktop-save-mode: t icomplete-mode: t display-time-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: ESC [ > 1 ; 2 6 0 1 ; 0 c ESC x r e p o r t - e m TAB RET Recent messages: ("./src/emacs") Loading /home/jhd/lib/elisp/BAK-file.el (source)...done Loading /home/jhd/lib/elisp/ccsetup.el (source)...done Loading icomplete...done Loading desktop...done Loading vc-bzr...done Wrote /home/jhd/.emacs.desktop.lock Desktop: 1 buffer restored. For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit mailheader canlock hashcash mail-utils emacsbug vc-bzr sha1 hex-util desktop cus-start cus-load advice help-fns advice-preload icomplete cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs regexp-opt time tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind ns multi-tty emacs) ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-21 14:23 bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not Jan Djärv @ 2010-11-21 18:07 ` Eli Zaretskii 2010-11-21 18:58 ` Stefan Monnier 1 sibling, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2010-11-21 18:07 UTC (permalink / raw) To: Jan Djärv; +Cc: 7460 > Date: Sun, 21 Nov 2010 15:23:46 +0100 > From: Jan Djärv <jan.h.d@swipnet.se> > Cc: > > I seem to remember there used to be a LANG=C before temacs, but is seems to be > gone now? That was LC_ALL=C, and I still see it here: emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} #ifdef CANNOT_DUMP rm -f emacs${EXEEXT} ln temacs${EXEEXT} emacs${EXEEXT} -EMACSLOADPATH=${lispsource} ./emacs -q -batch -f list-load-path-shadows #else LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump @: This new Emacs is as functional and more efficient then @: bootstrap-emacs, so let us replace it. -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} -./emacs -q -batch -f list-load-path-shadows #endif /* ! defined (CANNOT_DUMP) */ The problem is, this part doesn't have it: bootstrap-emacs${EXEEXT}: temacs${EXEEXT} cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs #ifdef CANNOT_DUMP ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT} #else $(RUN_TEMACS) --batch --load loadup bootstrap mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} #endif /* ! defined (CANNOT_DUMP) */ ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-21 14:23 bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not Jan Djärv 2010-11-21 18:07 ` Eli Zaretskii @ 2010-11-21 18:58 ` Stefan Monnier 2010-11-21 19:20 ` Jan Djärv 1 sibling, 1 reply; 10+ messages in thread From: Stefan Monnier @ 2010-11-21 18:58 UTC (permalink / raw) To: Jan Djärv; +Cc: 7460 > Invalid hash table rehash size: 1\,5 Where does this "1,5" come from? > , is not a decimal point in my locale. The Lisp reader is not supposed to be locale-sensitive, so changing the is not a valid fix. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-21 18:58 ` Stefan Monnier @ 2010-11-21 19:20 ` Jan Djärv 2010-11-21 20:34 ` Stefan Monnier 0 siblings, 1 reply; 10+ messages in thread From: Jan Djärv @ 2010-11-21 19:20 UTC (permalink / raw) To: Stefan Monnier; +Cc: 7460 Stefan Monnier skrev 2010-11-21 19.58: >> Invalid hash table rehash size: 1\,5 > > Where 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); > >> , is not a decimal point in my locale. Correction, I meant to say . is not a decimal point in my locale. , is. > > The Lisp reader is not supposed to be locale-sensitive, so changing the > is not a valid fix. > Something is definitly wrong with locale handling. I have not seen this before, but this is the first time I compiled for Gnustep. It might be some setting that doesn't get done in the Gnustep case. fixup_locale in emacs.c comes to mind. Jan D. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-21 19:20 ` Jan Djärv @ 2010-11-21 20:34 ` Stefan Monnier 2010-11-22 21:58 ` Jan Djärv 0 siblings, 1 reply; 10+ messages in thread From: Stefan Monnier @ 2010-11-21 20:34 UTC (permalink / raw) To: Jan Djärv; +Cc: 7460 >>> Invalid hash table rehash size: 1\,5 >> Where 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. >>> , is not a decimal point in my locale. > Correction, I meant to say . is not a decimal point in my locale. , is. So apparently some code somewhere prints the 1.5 float in a locale-aware way and then reads it back in with the Lisp reader. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-21 20:34 ` Stefan Monnier @ 2010-11-22 21:58 ` Jan Djärv 2010-11-22 22:46 ` Andreas Schwab 0 siblings, 1 reply; 10+ messages in thread From: Jan Djärv @ 2010-11-22 21:58 UTC (permalink / raw) To: Stefan Monnier; +Cc: 7460 Stefan Monnier skrev 2010-11-21 21.34: >>>> Invalid hash table rehash size: 1\,5 >>> Where 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. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-22 21:58 ` Jan Djärv @ 2010-11-22 22:46 ` Andreas Schwab 2010-11-23 6:32 ` Jan Djärv 0 siblings, 1 reply; 10+ messages in thread From: Andreas Schwab @ 2010-11-22 22:46 UTC (permalink / raw) To: Jan Djärv; +Cc: 7460 Jan Djärv <jan.h.d@swipnet.se> writes: > 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? Probably here (subr.el): ;; The following statement ought to be in print.c, but `provide' can't ;; be used there. (when (hash-table-p (car (read-from-string (prin1-to-string (make-hash-table))))) (provide 'hashtable-print-readable)) Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-22 22:46 ` Andreas Schwab @ 2010-11-23 6:32 ` Jan Djärv 2010-11-23 17:00 ` Jan Djärv 0 siblings, 1 reply; 10+ messages in thread From: Jan Djärv @ 2010-11-23 6:32 UTC (permalink / raw) To: Andreas Schwab; +Cc: 7460 Andreas Schwab skrev 2010-11-22 23.46: > Jan Djärv<jan.h.d@swipnet.se> writes: > >> 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? > > Probably here (subr.el): > > ;; The following statement ought to be in print.c, but `provide' can't > ;; be used there. > (when (hash-table-p (car (read-from-string > (prin1-to-string (make-hash-table))))) > (provide 'hashtable-print-readable)) > Thanks. Something is strange, fixup_locale is called, but it doesn't seem to have any effect. Maybe Gnustep overrides the setting? I will debug some more. Jan D. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-23 6:32 ` Jan Djärv @ 2010-11-23 17:00 ` Jan Djärv 2010-11-23 17:47 ` Stefan Monnier 0 siblings, 1 reply; 10+ messages in thread From: Jan Djärv @ 2010-11-23 17:00 UTC (permalink / raw) Cc: 7460-done Gnustep calls setlocale frequently and undo what fixup_locale does. Gnustep and Emacs seem to be so broken (it just crashes) I don't think this is worth fixing. It might not even be possible as Gnustep makes these calls often. Closing. Jan D. Jan Djärv skrev 2010-11-23 07.32: > > > Andreas Schwab skrev 2010-11-22 23.46: >> Jan Djärv<jan.h.d@swipnet.se> writes: >> >>> 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? >> >> Probably here (subr.el): >> >> ;; The following statement ought to be in print.c, but `provide' can't >> ;; be used there. >> (when (hash-table-p (car (read-from-string >> (prin1-to-string (make-hash-table))))) >> (provide 'hashtable-print-readable)) >> > > Thanks. Something is strange, fixup_locale is called, but it doesn't seem to > have any effect. Maybe Gnustep overrides the setting? I will debug some more. > > Jan D. > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not. 2010-11-23 17:00 ` Jan Djärv @ 2010-11-23 17:47 ` Stefan Monnier 0 siblings, 0 replies; 10+ messages in thread From: Stefan Monnier @ 2010-11-23 17:47 UTC (permalink / raw) To: jan.h.d; +Cc: 7460 > Gnustep calls setlocale frequently and undo what fixup_locale does. > Gnustep and Emacs seem to be so broken (it just crashes) I don't think this > is worth fixing. It might not even be possible as Gnustep makes these > calls often. Since we'd like to have Emacs-on-GNUstep work at some point, I think it would be worthwhile to report this problem to the GNUstep guys. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-11-23 17:47 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-11-21 14:23 bug#7460: 23.2.90; temacs needs LANG=C, build will fail if not Jan Djärv 2010-11-21 18:07 ` Eli Zaretskii 2010-11-21 18:58 ` Stefan Monnier 2010-11-21 19:20 ` Jan Djärv 2010-11-21 20:34 ` Stefan Monnier 2010-11-22 21:58 ` Jan Djärv 2010-11-22 22:46 ` Andreas Schwab 2010-11-23 6:32 ` Jan Djärv 2010-11-23 17:00 ` Jan Djärv 2010-11-23 17:47 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).