Fix IDE quickhelp merging macro-annotated parameter names - #392
Open
fantaisie-software wants to merge 3 commits into
Open
fantaisie-software wants to merge 3 commits into
fantaisie-software wants to merge 3 commits into
Conversation
Parser_Cleanup() only preserved a space after the special Array/List/Map keywords before stripping insignificant whitespace from a procedure's prototype text, so any other word directly followed by another word (e.g. an empty macro like _IN/_OUT used purely for parameter annotation) had its separating space stripped too. This made the status bar quickhelp show "_INb" / "_OUT*c" instead of "_IN b" / "_OUT *c" for code such as: Macro _IN EndMacro Procedure test(List a, _IN b, _OUT *c) EndProcedure Generalize the space-preservation to any word directly followed by another word or a pointer (*name), not just the three hardcoded keywords. Also documents in AGENTS.md that `make` (not MakeWindows.cmd) is the default Windows build, and that BuildEnv.cmd isn't needed on machines that already have the PB_* build env vars set permanently. Fixes https://www.purebasic.fr/english/viewtopic.php?t=88913 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Record the steps actually used to open PR #392: origin is the upstream repo directly (direct push rights, no fork), branch from origin/devel, keep unrelated dirty working-tree files out of the topic branch via a pathspecd stash, and pass the PR body via --body-file rather than an inline heredoc (nested backticks/parens in the description broke it). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
AGENTS.md/CLAUDE.md are machine-local working notes for AI coding agents, not project sources - drop AGENTS.md from this PR (it does not belong bundled with the quickhelp fix) and gitignore both files so they stay untracked going forward. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
_IN/_OUTused purely for documentation) into the following parameter name/pointer, e.g. showing_INb/_OUT*cinstead of_IN b/_OUT *c.Parser_Cleanup()inPureBasicIDE/SourceParser.pbonly preserved the space following the specialArray/List/Mapkeywords before stripping otherwise-insignificant whitespace from a procedure prototype. Any other word directly followed by another word had that separating space stripped, silently gluing the two together.*name) keeps its single separating space, not just the three hardcoded keywords.Test plan
make(cd PureBasicIDE && make), no errors/warnings.test(List a, _IN b, _OUT *c)with correct spacing instead oftest(List a, _INb, _OUT*c).🤖 Generated with Claude Code