unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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).