Remove leading comment-only and blank lines only when the first remaining
line is a cell magic. Apply the cleanup after prompt stripping so pasted
transcripts use the same transformation and completeness rules.
Preserve ordinary Python input and cell-magic bodies. Document the changed
interpretation of programmatically registered line magics named with a
leading percent sign.
Fixes ipython#15312
🤖🤖 Prepared with AI assistance.
Signed-off-by: Mingyang Wu <129849514+aprylewu@users.noreply.github.com>
A comment before a cell magic currently sends it through the line-magic parser. For example:
Add a cleanup transform that removes leading comment-only and blank lines when the next line starts with %%. Run it after both prompt strippers so pasted Python and IPython transcripts receive the same treatment. Preserve the magic body and leading comments in ordinary Python or line-magic cells.
Add regressions for pasted prompts, indentation, help syntax, cell-completion checks, body preservation, and execution through InteractiveShell. The release note documents the change for programmatically registered line magics whose names begin with %.
This follows the cleanup approach discussed in #15312 and the unmerged #15316.
Fixes #15312
🤖🤖 Prepared with AI assistance.