diff options
Diffstat (limited to 'src/emacs.c')
-rw-r--r-- | src/emacs.c | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/src/emacs.c b/src/emacs.c index 8a51b8cb8e4..c7fd234c6ef 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 @@ -1282,6 +1285,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. */ @@ -1320,7 +1324,6 @@ main (argc, argv syms_of_macterm (); syms_of_macmenu (); syms_of_macselect (); - syms_of_data (); syms_of_search (); syms_of_frame (); @@ -1328,6 +1331,16 @@ main (argc, argv mac_term_init (build_string ("Mac"), NULL, NULL); init_keyboard (); #endif + /* Called before syms_of_fileio, because it sets up Qerror_condition. */ + syms_of_data (); + syms_of_fileio (); + /* Before syms_of_coding to initialize Vgc_cons_threshold. */ + syms_of_alloc (); + /* Before syms_of_coding because it initializes Qcharsetp. */ + syms_of_charset (); + /* Before init_window_once, because it sets up the + Vcoding_system_hash_table. */ + syms_of_coding (); /* This should be after syms_of_fileio. */ init_window_once (); /* Init the window system. */ init_fileio_once (); /* Must precede any path manipulation. */ @@ -1403,12 +1416,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); + } } } } @@ -1416,6 +1432,16 @@ main (argc, argv no_loadup = argmatch (argv, argc, "-nl", "--no-loadup", 6, NULL, &skip_args); +#ifdef USE_FONT_BACKEND + enable_font_backend = 1; + if (argmatch (argv, argc, "-enable-font-backend", "--enable-font-backend", + 4, NULL, &skip_args)) + enable_font_backend = 1; + else if (argmatch (argv, argc, + "-disable-font-backend", "--disable-font-backend", + 4, NULL, &skip_args)) + enable_font_backend = 0; +#endif /* USE_FONT_BACKEND */ #ifdef HAVE_X_WINDOWS /* Stupid kludge to catch command-line display spec. We can't @@ -1536,7 +1562,7 @@ main (argc, argv /* Called before init_window_once for Mac OS Classic. */ syms_of_data (); #endif - syms_of_alloc (); + syms_of_chartab (); syms_of_lread (); syms_of_print (); syms_of_eval (); @@ -1554,7 +1580,7 @@ main (argc, argv /* Called before init_window_once for Mac OS Classic. */ syms_of_ccl (); #endif - syms_of_charset (); + syms_of_character (); syms_of_cmds (); #ifndef NO_DIR_LIBRARY syms_of_dired (); @@ -1563,8 +1589,6 @@ main (argc, argv syms_of_doc (); syms_of_editfns (); syms_of_emacs (); - syms_of_fileio (); - syms_of_coding (); /* This should be after syms_of_fileio. */ #ifdef CLASH_DETECTION syms_of_filelock (); #endif /* CLASH_DETECTION */ @@ -1601,6 +1625,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 */ @@ -1666,6 +1693,8 @@ main (argc, argv #endif /* HAVE_NTGUI */ } + init_charset (); + init_process (); /* init_display uses add_keyboard_wait_descriptor. */ #ifndef MAC_OS8 /* Called before init_window_once for Mac OS Classic. */ @@ -1812,6 +1841,8 @@ 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 }, + { "-disable-font-backend", "--disable-font-backend", 65, 0 }, /* -d must come last before the options handled in startup.el. */ { "-d", "--display", 60, 1 }, { "-display", 0, 60, 1 }, |