Am Sa., 6. Apr. 2019 um 16:11 Uhr schrieb Gianmaria Lari <gianmarial...@gmail.com>: > > I wrote this function > > #(define (resetList l) (set! l '())) > > > that I would like to set a list to an empty list. This is an example of use: > > \version "2.21.0" > #(define mylist '(1 2 3)) > \markup #(object->string mylist) %this prints (1 2 3) > > #(define (resetList l) (set! l '())) > #(resetList mylist) > \markup #(object->string mylist) % this I would like it prints () but it > prints (1 2 3) > > I think the problem is related to the fact resetList changes mylist locally > (sort of) but I have no idea how I can fix it. Any help? > > Thank you, g.
One possibility is to use a macro: #(define-macro (reset-list l) `(set! ,l '())) Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user