about summary refs log tree commit diff
path: root/users/wpcarro/emacs/pkgs/al/al.el
diff options
context:
space:
mode:
Diffstat (limited to 'users/wpcarro/emacs/pkgs/al/al.el')
-rw-r--r--users/wpcarro/emacs/pkgs/al/al.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/users/wpcarro/emacs/pkgs/al/al.el b/users/wpcarro/emacs/pkgs/al/al.el
index aa81894153..4c37526c64 100644
--- a/users/wpcarro/emacs/pkgs/al/al.el
+++ b/users/wpcarro/emacs/pkgs/al/al.el
@@ -111,10 +111,12 @@ Note that this doesn't append to the alist in the way that most alists handle
   (map-put! xs k v))
 
 ;; Read
-(defun al-get (k xs)
-  "Return the value at K in XS; otherwise, return nil.
+(defun al-get (k xs &optional default)
+  "Return the value at K in XS; otherwise, return nil or DEFAULT (if set).
 Returns the first occurrence of K in XS since alists support multiple entries."
-  (cdr (assoc k xs)))
+  (if (not (al-has-key? k xs))
+      default
+    (cdr (assoc k xs))))
 
 (defun al-get-entry (k xs)
   "Return the first key-value pair at K in XS."