(fix): simplify org-roam--str-to-list (#762)

This simplifies `org-roam--str-to-list`, and ensures that it parses
numbers correctly too. Fixes #745.
This commit is contained in:
Jethro Kuan
2020-06-05 20:27:02 +08:00
committed by GitHub
parent 563252a6f6
commit c61f7e20f2

View File

@ -258,27 +258,22 @@ space-delimited strings.
res)) res))
(defun org-roam--str-to-list (str) (defun org-roam--str-to-list (str)
"Function to transform string STR into list of titles. "Transform string STR into a list of strings.
If str is nil, return nil."
This snippet is obtained from ox-hugo: (when str
https://github.com/kaushalmodi/ox-hugo/blob/a80b250987bc770600c424a10b3bca6ff7282e3c/ox-hugo.el#L3131" (unless (stringp str)
(when (stringp str) (signal 'wrong-type-argument `(stringp ,str)))
(let* ((str (org-trim str)) (let* ((str (org-trim str))
(str-list (split-string str "\n")) (format-str ":dummy '(%s)") ;The :dummy key is discarded in the `lst' var below.
ret) (items (cdar (org-babel-parse-header-arguments (format format-str str)))))
(dolist (str-elem str-list) (mapcar (lambda (item)
(let* ((format-str ":dummy '(%s)") ;The :dummy key is discarded in the `lst' var below. (cond
(alist (org-babel-parse-header-arguments (format format-str str-elem))) ((symbolp item)
(lst (cdr (car alist))) (symbol-name item))
(str-list2 (mapcar (lambda (elem) ((numberp item)
(cond (number-to-string item))
((symbolp elem) (t
(symbol-name elem)) item))) items))))
(t
elem)))
lst)))
(setq ret (append ret str-list2))))
ret)))
;;;; File functions and predicates ;;;; File functions and predicates
(defun org-roam--file-name-extension (filename) (defun org-roam--file-name-extension (filename)