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)
- Refactoring: make `subproc_captured_*` methods private and provide xonsh API instead
- Feature: Transformed captured output `$func()` HOT 1
- Feature: Search substring in env variable completer
- Empty stack trace when XONSH_SHOW_TRACEBACK=False and RAISE_SUBPROC_ERROR=True
- Run xonsh with `-DVAR VAL`: ValueError: not enough values to unpack
- Feature: add `xontext` to builtin aliases
- print_exception: rewrite deprecated code HOT 3
- `print_exception` and threaded alias: no traceback on second run
- Idea: Use `@` as alternative to `__xonsh__`, and `$` as alternative to `__xonsh__.env` HOT 3
- Refactoring procs/pipelines.py
- xontrib: KeyError: '_func_' HOT 1
- Refactoring: jobs.py
- redirection: unable to open file HOT 11
- Edge case: flood of SIGINT raises exceptions in prompt_toolkit
- Accessing matches in regular expression globbing HOT 2
- RFC for issue #5358 HOT 1
- Cannot stop a callable alias (Ctrl-C is ignored) HOT 3
- Alias with payload: `I/O operation on closed file` and `Bad file descriptor` HOT 3
- AppImage missing for 0.16.0 HOT 1
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.