(Fframe_parameter): Fix a bug whereby some
authorGerd Moellmann <gerd@gnu.org>
Thu, 25 Oct 2001 15:44:43 +0000 (15:44 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 25 Oct 2001 15:44:43 +0000 (15:44 +0000)
``artificial'' frame parameters, like `minibuffer' were not
obtained by calling Fframe_parameters.

src/ChangeLog
src/frame.c

index 68d54b4..94c596d 100644 (file)
@@ -1,5 +1,9 @@
 2001-10-25  Gerd Moellmann  <gerd@gnu.org>
 
+       * frame.c (Fframe_parameter): Fix a bug whereby some
+       ``artificial'' frame parameters, like `minibuffer' were not
+       obtained by calling Fframe_parameters.
+
        * xterm.c (show_mouse_face): Clean up.  Recognize overwritten
        cursor differently.
 
index 5242445..8720d7a 100644 (file)
@@ -2085,7 +2085,8 @@ If FRAME is nil, describe the currently selected frame.  */)
       else if (EQ (parameter, Qdisplay) && FRAME_X_P (f))
        value = XCAR (FRAME_X_DISPLAY_INFO (f)->name_list_element);
 #endif /* HAVE_X_WINDOWS */
-      else
+      else if (EQ (parameter, Qbackground_color)
+              || EQ (parameter, Qforeground_color))
        {
          value = Fassq (parameter, f->param_alist);
          if (CONSP (value))
@@ -2120,13 +2121,13 @@ If FRAME is nil, describe the currently selected frame.  */)
                    }
                }
            }
-         else if (EQ (parameter, Qdisplay_type)
-                  || EQ (parameter, Qbackground_mode))
-           /* Avoid consing in frequent cases.  */
-           value = Qnil;
-         else
-           value = Fcdr (Fassq (parameter, Fframe_parameters (frame)));
        }
+      else if (EQ (parameter, Qdisplay_type)
+              || EQ (parameter, Qbackground_mode))
+       /* Avoid consing in frequent cases.  */
+       value = Fcdr (Fassq (parameter, f->param_alist));
+      else
+       value = Fcdr (Fassq (parameter, Fframe_parameters (frame)));
     }
   
   return value;