豊福です。

  ruby本9章のおかげで Jed/Ruby が読めるように
なってきました。そこで二つほど質問を。
(もしかしたら version が古いかもしれませんが
御勘弁を)

(1) buffer.c

|     SLang_free_slstring (buf->name);
  ...
| +       rb_funcall(rb_buf_list, id_delete, 1, str_new2(buf->name));

  SLang_free_slstring した後に buf->name を使うのは危険?

(2) rbuffer.c

| +static void free_buffer(Buffer *buf)
| +{
| +    buf = NULL;
| +}
  ...
| +VALUE prep_buffer(VALUE class, Buffer *buf, VALUE name)
| +{
  ...
| +    data = Data_Wrap_Struct(class, buffer_mark, free_buffer, buf);

  この

| +static void free_buffer(Buffer *buf)
| +{
| +    buf = NULL;
| +}

は実質何もやってないように思うんですが。
  buf は S-Lang の方が解放してくれると思うので
free_buffer() はいらなくて
  
    data = Data_Wrap_Struct(class, buffer_mark, 0, buf);

でよいでしょうか。
---
                        豊福
                        toyofuku / juice.or.jp