Hi *,

we are using stumpwm (current git head on sbcl) in a multiuser
environment.  So I stumbled on the fact, that currently *data-dir* is
initialized on compile time and so pointing to ".stumpwm.d" in the home
directory of the user building stumpwm, not in the home of the current
user...

I propose this simple patch, which postpones initialization of
*data-dir* to the time stumpwm is started:

diff -r d81fccb7a834 primitives.lisp
--- a/primitives.lisp	Sun Nov 13 13:20:02 2011 +0000
+++ b/primitives.lisp	Fri Nov 18 16:04:58 2011 +0100
@@ -1099,8 +1099,7 @@
 After changing this variable you may need to call
 sync-all-frame-windows to see the change.")
 
-(defvar *data-dir* (make-pathname :directory (append (pathname-directory (user-homedir-pathname))
-                                                     (list ".stumpwm.d")))
+(defvar *data-dir* nil
   "The directory used by stumpwm to store data between sessions.")
 
 (defun data-dir-file (name &optional type)
diff -r d81fccb7a834 stumpwm.lisp
--- a/stumpwm.lisp	Sun Nov 13 13:20:02 2011 +0000
+++ b/stumpwm.lisp	Fri Nov 18 16:04:58 2011 +0100
@@ -248,6 +248,9 @@
 ;; Usage: (stumpwm)
 (defun stumpwm (&optional (display-str (or (getenv "DISPLAY") ":0")))
   "Start the stump window manager."
+  (setf *data-dir*
+        (make-pathname :directory (append (pathname-directory (user-homedir-pathname))
+                                          (list ".stumpwm.d"))))
   (loop
      (let ((ret (catch :top-level
                   (stumpwm-internal display-str))))
cheers
sascha
-- 
Sascha Wilde : "Lies, was ich meine, nicht, was ich schreibe."
             : (Urs Traenkner in de.alt.admin)
_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to