internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: spyder-ide/spyder

Issue:
Lists with None elements don't appear in the Variable Explorer
Example:

```python
a = [1., 2., 3., 4., 5., 6., 7., 8., 9.]
b = [d if d > 5. else None for d in a]
```

`a` appears in the Variable Explorer whereas `b` does not.

This problem was reported here:

https://stackoverflow.com/q/44595693/438386

@andfoy, please work on this one.


Discussion:

Resolving patch:
diff --git a/spyder/widgets/variableexplorer/utils.py b/spyder/widgets/variableexplorer/utils.py
--- a/spyder/widgets/variableexplorer/utils.py
+++ b/spyder/widgets/variableexplorer/utils.py
@@ -421,17 +421,21 @@ def get_human_readable_type(item):
 def is_supported(value, check_all=False, filters=None, iterate=True):
     """Return True if the value is supported, False otherwise"""
     assert filters is not None
+    if value is None:
+        return True
     if not is_editable_type(value):
         return False
     elif not isinstance(value, filters):
         return False
     elif iterate:
         if isinstance(value, (list, tuple, set)):
+            valid_count = 0
             for val in value:
-                if not is_supported(val, filters=filters, iterate=check_all):
-                    return False
+                if is_supported(val, filters=filters, iterate=check_all):
+                    valid_count += 1
                 if not check_all:
                     break
+            return valid_count > 0
         elif isinstance(value, dict):
             for key, val in list(value.items()):
                 if not is_supported(key, filters=filters, iterate=check_all) \


Test patch:
diff --git a/spyder/widgets/variableexplorer/tests/test_utils.py b/spyder/widgets/variableexplorer/tests/test_utils.py
--- a/spyder/widgets/variableexplorer/tests/test_utils.py
+++ b/spyder/widgets/variableexplorer/tests/test_utils.py
@@ -11,7 +11,8 @@
 import pytest
 
 # Local imports
-from spyder.widgets.variableexplorer.utils import sort_against
+from spyder.config.base import get_supported_types
+from spyder.widgets.variableexplorer.utils import sort_against, is_supported
 
 
 # --- Tests
@@ -22,12 +23,27 @@ def test_sort_against():
     res = sort_against(lista, listb)
     assert res == [7, 5, 6]
 
+
 def test_sort_against_is_stable():
     lista = [3, 0, 1]
     listb = [1, 1, 1]
     res = sort_against(lista, listb)
     assert res == lista
-    
+
+
+def test_none_values_are_supported():
+    # None values should be displayed by default
+    supported_types = get_supported_types()
+    mode = 'editable'
+    none_var = None
+    none_list = [2, None, 3, None]
+    none_dict = {'a': None, 'b': 4}
+    none_tuple = (None, [3, None, 4], 'eggs')
+    assert is_supported(none_var, filters=tuple(supported_types[mode]))
+    assert is_supported(none_list, filters=tuple(supported_types[mode]))
+    assert is_supported(none_dict, filters=tuple(supported_types[mode]))
+    assert is_supported(none_tuple, filters=tuple(supported_types[mode]))
+
 
 if __name__ == "__main__":
     pytest.main()
Repository: spyder-ide/spyder

Issue:
Scroll down/up scrolls down twice
## Description of your problem
Scroll down/up performs two consecutive calls to scroll instead of a single one

**What steps will reproduce the problem?**

1. Place the cursor on the first line of a file in the editor pane
2. Press scroll down (PageDown key) 

**What is the expected output? What do you see instead?**
The cursor should be at line 26 (assuming the scroll is 25 lines), but instead it is at line 52

**Please provide any additional information below**


## Versions and main components

* Spyder Version:3.2.0dev (3.x branch) and 4.0.0dev (master)
* Python Version:3.5.2
* Qt Version:5.6.2
* PyQt Version:5.6
* Operating system:Linux


## Dependencies

Please go to the menu entry `Help > Optional Dependencies` (or
`Help > Dependencies`), press the button `Copy to clipboard`
and paste the contents below:



Discussion:
This is caused by this change https://github.com/spyder-ide/spyder/commit/738f8e190f4256ff26f741af4c8e7bed20ace460#diff-b19a1c3b49c9057f7bf2edae2a53747dR2710 `keyPressEvent` is called twice (at `keyPressEvent` and also at `keyReleaseEvent`)

