Earlier quoted context omitted.
RAII isn't just about automatic ("scope-based") variables. RAII refers to the way the language ties together the construction and allocation of the object.
Are there languages that do SBRM but not RAII?
You can do
with lock:
# lock is held
# lock released
with lock:
# lock is held again
Also Go's defer keyword, which is bound to the current function (defer until function returns).