From 661077f2058d1ca60a9710a8550817e356040f73 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Mon, 30 Nov 1992 19:58:43 +0000 Subject: [PATCH] Allow X primitives to accept nonnegative integers as pixel values. --- v7/src/microcode/x11base.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/v7/src/microcode/x11base.c b/v7/src/microcode/x11base.c index 837dcc966..8f6bd5449 100644 --- a/v7/src/microcode/x11base.c +++ b/v7/src/microcode/x11base.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/x11base.c,v 1.41 1992/08/18 03:25:27 cph Exp $ +$Id: x11base.c,v 1.42 1992/11/30 19:58:43 cph Exp $ Copyright (c) 1989-92 Massachusetts Institute of Technology @@ -297,11 +297,23 @@ DEFUN (arg_color, (arg, display), Display * display) { unsigned long result; - if (! (x_decode_color - (display, - (DefaultColormap (display, (DefaultScreen (display)))), - (STRING_ARG (arg)), - (&result)))) + SCHEME_OBJECT object = (ARG_REF (arg)); + if (INTEGER_P (object)) + { + if (! (integer_to_long_p (object))) + error_bad_range_arg (arg); + { + long pixel = (integer_to_long (object)); + if (pixel < 0) + error_bad_range_arg (arg); + result = pixel; + } + } + else if (! (x_decode_color + (display, + (DefaultColormap (display, (DefaultScreen (display)))), + (STRING_ARG (arg)), + (&result)))) error_bad_range_arg (arg); return (result); } -- 2.25.1