From 98c0ddb2a9f7895e617f8dd39fe8a2ee00164b17 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Wed, 10 Aug 2016 18:38:16 -0700 Subject: [PATCH] Apply named-builder to emacs-version-predicate --- dotfiles/emacs.d/README.org | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 58f15776..e97a70c8 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -392,17 +392,6 @@ The packages in this section provide no functionality on their own, but provide :demand t) #+END_SRC ** Macros -*** Emacs Version Predicate -#+BEGIN_SRC emacs-lisp -(defmacro imalison:emacs-version-predicate (major-version minor-version) - `(lambda () - (or (> emacs-major-version ,major-version) - (and (>= emacs-major-version ,major-version) - (>= emacs-minor-version ,minor-version))))) - -(defun imalison:check-emacs-version (major-version minor-version) - (funcall (imalison:emacs-version-predicate major-version minor-version))) -#+END_SRC *** Named Build imalison:named-build provides a way to invoke a macro in such a way that the lambda that it produces is given a name. @@ -432,6 +421,19 @@ new macro name and the -fn suffix. `(imalison:named-builder-builder ,name ,(intern (concat (symbol-name name) "-fn")))) #+END_SRC +*** Emacs Version Predicate +#+BEGIN_SRC emacs-lisp +(defmacro imalison:emacs-version-predicate-fn (major-version minor-version) + `(lambda () + (or (> emacs-major-version ,major-version) + (and (>= emacs-major-version ,major-version) + (>= emacs-minor-version ,minor-version))))) + +(defun imalison:check-emacs-version (major-version minor-version) + (funcall (imalison:emacs-version-predicate-fn major-version minor-version))) + +(imalison:named-builder imalison:emacs-version-predicate) +#+END_SRC *** Compose Functions **** A version supporting macros #+BEGIN_SRC emacs-lisp