From fe33e00f82040b17c8241450fc67087630a8a663 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Fri, 16 Oct 2020 15:50:37 +0200 Subject: [PATCH] Update xdg-paths.el to conform with the linter --- lisp/xdg-paths.el | 75 +++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/lisp/xdg-paths.el b/lisp/xdg-paths.el index 228f320..4ebb5c4 100644 --- a/lisp/xdg-paths.el +++ b/lisp/xdg-paths.el @@ -40,7 +40,7 @@ ;;; user-documents-directory ~/Documents ;;; ;;; Some convenience functions are defined to locate files in these -;;; directories and to add user lisp to load-path. +;;; directories and to add user Lisp to load-path. ;;; ;;; Some advantages are: ;;; @@ -114,28 +114,28 @@ ;;; Code: (eval-when-compile - (require 'cl)) + (require 'cl-lib)) ;;; Directories definition. (defvar user-emacs-config-directory nil - "The directory where the emacs user configuration files are stored at.") + "The directory where the Emacs user configuration files are stored at.") (defvar user-emacs-data-directory nil - "The directory where the emacs user data and lisp files are stored at. + "The directory where the Emacs user data and Lisp files are stored at. \\[user-emacs-directory] is set to this directory.") (defvar user-emacs-cache-directory nil - "The directory where the emacs user expendable files are stored at. + "The directory where the Emacs user expendable files are stored at. Files stored here should not be missed when deleted, apart a temporary loss in speed.") (defvar user-emacs-lisp-directory nil - "The directory where the user lisp packages are stored at. + "The directory where the user Lisp packages are stored at. This directory is added to \\[load-path].") @@ -146,72 +146,73 @@ This directory is added to \\[load-path].") (defun xdg-user-dir (dirname) - "Given NAME, run 'xdg-user-dir NAME' and return the result in a string. + "Given DIRNAME, run 'xdg-user-dir DIRNAME' and return the result in a string. If the command fails, return NIL." (let ((command (concat "xdg-user-dir " dirname))) (if (zerop (shell-command command)) - (substring (shell-command-to-string command) 0 -1) + (substring (shell-command-to-string command) 0 -1) nil))) (defun locate-user-file (filename &optional type) - "Given a file, locate it in the user files. + "Given a file FILENAME, locate it in the user files. If TYPE is NIL or 'data, the file will be located in user-emacs-data-directory. -If 'config, it will be located in user-emacs-config-directory. +If `config', it will be located in user-emacs-config-directory. -If 'cache, it will be located in user-emacs-cache-directory. +If `cache', it will be located in user-emacs-cache-directory. -If 'lisp, it will be located in user-emacs-lisp-directory. +If `lisp', it will be located in user-emacs-lisp-directory. -If 'documents, it will be located in user-documents-directory. +If `documents', it will be located in user-documents-directory. -If the category is wrong, an error will be signaled. -" +If the category is wrong, an error will be signaled." (expand-file-name filename - (case type - ((nil data) user-emacs-data-directory) - ('config user-emacs-config-directory) - ('lisp user-emacs-lisp-directory) - ('cache user-emacs-cache-directory) - ('documents user-documents-directory) - (t (error "The category %s is not valid" type))))) + (cond + ((or (not type) (eq type 'data)) user-emacs-data-directory) + ((eq type 'config) user-emacs-config-directory) + ((eq type 'lisp) user-emacs-lisp-directory) + ((eq type 'cache) user-emacs-cache-directory) + ((eq type 'documents) user-documents-directory) + (t (error "The category %s is not valid" type))))) (defun locate-user-config-file (filename) - "Given a file, locate it in `user-emacs-config-directory`." + "Given a file FILENAME, locate it in `user-emacs-config-directory`." (locate-user-file filename 'config)) (defun locate-user-lisp (filename) - "Given a file, locate it in `user-emacs-lisp-directory`." + "Given a file FILENAME, locate it in `user-emacs-lisp-directory`." (locate-user-file filename 'lisp)) (defun add-to-path (directory &optional append) - "Given DIRECTORY, it it exists and is indeed a directory, add -it to `load-path`." + "Given DIRECTORY, it it exists and is a directory, add it to `load-path`. + +APPEND is passed verbatim to `add-to-list'." (interactive "D") (if (file-directory-p directory) (add-to-list 'load-path directory append) - (error "The directory \"%s\" does not exist or isn't a directory." directory))) + (error "The directory \"%s\" does not exist or isn't a directory" directory))) (defun add-user-lisp-to-path (directory &optional append) - "Given DIRECTORY, it it exists and is indeed a directory, add -it to `load-path`." + "Given DIRECTORY, if it exists and is a directory, add it to `load-path`. + +APPEND is passed directly to `add-to-path'." (interactive "D") (add-to-path (locate-user-lisp directory) append)) ;; Set the default variables if they have no name. -(macrolet ((setq-if-null (variable value) - `(if (null ,variable) - (setf ,variable ,value))) - (getdir (variable fallback) - `(expand-file-name "emacs/" (or (getenv ,variable) ,fallback)))) +(cl-macrolet ((setq-if-null (variable value) + `(if (null ,variable) + (setf ,variable ,value))) + (getdir (variable fallback) + `(expand-file-name "emacs/" (or (getenv ,variable) ,fallback)))) (setq-if-null user-emacs-config-directory (getdir "XDG_CONFIG_HOME" "~/.config/")) (setq-if-null user-emacs-data-directory (getdir "XDG_DATA_HOME" "~/.local/share/")) (setq-if-null user-emacs-cache-directory (getdir "XDG_CACHE_HOME" "~/.cache/")) @@ -219,12 +220,10 @@ it to `load-path`." (setq-if-null user-documents-directory (or (xdg-user-dir "DOCUMENTS") "~/Documents"))) -;; Set the user-emacs-directory to user-emacs-data-directory. -;(setf user-emacs-directory user-emacs-data-directory) - - ;; Add the user lisp directory to path. (add-to-list 'load-path user-emacs-lisp-directory) (provide 'xdg-paths) + +;;; xdg-paths.el ends here