diff options
Diffstat (limited to '.emacs.d/ports.el')
-rw-r--r-- | .emacs.d/ports.el | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/.emacs.d/ports.el b/.emacs.d/ports.el new file mode 100644 index 0000000..eec3854 --- /dev/null +++ b/.emacs.d/ports.el @@ -0,0 +1,29 @@ +;; function copied from dim-ports.al by Dimitri Fontaine +;; http://git.naquadah.org/?p=~dim/emacs.d.git;a=summary +(defun lsb-release (&optional property) + "Parse lsb-release output and return an alist, or the value for the given property" + (when (file-executable-p "/usr/bin/lsb_release") + (let* ((lsbr (shell-command-to-string "/usr/bin/lsb_release -a 2>/dev/null")) + (props (split-string lsbr "[:\n]" t)) + (kv)) + (while (>= (length props) 2) + ;; Don't keep extra spaces. This way seems like the easy one in elisp. + (let ((key (mapconcat 'identity (split-string (car props)) " ")) + (val (mapconcat 'identity (split-string (cadr props)) " "))) + (setq kv (add-to-list 'kv (cons key val))) + (setq props (cddr props)))) + (if property + (cdr (assoc property (lsb-release))) + kv)))) + +;; function copied from dim-ports.al by Dimitri Fontaine +;; http://git.naquadah.org/?p=~dim/emacs.d.git;a=summary +(defmacro when-running-ubuntu (&rest body) + "eval body only when running under Ubuntu" + (when (equal (lsb-release "Distributor ID") "Ubuntu") ,@body)) + +;; function adapted from dim-ports.al by Dimitri Fontaine +;; http://git.naquadah.org/?p=~dim/emacs.d.git;a=summary +(defmacro when-running-fedora (&rest body) + "eval body only when running under Fedora" + (when (equal (lsb-release "Distributor ID") "Fedora") ,@body))
\ No newline at end of file |