Over at emacs ninja, Vasilij Schneidermann talks about his number one annoyance with Emacs Lisp. Schneidermann says there are indeed problems with Elisp but he differs from most folks on what they are. He doesn’t care that it’s not fast and he isn’t worried about Emacs’ regex implementation. He’s got just two big problems with it. The most important of those is the lack of name spaces.
Schneidermann isn’t the first to complain about that, of course, but he did want to do something more than complain. He thought about using one of the packages that mostly resolve the issue but rejected them because they meant another dependency and would break his workflow. What he did instead was a sort of low tech solution that has most of the virtues of name space packages but also is lighter weight and fits in with his workflow.
His solution automates what we all do: he adds a prefix to all his otherwise global identifiers but instead of having to laboriously type them out each time, he wrote a bit of Elisp that guesses the package name from the defgroup
macro and inserts it when he presses Ctrl+.. This seems like a nice solution to me, especially if you only infrequently write packages and don’t want to bother installing and dealing with another package to resolve the issue.