tychoish / .emacs.d

Tycho Emacs Config Kit
GNU General Public License v3.0
33 stars 2 forks source link

Symbol's value as variable is void: minibuffer-local-must-match-filename-map #1

Closed hexmode closed 4 years ago

hexmode commented 4 years ago

I'm getting this for things like C-x C-f

tychoish commented 4 years ago

Thanks for the report! I have a few questions:

If you (setq debug-on-error t) we might get more information.

hexmode commented 4 years ago

Do you have any other configuration loaded?

No.

Which version of emacs are you using?

Freshly compiled from git master branch

Is it possible that this error is coming from helm? C-x C-f is bound to something in helm, which makes my first guess that there's a problem with how helm is loaded.

It is possible.... M-: (setq debug-on-error t) RET M-x results in this backtrace buffer:

Debugger entered--Lisp error: (void-variable minibuffer-local-must-match-filename-map)
  #f(compiled-function (var key) #<bytecode 0x116043423b66b469>)(helm-minibuffer-history-key "C-r")
  custom-initialize-reset(helm-minibuffer-history-key (funcall #'#f(compiled-function () #<bytecode 0x1e00001f4e59a>)))
  custom-declare-variable(helm-minibuffer-history-key (funcall #'#f(compiled-function () #<bytecode 0x1e00001f4e59a>)) "The key `helm-minibuffer-history' is bound to in m..." :type (choice (string :tag "Key") (const :tag "no binding")) :group helm-misc :set #f(compiled-function (var key) #<bytecode 0x116043423b66b469>))
  byte-code("\300\301\302\303\304DD\305\306\307\310\311\312\313&\11\210\300\314\302\303\315DD\316\306\317\310\320\312\321&\11\207" [custom-declare-variable helm-minibuffer-history-key funcall function #f(compiled-function () #<bytecode 0x1e00001f4e59a>) "The key `helm-minibuffer-history' is bound to in m..." :type (choice (string :tag "Key") (const :tag "no binding")) :group helm-misc :set #f(compiled-function (var key) #<bytecode 0x116043423b66b469>) helm-command-prefix-key #f(compiled-function () #<bytecode 0x1e0005320e289>) "The key `helm-command-prefix' is bound to in the g..." (choice (string :tag "Key") (const :tag "no binding")) helm-config #f(compiled-function (var key) #<bytecode -0x17c900599b469e23>)] 10)
  require(helm-global-bindings nil t)
  byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306\307\310#\210\300\311\307\310#\203,\0\312\313!\203,\0\313\314!\210\315 \207" [require cl-lib async helm-lib helm-multi-match helm-source helm-global-bindings nil t async-bytecomp fboundp async-bytecomp-package-mode 1 helm--setup-completion-styles-alist] 4)
  require(helm)
  byte-code("\301\302!\210\301\303!\210\301\304!\210\301\305!\210\301\306!\210\307\310\311\312\313\303%\210\314\315\316\317\320DD\321\313\310\322\323&\7\210\314\324\316\317\325DD..." [emacs-major-version require cl-lib helm helm-help helm-mode helm-elisp custom-declare-group helm-command nil "Emacs command related Applications and libraries f..." :group custom-declare-variable helm-M-x-always-save-history funcall function #f(compiled-function () #<bytecode 0x1e0000171e91>) "`helm-M-x' save command in `extended-command-histo..." :type boolean helm-M-x-reverse-history #f(compiled-function () #<bytecode 0x1e0000171e91>) "The history source of `helm-M-x' appear in second ..." helm-command-faces "Customize the appearance of helm-command." :prefix "helm-" helm-faces custom-declare-face helm-M-x-key t append 27 (:extend t) (:foreground "orange" :underline t) "Face used in helm-M-x to show keybinding."] 10)
  autoload-do-load((autoload "helm-command" "Preconfigured `helm' for Emacs commands.\nIt is `he..." t nil) helm-M-x)
  command-execute(helm-M-x)
tychoish commented 4 years ago

Interesting. I've only used this on emacs 27.1, so there might be something different in master.

Are you using my copy of the elpa directory (i.e. have the git submodule checked out)?

hexmode commented 4 years ago

Are you using my copy of the elpa directory (i.e. have the git submodule checked out)?

yes

tychoish commented 4 years ago

I just reproduced this by building emacs28 (master), and was able to fix it by moving the elpa directory to the side.

I've pushed a branch named "emacs28" to the elpa submodule: you should be able to do a git pull and a checkout and get something that works, e.g.

cd ~/.emacs.d/elpa/
git fetch origin
git checkout -b emacs28 origin/emacs28 

You can also remove the submodule and just let emacs rebuild the packaged files on your own. The git submodule is just there to make things faster if it's not helping, it's probably easiest to just remove it.

I'll add a note to the installation instructions in the README in a couple of minutes!

(also thanks for giving me an excuse to play with things to give the whole native-comp thing a try!)