diff src/frame.c @ 68905:f157b409991c

(x_get_arg): Clear out all occurrences of PARAM in ALIST.
author Richard M. Stallman <rms@gnu.org>
date Wed, 15 Feb 2006 01:05:33 +0000
parents 3bd95f4f2941
children 5aa4a7ce059a
line wrap: on
line diff
--- a/src/frame.c	Wed Feb 15 00:18:44 2006 +0000
+++ b/src/frame.c	Wed Feb 15 01:05:33 2006 +0000
@@ -3526,7 +3526,14 @@
 	 so that it won't be "left over" at the end.  */
 #ifdef HAVE_X_WINDOWS /* macfns.c and w32fns.c have not yet
 			 been changed to cope with this.  */
+      Lisp_Object tail;
       XSETCAR (tem, Qnil);
+      /* In case the parameter appears more than once in the alist,
+	 clear it out.  */
+      for (tail = alist; CONSP (tail); tail = XCDR (tail))
+	if (CONSP (XCAR (tail))
+	    && EQ (XCAR (XCAR (tail)), param))
+	  XSETCAR (XCAR (tail), Qnil);
 #endif
     }
   else