Restrictions on symbol name in Emacs lisp

To make myself clean, in C, identifier must match [0-9_a-zA-Z]+ and it is bad practice, if it match __.* or _[A-Z]+. It can be read in standard. I want to know exactly the same about elisp. I know by experience, that I can use :-@, but not #. Please, point me to right place to read.


  • There are no hard limits, although a symbol with a name which cannot be easily accessed is of little practical use.