summaryrefslogtreecommitdiff
path: root/src/emacs.c
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2004-12-08 22:20:27 +0000
committerKaroly Lorentey <lorentey@elte.hu>2004-12-08 22:20:27 +0000
commitfad2f6858075f49c4c8fd16f0535c287e3f14ac3 (patch)
tree843a2ffe6caea6201877e3d2f1b6b954f47344b5 /src/emacs.c
parent856dd47583918edd7987c13334703d3e7492d8f4 (diff)
parentb11e88237593ff7556d8535305e8f342e6b61d66 (diff)
downloademacs-fad2f6858075f49c4c8fd16f0535c287e3f14ac3.tar.gz
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-714 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-271
Diffstat (limited to 'src/emacs.c')
-rw-r--r--src/emacs.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/emacs.c b/src/emacs.c
index 356f74204bf..cbd592f9103 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -581,8 +581,12 @@ init_cmdargs (argc, argv, skip_args)
for (i = argc - 1; i >= 0; i--)
{
if (i == 0 || i > skip_args)
+ /* For the moment, we keep arguments as is in unibyte strings.
+ They are decoded in the function command-line after we know
+ locale-coding-system. */
Vcommand_line_args
- = Fcons (build_string (argv[i]), Vcommand_line_args);
+ = Fcons (make_unibyte_string (argv[i], strlen (argv[i])),
+ Vcommand_line_args);
}
unbind_to (count, Qnil);
@@ -745,7 +749,9 @@ malloc_initialize_hook ()
}
malloc_set_state (malloc_state_ptr);
+#ifndef XMALLOC_OVERRUN_CHECK
free (malloc_state_ptr);
+#endif
}
else
{
@@ -2231,6 +2237,12 @@ You must run Emacs in batch mode in order to dump it. */)
memory_warnings (my_edata, malloc_warning);
#endif /* not WINDOWSNT */
#endif
+#ifdef HAVE_GTK_AND_PTHREAD
+ /* Pthread may call malloc before main, and then we will get an endless
+ loop, because pthread_self (see alloc.c) calls malloc the first time
+ it is called on some systems. */
+ reset_malloc_hooks ();
+#endif
#ifdef DOUG_LEA_MALLOC
malloc_state_ptr = malloc_get_state ();
#endif