Apologies.
Keyword identification works in Python and Bash. GPR files are correctly coloured too.
When starting emacs with emacs -Q filename.adb, keywords are recognised. The ada-mode-version comes up as 4.00.
I then eval my .emacs file and the keyword identification stays.
Note font-lock-keywords is not nil and global-font-lock-mode is not nil either.
Now,
I don't know yet how to step through execution of ada-mode.el (trying
to find that out as I'm no lisp guru to say the least) but when I
evaluated ada-mode.el from the 5.3.1 area (in my emacs -Q instance) and turned ada-mode off
and on I get the following error:
Wrong type argument: sequencep, "\\<\\(a\\(?b\\(?\\(?:ort\\|s\\|s\\(?:tract\\)?\\)\\|cce\\(?:pt\\|ss\\)\\|l\\)?:iased\\|l\\)\\|nd\\|rray\\|t\\)\\|b\\(?:egin\\|ody\\)\\|c\\(?:ase\\|onstant\\)\\|d\\(?:e\\(?:clare\\|l\\(?:ay\\|ta\\)\\)\\|igits\\|o)\\|e\\(?:ls\\)?
(and then a few more like this, couldn't copy/paste as it appeared in
the command area which disappears when entered).
So this is clearly the keywords that's going wrong here, although I don't know why yet.