From c7926f72eb67cccf6b8a47a222dd4813fa801f5f Mon Sep 17 00:00:00 2001
From: Aaron Marquez <aaronmarquez@Aarons-MBP.home>
Date: Thu, 15 Feb 2018 12:43:04 -0800
Subject: [PATCH 1/4] add contributor agreement for @enerrio

---
 .github/contributors/enerrio.md | 106 ++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)
 create mode 100644 .github/contributors/enerrio.md

diff --git a/.github/contributors/enerrio.md b/.github/contributors/enerrio.md
new file mode 100644
index 000000000..85ed022ce
--- /dev/null
+++ b/.github/contributors/enerrio.md
@@ -0,0 +1,106 @@
+# spaCy contributor agreement
+
+This spaCy Contributor Agreement (**"SCA"**) is based on the
+[Oracle Contributor Agreement](http://www.oracle.com/technetwork/oca-405177.pdf).
+The SCA applies to any contribution that you make to any product or project
+managed by us (the **"project"**), and sets out the intellectual property rights
+you grant to us in the contributed materials. The term **"us"** shall mean
+[ExplosionAI UG (haftungsbeschränkt)](https://explosion.ai/legal). The term
+**"you"** shall mean the person or entity identified below.
+
+If you agree to be bound by these terms, fill in the information requested
+below and include the filled-in version with your first pull request, under the
+folder [`.github/contributors/`](/.github/contributors/). The name of the file
+should be your GitHub username, with the extension `.md`. For example, the user
+example_user would create the file `.github/contributors/example_user.md`.
+
+Read this agreement carefully before signing. These terms and conditions
+constitute a binding legal agreement.
+
+## Contributor Agreement
+
+1. The term "contribution" or "contributed materials" means any source code,
+object code, patch, tool, sample, graphic, specification, manual,
+documentation, or any other material posted or submitted by you to the project.
+
+2. With respect to any worldwide copyrights, or copyright applications and
+registrations, in your contribution:
+
+    * you hereby assign to us joint ownership, and to the extent that such
+    assignment is or becomes invalid, ineffective or unenforceable, you hereby
+    grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge,
+    royalty-free, unrestricted license to exercise all rights under those
+    copyrights. This includes, at our option, the right to sublicense these same
+    rights to third parties through multiple levels of sublicensees or other
+    licensing arrangements;
+
+    * you agree that each of us can do all things in relation to your
+    contribution as if each of us were the sole owners, and if one of us makes
+    a derivative work of your contribution, the one who makes the derivative
+    work (or has it made will be the sole owner of that derivative work;
+
+    * you agree that you will not assert any moral rights in your contribution
+    against us, our licensees or transferees;
+
+    * you agree that we may register a copyright in your contribution and
+    exercise all ownership rights associated with it; and
+
+    * you agree that neither of us has any duty to consult with, obtain the
+    consent of, pay or render an accounting to the other for any use or
+    distribution of your contribution.
+
+3. With respect to any patents you own, or that you can license without payment
+to any third party, you hereby grant to us a perpetual, irrevocable,
+non-exclusive, worldwide, no-charge, royalty-free license to:
+
+    * make, have made, use, sell, offer to sell, import, and otherwise transfer
+    your contribution in whole or in part, alone or in combination with or
+    included in any product, work or materials arising out of the project to
+    which your contribution was submitted, and
+
+    * at our option, to sublicense these same rights to third parties through
+    multiple levels of sublicensees or other licensing arrangements.
+
+4. Except as set out above, you keep all right, title, and interest in your
+contribution. The rights that you grant to us under these terms are effective
+on the date you first submitted a contribution to us, even if your submission
+took place before the date you sign these terms.
+
+5. You covenant, represent, warrant and agree that:
+
+    * Each contribution that you submit is and shall be an original work of
+    authorship and you can legally grant the rights set out in this SCA;
+
+    * to the best of your knowledge, each contribution will not violate any
+    third party's copyrights, trademarks, patents, or other intellectual
+    property rights; and
+
+    * each contribution shall be in compliance with U.S. export control laws and
+    other applicable export and import laws. You agree to notify us if you
+    become aware of any circumstance which would make any of the foregoing
+    representations inaccurate in any respect. We may publicly disclose your
+    participation in the project, including the fact that you have signed the SCA.
+
+6. This SCA is governed by the laws of the State of California and applicable
+U.S. Federal law. Any choice of law rules will not apply.
+
+7. Please place an “x” on one of the applicable statement below. Please do NOT
+mark both statements:
+
+    * [x] I am signing on behalf of myself as an individual and no other person
+    or entity, including my employer, has or will have rights with respect to my
+    contributions.
+
+    * [ ] I am signing on behalf of my employer or a legal entity and I have the
+    actual authority to contractually bind that entity.
+
+## Contributor Details
+
+| Field                          | Entry                |
+|------------------------------- | -------------------- |
+| Name                           | Aaron Marquez        |
+| Company name (if applicable)   |                      |
+| Title or role (if applicable)  |                      |
+| Date                           | 2/15/2018            |
+| GitHub username                | enerrio              |
+| Website (optional)             |                      |

From 7ba4111554cd8637763947d21decbab25bd95369 Mon Sep 17 00:00:00 2001
From: Aaron Marquez <aaronmarquez@Aarons-MBP.home>
Date: Thu, 15 Feb 2018 12:46:22 -0800
Subject: [PATCH 2/4] Add test for issue-1959

---
 spacy/tests/regression/test_issue1959.py | 25 ++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 spacy/tests/regression/test_issue1959.py

diff --git a/spacy/tests/regression/test_issue1959.py b/spacy/tests/regression/test_issue1959.py
new file mode 100644
index 000000000..2605b0088
--- /dev/null
+++ b/spacy/tests/regression/test_issue1959.py
@@ -0,0 +1,25 @@
+# coding: utf8
+from __future__ import unicode_literals
+import pytest
+
+from ..util import load_test_model
+
+
+@pytest.mark.models('en')
+def test_issue1959():
+    texts = ['Apple is looking at buying U.K. startup for $1 billion.']
+    nlp = load_test_model('en_core_web_sm')
+    nlp.add_pipe(clean_component, name='cleaner', after='ner')
+    doc = nlp(texts[0])
+    doc_pipe = [doc_pipe for doc_pipe in nlp.pipe(texts)]
+    assert doc == doc_pipe[0]
+
+
+def clean_component(doc):
+    """ Clean up text. Make lowercase and remove punctuation and stopwords """
+    # Remove punctuation, symbols (#) and stopwords
+    doc = [tok.text.lower() for tok in doc if (not tok.is_stop
+                                               and tok.pos_ != 'PUNCT' and
+                                               tok.pos_ != 'SYM')]
+    doc = ' '.join(doc)
+    return doc

From 3765d84d578d4cd68637c0ac013df666315523dc Mon Sep 17 00:00:00 2001
From: Aaron Marquez <aaronmarquez@Aarons-MBP.home>
Date: Thu, 15 Feb 2018 12:51:49 -0800
Subject: [PATCH 3/4] Fix issue #1959

---
 spacy/language.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spacy/language.py b/spacy/language.py
index a61b6b09f..bd1e8d012 100644
--- a/spacy/language.py
+++ b/spacy/language.py
@@ -720,5 +720,5 @@ class DisabledPipes(list):
 
 def _pipe(func, docs):
     for doc in docs:
-        func(doc)
+        doc = func(doc)
         yield doc

From f0d3672e170f19a2debe9282953696262681f47a Mon Sep 17 00:00:00 2001
From: Aaron Marquez <aaronmarquez@Aarons-MBP.home>
Date: Thu, 15 Feb 2018 14:28:38 -0800
Subject: [PATCH 4/4] Changed loading EN model

---
 spacy/tests/regression/test_issue1959.py | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/spacy/tests/regression/test_issue1959.py b/spacy/tests/regression/test_issue1959.py
index 2605b0088..0787af3b7 100644
--- a/spacy/tests/regression/test_issue1959.py
+++ b/spacy/tests/regression/test_issue1959.py
@@ -2,16 +2,14 @@
 from __future__ import unicode_literals
 import pytest
 
-from ..util import load_test_model
-
 
 @pytest.mark.models('en')
-def test_issue1959():
+def test_issue1959(EN):
     texts = ['Apple is looking at buying U.K. startup for $1 billion.']
-    nlp = load_test_model('en_core_web_sm')
-    nlp.add_pipe(clean_component, name='cleaner', after='ner')
-    doc = nlp(texts[0])
-    doc_pipe = [doc_pipe for doc_pipe in nlp.pipe(texts)]
+    # nlp = load_test_model('en_core_web_sm')
+    EN.add_pipe(clean_component, name='cleaner', after='ner')
+    doc = EN(texts[0])
+    doc_pipe = [doc_pipe for doc_pipe in EN.pipe(texts)]
     assert doc == doc_pipe[0]