bug#75364: Manual: Alist example does not work
Jens Egon Nyborg <[email protected]> Sat, 4 Jan 2025 16:59:15 +0100
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
I run
(define capitals '(("New York" . "Albany")
("Oregon" . "Salem")
("Florida" . "Miami")))
followed by
(set! capitals
(assoc-set! capitals "Florida" "Tallahassee"))
and get
"ice-9/boot-9.scm:1676:22: In procedure raise-exception:
In procedure set-cdr!: Wrong type argument in position 1 (expecting
mutable pair): ("Florida" . "Miami")
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue."
(In geiser in emacs on Arch)
Warning: In my own code it actually worked on and off.
Work-around: Use
(define capitals (list (cons "New York" "Albany")
(cons "Oregon" . "Salem")
(cons "Florida" . "Miami")))
apparently quoted lists are not mutable!