From ce8cfd58f40f9f1808819d702bfb505e9f7d7e1d Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Sat, 6 Apr 2013 15:39:47 +0200 Subject: [PATCH] Fix usage without XDG_*_HOME `concatenate' does not work as I thought, cannot handle list arguments, except `nil'. --- lisp/clark.lisp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lisp/clark.lisp b/lisp/clark.lisp index 47b09d8..64f5fa4 100644 --- a/lisp/clark.lisp +++ b/lisp/clark.lisp @@ -107,19 +107,23 @@ The result contains the url, name and the description of the bookmark." (defun get-db-location () "Get the location of the database." - (pathname - (apply 'concatenate 'string - (or (sb-ext:posix-getenv "XDG_DATA_HOME") - (list (sb-ext:posix-getenv "HOME") "/.local/share")) - '("/clark/bookmarks.db")))) + (let ((xdg (sb-ext:posix-getenv "XDG_DATA_HOME")) + (home (sb-ext:posix-getenv "HOME"))) + (pathname + (apply 'concatenate 'string + (or xdg home) + (unless xdg "/.local/share") + '("/clark/bookmarks.db"))))) (defun get-rc-location () "Get the location of the RC file." - (pathname - (apply 'concatenate 'string - (or (sb-ext:posix-getenv "XDG_CONFIG_HOME") - (list (sb-ext:posix-getenv "HOME") "/.config")) - '("/clark/rc.lisp")))) + (let ((xdg (sb-ext:posix-getenv "XDG_CONFIG_HOME")) + (home (sb-ext:posix-getenv "HOME"))) + (pathname + (apply 'concatenate 'string + (or xdg home) + (unless xdg "/.config") + '("/clark/rc.lisp"))))) (defun get-tag-id (name) "Get the rowid of tag NAME."