[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Attempt to modify read-only object" error with set-frame-configurat
From: |
Eli Zaretskii |
Subject: |
Re: "Attempt to modify read-only object" error with set-frame-configuration |
Date: |
Sat, 22 Dec 2007 21:06:23 +0200 |
> Date: Thu, 20 Dec 2007 00:59:07 +0100
> From: "Juanma Barranquero" <address@hidden>
> Cc: emacs-devel <address@hidden>
>
> On Dec 19, 2007 10:32 PM, martin rudalics <address@hidden> wrote:
>
> > (visibility . t)
>
> I'd bet this causes the bug. Setting visibility causes problems on
> Windows since the multi-tty merge. See
>
> http://thread.gmane.org/gmane.emacs.devel/77325
I debugged this a bit. The error is thrown from Fsetcdr, when it
checks its first arg `cell' for being pure. Looking for the reason of
this, I found that Fsetcdr is called by store_frame_param in this
snippet (around line 2300 in frame.c):
/* Update the frame parameter alist. */
old_alist_elt = Fassq (prop, f->param_alist);
if (EQ (old_alist_elt, Qnil))
f->param_alist = Fcons (Fcons (prop, val), f->param_alist);
else
Fsetcdr (old_alist_elt, val);
GDB shows that old_alist_elt's value is 18412069 decimal or 118f225
hex, which indeed seems to be in pure space. The value of
f->param_alist includes `(visibility)', and I verified by stepping
into Fassq that it finds this element of the alist, and then this last
line of Fassq:
return CAR (list);
returns the offending value of 18412069, as the car of this list:
((visibility) (scroll-bar-width) (cursor-type . box) (auto-lower)
(auto-raise) (icon-type) (title) (buffer-predicate) (tool-bar-lines . 1)
(menu-bar-lines . 1) (right-fringe) (left-fringe) (line-spacing) (screen-gamma)
(border-color . "black") (cursor-color . "black") (mouse-color . "black")
(background-color . "SystemWindow") (foreground-color . "SystemWindowText")
(vertical-scroll-bars . right) (internal-border-width . 0) (border-width . 2)
(font . "-outline-Courier
New-normal-r-normal-normal-13-97-96-96-c-*-iso8859-1"))
This is where I ran out of time. Someone, please continue debugging.
The way to reproduce this is to run Emacs under GDB with the following
command:
(gdb) r -Q --eval "(setq default-frame-alist '((visibility . t)))"
- "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/19
- Re: "Attempt to modify read-only object" error with set-frame-configuration, Andreas Schwab, 2007/12/19
- Re: "Attempt to modify read-only object" error with set-frame-configuration, Juanma Barranquero, 2007/12/19
- Re: "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/20
- Re: "Attempt to modify read-only object" error with set-frame-configuration, Juanma Barranquero, 2007/12/20
- Re: "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/20
- Re: "Attempt to modify read-only object" error with set-frame-configuration, Juanma Barranquero, 2007/12/20
- Re: "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/20
- Re: "Attempt to modify read-only object" error with set-frame-configuration, Juanma Barranquero, 2007/12/20
Re: "Attempt to modify read-only object" error with set-frame-configuration,
Eli Zaretskii <=
Re: "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/24
Re: "Attempt to modify read-only object" error with set-frame-configuration, Eli Zaretskii, 2007/12/24
Re: "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/25
Re: "Attempt to modify read-only object" error with set-frame-configuration, Eli Zaretskii, 2007/12/25
Re: "Attempt to modify read-only object" error with set-frame-configuration, martin rudalics, 2007/12/25
Re: "Attempt to modify read-only object" error with set-frame-configuration, Richard Stallman, 2007/12/26
Re: "Attempt to modify read-only object" error with set-frame-configuration, YAMAMOTO Mitsuharu, 2007/12/26