[REFACTOR] VF: Core-Pfad-Ermittlung zentralisiert (ssg-lisp-verzeichnis/-datei-pfad)
Der 3-stufige Lisp-Pfad-cond (DXFM_LISP -> *ssg-lisp-pfad* -> nil) war 6-fach dupliziert. Neuer Helper ssg-lisp-verzeichnis/ssg-lisp-datei-pfad in ssg_core.lsp. - vf_core.lsp (Submodul-Loader): nutzt Helper direkt (ssg_core hier geladen) - vf_standard/vf_etage/vf_konstanten/VarioFoerderer: Helper mit Inline-Fallback (atoms-family-Guard), falls ssg_core beim isolierten Einzel-Laden fehlt - vf_core.lsp ssg_core-Bootstrap (Z.40): bleibt inline (laedt ssg_core erst) Reines Refactoring, identisches Verhalten. Paren-Balance geprueft. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -137,6 +137,37 @@
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; LISP-PFAD-ERMITTLUNG
|
||||
;; ------------------------------------------------------------
|
||||
;; Zentraler Ersatz fuer den bisher in mehreren Modulen duplizierten
|
||||
;; 3-stufigen Pfad-cond (DXFM_LISP env -> *ssg-lisp-pfad* vom MNL -> nil).
|
||||
;; Liefert das Lisp-Verzeichnis (mit "/"-Trennern, ohne abschliessenden "/")
|
||||
;; oder nil, wenn keine Quelle gesetzt ist.
|
||||
;;
|
||||
;; HINWEIS zur Ladeordnung: Diese Funktion lebt in ssg_core.lsp und ist erst
|
||||
;; verfuegbar, NACHDEM ssg_core geladen wurde. Der ssg_core-Bootstrap selbst
|
||||
;; (z.B. in VarioFoerderer.lsp/vf_konstanten.lsp/vf_core.lsp, der ssg_core erst
|
||||
;; laedt) kann sie daher NICHT nutzen - dort bleibt der Inline-cond stehen.
|
||||
;; Alle Stellen, die garantiert nach dem ssg_core-Laden laufen, nutzen sie.
|
||||
(defun ssg-lisp-verzeichnis ( / )
|
||||
(cond
|
||||
((getenv "DXFM_LISP")
|
||||
(vl-string-translate "\\" "/" (getenv "DXFM_LISP")))
|
||||
((and (boundp '*ssg-lisp-pfad*) *ssg-lisp-pfad*)
|
||||
*ssg-lisp-pfad*)
|
||||
(t nil)
|
||||
)
|
||||
)
|
||||
|
||||
;; Vollstaendiger Pfad zu einer Lisp-Datei im Lisp-Verzeichnis (oder nil).
|
||||
;; dateiname z.B. "vf_core.lsp".
|
||||
(defun ssg-lisp-datei-pfad (dateiname / verz)
|
||||
(setq verz (ssg-lisp-verzeichnis))
|
||||
(if verz (strcat verz "/" dateiname) nil)
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; BENUTZER-ABFRAGEN
|
||||
;; ------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user