aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2023-11-30 17:17:02 +0200
committerEli Zaretskii2023-11-30 17:17:02 +0200
commitdcd755dabcf9ef95d6d0534c11c668f44c6f89c2 (patch)
tree36987d1f5437ed6eae0939d83dfc930289593430 /src
parenta91185211924f65adf7c1376b7f2d710099a5903 (diff)
downloademacs-dcd755dabcf9ef95d6d0534c11c668f44c6f89c2.tar.gz
emacs-dcd755dabcf9ef95d6d0534c11c668f44c6f89c2.zip
Fix validation of :box face attribute
* src/xfaces.c (Finternal_set_lisp_face_attribute): Fix the logic of validating the :box attribute. The previous code would always allow invalid attributes of :box as long as the invalid attribute was the last in the list. (Bug#67404)
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 96382e78397..a23f4c302ed 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -3371,12 +3371,13 @@ FRAME 0 means change the face on all frames, and change the default
3371 if (!CONSP (tem)) 3371 if (!CONSP (tem))
3372 break; 3372 break;
3373 v = XCAR (tem); 3373 v = XCAR (tem);
3374 tem = XCDR (tem);
3375 3374
3376 if (EQ (k, QCline_width)) 3375 if (EQ (k, QCline_width))
3377 { 3376 {
3378 if ((!CONSP(v) || !FIXNUMP (XCAR (v)) || XFIXNUM (XCAR (v)) == 0 3377 if ((!CONSP(v)
3379 || !FIXNUMP (XCDR (v)) || XFIXNUM (XCDR (v)) == 0) 3378 || !FIXNUMP (XCAR (v))
3379 || XFIXNUM (XCAR (v)) == 0
3380 || !FIXNUMP (XCDR (v)) || XFIXNUM (XCDR (v)) == 0)
3380 && (!FIXNUMP (v) || XFIXNUM (v) == 0)) 3381 && (!FIXNUMP (v) || XFIXNUM (v) == 0))
3381 break; 3382 break;
3382 } 3383 }
@@ -3393,6 +3394,8 @@ FRAME 0 means change the face on all frames, and change the default
3393 } 3394 }
3394 else 3395 else
3395 break; 3396 break;
3397
3398 tem = XCDR (tem);
3396 } 3399 }
3397 3400
3398 valid_p = NILP (tem); 3401 valid_p = NILP (tem);