Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closing last unfocused document tab causes IndexError #22033

Closed
mrclary opened this issue Apr 27, 2024 · 2 comments · Fixed by #22292
Closed

Closing last unfocused document tab causes IndexError #22033

mrclary opened this issue Apr 27, 2024 · 2 comments · Fixed by #22292

Comments

@mrclary
Copy link
Contributor

mrclary commented Apr 27, 2024

Problem Description

Attempting to close last unfocused document tab in the Editor, after closing next-to-last document, results in IndexError.

What steps reproduce the problem?

  1. Open 3 documents, give focus to the left-most document.
  2. Close the 2nd document, without giving it focus. This will close properly.
  3. Close the 3rd document (which is now in the 2nd tab position). This results in an IndexError.

indexerror

The issue does not manifest if the document is given focus before closing it, nor does it manifest if one first closes the last document then closes the second document.

What is the expected output? What do you see instead?

Document should close.

Paste Traceback/Error Below (if applicable)

Traceback (most recent call last):
  File "/Users/rclary/Library/spyder-6/envs/spyder-runtime/lib/python3.10/site-packages/spyder/plugins/editor/widgets/editorstack/editorstack.py", line 1656, in close_file
    self.data[index].filename) if self.parent() else True
IndexError: list index out of range

Versions

  • Spyder version: 6.0.0a5 (standalone)
  • Python version: 3.10.13 64-bit
  • Qt version: 5.15.8
  • PyQt5 version: 5.15.9
  • Operating System: macOS-14.4.1-x86_64-i386-64bit

Dependencies

# Mandatory:
atomicwrites >=1.2.0              :  1.4.1 (OK)
chardet >=2.0.0                   :  5.2.0 (OK)
cloudpickle >=0.5.0               :  3.0.0 (OK)
cookiecutter >=1.6.0              :  2.5.0 (OK)
diff_match_patch >=20181111       :  20230430 (OK)
intervaltree >=3.0.2              :  3.1.0 (OK)
IPython >=8.13.0,<9.0.0,!=8.17.1  :  8.21.0 (OK)
jedi >=0.17.2,<0.20.0             :  0.19.1 (OK)
jellyfish >=0.7                   :  1.0.3 (OK)
jsonschema >=3.2.0                :  4.21.1 (OK)
keyring >=17.0.0                  :  24.3.0 (OK)
nbconvert >=4.0                   :  7.16.0 (OK)
numpydoc >=0.6.0                  :  1.6.0 (OK)
parso >=0.7.0,<0.9.0              :  0.8.3 (OK)
pexpect >=4.4.0                   :  4.9.0 (OK)
pickleshare >=0.4                 :  0.7.5 (OK)
psutil >=5.3                      :  5.9.8 (OK)
pygments >=2.0                    :  2.17.2 (OK)
pylint >=3.1,<4                   :  3.1.0 (OK)
pylint_venv >=3.0.2               :  3.0.3 (OK)
pyls_spyder >=0.4.0               :  0.4.0 (OK)
pylsp >=1.11.0,<1.12.0            :  1.11.0 (OK)
pylsp_black >=2.0.0,<3.0.0        :  2.0.0 (OK)
pyuca >=1.2                       :  1.2 (OK)
qdarkstyle >=3.2.0,<3.3.0         :  3.2.3 (OK)
qstylizer >=0.2.2                 :  0.2.2 (OK)
qtawesome >=1.3.1,<1.4.0          :  1.3.1 (OK)
qtconsole >=5.5.1,<5.6.0          :  5.5.1 (OK)
qtpy >=2.4.0                      :  2.4.1 (OK)
rtree >=0.9.7                     :  1.2.0 (OK)
setuptools >=49.6.0               :  69.0.3 (OK)
sphinx >=0.6.6                    :  7.2.6 (OK)
spyder_kernels >=3.0.0b5,<3.0.0b6 :  3.0.0b5 (OK)
superqt >=0.6.1,<1.0.0            :  0.6.1 (OK)
textdistance >=4.2.0              :  4.5.0 (OK)
three_merge >=0.1.1               :  0.1.1 (OK)
watchdog >=0.10.3                 :  4.0.0 (OK)
zmq >=24.0.0                      :  25.1.2 (OK)

# Optional:
cython >=0.21                     :  3.0.8 (OK)
matplotlib >=3.0.0                :  3.8.2 (OK)
numpy >=1.7                       :  1.26.4 (OK)
pandas >=1.1.1                    :  2.2.0 (OK)
scipy >=0.17.0                    :  1.12.0 (OK)
sympy >=0.7.3                     :  1.12 (OK)
@ccordoba12
Copy link
Member

Hey @mrclary, thanks for reporting. I've also seen this error while using Spyder.

Could you take care of it?

@ccordoba12 ccordoba12 added this to the v6.0beta1 milestone Apr 28, 2024
@ccordoba12 ccordoba12 modified the milestones: v6.0beta1, v6.0beta2 May 10, 2024
@ccordoba12 ccordoba12 modified the milestones: v6.0beta2, v6.0beta3 Jun 17, 2024
@ccordoba12 ccordoba12 self-assigned this Jul 7, 2024
@ccordoba12
Copy link
Member

@dalthviz, please take a look at this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment