Merge python common. Fix conflicts.
merge
make agent needs a context.  Also, move more stuff into common
use save-excursion and widen where appropriate.  need a dir selection utility in the abstract ui
legacy emacs urls and cleanup
fix multiple selection and cleanup
move prejoin_workspace to UI out of API
copy-paste error
Merge port_block_abstract_ui, fix conflicts.
Don't use %s when formatting file names, since names can contain crazy unicode.
Return if user cancels share dir. Print size of buf in bytes.