§12 Skeleton Language lists, as an element of a skeleton input list,
skeleton
Subskeletons are inserted recursively, not once, but as often as the user enters something at the subskeletons interactor. Thus there must be a `str` in the subskeleton. They can also be used non-interactively, when prompt is a lisp-expression that returns successive list-elements.
As seems to be common in the skeleton documentation, the terminology is obscure and self-contradictory. I've tried various ways to realise the structure described, but none of my attempts have worked. Here is one of them:
(define-skeleton _skel "Test skeleton" nil ('("Seventeen" "Nineteen") "Should be two values, 17 and 19:" str \n)) Invoking _skell results in "Should be two values, 17 and 19:" appearing in the buffer, and an error of setq: Wrong type argument: stringp, ("Seventeen" "Nineteen") appearing in the message buffer.
What am I missing to make this use of subskeletons non-interactively, with either static values or a dynamic lisp-expression returning the values?
Thanks!
nilin your example) should be what returns the list elements and not trying to pass a list to str which expects an atom.skeleton.elcontains a lot of Deep Magic.