Ekg-denote-export: Scalar Title Values And nil Text fails export
jayrajput opened this issue · comments
Ekg-denote-export aborts with Lisp error if ekg
notes contain any of these
- Scalar Title value rather than list type.
- Nil text value.
Following error for scalar title value is seen.
or: Wrong type argument: lists, "test"
For nil text
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-width(nil)
truncate-string-to-width(nil 100 nil nil "...")
(format "Note ID: %s, Modified: %s, Created: %s, Tags: %s, ..." (progn (or (progn (and (memq (type-of note) cl-struct-ekg-note-tags) t)) (signal 'wrong-type-argument (list 'ekg-note note))) (aref note 1)) (progn (or (progn (and (memq (type-of note) cl-struct-ekg-note-tags) t)) (signal 'wrong-type-argument (list 'ekg-note note))) (aref note 6)) (progn (or (progn (and (memq (type-of note) cl-struct-ekg-note-tags) t)) (signal 'wrong-type-argument (list 'ekg-note note))) (aref note 5)) (progn (or (progn (and (memq (type-of note) cl-struct-ekg-note-tags) t)) (signal 'wrong-type-argument (list 'ekg-note note))) (aref note 4)) (plist-get (progn (or (progn (and (memq (type-of note) cl-struct-ekg-note-tags) t)) (signal 'wrong-type-argument (list 'ekg-note note))) (aref note 7)) :titled/title) (truncate-string-to-width (progn (or (progn (and (memq (type-of note) cl-struct-ekg-note-tags) t)) (signal 'wrong-type-argument (list 'ekg-note note))) (aref note 2)) 100 nil nil "..."))
ekg-denote--note-print(#s(ekg-note :id "2b182ba3-ea37-4a0c-af1e-c0ff3c41ee9b" :text nil :mode org-mode :tags nil :creation-time 1705375356 :modified-time 1705375356 :properties nil :inlines nil))
(message "ekg-denote-export: exporting %s." (ekg-denote--note-print note))
(while (consp --cl-var--) (setq note (car --cl-var--)) (message "ekg-denote-export: exporting %s." (ekg-denote--note-print note)) (let* ((denote (ekg-denote-create note)) (modified-at (ekg-denote--modified-time-from-file denote))) (if (and modified-at (time-less-p last-export-time modified-at)) (progn (ekg-denote--backup denote))) (ekg-denote--rename-if-path-changed denote) (ekg-denote--text-save denote)) (setq --cl-var-- (cdr --cl-var--)))
(let* ((--cl-var-- notes) (note nil)) (while (consp --cl-var--) (setq note (car --cl-var--)) (message "ekg-denote-export: exporting %s." (ekg-denote--note-print note)) (let* ((denote (ekg-denote-create note)) (modified-at (ekg-denote--modified-time-from-file denote))) (if (and modified-at (time-less-p last-export-time modified-at)) (progn (ekg-denote--backup denote))) (ekg-denote--rename-if-path-changed denote) (ekg-denote--text-save denote)) (setq --cl-var-- (cdr --cl-var--))) nil)
(let* ((last-export-time (ekg-denote-get-last-export)) (start-time (current-time)) (notes (ekg-denote--notes-modified-since last-export-time))) (and (ekg-denote-assert-notes-have-creation-time notes) (ekg-denote-assert-notes-have-unique-creation-time notes)) (message "ekg-denote-export: exporting notes modified since ..." last-export-time (format-time-string "%Y%m%dT%H%M%S" last-export-time)) (let* ((--cl-var-- notes) (note nil)) (while (consp --cl-var--) (setq note (car --cl-var--)) (message "ekg-denote-export: exporting %s." (ekg-denote--note-print note)) (let* ((denote (ekg-denote-create note)) (modified-at (ekg-denote--modified-time-from-file denote))) (if (and modified-at (time-less-p last-export-time modified-at)) (progn (ekg-denote--backup denote))) (ekg-denote--rename-if-path-changed denote) (ekg-denote--text-save denote)) (setq --cl-var-- (cdr --cl-var--))) nil) (ekg-denote-set-last-export start-time))
ekg-denote-export()
funcall-interactively(ekg-denote-export)
call-interactively(ekg-denote-export record nil)
command-execute(ekg-denote-export record)
execute-extended-command(nil "ekg-denote-export" nil)
funcall-interactively(execute-extended-command nil "ekg-denote-export" nil)
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
I think your pull request should fix this, correct?
Yes . The PR fixes this one.