Wie kann ich die Verwendung eines einfachen Angebots für ein Angebot anpassen?


7

Ist es möglich, das Anpassen zu lehren, um seine Variablen in einfachen Anführungszeichen 'anstatt in einfachen Anführungszeichen zu speichern quote?

Beispiel:

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

anstatt:

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

Antworten:


11

Ob Lisp-Objekte mit gedruckt werden 'und von #'gesteuert werden print-quoted.

Siehe Abschnitt Ausgabevariablen im Emacs Lisp-Handbuch.

Damit,

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

weist customize an, 'anstelle von (quote ...)und #'anstelle von zu verwenden (function ...).


Vielen Dank! Das hat meine Zwangsstörung wirklich richtig gerieben. : D
Mattias Bengtsson

1

Wenn Sie Kompatibilität mit Emacs benötigen, die älter als 24.4 sind, reicht dies ebenfalls aus:

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

Referenz

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.