Emacs: lista de itens à prova de balas?

Estou entendendoup-list: Scan error: "Unbalanced parentheses" desta posição:

(foo "bar|")

Snippet deup-list doc:

Este comando assume que o ponto não está em uma string ou em um comentário.

Então esse é o comportamento esperado. Mas eu não me importo. Eu só quero ir para cima de uma lista. Alguém poderia sugerir umup-list clone que faz a coisa certa?

Eu estou procurando algo melhor do que este código ingênuo:

(defun up-list-naive ()
  (interactive)
  (while (not (ignore-errors (up-list) t))
    (forward-char)))