Como faço para personalizar personalizar usar aspas simples para cotação?

7

É possível ensinar customizar a salvar suas variáveis ​​usando aspas simples em 'vez de quote?

Exemplo:

…
'(package-archives '(("gnu"   . "http://elpa.gnu.org/packages/")
                     ("melpa" . "http://melpa.org/packages/")))
…

ao invés de:

…
'(package-archives (quote (("gnu"   . "http://elpa.gnu.org/packages/")
                           ("melpa" . "http://melpa.org/packages/"))))
…
Mattias Bengtsson
fonte

Respostas:

11

Se os objetos Lisp são impressos usando 'e #'são controlados por print-quoted.

Consulte a seção Variáveis de saída do manual Emacs Lisp.

Assim,

(advice-add 'custom-save-all :around
            (lambda (orig)
              (let ((print-quoted t))
                (funcall orig))))

diz para personalizar para usar em 'vez de (quote ...)e em #'vez de (function ...).

Constantine
fonte
Muito obrigado! Isso realmente esfregou meu TOC da maneira certa. : D
Mattias Bengtsson
1

Se você precisar de compatibilidade com o Emacs anterior a 24.4, isso também será feito:

(defadvice custom-save-all (around custom-save-all-around)
  "Use abbreviated quotes for customize."
  (let ((print-quoted t))
    ad-do-it))

Referência

Mattias Bengtsson
fonte