function put, get

35 views
Skip to first unread message

Minoru

unread,
Jun 6, 2026, 1:18:45 AM (3 days ago) Jun 6
to Extempore
Hi Ben, thanks so much !

I use Macbook pro, M2, Tahoe26.5, emacs editor & Ben's extempore-mode.el

I'm trying ver 0.9.3 for these days and today I got these troubles ...
In ver 0.8.9.11 function put , get works well !
Ver 0.9.3 doesn't implement these ?


(put 'a 'b 10) ; Message: error
(get 'a 'b)  ; Message: error

and repeated above lines then I got shell window's messages like below ....


;unbound variable put in (put 'a 'b 10)
;    (put 'a 'b 10)
;    , line 0, position: 14
(put 'a 'b 10)


;unbound variable put in (put 'a 'b 10)
;    (put 'a 'b 10)
;    , line 0, position: 14
(put 'a 'b 10)
  (((input-output-port? p) (close-input-p...
(put 'a 'b 10)


;unbound variable put in (put 'a 'b 10)
;    (put 'a 'b 10)
;    , line 0, position: 14
(put 'a 'b 10)
((k msg))
(put 'a 'b 10)
  (((input-output-port? p) (close-input-p...
(put 'a 'b 10)


;unbound variable put in (put 'a 'b 10)
;    (put 'a 'b 10)
;    , line 0, position: 14
(put 'a 'b 10)
(string->symbol (string-append "*xtmlib-"...
(put 'a 'b 10)
((k msg))
(put 'a 'b 10)
  (((input-output-port? p) (close-input-p...
(put 'a 'b 10)


;unbound variable get in (get 'a 'b)
;    (get 'a 'b)
;    , line 0, position: 11
(get 'a 'b)
  (((res (impc:ti:get-namedtype-type name...
(put 'a 'b 10)
(string->symbol (string-append "*xtmlib-"...
(put 'a 'b 10)
((k msg))
(put 'a 'b 10)
  (((input-output-port? p) (close-input-p...
(put 'a 'b 10)


;unbound variable put in (put 'a 'b 10)
;    (put 'a 'b 10)
;    , line 0, position: 14
(put 'a 'b 10)
  (((res (impc:ti:get-namedtype-type name...
(get 'a 'b)
  (((res (impc:ti:get-namedtype-type name...
(put 'a 'b 10)
(string->symbol (string-append "*xtmlib-"...
(put 'a 'b 10)
((k msg))
(put 'a 'b 10)
  (((input-output-port? p) (close-input-p...
(put 'a 'b 10)


;unbound variable put in (put 'a 'b 10)
;    (put 'a 'b 10)
;    , line 0, position: 14
(put 'a 'b 10)
  (((res (impc:ti:get-namedtype-type name...
(put 'a 'b 10)
  (((res (impc:ti:get-namedtype-type name...
(get 'a 'b)
  (((res (impc:ti:get-namedtype-type name...
(put 'a 'b 10)
(string->symbol (string-append "*xtmlib-"...
(put 'a 'b 10)
((k msg))
(put 'a 'b 10)
  (((input-output-port? p) (close-input-p...
(put 'a 'b 10)

Ben Swift

unread,
Jun 6, 2026, 4:44:59 AM (3 days ago) Jun 6
to extemp...@googlegroups.com, Extempore
Hi Minoru,

Thanks very much for the report — much appreciated.

put and get are working again; the fix is in the v0.9.4 release, which is building now and should be up on the releases page within an hour or so.

Cheers
Ben

On 6 Jun 2026, at 3:18 pm, Minoru <mils...@gmail.com> wrote:

Hi Ben, thanks so much !
--
You received this message because you are subscribed to the Google Groups "Extempore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to extemporelan...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/extemporelang/28a4facc-e8a7-4e15-b1bd-46ec090a9252n%40googlegroups.com.

Minoru

unread,
Jun 6, 2026, 10:22:51 PM (2 days ago) Jun 6
to Extempore

Hi Ben,

Thanks so much again, I really appreciate your quick action.


2026年6月6日土曜日 17:44:59 UTC+9 ben:

Minoru

unread,
Jun 6, 2026, 10:23:47 PM (2 days ago) Jun 6
to Extempore
I noticed it because my macro 'mkplay', 'play-data-func' doesn't work in ver 0.9.3 !
I made many tunes in ver 0.8.9.11 by my 'mkplay' which is similar to extempore's pattern language.

My macro 'mkplay' has some symbols ending with a colon as tags for optional settings.
For example,

ok    '(mout: *mout1*) '(mch: 1)   ; for midi inst, midi out strem: *mout1*, midi channel: 1
XXX   '(metre: *metre1* '(1 2  4)) ; using metre
ok    '(pn-opt: '(.6 4))           ; play-note options
XXX   '(fout: *f-out1*) '(fin: *f-in1*); saving all play data to file, not sounds but data recording.

ok lines works well in ver 0.9.3, but XXX lines doesn't work.

At '(fout: *f-out1*) '(fin: *f-in1*) lines, I found put and get function problem.
At '(metre: *metre1* '(1 2  4)) lines, I don't find any hint why this doesn't work.
  this error message says mkplay if, so now I'm checking 'if sentences' in my macro .....

Anyway, your fixing to use a symbol ending with a colon works well, thanks so much !!!

2026年6月7日日曜日 11:22:51 UTC+9 Minoru:

Minoru

unread,
Jun 6, 2026, 10:25:44 PM (2 days ago) Jun 6
to Extempore

Hi Ben, thanks so much, the function put and get can work well !!
(put 'a 'b 10) ; #t
(get 'a 'b)    ; 10
(put 'a 'b2 100) ; #t
(get 'a 'b2)  ;100

And I found some differences in Messages ....

when Ctr + Opt + x inside of list, messages are ....
scheme closure put (sym key val)  
#t
10

But Ctr + Opt + x head of list(on the left parentheses), just
#t
10

etc, etc .....

scheme closure put (sym key val)
#t
Mark set
scheme closure get (sym key)
100
scheme closure get (sym key)


;; ver .0.8.9,  just these only ....
#t
10
#t
100

Ben Swift

unread,
Jun 6, 2026, 11:18:30 PM (2 days ago) Jun 6
to extemp...@googlegroups.com
Hi Minoru,

Glad it’s working — thanks for confirming.

That extra line is nothing to worry about, and nothing’s broken. In 0.9.x, put and get are ordinary Scheme functions rather than the built-in primitives they were in 0.8.x, so they now have a definition the editor can show you. When you evaluate with the cursor inside the list (on the symbol), C-M-x echoes that definition — scheme closure put (sym key val) — as well as the result; with the cursor on the opening parenthesis it just sends the form, so you only see the result. Either way the values are identical.

That display comes from the Emacs mode rather than Extempore itself. Could you let me know which extempore-mode you’re running — the one from MELPA, and its version? Just so I can rule out anything odd on that side.

Cheers,
Ben

On 7 Jun 2026, at 12:25 pm, Minoru <mils...@gmail.com> wrote:


--
You received this message because you are subscribed to the Google Groups "Extempore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to extemporelan...@googlegroups.com.

Minoru

unread,
Jun 7, 2026, 12:11:34 AM (yesterday) Jun 7
to Extempore
Hi Ben, thanks again about messages which emacs shows.

My extempore-mode is extempore-mode-20220704.2241, but it's ok without adding your work.
It's enough good for me !

And
 '(fout: *f-out1*) '(fin: *f-in1*); saving all play data to file, not sounds but data recording.
it looks like ok to record and re-play data, actually put and get used in these macro, too, so it can work again.....

Thanks, thanks again!!

2026年6月7日日曜日 12:18:30 UTC+9 ben:
Reply all
Reply to author
Forward
0 new messages