Why do I get the error: font-lock-fontify-keywords-region: Invalid function: (concat "\\\\" (regexp-opt (quote ("cs" "hepth" "hepph" "heplat" "hepex" "nuclth" "nuclex" "grqc" "qalg" "dgga" ...))) "{\\([0-9]+\\)}")
when this code is evaluated?:
(defvar biblinks-keywords
'(((concat "\\\\" (regexp-opt '("cs"
"hepth"
"hepph"
"heplat"
"hepex"
"nuclth"
"nuclex"
"grqc"
"qalg"
"dgga"
"accphys"
"alggeom"
"astroph"
"chaodyn"
"condmat"
"nlinsys"
"nlinsi"
"nlin"
"quantph"
"solvint"
"suprcon"
"mathph"
"physics")) "{\\([0-9]+\\)}")
(0 `(face
link
keymap
,oldarXivid-keymap)
prepend))))
If I use the following code instead, it works:
(defvar biblinks-keywords
'(("\\\\\\(?:a\\(?:ccphys\\|lggeom\\|stroph\\)\\|c\\(?:haodyn\\|ondmat\\|s\\)\\|dgga\\|grqc\\|hep\\(?:ex\\|lat\\|[pt]h\\)\\|mathph\\|n\\(?:lin\\(?:s\\(?:i\\|ys\\)\\)?\\|ucl\\(?:ex\\|th\\)\\)\\|physics\\|q\\(?:alg\\|uantph\\)\\|s\\(?:olvint\\|uprcon\\)\\){\\([0-9]+\\)}"
(0 `(face
link
keymap
,oldarXivid-keymap)
prepend))))