>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)srce.hr> writes:
Hrvoje> SL Baur <steve(a)xemacs.org> writes:
> Hrvoje Niksic <hniksic(a)srce.hr> writes:
>
> > I would expect `xemacs -name fubar' to start a resourceless
> XEmacs
Think about what a "resourceless" XEmacs would be. About 1MB lighter,
for one thing, since a lot of data would be missing.
An X resource is not something you "have" or "don't have",
it's a
variable which can be initialized by the user. It must be initialized
to something. It is not too wrong to use the following model:
1. xemacs is read into memory with the hard-coded values from the
source code.
2. Where the values exist in /usr/X11/lib/X11/app-defaults/XEmacs,
they overwrite the source code specified values. In the
app-defaults file resources normally are specified with a lead *,
so these always apply.
3. Look in the user resource database (.Xdefaults, or the root window
properties used by xrdb) for resources specified by class name
(ie, with a leading capital letter). Any such values overwrite
the current values.
4. Look in the app-defaults file for resources specified by instance
name, with a name matching the current instance. Overwrite the
values of any matching resources. App-defaults files should have
none of these.
5. Look in the user database, match, and overwrite as appropriate.
(I may have the order of 3 and 4 inverted.)
If you want the equivalent of --vanilla for X resources, there are two
approaches I can see. One is the xrdb </dev/null approach. However,
I don't think this will work if you (or your system administrator) has
altered app-defaults/XEmacs. The second is to get a pristine
app-defaults XEmacs, and prepend "vanilla*" to every single resource
name. Merge that into your xrdb, and then xemacs -name vanilla will
work the way you want it to.
> Has this ever worked? I don't recall it ever working. If
the
> argument given to -name has valid resources they will be used,
According to the man page, adding resources is the only function that
the -name option has; not deleting them.
> but I've never gotten a resourceless XEmacs this way,
I've had
> to use `xrdb < /dev/null'.
Hrvoje> I don't know if it ever worked. The funny thing is that I
Hrvoje> don't even know if it's *supposed* to work. It doesn't
Hrvoje> work in FSFmacs, for instance. It works for xterm,
Hrvoje> though. `xterm -name foo' effectively makes xterm ignore
Hrvoje> all of my resources.
Presumably all your resources are specified with "xterm*...", not
"XTerm*..."?
Hrvoje> If we do agree that this is a bug in need of fixing, maybe
Hrvoje> someone can produce a patch. It looks easy to fix, but I
Hrvoje> know next to nothing about X so I wouldn't want to break
Hrvoje> anything.
XEmacs resources work the way I expect them to, except for the
"XEmacs" vs. "Emacs" class name stuff, where I have no intuition.