finish buf.c
finish buf.c ide.c
Merge branch 'ide'