[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:
+23
-4
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user