Dirk schriebwie würden diese mit der von dir beim Schreiben vorgestellten „Lisp-ähnlichen Notation“ aussehen
Emacs und Gnus machen es vor. So eine .emacs oder .gnus ist nicht per se schlecht zu lesen, es kommt auf die Formatierung an, d.h. auf gescheite Einrückungen und auch mal eine Leerzeile - und zugegeben, Einrückungen sind offenbar nicht des Lisp-Programmierers liebstes Kind, drum sieht's halt oft beschissen aus, muss es aber eben nicht. Es handelt sich ja bei vielen Konfigurationsdateien schlicht um key-value-Listen, ggf. mit Kategorisierung, also um etwas, das mit Lisp-Notation durchaus zu machen ist. Dabei gibt es mehrere Vorteile:
1) der Geltungsbereich von Kategorien ist durch die schliessende Klammer klar gekennzeichnet
2) es können nacheinander mehrere Werte pro key angegeben werden
3) es können strukturierte Werte mit beliebiger Komplexität angegeben werden (etwa wie bei JSON)
Alle diese Möglichkeiten finden in Emacs-Konfigurationsdateien ihre Verwendung. Hier ein Ausschnitt aus meiner .emacs:
(custom-set-variables
'(auto-save-default nil)
'(blink-cursor-mode nil nil (frame))
'(c-backspace-function (quote backward-delete-char))
'(c-basic-offset 8)
'(c-syntactic-indentation nil)
...
'(show-paren-mode t nil (paren))
'(show-paren-style (quote expression))
'(show-trailing-whitespace t)
'(socks-server (quote ("Default server" "localhost" 9050 5)))
'(tool-bar-mode nil nil (tool-bar))
'(transient-mark-mode t)
'(truncate-lines t)
'(version-control (quote never))
'(visible-bell t)
'(x-stretch-cursor t)
)
Viele Variablen erhalten nur ein einfach t (d.h. true), andere erhalten eine ganze Anzahl von Argumenten.