Samuel, i think that by default, Org no longer listens to, e.g., =<s[TAB]=. but, if you load =org-tempo=, it still does. i wonder if you might see if you are loading =org-tempo= (maybe [C-h v org-modules]), disable that, and see if that clears away some of the underbrush.
(you can get something like the old behavior with =C-c C-,=.) i use yasnippet to expand =<le[TAB]=. ---- # key: <le # name: latex equation environment # -- \begin{equation} $0 \end{equation} ---- and, that works for me. if i re-format your snippet (maybe this was the original formatting?) ---- # name: src # key: <s # -- #+BEGIN_SRC $1 $0 #+END_SRC ---- and open an org file, =<s[TAB]=, it seems to work if i enter a language name and then =[TAB]= to commit. if i commit with =[RET]= instead, it still *seems* to work (in terms of the buffer contents), but i get this message ---- [yas] Committing snippets. Action would destroy a protection overlay. ---- i didn't run into any lisp errors. in case any of that helps. cheers, Greg