[elpa] master 7df064b: Improve doc of el-search-this-expression-identifier.

2016-02-14 Thread Michael Heerdegen
branch: master
commit 7df064bfd28a327c3737870e5b5affceb7c7ae01
Author: Michael Heerdegen 
Commit: Michael Heerdegen 

Improve doc of el-search-this-expression-identifier.
---
 packages/el-search/el-search.el |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 05378a8..c71bb19 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -236,9 +236,13 @@
   :group 'lisp)
 
 (defcustom el-search-this-expression-identifier 'exp
-  "Name of the identifier referring to the current expression.
-The default value is `exp'.  You can use this name in the search
-prompt to refer to the value of the currently tested expression."
+  "Identifier referring to the current expression in pattern input.
+When entering a PATTERN in an interactive \"el-search\" command,
+the pattern actually used will be
+
+`(and ,el-search-this-expression-identifier ,pattern)
+
+The default value is `exp'."
   :type 'symbol)
 
 (defface el-search-match 'background dark)) (:background "#A0"))



[elpa] master 86fc109: update stream.el to the latest version

2016-02-14 Thread Nicolas Petton
branch: master
commit 86fc10993a4f2be9f13a229f7f6a27f2192cfff9
Author: Nicolas Petton 
Commit: Nicolas Petton 

update stream.el to the latest version

* packages/stream/stream.el:
* packages/stream/tests/stream-tests.el: Add latest changes from the
  github repository.
---
 packages/stream/stream.el |   30 +-
 packages/stream/tests/stream-tests.el |   37 +
 2 files changed, 66 insertions(+), 1 deletions(-)

diff --git a/packages/stream/stream.el b/packages/stream/stream.el
index b03aa8a..567a9e3 100644
--- a/packages/stream/stream.el
+++ b/packages/stream/stream.el
@@ -113,6 +113,17 @@ The sequence starts at POS if non-nil, 1 otherwise."
(char-after (point)
  (stream buffer (1+ pos)
 
+(declare-function iter-next "generator")
+
+(defun stream-from-iterator (iterator)
+  "Return a stream generating new elements through ITERATOR.
+ITERATOR is an iterator object in terms of the \"generator\"
+package."
+  (stream-make
+   (condition-case nil
+   (cons (iter-next iterator) (stream-from-iterator iterator))
+ (iter-end-of-sequence nil
+
 (defun stream-regexp (buffer regexp)
   (stream-make
(let (match)
@@ -137,7 +148,8 @@ range is infinite."
 
 (defun streamp (stream)
   "Return non-nil if STREAM is a stream, nil otherwise."
-  (eq (car-safe stream) stream--identifier))
+  (and (consp stream)
+   (eq (car stream) stream--identifier)))
 
 (defun stream-empty ()
   "Return an empty stream."
@@ -156,6 +168,22 @@ range is infinite."
   (or (cdr (thunk-force (cadr stream)))
   (stream-empty)))
 
+(defun stream-append (&rest streams)
+  "Concatenate the STREAMS.
+Requesting elements from the resulting stream will request the
+elements in the STREAMS in order."
+  (if (null streams)
+  (stream-empty)
+(stream-make
+ (let ((first (pop streams)))
+   (while (and (stream-empty-p first) streams)
+ (setq first (pop streams)))
+   (if (stream-empty-p first)
+   nil
+ (cons (stream-first first)
+   (if streams (apply #'stream-append (stream-rest first) streams)
+ (stream-rest first
+
 (defmacro stream-pop (stream)
   "Return the first element of STREAM and set the value of STREAM to its rest."
   (unless (symbolp stream)
diff --git a/packages/stream/tests/stream-tests.el 
b/packages/stream/tests/stream-tests.el
index 1997202..88edf91 100644
--- a/packages/stream/tests/stream-tests.el
+++ b/packages/stream/tests/stream-tests.el
@@ -52,6 +52,35 @@
   (should (= 4 (stream-first (stream-rest (stream-range 3)
   (should (= 5 (stream-first (stream-rest (stream-rest (stream-range 3)))
 
+(ert-deftest stream-from-iterator-test ()
+  (skip-unless (require 'generator nil t))
+  (should (equal '(1 2)
+ (seq-into-sequence
+  (stream-from-iterator
+   (funcall (iter-lambda ()
+  (iter-yield 1)
+  (iter-yield 2
+
+(ert-deftest stream-append-test ()
+  (should (stream-empty-p (stream-append)))
+  (should (let ((list '(1 2)))
+(equal list (seq-into-sequence (stream-append (stream list))
+  (should (= (seq-elt (stream-append
+   (stream (list 0 1))
+   (stream-range 2))
+  4)
+ 4))
+  (should (let ((stream (stream (list 0
+(and (= (seq-elt (stream-append stream (stream-range 1)) 10)
+10)
+ (stream-empty-p (stream-rest stream)
+  (should (equal (seq-into-sequence
+  (stream-append
+   (stream '(1))
+   (stream '())
+   (stream '(2 3
+ '(1 2 3
+
 (ert-deftest stream-seqp-test ()
   (should (seqp (stream-range
 
@@ -175,5 +204,13 @@
 (seq-map #'identity stream)
 (should-not consumed)))
 
+(ert-deftest stream-pop-test ()
+  (let* ((str (stream '(1 2 3)))
+ (first (stream-pop str))
+ (stream-empty (stream-empty)))
+(should (= 1 first))
+(should (= 2 (stream-first str)))
+(should (null (stream-pop stream-empty)
+
 (provide 'stream-tests)
 ;;; stream-tests.el ends here