Emacs Lisp key definitions like [f12] confuse the parser

Input file extracted from an .emacs:

(setq abcd 1)
(global-set-key [f12] 'ignore)
(setq abcd 2)

Command: `highlight -S el -O xhtml <test1.html >out.html

Result: broken-el-highlight

From the [ (or ]) onwards, text keeps the same color; it shouldn't.

Tested in version 3.41 and in the latest one from git (3.55).

A workaround is to use (global-set-key (kbd "<f12>") 'ignore), which is equivalent. The syntax with square brackets ([f1] etc.) to refer to keys is seen in the documentation.