BLOCK - программный блок и нелокальный выход RETURN-FROM

(block имя form1 form2 ...) => NIL или результат
(return-from имя [результат])
(return [результат])

Имя блока — символ, не оценивается, задёт точку нелокального выхода.

Результат — форма, оценивается, может возвращать множественное значение. Если форма результата не задана, блок возвращает NIL.

return — возврат из блока с именем NIL (часто неявного, например dotimes, dolist, loop и т.п.).

Пример
(let ((val 1))
  (block out
    (return-from out (1- val))
    (incf val))
0 
(block out
  (return-from out) 
  2)
NIL
(let ((a 0))
  (dotimes (i 10)   ; неявный блок с именем NIL
    (incf a) 
    (when (oddp i) (return)))
  a)
2