Because of the greedy regular expression at geshifilter.pages.inc:230, if you have multiple geshifilter blocks in a single field, the geshifilter transforms them into a single block and includes any text in between them in the single block.

Comments

Matir’s picture

I meant to provide an example, but hit submit too soon, sorry:

[geshifilter-cpp]
int main(int argv, char **argv) {
  cout << "Foo" << endl;
}
[/geshifilter-cpp]
is the same as:
[geshifilter-c]
int main(int argv, char **argv){
  printf("Foo\n");
}
[/geshifilter-c]
soxofaan’s picture

Is that also the case if you use <code type="cpp">...</code> blocks?

yukare’s picture

Issue summary: View changes

You can use <code language="c"> and <code language="cpp"> in this case as workarround, and if we use something like geshifilter-c and geshifilter-php in the same field it works without the bug.
But i can confirm that the bug exists in this case.