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.

1
Kann Emacs den Pfad seiner ausführbaren Datei erkennen?
Angenommen, ich habe zwei identische Emacs (derselben Version) auf meinem System. Einer wird an C:\Program Files\Gnu Emacsund der andere an einem anderen Ort platziert, sagen wir C:\Program Files\New Gnu Emacs. Kann ein laufender Emacs erkennen, welcher ist? Kann es beispielsweise den Pfad seiner ausführbaren Datei angeben (dh den Pfad, in …


2
Wie Defalias Lambda?
Ich habe dies in meinen .emacs: (defalias 'λ 'lambda) das funktioniert gut für einfache Dinge wie (funcall (λ (x) x) 1). Aber wenn ich so etwas wie (org-add-link-type "foo" (λ (s) (message s)))oder (add-to-list 'auto-mode-alist '("foo" . (λ () (message "bar"))))mache, funktioniert es nicht und ich bekomme org-open-at-point: Ungültige Funktion: …
8 elisp 





1
Wie sollten von Comint abgeleitete Modi Puffer und Prozesse verfolgen?
Nachdem comintich einige benutzerdefinierte Modi geschrieben habe, fällt es mir oft schwer zu entscheiden, wie Puffer und Prozesse verfolgt werden sollen: Zum Beispiel, um verschiedene Quellpuffer mit verschiedenen Interpreten zu verknüpfen. Ist es besser, einen Verweis auf den Puffer oder den Prozess zu behalten? Bei gegebenem Puffer kann man den …


1
Verhindern Sie das Einfügen von Text am Anfang eines Puffers, der mit schreibgeschütztem Text beginnt
Ich erweitere ein vorhandenes Emacs-Paket und möchte einen Teil des Puffers nicht bearbeitbar machen (schreibgeschützt). Tatsächlich möchte ich nur eine Zeile in der Mitte des Puffers bearbeitbar machen und verwende dazu das folgende Snippet: (put-text-property (point-min) point-before-editable-text 'read-only t) ;; (put-text-property point-after-editable-text (point-max) 'read-only t) Ich kann jedoch immer noch …

2
Argspec oder Arität einer Bytecode-Funktion in Emacs 24
Ich habe Code, der die Arität einer Funktion testet. Ich verwende es, um festzustellen, ob optionale Argumente vorhanden sind, die in neueren Versionen eines Pakets hinzugefügt wurden. Es subr-arityerfordert integrierte Funktionen und analysiert die Liste der Bytecode-Objekte und Lambdas. (defun function-argspec (func) (if (symbolp func) (setq func (indirect-function func))) (cond …

2
Geteiltes Fenster am äußersten Rand
Ich suche nach einer Möglichkeit, einer vorhandenen (geteilten) Fensterkonfiguration eine neue Fensteraufteilung in voller Höhe hinzuzufügen. Da ich nicht weiß, wie ich es richtig erklären soll, werde ich nur einige ASCII-Grafiken veröffentlichen, die das gewünschte Verhalten für zwei Beispielfensterkonfigurationen zeigen: from to +-------------------------+ +---------------------+---+ | | | | | | …
8 elisp  window  frames 

3
Schreiben tragbarer Elisp
Im Idealfall möchte ich in der Lage sein, den gesamten Inhalt meines .emacs.dVerzeichnisses zu speichern und es "nur auf allen Emacs funktionieren zu lassen, in die ich es lade", aber dennoch alle Funktionen der spezifischen Umgebung nutzen, wie z. B. GUI-Fenstersysteme. Ich suche keine Enzyklopädie mit inkompatiblen Funktionen. Ich möchte …

1
Wie erstelle ich eine einfache Syntaxtabelle für einen Hauptmodus?
Ich versuche zu verstehen, wie Syntaxtabellen funktionieren, aber mein minimaler Hauptmodus hebt nichts hervor. Ich habe das folgende Elisp geschrieben, das nur Kommentare hervorheben soll: (defconst my-yaml-mode-syntax-table (let ((table (make-syntax-table))) (modify-syntax-entry ?# "<" table) (modify-syntax-entry ?\n ">" table) table) "Syntax table for `my-yaml-mode'.") (define-derived-mode my-yaml-mode fundamental-mode "My YAML" "testing" :syntax-table …

1
Wie man die Funktion als Argument in elisp übergibt
Ich lese kürzlich SICP, um Lisp-Programmierung zu lernen. Das Buch enthält ein Beispiel für die Erstellung einer Funktionssumme auf hoher Ebene ( siehe unten). (define (sum term a next b) ... (term a) ... (next a) ... In dieser Funktion sind term und next Funktionen. Ich möchte die gleiche Funktion …
8 elisp 

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.