-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix crash with empty transclusions #8145
base: master
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
hmmm, That's OK for
But it is still a problem with "unfinished" code as follows.
|
@pmario yes this is only a fix for #8144. I agree we still have a problem with recursive transclusions, but as you well know that is a much, much subtler problem. The benefit of the fix here is that it doesn't even parse |
I do think that this PR is an improvement for many users already. I think it should be included. But I also think, that we need a runtime fix for my code. From time to time I do have a problem with this type of code at runtime. Especially if variables have a typo and are therefore empty |
It works as stated (doesn't fix a more longstanding recursion issue but does fix the specific issue in #8144 by not treating |
@bluepenguindeveloper -- I am creating a second PR atm, which tries to solve the "runtime" side of that problem. From time to time I'm also a "victim" of that problem especially since development where the code is still buggy. |
Thanks @bluepenguindeveloper. This PR only changes the behaviour where the trimmed contents of the This is indeed not strictly backwards compatible because Perhaps the best way to assess the backwards compatibility impact of this PR is to go ahead and merge it so that it gets tested in the prerelease. |
This PR addresses infinite loops that can occur when
{{}}
is typed in the editor with the preview displayed. See #8144 for an example, but this is a long standing problem. See #7768 for an earlier attempt to fix this problemThe approach taken here is to modify the parse rules for both inline and block transclusions so that the transclusion is not recognised unless there is a non-blank target and/or template.