4 Stimmen

Interaktives "r" elisp defun mit zusätzlichen args?

Ist es möglich, eine interaktive defun mit Code "r" zu schreiben, die ein zusätzliches optionales Argument hat (so dass es Dinge innerhalb der ausgewählten Region, aber mit einem anderen Argument tut)? Ich hätte gerne etwas wie das Folgende:

(defun my-function (start end &optional arg)
  "Do something with selected region"
  (interactive "r")
  (if arg
      (setq val arg)
    (setq val 2))
  (do things...))

Die Betrachtung der Dokumentation heißt es

'r': Punkt und Marke, als zwei numerische Argumente, das kleinste zuerst. Dies ist der einzige Kennbuchstabe, der zwei aufeinander aufeinanderfolgende Argumente anstelle von einem. Keine E/A.

Ich bin mir nicht sicher, ob "Keine E/A" und "zwei aufeinanderfolgende Argumente" bedeutet, dass es 2 und nur 2 Argumente benötigt (d.h. auf den Start- und Endpunkt der Region als Argumente beschränkt). Obwohl es mir erlaubt, das Defun mit einem zusätzlichen Argument zu bewerten und auszuführen, scheint Emacs es zu ignorieren.

Ich danke Ihnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X