In Isabelle/d3c5195b7399 both the basic "isabelle keywords" and the
administrative "isabelle update_keywords" now use standard operations from
Isabelle/Scala.
This avoids building sessions first, so it is apt to save a lot of time
whenever the Isar command language is changed somewhere in the theories.
(It was an interesting / surreal experience to port some old perl script
that generates legacy elisp sources to Scala, but it worked out quite well
in the end).
Makarius