¿Cómo aplico "o" a una lista en elisp

En elisp puedo evaluar o como una función como +.

(or nil 0 nil) ==> 0

(+ 1 0 1) ==> 2

Puedo usar aplicar para aplicar + a una lista

(apply '+ '(1 0 1)) ==> 2

Entonces, pensaría o funcionaría de la misma manera, pero no lo hace.

(apply 'or '(nil 0 nil)) ==> error: (invalid-function or)

Me imagino que esto proviene de algo de magia interna utilizada para implementar la evaluación de cortocircuito. ¿Cómo puedo usar apply para ejecutar la operación u sobre una lista?

PD. mi aplicación deseada es averiguar si algún elemento de la línea de comando coincide con un patrón en particular, por lo que la parte importante de lo que estoy escribiendo es:

(apply 'or (mapcar (lambda (x) (string-match-p "pattern" x)) command-line-args))

Pero no funciona

Respuestas a la pregunta(6)

Su respuesta a la pregunta