 Itself written in Emacs Lisp, Customize provides a set of preferences pages allowing the user to set options and preview their effect in the running Emacs session.When the user saves their changes, Customize simply writes the necessary Emacs Lisp code to the user's config file, which can be set to a special file that only Customize uses, to avoid the possibility of altering the user's own file.Emacs Lisp can also function as a scripting language, much like the Unix Bourne shell or Perl, by calling Emacs in "batch mode".