summaryrefslogtreecommitdiffstats
path: root/.emacs.d/ports.el
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/ports.el')
-rw-r--r--.emacs.d/ports.el29
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