* Makefile.in (actual-all): Reword build failure advice.
* src/bytecode.c (exec_byte_code, syms_of_bytecode):
* src/font.c (syms_of_font):
* src/hbfont.c (uni_combining):
* src/xfns.c (Fx_display_backing_store, Fx_display_visual_class)
(x_create_tip_frame, Fx_show_tip, syms_of_xfns):
* src/xfont.c (xfont_supported_scripts, xfont_driver)
(syms_of_xfont):
* src/xsmfns.c (Fhandle_save_session, syms_of_xsmfns): Remove
calls to intern with a static string.
actual-all: ${SUBDIR} info $(gsettings_SCHEMAS:.xml=.valid) src-depending-on-lisp
# ADVICE-ON-FAILURE-BEGIN:all
-# You might try to:
-# - run "make bootstrap", which might fix the problem
-# - run "make V=1", which displays the full commands invoked by make,
-# to further investigate the problem
+# It can help to run "make bootstrap", which can resolve many build
+# failures caused by incrementally building from a previously built
+# checkout.
+
+# Failing that, running "make V=1" will cause Make to display the full
+# commands it invokes to build Emacs, which helps to investigate the
+# problem.
# ADVICE-ON-FAILURE-END:all
# ADVICE-ON-FAILURE-BEGIN:bootstrap
-# You might try to:
-# - run "git clean -fdx" and run "make bootstrap" again, which might
-# fix the problem
-# !BEWARE! "git clean -fdx" deletes all files that are not under
-# !BEWARE! version control, which means that all changes to such
-# !BEWARE! files will be lost and cannot be restored later
-# - run "make V=1", which displays the full commands invoked by make,
-# to further investigate the problem
+# If "make bootstrap" failed, try running "make extraclean" and then
+# "make bootstrap" again. If that still fails and you are building
+# Emacs from a repository checkout, run "git clean -fdx" and retry
+# "make bootstrap". Otherwise, please report a bug by sending email
+# to bug-gnu-emacs@gnu.org.
# ADVICE-ON-FAILURE-END:bootstrap
advice-on-failure:
@echo
- @echo " \"make ${make-target}\" failed with exit status ${exit-status}."
+ @echo "make ${make-target}\" failed with exit status ${exit-status}."
@cat Makefile | \
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};' | \
sed 's/^# //' | grep -v '^ADVICE-ON-FAILURE-'
NEXT;
CASE (Binteractive_p): /* Obsolete since 24.1. */
- PUSH (call0 (intern ("interactive-p")));
+ PUSH (call0 (Qinteractive_p));
NEXT;
CASE (Bforward_char):
void
syms_of_bytecode (void)
{
+ DEFSYM (Qinteractive_p, "interactive-p");
+
defsubr (&Sbyte_code);
defsubr (&Sinternal_stack_stats);
DEFSYM (Qopentype, "opentype");
+ /* Currently used by hbfont.c, which has no syms_of_hbfont function
+ of its own. */
+ DEFSYM (Qcanonical_combining_class, "canonical-combining-class");
+
/* Important character set symbols. */
DEFSYM (Qascii_0, "ascii-0");
DEFSYM (Qiso8859_1, "iso8859-1");
if (!combining_class_loaded)
{
canonical_combining_class_table =
- uniprop_table (intern ("canonical-combining-class"));
+ uniprop_table (Qcanonical_combining_class);
if (NILP (canonical_combining_class_table))
emacs_abort ();
staticpro (&canonical_combining_class_table);
switch (DoesBackingStore (dpyinfo->screen))
{
case Always:
- result = intern ("always");
+ result = Qalways;
break;
case WhenMapped:
- result = intern ("when-mapped");
+ result = Qwhen_mapped;
break;
case NotUseful:
- result = intern ("not-useful");
+ result = Qnot_useful;
break;
default:
switch (dpyinfo->visual_info.class)
{
case StaticGray:
- result = intern ("static-gray");
+ result = Qstatic_gray;
break;
case GrayScale:
- result = intern ("gray-scale");
+ result = Qgray_scale;
break;
case StaticColor:
- result = intern ("static-color");
+ result = Qstatic_color;
break;
case PseudoColor:
- result = intern ("pseudo-color");
+ result = Qpseudo_color;
break;
case TrueColor:
- result = intern ("true-color");
+ result = Qtrue_color;
break;
case DirectColor:
- result = intern ("direct-color");
+ result = Qdirect_color;
break;
default:
error ("Display has an unknown visual class");
disptype = Qmono;
else if (FRAME_X_VISUAL_INFO (f)->class == GrayScale
|| FRAME_X_VISUAL_INFO (f)->class == StaticGray)
- disptype = intern ("grayscale");
+ disptype = Qgrayscale;
else
- disptype = intern ("color");
+ disptype = Qcolor;
if (NILP (Fframe_parameter (frame, Qdisplay_type)))
{
start_timer:
/* Let the tip disappear after timeout seconds. */
- tip_timer = call3 (intern ("run-at-time"), timeout, Qnil,
- intern ("x-hide-tip"));
+ tip_timer = call3 (Qrun_at_time, timeout, Qnil,
+ Qx_hide_tip);
return unbind_to (count, Qnil);
}
/* Tell Emacs about this window system. */
Fprovide (Qx, Qnil);
+ /* Used by Fx_show_tip. */
+ DEFSYM (Qrun_at_time, "run-at-time");
+ DEFSYM (Qx_hide_tip, "x-hide-tip");
+
+ /* Used by display class and backing store reporting functions. */
+ DEFSYM (Qalways, "always");
+ DEFSYM (Qwhen_mapped, "when-mapped");
+ DEFSYM (Qnot_useful, "not-useful");
+ DEFSYM (Qstatic_gray, "static-gray");
+ DEFSYM (Qgray_scale, "gray-scale");
+ DEFSYM (Qstatic_color, "static-color");
+ DEFSYM (Qpseudo_color, "pseudo-color");
+ DEFSYM (Qtrue_color, "true-color");
+ DEFSYM (Qdirect_color, "direct-color");
+ DEFSYM (Qgrayscale, "grayscale");
+ DEFSYM (Qcolor, "color");
+
#ifdef HAVE_XINPUT2
DEFSYM (Qxinput2, "xinput2");
/* Two special cases to avoid opening rather big fonts. */
if (EQ (AREF (props, 2), Qja))
- return list2 (intern ("kana"), intern ("han"));
+ return list2 (Qkana, Qhan);
if (EQ (AREF (props, 2), Qko))
- return list1 (intern ("hangul"));
+ return list1 (Qhangul);
scripts = Fgethash (props, xfont_scripts_cache, Qt);
if (EQ (scripts, Qt))
{
struct font_driver const xfont_driver =
{
- .type = LISPSYM_INITIALLY (Qx),
- .get_cache = xfont_get_cache,
- .list = xfont_list,
- .match = xfont_match,
- .list_family = xfont_list_family,
- .open_font = xfont_open,
- .close_font = xfont_close,
- .prepare_face = xfont_prepare_face,
- .has_char = xfont_has_char,
- .encode_char = xfont_encode_char,
- .text_extents = xfont_text_extents,
- .draw = xfont_draw,
- .check = xfont_check,
+ .type = LISPSYM_INITIALLY (Qx),
+ .get_cache = xfont_get_cache,
+ .list = xfont_list,
+ .match = xfont_match,
+ .list_family = xfont_list_family,
+ .open_font = xfont_open,
+ .close_font = xfont_close,
+ .prepare_face = xfont_prepare_face,
+ .has_char = xfont_has_char,
+ .encode_char = xfont_encode_char,
+ .text_extents = xfont_text_extents,
+ .draw = xfont_draw,
+ .check = xfont_check,
};
void
staticpro (&xfont_scratch_props);
xfont_scratch_props = make_nil_vector (8);
pdumper_do_now_and_after_load (syms_of_xfont_for_pdumper);
+
+ DEFSYM (Qkana, "kana");
+ DEFSYM (Qhan, "han");
+ DEFSYM (Qhangul, "hangul");
}
static void
this at the wrong time. */
if (doing_interact && ! kill_emacs)
{
- bool cancel_shutdown = ! NILP (call0 (intern ("emacs-session-save")));
+ bool cancel_shutdown = ! NILP (call0 (Qemacs_session_save));
SmcInteractDone (smc_conn, cancel_shutdown);
SmcSaveYourselfDone (smc_conn, True);
void
syms_of_xsmfns (void)
{
+ DEFSYM (Qemacs_session_save, "emacs-session-save");
+
DEFVAR_LISP ("x-session-id", Vx_session_id,
doc: /* The session id Emacs got from the session manager for this session.
Changing the value does not change the session id used by Emacs.