@@ -109,12 +109,12 @@ AC_ARG_WITH([geiser-lispdir],
[geiserlispdir="no"])
AC_SUBST([geiserlispdir])
-AC_ARG_WITH([dash-lispdir],
- [AS_HELP_STRING([--with-dash-lispdir],
- [directory with dash.el file])],
- [dashlispdir="$withval"],
- [dashlispdir="no"])
-AC_SUBST([dashlispdir])
+AC_ARG_WITH([llama-lispdir],
+ [AS_HELP_STRING([--with-llama-lispdir],
+ [directory with llama.el file])],
+ [llamalispdir="$withval"],
+ [llamalispdir="no"])
+AC_SUBST([llamalispdir])
AC_ARG_WITH([bui-lispdir],
[AS_HELP_STRING([--with-bui-lispdir],
@@ -138,7 +138,7 @@ AC_ARG_WITH([transient-lispdir],
AC_SUBST([transientlispdir])
AM_CONDITIONAL([GEISER_DIR], [test "x$geiserlispdir" != "xno"])
-AM_CONDITIONAL([DASH_DIR], [test "x$dashlispdir" != "xno"])
+AM_CONDITIONAL([LLAMA_DIR], [test "x$llamalispdir" != "xno"])
AM_CONDITIONAL([BUI_DIR], [test "x$builispdir" != "xno"])
AM_CONDITIONAL([EDITINDIRECT_DIR], [test "x$editindirectlispdir" != "xno"])
AM_CONDITIONAL([TRANSIENT_DIR], [test "x$transientlispdir" != "xno"])
@@ -148,7 +148,7 @@ dnl byte-compilation. Otherwise, "emacs" will be used, and it will
dnl hopefully find these packages in its 'load-path'.
AM_CONDITIONAL([EMACS_Q],
[test "x$geiserlispdir" != "xno" -a \
- "x$dashlispdir" != "xno" -a \
+ "x$llamalispdir" != "xno" -a \
"x$builispdir" != "xno" -a \
"x$editindirectlispdir" != "xno" -a \
"x$transientlispdir" != "xno"])
@@ -176,8 +176,8 @@ from the Guix Guile code. So without Geiser, you can use the same
features as without Guix.
@item
-@uref{https://github.com/magnars/dash.el, dash library}, version
-2.11.0 or later.
+@uref{https://github.com/tarsius/llama, llama library}, version
+0.6.1 or later.
@item
@uref{https://gitlab.com/alezost-emacs/bui, BUI library}, version
@@ -1091,8 +1091,8 @@ easy accessible key combination, for example, to @kbd{@key{super}-g}:
(global-set-key (kbd "s-g") 'guix)
@end example
-@node Guix Keyboard-driven Menu
-@section Guix Keyboard-driven Menu
+@node Keyboard-driven Menu
+@section Keyboard-driven Menu
@findex guix-command
There is one rather special transient suffix in @kbd{M-x@tie{}guix}. It
@@ -23,7 +23,6 @@
;;; Code:
-(require 'dash)
(require 'bui)
(require 'guix nil t)
(require 'guix-utils)
@@ -48,7 +48,6 @@
;;; Code:
-(require 'dash)
(require 'geiser-mode)
(require 'geiser-guile)
(require 'guix nil t)
@@ -57,6 +56,7 @@
(require 'guix-external)
(require 'guix-profiles)
(require 'guix-utils)
+(require 'llama)
(defvar guix-load-path nil
"Directory or a list of directories prepended to Guile's `%load-path'.
@@ -209,8 +209,8 @@ After setting this variable, you need to kill
(lcp (if guix-load-compiled-path
(guix-list-maybe guix-load-compiled-path)
lp)))
- (append (--mapcat (list "-L" (guix-file-name it)) lp)
- (--mapcat (list "-C" (guix-file-name it)) lcp))))
+ (append (apply #'append (list "-L" (##guix-file-name %1)) lp)
+ (apply #'append (list "-C" (##guix-file-name %1)) lcp))))
"-L" ,guix-scheme-directory
,@(and guix-config-scheme-compiled-directory
(list "-C" guix-config-scheme-compiled-directory))
@@ -25,7 +25,6 @@
;;; Code:
(require 'cl-lib)
-(require 'dash)
(require 'bui)
(require 'guix nil t)
(require 'guix-ui)
@@ -25,7 +25,6 @@
;;; Code:
(require 'cl-lib)
-(require 'dash)
(require 'bui)
(require 'guix nil t)
(require 'guix-ui)
@@ -39,6 +38,7 @@
(require 'guix-location)
(require 'guix-package)
(require 'guix-profiles)
+(require 'llama)
(guix-ui-define-entry-type package)
(guix-ui-define-entry-type output)
@@ -102,14 +102,14 @@ is found and `guix-package-list-show-single' is nil."
(defun guix-package-entry-installed-outputs (entry)
"Return a list of installed outputs for the package ENTRY."
- (--map (bui-entry-non-void-value it 'output)
- (bui-entry-non-void-value entry 'installed)))
+ (mapcar (##bui-entry-non-void-value %1 'output)
+ (bui-entry-non-void-value entry 'installed)))
(defun guix-read-package-name-from-entries (entries)
"Prompt for a package name and return it.
Names are completed from package ENTRIES."
(completing-read "Package: "
- (--map (bui-entry-value it 'name) entries)))
+ (mapcar (##bui-entry-value %1 'name) entries)))
(defun guix-read-package-entry-by-name (&optional entries)
"Return an entry from package ENTRIES (current entries by default).
@@ -1165,8 +1165,8 @@ Colorize it with an appropriate face if needed."
(defun guix-package-list-get-installed-outputs (installed &optional _)
"Return string with outputs from INSTALLED entries."
(bui-get-string
- (--map (bui-entry-non-void-value it 'output)
- installed)))
+ (mapcar (##bui-entry-non-void-value %1 'output)
+ installed)))
(defun guix-package-list-marking-check ()
"Signal an error if marking is disabled for the current buffer."
@@ -26,13 +26,13 @@
;;; Code:
-(require 'dash)
(require 'bui)
(require 'guix nil t)
(require 'guix-profiles)
(require 'guix-read)
(require 'guix-utils)
(require 'guix-misc)
+(require 'llama)
(guix-define-groups profile)
@@ -55,15 +55,15 @@ properly.")
"Return a list of all profiles."
(or guix-profiles
(setq guix-profiles
- (--filter
- (and it (file-exists-p it))
+ (seq-filter
+ (##and %1 (file-exists-p %1))
(delete-dups
- (-cons* guix-default-user-profile
- guix-default-pulled-profile
- guix-system-profile
- guix-home-profile
- (--when-let (getenv "GUIX_PROFILE")
- (guix-file-name it))
+ (append (list guix-default-user-profile
+ guix-default-pulled-profile
+ guix-system-profile
+ guix-home-profile
+ (when-let ((profile (getenv "GUIX_PROFILE")))
+ (guix-file-name profile)))
(guix-eval-read "(user-profiles)")))))))
(defun guix-profile->entry (profile)
@@ -107,8 +107,8 @@ are multiple entries, prompt for a profile name and return it."
(or entries (setq entries (bui-current-entries)))
(if (cdr entries)
(completing-read "Profile: "
- (--map (bui-entry-value it 'profile)
- entries))
+ (mapcar (##bui-entry-value %1 'profile)
+ entries))
(bui-entry-value (car entries) 'profile)))
@@ -208,8 +208,10 @@ get the information."
(lambda (entry)
(let ((id (bui-entry-id entry)))
(cons `(current . ,(equal id current-id))
- (--remove-first (eq (car it) 'current)
- entry))))
+ (seq-remove-at-position
+ (seq-filter (##eq (car %1) 'current)
+ entry)
+ 0))))
(bui-current-entries))))
(setf (bui-item-entries bui-item)
new-entries))
@@ -1,7 +1,6 @@
;;; guix-ui-store-item.el --- Interface to display store items -*- lexical-binding: t -*-
;; Copyright © 2018 Alex Kost <alezost@gmail.com>
-;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;; This file is part of Emacs-Guix.
@@ -27,7 +26,6 @@
(require 'cl-lib)
(require 'ffap)
-(require 'dash)
(require 'bui)
(require 'guix-package)
(require 'guix-guile)
@@ -24,7 +24,6 @@
;;; Code:
(require 'cl-lib)
-(require 'dash)
(require 'bui-utils)
(require 'guix nil t)
@@ -6,7 +6,7 @@
;; Version: 0.5.2
;; URL: https://emacs-guix.gitlab.io/website/
;; Keywords: tools
-;; Package-Requires: ((emacs "24.3") (dash "2.11.0") (geiser "0.8") (bui "1.2.0") (transient "0.8.4") (edit-indirect "0.1.4"))
+;; Package-Requires: ((emacs "24.3") (llama "0.6.1") (geiser "0.8") (bui "1.2.0") (transient "0.8.4") (edit-indirect "0.1.4"))
;; This file is part of Emacs-Guix.
@@ -28,8 +28,8 @@ if GEISER_DIR
AM_ELCFLAGS += -L "$(geiserlispdir)"
endif
-if DASH_DIR
- AM_ELCFLAGS += -L "$(dashlispdir)"
+if LLAMA_DIR
+ AM_ELCFLAGS += -L "$(llamalispdir)"
endif
if BUI_DIR