programming environment including emacs