From 3f4a0d5370ae6c34afe180df96add3b8522f4af1 Mon Sep 17 00:00:00 2001 From: mattkae Date: Wed, 11 May 2022 09:23:58 -0400 Subject: initial commit --- elpa/req-package-20180605.1141/req-package-args.el | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 elpa/req-package-20180605.1141/req-package-args.el (limited to 'elpa/req-package-20180605.1141/req-package-args.el') diff --git a/elpa/req-package-20180605.1141/req-package-args.el b/elpa/req-package-20180605.1141/req-package-args.el new file mode 100644 index 0000000..bdcbab1 --- /dev/null +++ b/elpa/req-package-20180605.1141/req-package-args.el @@ -0,0 +1,31 @@ +;;; req-package-args.el --- summary: +;;; commentary: +;;; code: + +(require 'dash) + +(defconst req-package-keywords '(:require :force)) + +(defun req-package-args-take-args (args acc) + "Take all args until next keyword." + (cond ((or (null args) + (and (keywordp (car args)) + (or (-contains? use-package-keywords (car args)) + (-contains? req-package-keywords (car args))))) (list (reverse acc) args)) + (t (req-package-args-take-args (cdr args) (cons (car args) acc))))) + +(defun req-package-args-extract-arg (key args acc) + "Extract KEY value from ARGS list accummulating with ACC." + (if (null args) + (list nil (reverse acc)) + (if (eq (car args) key) + (let* ((REST (cdr args)) + (ALL (req-package-args-take-args REST nil)) + (KEY-ARGS (car ALL)) + (REST-ARGS (cadr ALL))) + (list KEY-ARGS + (append (reverse acc) REST-ARGS))) + (req-package-args-extract-arg key (cdr args) (cons (car args) acc))))) + +(provide 'req-package-args) +;;; req-package-args ends here -- cgit v1.2.1