Closed hatheroldev closed 4 years ago
I don't run Windows and don't know the language, can you please explain why this solves the problem (and hopefully not break something else)?
The old code tried to check, whether the variable inside_emacs
is set.
To do so it compared []
with the expansion [%inside_emacs%]
.
[]
and we have the test expression not []==[]
and the false block ()
is not executed.foo
, we get the test expression not [foo]==[]
and the true block ()
is executed.Now is seems that, compared to older emacs versions, the content of inside_emacs
changed and now contains a comma. In my case this is 27.0.50,compile
.
That comma has some meaning to the parser. The test expression becomes not [27.0.50
followed by compile]==[]
, which does not make sense for the parser at this point.
Since we do not care about the actual content of inside_emacs
we can use the test expression not defined inside_emacs
, which explicitly tests for the variable being set. A bonus advantage is that this documents the intended test, compared to the former cryptic test.
Thanks for the explanation. I added you as a collaborator, feel free to merge.
This pull-request fixes issue #52.