summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorNicolas Petton <nicolas@petton.fr>2015-08-14 15:58:07 +0200
committerNicolas Petton <nicolas@petton.fr>2015-08-14 15:58:07 +0200
commitdffce02b589b73fcc7889af6a48ebb7499238083 (patch)
tree2bed7aad66a8c265b863d0a85a6e7a143c854d66 /lisp/emacs-lisp
parent25f2c063b97f24dcefb5cf1d910fb8210650f252 (diff)
downloademacs-dffce02b589b73fcc7889af6a48ebb7499238083.tar.gz
* lisp/emacs-lisp/stream.el: Define macros early
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/stream.el26
1 files changed, 13 insertions, 13 deletions
diff --git a/lisp/emacs-lisp/stream.el b/lisp/emacs-lisp/stream.el
index 012957200b6..f1d2631eaee 100644
--- a/lisp/emacs-lisp/stream.el
+++ b/lisp/emacs-lisp/stream.el
@@ -74,6 +74,19 @@
(defun stream--force (delayed)
"Force the evaluation of DELAYED."
(funcall delayed))
+
+(defmacro stream-make (&rest body)
+ "Return a stream built from BODY.
+BODY must return nil or a cons cell, which cdr is itself a
+stream."
+ (declare (debug t))
+ `(list ',stream--identifier (stream--delay ,@body)))
+
+(defmacro stream-cons (first rest)
+ "Return a stream built from the cons of FIRST and REST.
+FIRST and REST are forms and REST must return a stream."
+ (declare (debug t))
+ `(stream-make (cons ,first ,rest)))
;;; Convenient functions for creating streams
@@ -129,19 +142,6 @@ range is infinite."
(stream-range (+ start step) end step))))
-(defmacro stream-make (&rest body)
- "Return a stream built from BODY.
-BODY must return nil or a cons cell, which cdr is itself a
-stream."
- (declare (debug t))
- `(list ',stream--identifier (stream--delay ,@body)))
-
-(defmacro stream-cons (first rest)
- "Return a stream built from the cons of FIRST and REST.
-FIRST and REST are forms and REST must return a stream."
- (declare (debug t))
- `(stream-make (cons ,first ,rest)))
-
(defun stream-p (stream)
"Return non-nil if STREAM is a stream, nil otherwise."
(and (consp stream)