Below example dump it as a list, but I wish to dump it in property value pairs:
#+BEGIN_SRC elisp :results output
(defun dump-plist(obj level)
(if (listp obj)
(dolist (item obj)
(dump-plist item (1+ level)))
(progn
(while (> level 1)
(princ " ")
(setq level (1- level)))
(princ obj)
(princ "\n"))))
(defun test()
(let* ((my-plist (list :a 1 :b 2 :c 3 :more (list 4 5 6))))
(print my-plist)
(dump-plist my-plist 0)
))
(test)
#+END_SRC
#+RESULTS:
#+begin_example
(:a 1 :b 2 :c 3 :more (4 5 6))
:a
1
:b
2
:c
3
:more
4
5
6
#+end_example
expected output is:
:a 1
:b 2
:c 3
:more (4 5 6)