Hi! > I looked at the uses of define-lex-block-type-analyzer I could > find in Emacs's trunk and they look OK to me. I also looked at the > definition of define-lex-block-type-analyzer and its highlighting also > looked fine to me. It was the definition I was referring to. (I just picked it as an example, as it uses many macros.) Anyway, I'll drop the idea (or implement it as a stand-alone package, if I ever get around to it) as it apparently didn't resonate well here. > Anyway, we're striding away from the subject here. I'll commit the fix for > > the "lambda" problem on the master branch and leave it broken on > emacs-25. > > Not sure I like this fix: it causes the `if` of #'(if bar baz) to be > highlighted even though it's not a special form nor a macro in > that position. > It is already highlighted in that context, today, even without my patch. ("if" is a special form whereas "lambda" isn't.) Also, I've looked through a lot of elisp code, and the only two uses of hash-quote I found were #'symbol and #'(lambda (...) ...). Besides, I don't mind having keywords highlighted in quoted or hash-quoted expressions. In fact, in elisp, code is often written in a quoted context, e.g. in font-lock keywords, where highlighting of special forms still makes sense. If you have a better way to handle this (e.g. making "lambda" a special form), feel free to suggest another patch. -- Anders