aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 3ff8917ff91..d8ae7c2af19 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -3211,17 +3211,19 @@ resolve_face_name (face_name)
3211 Lisp_Object face_name; 3211 Lisp_Object face_name;
3212{ 3212{
3213 Lisp_Object aliased; 3213 Lisp_Object aliased;
3214 int alias_loop_max = 10;
3214 3215
3215 if (STRINGP (face_name)) 3216 if (STRINGP (face_name))
3216 face_name = intern (SDATA (face_name)); 3217 face_name = intern (SDATA (face_name));
3217 3218
3218 while (SYMBOLP (face_name)) 3219 while (SYMBOLP (face_name))
3219 { 3220 {
3220 aliased = Fget (face_name, Qface_alias); 3221 aliased = Fsafe_get (face_name, Qface_alias);
3221 if (NILP (aliased)) 3222 if (NILP (aliased))
3222 break; 3223 break;
3223 else 3224 if (--alias_loop_max == 0)
3224 face_name = aliased; 3225 break;
3226 face_name = aliased;
3225 } 3227 }
3226 3228
3227 return face_name; 3229 return face_name;