Should it be `super(CodeEditor, self).KeyReleaseEvent(event)`?

@goanpeca 
@rlaverde, please work on this one.

Resolving patch:
diff --git a/spyder/widgets/sourcecode/codeeditor.py b/spyder/widgets/sourcecode/codeeditor.py
--- a/spyder/widgets/sourcecode/codeeditor.py
+++ b/spyder/widgets/sourcecode/codeeditor.py
@@ -2745,7 +2745,7 @@ def setup_context_menu(self):
     def keyReleaseEvent(self, event):
         """Override Qt method."""
         self.timer_syntax_highlight.start()
-        super(CodeEditor, self).keyPressEvent(event)
+        super(CodeEditor, self).keyReleaseEvent(event)
 
     def keyPressEvent(self, event):
         """Reimplement Qt method"""


Test patch:
Repository: spyder-ide/spyder

Issue:
Focus doesn't go to the selected entry in file switcher when filtering
There are two minor bugs I saw after PR #4626:

1. If you write some text to filter your files/notebooks, the selected entry remains in the plugin title, instead of the file/notebook itself. This is a screenshot to show what I mean:

    ![seleccion_001](https://user-images.githubusercontent.com/365293/27411536-d8b9460c-56b3-11e7-97ce-eed1db3c6908.png)

2. In the screenshot you can also see that there's too much padding above the **Editor** title (at least for me on Linux). Please try to remove some of that padding.



Discussion:
@dalthviz, please work on this one.

Resolving patch:
diff --git a/spyder/widgets/fileswitcher.py b/spyder/widgets/fileswitcher.py
--- a/spyder/widgets/fileswitcher.py
+++ b/spyder/widgets/fileswitcher.py
@@ -477,11 +477,24 @@ def select_row(self, steps):
 
     def previous_row(self):
         """Select previous row in list widget."""
-        self.select_row(-1)
+        prev_row = self.current_row() - 1
+        if prev_row == 0:
+            self.list.scrollToTop()
+        elif '</b></big><br>' in self.list.item(prev_row).text():
+            # Select the next previous row, the one following is a title
+            self.select_row(-2)
+        else:
+            self.select_row(-1)
 
     def next_row(self):
         """Select next row in list widget."""
-        self.select_row(+1)
+        next_row = self.current_row() + 1
+        if next_row < self.count():
+            if '</b></big><br>' in self.list.item(next_row).text():
+                # Select the next next row, the one following is a title
+                self.select_row(+2)
+            else:
+                self.select_row(+1)
 
     def get_stack_index(self, stack_index, plugin_index):
         """Get the real index of the selected item."""
@@ -545,6 +558,8 @@ def item_selection_changed(self):
         """List widget item selection change handler."""
         row = self.current_row()
         if self.count() and row >= 0:
+            if '</b></big><br>' in self.list.currentItem().text() and row == 0:
+                self.next_row()
             if self.mode == self.FILE_MODE:
                 try:
                     stack_index = self.paths.index(self.filtered_path[row])
@@ -615,6 +630,7 @@ def setup_file_list(self, filter_text, current_path):
                     item = QListWidgetItem(text)
                     item.setToolTip(path)
                     item.setSizeHint(QSize(0, 25))
+                    item.setFlags(Qt.ItemIsEditable)
                     self.list.addItem(item)
                     self.filtered_path.append(path)
             except:


Test patch:
Repository: spyder-ide/spyder

Issue:
Don't register external plugins if check_compatibility fails
This block 

https://github.com/spyder-ide/spyder/blob/3.x/spyder/app/mainwindow.py#L1066-L1073

needs to be changed to

```python
for mod in get_spyderplugins_mods():
    try:
        plugin = mod.PLUGIN_CLASS(self)
        if plugin.check_compatibility()[0]:
            self.thirdparty_plugins.append(plugin)
            plugin.register_plugin()
    except Exception as error:
        print("%s: %s" % (mod, str(error)), file=STDERR)
        traceback.print_exc(file=STDERR)
```

@dalthviz, please try it with spyder-ide/spyder-notebook#78 to see if it's working as expected.


Discussion:

Resolving patch:
diff --git a/spyder/app/mainwindow.py b/spyder/app/mainwindow.py
--- a/spyder/app/mainwindow.py
+++ b/spyder/app/mainwindow.py
@@ -1066,8 +1066,15 @@ def add_ipm_action(text, path):
         for mod in get_spyderplugins_mods():
             try:
                 plugin = mod.PLUGIN_CLASS(self)
-                self.thirdparty_plugins.append(plugin)
-                plugin.register_plugin()
+                try:
+                    # Not all the plugins have the check_compatibility method
+                    # i.e Breakpoints, Profiler, Pylint
+                    check = plugin.check_compatibility()[0]
+                except AttributeError:
+                    check = True
+                if check:
+                    self.thirdparty_plugins.append(plugin)
+                    plugin.register_plugin()
             except Exception as error:
                 print("%s: %s" % (mod, str(error)), file=STDERR)
                 traceback.print_exc(file=STDERR)


Test patch:
Repository: spyder-ide/spyder

Issue:
Inspecting Numpy bool arrays in Var. Explorer uses deprecated '-' operator in Numpy
## Description of your problem
(..)/site-packages/spyderlib/widgets/arrayeditor.py", line 249, in data
/(self.vmax-self.vmin)
TypeError: numpy boolean subtract, the operator '-', is deprecated, use the bitwise_xor, the '^' operator, or the logical_xor function instead. 
**What steps will reproduce the problem?**

1. import numpy as np
2. test = np.zeros((3,3),dtype='bool')
3. Double click test in variable explorer window

**What is the expected output? What do you see instead?**
Popup window of the array w/ values. Crash (Seg. Fault)

**Please provide any additional information below**

## Versions and main components

* Spyder Version: 3.1.4
* Python Version: 2.7.5
* Qt Version: 4.8.5
* PyQt Version: 4.11.4
* Operating system: RHEL7


## Dependencies
jedi >=0.9.0     :  0.10.2 (OK)
matplotlib >=1.0 :  2.0.2 (OK)
nbconvert >=4.0  :  5.2.1 (OK)
numpy >=1.7      :  1.14.0.dev0+03283c2 (OK)
pandas >=0.13.1  :  0.18.1 (OK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  5.2.2 (OK)
pyflakes >=0.5.0 :  1.5.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pylint >=0.25    :  1.7.2 (OK)
qtconsole >=4.2.0:  4.3.0 (OK)
rope >=0.9.4     :  0.10.5 (OK)
sphinx >=0.6.6   :  1.6.2 (OK)
sympy >=0.7.3    :  None (NOK)

Please go to the menu entry `Help > Optional Dependencies` (or
`Help > Dependencies`), press the button `Copy to clipboard`
and paste the contents below:



Discussion:
Thanks for reporting. The fix seems simple enough, would you like to submit a pull request for it? If you do, please make your PR against our 3.x branch.

Resolving patch:
diff --git a/spyder/widgets/variableexplorer/arrayeditor.py b/spyder/widgets/variableexplorer/arrayeditor.py
--- a/spyder/widgets/variableexplorer/arrayeditor.py
+++ b/spyder/widgets/variableexplorer/arrayeditor.py
@@ -266,8 +266,8 @@ def data(self, index, role=Qt.DisplayRole):
         elif role == Qt.BackgroundColorRole and self.bgcolor_enabled \
           and value is not np.ma.masked:
             hue = self.hue0+\
-                  self.dhue*(self.vmax-self.color_func(value)) \
-                  /(self.vmax-self.vmin)
+                  self.dhue*(float(self.vmax)-self.color_func(value)) \
+                  /(float(self.vmax)-self.vmin) #float convert to handle bool arrays
             hue = float(np.abs(hue))
             color = QColor.fromHsvF(hue, self.sat, self.val, self.alp)
             return to_qvariant(color)


Test patch:
Repository: spyder-ide/spyder

Issue:
Change "Path" option to "Current working directory" in Find in Files
This is an easy one for you @andfoy. I refer to this "Path":

![seleccion_003](https://user-images.githubusercontent.com/365293/27833396-4c1e0b1c-6098-11e7-82a1-250dbfce18da.png)

This is necessary now that we're simplifying all options related to *Working directory*.


Discussion:
Or, even better, let's call that option *Current working directory* to be very explicit about it.

Resolving patch:
diff --git a/spyder/widgets/findinfiles.py b/spyder/widgets/findinfiles.py
--- a/spyder/widgets/findinfiles.py
+++ b/spyder/widgets/findinfiles.py
@@ -258,7 +258,8 @@ def __init__(self, parent, search_text, search_text_regexp, search_path,
         # Layout 3
         hlayout3 = QHBoxLayout()
 
-        self.global_path_search = QRadioButton(_("Path"), self)
+        self.global_path_search = QRadioButton(_("Current working "
+                                                 "directory"), self)
         self.global_path_search.setChecked(True)
         self.global_path_search.setToolTip(_("Search in all files and "
                                              "directories present on the"


Test patch:
Repository: spyder-ide/spyder

Issue:
RuntimeError when closing spyder
## Description of your problem

When I open spyder from the command line and then quit, the following error is displayed in the terminal:

```
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/spyder/app/mainwindow.py", line 2117, in hideEvent
    if plugin.isAncestorOf(self.last_focused_widget):
RuntimeError: wrapped C/C++ object of type QPushButton has been deleted
```

It happens only when the 'prompt when existing' option is selected, so I guess the error is related to the confirmation dialog.

## Versions and main components

* Spyder Version: 3.1.4
* Python Version: 3.6.1
* Qt Version: 5.9.1
* PyQt Version: PyQt5 5.9
* Operating system: Archlinux


## Dependencies

jedi >=0.9.0     :  0.10.2 (OK)
matplotlib >=1.0 :  2.0.2 (OK)
nbconvert >=4.0  :  4.3.0 (OK)
numpy >=1.7      :  1.13.1 (OK)
pandas >=0.13.1  :  0.20.1 (OK)
psutil >=0.3     :  5.2.1 (OK)
pycodestyle >=0.6:  2.3.1 (OK)
pyflakes >=0.6.0 :  1.5.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pylint >=0.25    :  1.7.2 (OK)
qtconsole >=4.2.0:  4.3.0 (OK)
rope >=0.9.4     :  0.10.5 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
sympy >=0.7.3    :  1.1 (OK)



Discussion:
Thanks for reporting. We'll fix this error in Spyder 3.2.

Resolving patch:
diff --git a/spyder/app/mainwindow.py b/spyder/app/mainwindow.py
--- a/spyder/app/mainwindow.py
+++ b/spyder/app/mainwindow.py
@@ -2137,10 +2137,13 @@ def moveEvent(self, event):
 
     def hideEvent(self, event):
         """Reimplement Qt method"""
-        for plugin in self.widgetlist:
-            if plugin.isAncestorOf(self.last_focused_widget):
-                plugin.visibility_changed(True)
-        QMainWindow.hideEvent(self, event)
+        try:
+            for plugin in self.widgetlist:
+                if plugin.isAncestorOf(self.last_focused_widget):
+                    plugin.visibility_changed(True)
+            QMainWindow.hideEvent(self, event)
+        except RuntimeError:
+            QMainWindow.hideEvent(self, event)
 
     def change_last_focused_widget(self, old, now):
         """To keep track of to the last focused widget"""


Test patch:
Repository: spyder-ide/spyder

Issue:
Editor line numbers dissappear
## Description

**What steps will reproduce the problem?**
1. Editor line wrapping enabled
2. Scroll code until first line visible will be some line wrapped text
3. Line numbers dissapper

I assume this happends because of incremental line numbering algorithm that has no line number to start with in this case.
## Version and main components
- Spyder Version: 3.0.0b2 
- Python Version: 2.7.11
- Qt Versions: 4.8.7, PyQt4 (API v2) 4.11.4 on Darwin
- Mac OS X
## Dependencies

```
pyflakes >=0.5.0   :  1.2.2 (OK)
pep8 >=0.6         :  1.7.0 (OK)
pygments >=1.6     :  2.1.3 (OK)
IPython >=3.0      :  4.2.0 (OK)
zmq >=13.0.0       :  15.2.0 (OK)
qtconsole >=4.0    :  4.2.1 (OK)
pandas >=0.13.1    :  0.18.1 (OK)
numpy >=1.7        :  1.11.0 (OK)
sphinx >=0.6.6     :  1.4.1 (OK)
psutil >=0.3       :  4.1.0 (OK)
rope >=0.9.4       :  0.9.4-1 (OK)
jedi >=0.8.1;<0.9.0:  0.8.1 (OK)
matplotlib >=1.0   :  1.5.1 (OK)
sympy >=0.7.3      :  1.0 (OK)
pylint >=0.25      :  1.5.5 (OK)

```



Discussion:

Resolving patch:
diff --git a/spyder/widgets/sourcecode/codeeditor.py b/spyder/widgets/sourcecode/codeeditor.py
--- a/spyder/widgets/sourcecode/codeeditor.py
+++ b/spyder/widgets/sourcecode/codeeditor.py
@@ -3088,7 +3088,7 @@ def update_visible_blocks(self, event):
         ebottom_bottom = self.height()
 
         while block.isValid():
-            visible = (top >= ebottom_top and bottom <= ebottom_bottom)
+            visible = bottom <= ebottom_bottom
             if not visible:
                 break
             if block.isVisible():


Test patch:
Repository: spyder-ide/spyder

Issue:
In the Editor, tab does not switch when ctrl is released and focus remains on the tab_switcher
## Description of your problem

**What steps will reproduce the problem?**

1. While focus is in the Editor, hold ctrl key and click Tab.
2. Release ctrl key

**What is the expected output? What do you see instead?**

_Expected output:_ When ctrl key is released, Editor tab should change to the one selected and tab_switcher should close.

_Actual output:_ When ctrl key is released, Editor tab does not change and focus remains on the tab_switcher. A mouse double-click on the tab_switcher is required for it to switch tab and to close.

**Please provide any additional information below**

## Versions and main components

* Spyder Version: 3.2.0.dev0
* Python Version: 3.6.1
* Qt Version: 4.8.7
* PyQt Version: 4.11.4
* Operating system: Win7 64bits

## Dependencies

IPython >=4.0    :  6.1.0 (OK)
cython >=0.21    :  None (NOK)
jedi >=0.9.0     :  0.10.2 (OK)
nbconvert >=4.0  :  5.2.1 (OK)
numpy >=1.7      :  1.13.0 (OK)
pandas >=0.13.1  :  None (NOK)
pycodestyle >=2.3:  2.3.1 (OK)
pyflakes >=0.6.0 :  1.5.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pylint >=0.25    :  1.7.1 (OK)
qtconsole >=4.2.0:  4.3.0 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
sphinx >=0.6.6   :  1.6.2 (OK)
sympy >=0.7.3    :  None (NOK)

![tab_switcher](https://user-images.githubusercontent.com/10170372/28336920-b8bc2e90-6bd1-11e7-8b8b-64b3fee25838.png)



Discussion:
@jnsebgosselin, you're going to work on this one, right?

Resolving patch:
diff --git a/spyder/widgets/editor.py b/spyder/widgets/editor.py
--- a/spyder/widgets/editor.py
+++ b/spyder/widgets/editor.py
@@ -2185,7 +2185,7 @@ def keyReleaseEvent(self, event):
                         self.tabs_switcher = None
                         return
 
-        super(EditorStack, self).keyPressEvent(event)
+        super(EditorStack, self).keyReleaseEvent(event)
 
 
 class EditorSplitter(QSplitter):
diff --git a/spyder/widgets/sourcecode/codeeditor.py b/spyder/widgets/sourcecode/codeeditor.py
--- a/spyder/widgets/sourcecode/codeeditor.py
+++ b/spyder/widgets/sourcecode/codeeditor.py
@@ -2746,6 +2746,7 @@ def keyReleaseEvent(self, event):
         """Override Qt method."""
         self.timer_syntax_highlight.start()
         super(CodeEditor, self).keyReleaseEvent(event)
+        event.ignore()
 
     def keyPressEvent(self, event):
         """Reimplement Qt method"""


Test patch:
Repository: spyder-ide/spyder

Issue:
Show spaces bug at start
## Description

**What steps will reproduce the problem?**

1. Enable show spaces
2. close spyder
3. start Spyder  

**What is the expected output? What do you see instead?**
No error popup

**Please provide any additional information below**
Spyder is fully functional after closing the popup

Please find enclosed the trace at startup

  File "/usr/lib/python3.6/site-packages/spyder/plugins/editor.py", line 2182, in toggle_show_blanks
    for editorstack in self.editorstacks:
TypeError: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/spyder/plugins/editor.py", line 2187, in toggle_show_indent_guides
    for editorstack in self.editorstacks:
TypeError: 'NoneType' object is not iterable


## Version and main components

* Spyder Version: 4.0.0.dev0 
* Python Version: 3.6.1
* Qt Versions: 5.9.1, PyQt5 5.9 on Linux

## Dependencies
```
pyflakes >=0.6.0 :  1.5.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.20.3 (OK)
numpy >=1.7      :  1.13.1 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
rope >=0.9.4     :  0.10.5 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
psutil >=0.3     :  5.2.1 (OK)
nbconvert >=4.0  :  5.1.1 (OK)
sympy >=0.7.3    :  1.1 (OK)
cython >=0.21    :  0.25.2 (OK)
qtconsole >=4.2.0:  4.3.0 (OK)
IPython >=4.0    :  5.3.0 (OK)
pylint >=0.25    :  1.7.2 (OK)

```



Discussion:

Resolving patch:
diff --git a/spyder/plugins/editor.py b/spyder/plugins/editor.py
--- a/spyder/plugins/editor.py
+++ b/spyder/plugins/editor.py
@@ -2179,8 +2179,9 @@ def toggle_eol_chars(self, os_name, checked):
 
     @Slot(bool)
     def toggle_show_blanks(self, checked):
-        for editorstack in self.editorstacks:
-            editorstack.set_blanks_enabled(checked)
+        if self.editorstacks:
+            for editorstack in self.editorstacks:
+                editorstack.set_blanks_enabled(checked)
 
     @Slot(bool)
     def toggle_show_indent_guides(self, checked):


Test patch:
Repository: spyder-ide/spyder

Issue:
EOLs incorrectly switch from LF to CRLF on split editor panes
I'm using Spyder 3.1.3 on Windows x64 via Anaconda 2.7 to edit some Python source files that use Linux EOLs (LF). The Editor pane that I use is split vertically.

When I open one of these files and set the focus the first split view, the file status at the bottom correctly displays "End-of-lines: LF". However, if I restart Spyder and set the focus to the second split view of the same file, the status incorrectly changes to "CRLF". If I save from the upper view, it is saved LF, and if I save from the lower view, it is saved CRLF.

Here are the best steps I can reproduce the probelem
1. From a native Windows version of Spyder, make sure the Editor pane is split vertically, and open a LF file.
2. Close Spyder. And start it up again to see the same set of file(s) in the Editor panes.

Observe that the upper pane shows and saves the file as LF, and the lower pane shows and saves the same file as CRLF.

## Versions and main components
* Spyder Version: 3.1.3
* Python Version: 2.7.12
* Qt Versions: 4.8.7, PyQt4 (API v2) 4.11.4 on Windows

## Dependencies
```pyflakes >=0.5.0 :  1.5.0 (OK)pep8 >=0.6       :  1.7.0 (OK)pygments >=2.0   :  2.2.0 (OK)qtconsole >=4.2.0:  4.2.1 (OK)nbconvert >=4.0  :  5.1.1 (OK)pandas >=0.13.1  :  0.19.2 (OK)numpy >=1.7      :  1.11.3 (OK)sphinx >=0.6.6   :  1.5.2 (OK)rope >=0.9.4     :  0.9.4 (OK)jedi =0.9.0      :  0.9.0 (OK)matplotlib >=1.0 :  2.0.0 (OK)sympy >=0.7.3    :  1.0 (OK)pylint >=0.25    :  1.6.4 (OK)```



Discussion:
Thanks for reporting. We'll take a look at it to see what's happening.
@dalthviz, please take a look at this one.

Resolving patch:
diff --git a/spyder/widgets/sourcecode/codeeditor.py b/spyder/widgets/sourcecode/codeeditor.py
--- a/spyder/widgets/sourcecode/codeeditor.py
+++ b/spyder/widgets/sourcecode/codeeditor.py
@@ -677,6 +677,7 @@ def set_as_clone(self, editor):
         self.setDocument(editor.document())
         self.document_id = editor.get_document_id()
         self.highlighter = editor.highlighter
+        self.eol_chars = editor.eol_chars
         self._apply_highlighter_color_scheme()
 
     #-----Widget setup and options


Test patch: