Ich bin mir sicher, dass einige von euch (aus meiner aktuellen Flut von Fragen) erfahren haben, dass ich den Org-Modus auf Emacs einrichte und durch die eindrucksvolle Org einrichten . Er ist ein Taktfanatiker, und ich mag eine Menge von dem, was er tut, um die Zeit, die er für Projekte verbracht hat, zu verfolgen.
Ich (denke) habe es nicht vermasselt, Dinge auf den Weg zu bringen, aber jedes Mal, wenn ich versuche, aus einer Aufgabe herauszukommen, bekomme ich einen Fehler mit viel Kauderwelsch (siehe unten). Ich habe versucht zu sehen, ob es einige Muster gibt, wie der Fehler auftritt, aber ich bin nicht in der Lage, sie zu entdecken. Sie scheinen ziemlich oft zu passieren, aber nicht die ganze Zeit, was das Debuggen zu einem noch größeren Schmerz macht.
Normalerweise bekomme ich eine Nachricht wie diese
, wenn ich aus einer Aufgabe aussteige (aber manchmal, wenn ich auch einchecke) %Vor%Wie immer bin ich gerne bereit, Fragen zu beantworten, die helfen könnten, die Fehlerquelle zu finden. Ich war nicht in der Lage zu erkennen, ob es üblich ist, meine gesamten .emacs usw. einzuschließen, aber ich freue mich darauf, Follow-up-Informationen nach Bedarf zu veröffentlichen.
Vielen Dank im Voraus!
edit 1: Nach @ iqbal-ansari habe ich M-x toggle-debug-on-error
erstellt, was folgendes Gunk erzeugt:
Das Problem wird durch die Zeile (org-remove-empty-drawer-at (point))
in der Funktion bh/remove-empty-drawer-on-clock-out
verursacht. Wenn Sie die Dokumentation der Funktion org-remove-empty-drawer-at
(do Ch f org-remove-empty-drawer-at
RET lesen, heißt das, dass die Funktion zwei Argumente akzeptiert drawer
und point
, während die Funktion bh/remove-empty-drawer-on-clock-out
nur ein Argument (Punkt) übergibt. Dies verursacht den von Ihnen gemeldeten Fehler. Es scheint, dass der Code für eine ältere Version des Organisationsmodus geschrieben wurde.
Dies ist eine temporäre Lösung, entfernen Sie die Zeile
%Vor%aus Ihrer init-Datei (und starten Sie Emacs neu). Dies wird den Fehler beseitigen.
AKTUALISIEREN
Ich habe (denke ich) eine dauerhafte Lösung für das Problem. Das erste Argument für die Funktion org-remove-empty-drawer-at
ist der Name der zu entfernenden Schublade aus Brent Hansens Einrichtung er möchte leere 'LOGBOOK'-Schubladen entfernen, in diesem Fall ändern Sie die Funktion bh/remove-empty-drawer-on-clock-out
wie folgt
Beachten Sie, dass das Argument "LOGBOOK" zum Aufruf von org-remove-empty-drawer-at
hinzugefügt wurde. Auch jetzt müssen Sie die Zeile nicht entfernen
aus Ihrer Init-Datei.
Dieses Problem trat nach dem Update auf Org-mode version 8.3.3 (8.3.3-51-g30bcff-elpa)
auf. Vor dem Update arbeitete es bereits an meinem Emacs 24.4 (Linux OS, aus Quellen), dank der Antwort von user2053036.
Sieht so aus, als ob der zusätzliche Parameter in dieser Version nicht mehr benötigt wird. Meine Arbeits-Init-Datei sieht nun wie folgt aus:
%Vor%