For some reason, fuzzy matching is not working in helm-recentf for me (though it is working everywhere else).

I have the following settings in my .emacs file:

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

I assume that there is some overlap with the functionality of these settings, but I don't see why any of them should mess up helm-recentf-fuzzy-match. Also, I have tried setting only helm-recentf-fuzzy-match to t and removed the other settings, and still no good. Also, when I check the value for helm-recentf-fuzzy-match this is what I get:

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

Am I experiencing a bug, or is there something I need to configure/have configured wrong? Thank you!

Update and details:

I am using Emacs 24.5 and Helm 20150704.1247.

I tried loading up emacs without my init, and only turning on helm mode with fuzzy matching for recentf, and it still doesn't work. On top of that, if I use helm-mini I have fuzzy matching in the Buffers section, but not the Recentf section...

  • 1
    It's working for me. What helm are you using? What Emacs version? Can you bisect your init?
    – PythonNut
    Jul 4, 2015 at 14:14

1 Answer 1


I had the same problem as you: looking at the source for the variable definition it looks like the form he is using to declare it is not valid in Emacs 24 any more:

(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))))

Specifically the :set keyword doesn't seem to be valid so the lambda that redefines the source is never called.

To workaround this I just redeclared the source manually in my init.el file and it worked fine.

;; helm-recentf-fuzzy-match var is broken: redeclare it manually
(setq helm-source-recentf 
  (helm-make-source "Recentf" 'helm-recentf-source
    :fuzzy-match t))
  • Thank you, this is still the only way to make helm-recentf working, at least for me. Oct 29, 2015 at 18:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.