unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: rms@gnu.org
Cc: emacs-devel@gnu.org
Subject: Re: "CHANGED outside Customize" in frames customization group
Date: Tue, 01 Jan 2008 11:24:18 +0100	[thread overview]
Message-ID: <477A14D2.3040909@gmx.at> (raw)
In-Reply-To: <E1J9XeY-0008Uz-9b@fencepost.gnu.org>

 >     Do I understand you correctly that `frame-notice-user-settings' and
 >     `modify-all-frames-parameters' should set the `command-args-...' values
 >     (one for the initial and one for the default frame)?
 >
 > Yes, that's what I've proposed.  Do you see any flaws in the idea?
 >       This would require
 >     a non-trivial reorganization of frame.el.
 >
 > I think it should be pretty simple.  Only 4 functions in frame.el
 > seem to refer to default-frame-alist or initial-frame-alist.
 > So I think that not much change would be needed.

In addition I would have to change x-win.el, mac-win.el, pc-win.el,
and w32-win.el for the x-handle-... stuff.

 >
 >     Note that I was not looking into the command-line arguments and X
 >     resources issues yet.
 >
 > Yes, but I think this same approach would work for x-win.el
 > and would be simple there too.

So I would reflect any attempts to set `default-frame-alist' and
`initial-frame-alist' via (1) command-line arguments, (2) x-resources,
and (3) settings of `fringe-mode', `tool-bar-mode', `menu-bar-mode', and
possibly `scroll-bar-mode' (I don't understand the latter yet) in the
initial file, in two variables say `overriding-default-frame-alist' and
`overriding-initial-frame-alist'.  (I think the "command-" prefix is
somewhat misleading for .emacs related settings, but I don't have a
strong point here.)

The final merging of parameters would then happen in `frame-initialize'
for the initial and in `x-handle-named-frame-geometry' for additional
frames where the "overriding-" parameters would be appropriately
prepended.

 >      >     Customizing `fringe-mode' calls `modify-all-frames-parameters' which
 >      >     sets `default-frame-alist'.  I'm now told that `default-frame-alist' was
 >      >     CHANGED outside Customize although all I actually did was _customizing_
 >      >     some option.
 >      >
 >      > The solution to that is just to inform Custom about the change, so it
 >      > will realize that the change to `default-frame-alist' was made within
 >      > Custom.
 >      >
 >      > It's just a bug, it just needs to be fixed.
 >
 >     I wouldn't know how.  If I simply set `default-frame-alist' in some
 >     "Custom" way I'll be told that there are unsaved changes.
 >
 > It looks like `customize-set-variable' does the right job.
 >
 > So I think this won't be very hard.  Want to give it a try?

I have to avoid an

"Attempt to autoload customize-set-variable while preparing to dump"

error here.  Hence setting `default-frame-alist' via
`customize-set-variable' would have to be forked by an optional argument
to `modify-all-frames-parameters'.  Such an optional argument would then
have to be passed down by `set-fringe-mode-1' to `set-fringe-mode', for
example, and similarly for the others.  Correct?

  reply	other threads:[~2008-01-01 10:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-29  9:44 "CHANGED outside Customize" in frames customization group martin rudalics
2007-12-29 15:51 ` Drew Adams
2007-12-29 16:14   ` Luc Teirlinck
2007-12-29 17:33   ` martin rudalics
2007-12-29 18:14     ` Drew Adams
2007-12-30  1:36     ` Richard Stallman
2007-12-29 17:48 ` Richard Stallman
2007-12-30 14:07   ` martin rudalics
2007-12-30 15:42     ` Richard Stallman
2007-12-30 18:18       ` martin rudalics
2007-12-30 22:58         ` Richard Stallman
2007-12-31 11:04           ` martin rudalics
2008-01-01  3:18             ` Richard Stallman
2008-01-01 10:24               ` martin rudalics [this message]
2008-01-03  9:50                 ` Richard Stallman
2008-01-03 19:32                   ` martin rudalics
2008-01-05  5:54                     ` Richard Stallman
2008-01-05 10:14                       ` martin rudalics
2008-01-06 18:10                         ` Richard Stallman
2008-01-06 19:00                           ` martin rudalics
2008-01-07 11:31                             ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=477A14D2.3040909@gmx.at \
    --to=rudalics@gmx.at \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).