Als «elisp» getaggte Fragen

für Fragen zu Emacs Lisp als Sprache im Vergleich zu anderen Sprachen, insbesondere im Vergleich zu anderen Lisp-Dialekten. Das heißt, es ist für Fragen * über die Sprache * selbst. * VERWENDEN SIE ES NICHT * für Fragen zur * Verwendung von * Emacs Lisp. Emacs Lisp ist die Skript- und Programmiersprache, auf der der Emacs-Editor basiert.

3
Wie finde ich den Pfad zu einer ausführbaren Datei mit Emacs Lisp?
Mein aktueller Anwendungsfall ist es, herauszufinden, wo sich die Caskausführbare Datei befindet (sie kann an mindestens zwei Stellen installiert werden, und es ist ein Problem offen). Ich muss das Fass folgendermaßen anfordern: (require 'cask "~/.cask/cask.el") Aber ich muss den richtigen Pfad dazu finden cask.el, und meines Wissens ist der einfachste …
16 elisp  files  cask 



2
Kann eine Funktion oder ein Makro Byte-Compiler-Warnungen angeben?
Ich schreibe eine Funktion, die im Prinzip eine beliebige Anzahl von Argumenten akzeptiert. In der Praxis sollte jedoch immer nur eine gerade Anzahl von Argumenten übergeben werden, und ansonsten werden unerwünschte Ergebnisse erzielt. Hier ist ein Dummy-Beispiel für den Kontext: (defun my-caller (&rest args) (while args (call-other-function (pop args) (pop …




1
Warum haben elisp-Dateien Dateiendekommentare?
Warum enden elisp-Dateien normalerweise mit ;;; file.el ends here? Gibt es einen historischen Grund, warum dies nützlich war? Ich habe es in Elisp-Style-Guides empfohlen und sehe es immer noch in modernen Elisp-Paketen. auto-insert-modefügt einen solchen Kommentar auch standardmäßig zu neuen elisp-Dateien hinzu.


3
Gibt es eine Möglichkeit, eine Hook-Funktion nur einmal auszuführen?
Der Kontext Ich verwende den after-make-frame-functionsHaken, um die Themen in einer Emacs-Client / Server-Konfiguration richtig zu laden . Im Einzelnen ist dies das Code-Snippet, mit dem ich das mache (basierend auf dieser SO-Antwort ): (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) (select-frame frame) (load-theme 'monokai t) ;; setup the smart-mode-line and …

2
"Und" vs "wann" für Bedingungen
Dies ist eine Fortsetzung der Kommentare zu dieser Antwort . Die folgenden Codebits scheinen äquivalent zu sein: (and a b) (when a b) Natürlich andkönnen Sie mehr Bedingungen stellen: (and a b c d)bedeutet(when (and a b c) d) Ich neige dazu, whennur Verzweigungen auszudrücken. Gibt es tatsächliche Unterschiede? Ist …

7
Elisp-Code zur Überprüfung der Internetverbindung
Wenn ich Emacs öffne, wertet es meine Init-Datei aus, einschließlich der Aktualisierung meiner Paketarchive über eine Internetverbindung. Dies ist problematisch, wenn ich keine Internetverbindung habe. Daher muss ich die Ausführung dieses Codes verhindern, wenn Emacs ohne Internetverbindung gestartet wird. Um dieses Problem zu lösen, frage ich mich, ob es eine …
13 elisp  networking 

4
Unterschiede zwischen dem Setzen von Hauptmodustasten mit einem Haken und dem Hinzufügen dieser Tasten zur Modusübersicht
Angenommen, ich habe einen magical-modeHauptmodus mit dem Namen heruntergeladen und er hat eine eigene magische Tastaturbelegung mit dem Namen magical-mode-map. Dieser Modus bietet auch einen Hook, magical-mode-hookder jedes Mal ausgeführt magical-modewird, wenn er zum Hauptmodus eines Puffers wird. Jetzt möchte ich meine Init-Datei so ändern, dass einige benutzerdefinierte Tastenkombinationen hinzugefügt …

9
So bearbeiten Sie elisp, ohne sich in Klammern zu verlieren
Ich ändere einen Elisp-Code aus linum.el: (custom-set-variables '(linum-format 'dynamic)) (defadvice linum-update-window (around linum-dynamic activate) (let* ((w (length (number-to-string (+ (count-lines (point-min) (point-max)) 1)))) (linum-format (concat " %" (number-to-string w) "d "))) ad-do-it)) Ich war in der Lage einen Fehler zu beheben , wo die Vertiefung war off-by-one durch Modifizierung (count-lines …

4
Was macht "Symbolwert"?
Die Dokumentation hat mich nicht weiser gemacht: Diese Funktion gibt den in der Wertezelle des Symbols gespeicherten Wert zurück. Hier wird der aktuelle (dynamische) Wert der Variablen gespeichert. Wenn die Variable keine lokale Bindung hat, ist dies einfach ihr globaler Wert. Wenn die Variable ungültig ist, wird ein ungültiger Variablenfehler …
13 elisp  symbols 

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.