Comments (2)
How to repeat this using expect:
#!/usr/bin/expect -f
set timeout 10
spawn xonsh --no-rc --no-env -DCOLOR_INPUT=0 -DCOLOR_RESULTS=0 -DPROMPT=@@ -DXONSH_HISTORY_BACKEND=dummy
set iterations 5
for {set i 0} {$i < $iterations} {incr i} {
expect "@@"
send "\$XONSH_SHOW_TRACEBACK=False\r"
expect "@@"
send "@aliases.register(\'f\')\r"
send "def _fff():\r"
send " 1/0\r\r\r"
expect "@@"
send "f\r"
expect "@@"
send "\$XONSH_SHOW_TRACEBACK=True\r"
expect "@@"
send "@aliases.register(\'f\')\r"
send "def _fff():\r"
send " 1/0\r\r\r"
expect "@@"
send "f\r"
}
expect {
"Bad file descriptor" {
send "echo BAD!\r"
exit 100
}
}
expect "@@"
send "exit\r"
expect eof
from xonsh.
I've found the difference between ptk versions:
# prompt-toolkit 3.0.39
$RAISE_SUBPROC_ERROR = False # <--- this is needed to reproduce the exception
$XONSH_SHOW_TRACEBACK = False
@aliases.register('f')
def _fff():
1/0
f
f
f
f
f
f
# NO ERROR
# prompt-toolkit 3.0.40
$RAISE_SUBPROC_ERROR = False # <--- this is needed to reproduce the exception
$XONSH_SHOW_TRACEBACK = False
@aliases.register('f')
def _fff():
1/0
f
f
f
f
f
f
# File "/Users/pc/.local/xonsh-env/lib/python3.12/selectors.py", line 566, in select
# kev_list = self._selector.control(None, max_ev, timeout)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# OSError: [Errno 9] Bad file descriptor
# prompt-toolkit 3.0.43
$RAISE_SUBPROC_ERROR = False # <--- this is needed to reproduce the exception
$XONSH_SHOW_TRACEBACK = False
@aliases.register('f')
def _fff():
1/0
f
f
f
f
f
f
# NO ERROR
Upstream issue - prompt-toolkit/python-prompt-toolkit#1853
from xonsh.
Related Issues (20)
- Edge case: `xonsh --no-rc --no-env`: `TERM environment variable not set`
- Main branch regress: redirect to python substitution HOT 3
- Windows: case of commands is incorrectly upper-cased on Windows HOT 7
- Completion: `act, _, value = act_res`: `Exception too many values to unpack (expected 3)` HOT 1
- Windows: Don't imply PATH=. HOT 7
- Edge case: `source file.xonshrc` shows `attempting to source non-xonsh file`
- Piping into the process that was ended immediately leads to exceptions with descriptors HOT 1
- Disable loading xonshrc in xonsh pytest plugin HOT 1
- Unintended loading `xonshrc` file in script mode HOT 15
- Colorize stderr
- Windows: support windows paths in environment HOT 1
- Refactoring: review interactive functionality
- Macs and Next don't have a login shell HOT 6
- completion of file names with newlines HOT 1
- Capture stdout from callable alias in case of redirecting output HOT 14
- tests: integration test timeout when `TERM=dumb` HOT 23
- SpecModifierAlias: multiple modifiers
- Bug: xonsh `--no-env` not found HOT 1
- Bug: Crash on tab completing `xonsh` HOT 2
- Bug: `xthread` not found HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xonsh.