Warum ist Helm-Recentf nicht unscharf?

8

Aus irgendeinem Grund funktioniert Fuzzy Matching helm-recentfbei mir nicht (obwohl es überall anders funktioniert).

Ich habe die folgenden Einstellungen in meiner .emacs-Datei:

(setq helm-recentf-fuzzy-match t
      helm-buffers-fuzzy-matching t
      helm-completion-in-region-fuzzy-match t
      helm-mode-fuzzy-match t)

Ich gehe davon aus, dass es einige Überschneidungen mit der Funktionalität dieser Einstellungen gibt, aber ich verstehe nicht, warum eine davon durcheinander kommen sollte helm-recentf-fuzzy-match. Auch habe ich versucht , Einstellung nur helm-recentf-fuzzy-matchauf tund entfernt die anderen Einstellungen, und immer noch nicht gut. Wenn ich den Wert dafür überprüfe, helm-recentf-fuzzy-matchbekomme ich außerdem Folgendes:

helm-recentf-fuzzy-match is a variable defined in `helm-files.el'. Its value is t Original value was nil

Tritt ein Fehler auf oder muss ich etwas falsch konfigurieren / konfigurieren? Vielen Dank!

Update und Details:

Ich benutze Emacs 24.5 und Helm 20150704.1247 .

Ich habe versucht, Emacs ohne mein Init zu laden und nur den Steuermodus mit Fuzzy-Matching für Recentf zu aktivieren, und es funktioniert immer noch nicht. Darüber hinaus habe ich, wenn ich benutze helm-mini, Fuzzy-Matching im BuffersAbschnitt, aber nicht im RecentfAbschnitt ...

elethan
quelle
1
Es funktioniert für mich. Welchen Helm benutzt du? Welche Emacs-Version? Können Sie Ihren Init halbieren?
PythonNut

Antworten:

6

Ich hatte das gleiche Problem wie Sie: Wenn Sie sich die Quelle für die Variablendefinition ansehen, sieht es so aus, als ob das Formular, mit dem er erklärt, dass es in Emacs 24 nicht mehr gültig ist:

(defcustom helm-recentf-fuzzy-match nil
"Enable fuzzy matching in `helm-source-recentf' when non--nil."
  :group 'helm-files
  :type 'boolean
  :set (lambda (var val)
     (set var val)
     (setq helm-source-recentf
           (helm-make-source "Recentf" 'helm-recentf-source
             :fuzzy-match helm-recentf-fuzzy-match))))

Insbesondere :setscheint das Schlüsselwort nicht gültig zu sein, sodass das Lambda, das die Quelle neu definiert, niemals aufgerufen wird.

Um dies zu umgehen, habe ich die Quelle einfach manuell in meiner init.elDatei neu deklariert und es hat gut funktioniert.

;; helm-recentf-fuzzy-match var is broken: redeclare it manually
(setq helm-source-recentf 
  (helm-make-source "Recentf" 'helm-recentf-source
    :fuzzy-match t))
jkp
quelle
Vielen Dank, dies ist immer noch der einzige Weg, um das Ruder zum Laufen zu bringen, zumindest für mich.
Manuel Uberti