[FIX] dbgopen/dbgclose: robuster Zeitstempel statt stillem Platzhalter

Die erste/letzte Zeile der .dbg-Datei ("=== DEBUG START/ENDE ...") hatte
schon einen Zeitstempel, fiel aber bei nil-Rueckgabe von menucmd (DIESEL
edtime, z.B. ohne aktiven Grafikbildschirm) auf den nichtssagenden
Platzhalter "(kein Zeitstempel)" zurueck. Neue Hilfsfunktion
dbg-timestamp faellt stattdessen auf die Systemvariable CDATE zurueck
und wird von dbgopen/dbgclose gemeinsam genutzt (vorher dupliziert).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 15:31:23 +02:00
parent 21c1a65bfd
commit 74ed3d4988
+23 -4
View File
@@ -77,6 +77,27 @@
(setq *dbg-buffer* (cons line *dbg-buffer*))
)
;; ------------------------------------------------------------
;; DBG-TIMESTAMP - Aktuellen Zeitstempel als String liefern
;; Bevorzugt DIESEL edtime (sauber vorformatiert), faellt bei nil (z.B.
;; ohne aktiven Grafikbildschirm/Menuekontext) auf die Systemvariable
;; CDATE zurueck (Format JJJJMMTT.SSMMSSmmm, immer nullgepolstert) -
;; besser ein aus CDATE geparster Zeitstempel als der alte Platzhalter
;; "(kein Zeitstempel)", der ueberhaupt nicht zeigt, WANN eine .dbg-Datei
;; angelegt wurde.
;; ------------------------------------------------------------
(defun dbg-timestamp ( / ts cdate)
(setq ts (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD HH:MM:SS)"))
(if (not ts)
(progn
(setq cdate (rtos (getvar "CDATE") 2 6))
(setq ts (strcat (substr cdate 1 4) "-" (substr cdate 5 2) "-" (substr cdate 7 2)
" " (substr cdate 10 2) ":" (substr cdate 12 2) ":" (substr cdate 14 2)))
)
)
ts
)
;; ------------------------------------------------------------
;; DBGOPEN - Debug-Datei oeffnen
;; Wenn *dbg-active* nil ist, wird keine Datei angelegt.
@@ -124,8 +145,7 @@
(setq *dbg-path* fullpath)
(setq *dbg-indent* 0)
(setq *dbg-buffer* nil)
(setq ts (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD HH:MM:SS)"))
(if (not ts) (setq ts "(kein Zeitstempel)"))
(setq ts (dbg-timestamp))
(write-line (strcat "=== DEBUG START " ts " ===") fh)
(close fh)
(prompt (strcat "\n[DBG] Debug-Datei geoeffnet: " fullpath))
@@ -143,8 +163,7 @@
(defun dbgclose ( / ts)
(if *dbg-path*
(progn
(setq ts (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD HH:MM:SS)"))
(if (not ts) (setq ts "(kein Zeitstempel)"))
(setq ts (dbg-timestamp))
(dbg-bufwrite (strcat "=== DEBUG ENDE " ts " ==="))
(dbg-flush)
(setq *dbg-path* nil)