diff options
-rw-r--r-- | lisp/clark.lisp | 24 |
1 files 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." |