diff options
Diffstat (limited to 'src/emacs.c')
-rw-r--r-- | src/emacs.c | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/emacs.c b/src/emacs.c index 543f7a8d5ea..5219176eda9 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -788,6 +788,9 @@ bug_reporting_address () return count >= 3 ? REPORT_EMACS_BUG_PRETEST_ADDRESS : REPORT_EMACS_BUG_ADDRESS; } +#ifdef USE_FONT_BACKEND +extern int enable_font_backend; +#endif /* USE_FONT_BACKEND */ /* ARGSUSED */ int @@ -1269,6 +1272,7 @@ main (argc, argv init_alloc_once (); init_obarray (); init_eval_once (); + init_character_once (); init_charset_once (); init_coding_once (); init_syntax_once (); /* Create standard syntax table. */ @@ -1387,12 +1391,15 @@ main (argc, argv Lisp_Object buffer; buffer = Fcdr (XCAR (tail)); - /* Verify that all buffers are empty now, as they - ought to be. */ - if (BUF_Z (XBUFFER (buffer)) > BUF_BEG (XBUFFER (buffer))) - abort (); - /* It is safe to do this crudely in an empty buffer. */ - XBUFFER (buffer)->enable_multibyte_characters = Qnil; + /* Make a multibyte buffer unibyte. */ + if (BUF_Z_BYTE (XBUFFER (buffer)) > BUF_Z (XBUFFER (buffer))) + { + struct buffer *current = current_buffer; + + set_buffer_temp (XBUFFER (buffer)); + Fset_buffer_multibyte (Qnil); + set_buffer_temp (current); + } } } } @@ -1400,6 +1407,12 @@ main (argc, argv no_loadup = argmatch (argv, argc, "-nl", "--no-loadup", 6, NULL, &skip_args); +#ifdef USE_FONT_BACKEND + enable_font_backend = 0; + if (argmatch (argv, argc, "-enable-font-backend", "--enable-font-backend", + 4, NULL, &skip_args)) + enable_font_backend = 1; +#endif /* USE_FONT_BACKEND */ #ifdef HAVE_X_WINDOWS /* Stupid kludge to catch command-line display spec. We can't @@ -1521,6 +1534,7 @@ main (argc, argv syms_of_data (); #endif syms_of_alloc (); + syms_of_chartab (); syms_of_lread (); syms_of_print (); syms_of_eval (); @@ -1539,6 +1553,7 @@ main (argc, argv /* Called before init_window_once for Mac OS Classic. */ syms_of_ccl (); #endif + syms_of_character (); syms_of_charset (); syms_of_cmds (); #ifndef NO_DIR_LIBRARY @@ -1585,6 +1600,9 @@ main (argc, argv syms_of_window (); syms_of_xdisp (); #ifdef HAVE_WINDOW_SYSTEM +#ifdef USE_FONT_BACKEND + syms_of_font (); +#endif /* USE_FONT_BACKEND */ syms_of_fringe (); syms_of_image (); #endif /* HAVE_WINDOW_SYSTEM */ @@ -1650,6 +1668,8 @@ main (argc, argv #endif /* HAVE_NTGUI */ } + init_charset (); + if (!noninteractive) { #ifdef VMS @@ -1796,6 +1816,7 @@ struct standard_args standard_args[] = { "-unibyte", "--unibyte", 81, 0 }, { "-no-multibyte", "--no-multibyte", 80, 0 }, { "-nl", "--no-loadup", 70, 0 }, + { "-enable-font-backend", "--enable-font-backend", 65, 0 }, /* -d must come last before the options handled in startup.el. */ { "-d", "--display", 60, 1 }, { "-display", 0, 60, 1 }, |