ahyatt / ekg

The emacs knowledge graph, app for notes and structured data.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.