Re: load-path hack; local overlay for system lisp



$(D"B(BHola, I'm so glad to hear from you again, GSR!

On Tue, 15 Sep 2009 21:42:07 +0200, GSR - FR wrote:
> Hi,
> teika lavabit com (2009-09-14 at 1406.16 +0900):
>> Hi. Let me send a hack (not yet a patch to go into trunk) to fix
>> 'load-path'. With this, your ~/.sawfish/lisp/sawfish/wm.jl, or
>> whatever, will be preferred over /usr/share/sawfish/..../wm.jl Or, you
>> can choose one with SAWFISH_USER_LISP_DIR.
> 
> I thought Sawfish had been doing that for ages.[...]
> Could you explain what is the difference with what I am seeing here?

In fact, some files under ~/.sawfish/lisp indeed takes precedence over
those in "system" dir, /usr/share/sawfish. But many core files don't.

Let me review the init procedure of sawfish. From rough observation,
in inner_main() in src/main.c, sawfish.wm.misc, sawfish.wm.cursors,
and sawfish.wm are read, in this order. But at this point, only system
lisp dir is enrolled in load_path. User lisp dir is set into load_path
in lisp/sawfish/wm.jl, but *before* that, it requires wm.session.init
which requires wm.windows that opens many. (cursors doesn't call
friends. I don't know what happens by misc opening windows.subrs)

So, put load_path line in wm.jl at the top of the file, and 95% of the
job is done. But sometimes I feel like hacking wm.jl. To override it,
you need C part patch I submitted.

That's all.
Teika (Teika kazura)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]