Mercurial > emacs
comparison src/xfaces.c @ 9944:dd9afae74baf
(Fpixmap_spec_p): Avoid function calls and assignments as arguments to a
type-test macro.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 15 Nov 1994 22:53:26 +0000 |
parents | 32ed712a45a3 |
children | b4bfe218c4ca |
comparison
equal
deleted
inserted
replaced
9943:4e6e0478baef | 9944:dd9afae74baf |
---|---|
390 { | 390 { |
391 Lisp_Object height, width; | 391 Lisp_Object height, width; |
392 | 392 |
393 return ((STRINGP (arg) | 393 return ((STRINGP (arg) |
394 || (CONSP (arg) | 394 || (CONSP (arg) |
395 && CONSP (Fcdr (arg)) | 395 && CONSP (XCONS (arg)->cdr) |
396 && CONSP (Fcdr (Fcdr (arg))) | 396 && CONSP (XCONS (XCONS (arg)->cdr)->cdr) |
397 && NILP (Fcdr (Fcdr (Fcdr (arg)))) | 397 && NILP (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->cdr) |
398 && INTEGERP (width = Fcar (arg)) | 398 && (width = XCONS (arg)->car, INTEGERP (width)) |
399 && INTEGERP (height = Fcar (Fcdr (arg))) | 399 && (height = XCONS (XCONS (arg)->cdr)->car, INTEGERP (height)) |
400 && STRINGP (Fcar (Fcdr (Fcdr (arg)))) | 400 && STRINGP (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->car) |
401 && XINT (width) > 0 | 401 && XINT (width) > 0 |
402 && XINT (height) > 0 | 402 && XINT (height) > 0 |
403 /* The string must have enough bits for width * height. */ | 403 /* The string must have enough bits for width * height. */ |
404 && (XINT (width) * XINT (height) | 404 && ((XSTRING (XCONS (XCONS (XCONS (arg)->cdr)->cdr)->car)->size |
405 <= (XSTRING (Fcar (Fcdr (Fcdr (arg))))->size | 405 * (INTBITS / sizeof (int))) |
406 * (INTBITS / sizeof (int)))))) | 406 >= XFASTINT (width) * XFASTINT (height)))) |
407 ? Qt : Qnil); | 407 ? Qt : Qnil); |
408 } | 408 } |
409 | 409 |
410 /* Load a bitmap according to NAME (which is either a file name | 410 /* Load a bitmap according to NAME (which is either a file name |
411 or a pixmap spec). Return the bitmap_id (see xfns.c) | 411 or a pixmap spec). Return the bitmap_id (see xfns.c) |