Fix oinspect TypeError with generic __getattr__ objects; fix test path quoting by Carreau · Pull Request #15246 · ipython/ipython · GitHub
Skip to content

Fix oinspect TypeError with generic __getattr__ objects; fix test path quoting#15246

Merged
Carreau merged 1 commit into
mainfrom
claude/amazing-wright-zhq3c
Jun 13, 2026
Merged

Fix oinspect TypeError with generic __getattr__ objects; fix test path quoting#15246
Carreau merged 1 commit into
mainfrom
claude/amazing-wright-zhq3c

Conversation

@Carreau

@Carreau Carreau commented Jun 8, 2026

Copy link
Copy Markdown
Member

Cherry-picked the first commit from #15237.

@Carreau Carreau added this to the 9.15 milestone Jun 12, 2026
…h quoting

oinspect: guard __custom_documentations__ lookup with isinstance(dict) so
objects like polars Expr (which return self for any attribute access via
__getattr__) no longer raise TypeError when inspected with ?. Fixes #15072.

oinspect: fix inspect.Parameter.empty comparison in MIME-hook path; the
previous code accidentally compared against the property descriptor object
rather than the sentinel, making the required-parameter filter a no-op.

test_interactiveshell: wrap sys.executable and self.fname in shlex.quote()
so test_exit_code_signal survives when the source path contains spaces.
Fixes #15100.

https://claude.ai/code/session_01VPnGTgifZ8HMAfiqEVftjj
@Carreau Carreau force-pushed the claude/amazing-wright-zhq3c branch from 5845388 to 7be0fd7 Compare June 12, 2026 19:51
@Carreau Carreau changed the title Fix oinspect TypeError with generic __getattr__ and test path spaces Fix oinspect TypeError with generic __getattr__ objects; fix test path quoting Jun 12, 2026
@Carreau Carreau merged commit 2d75d65 into main Jun 13, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failures when path to IPython source code contains spaces oinspect throws TypeError when parsing incomplete code line involving polars.expr.expr

2 participants