Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Counsel threw bunch of errors when installing from MELPA Stable #1677

TRSx80 opened this issue Jul 20, 2018 · 3 comments

Counsel threw bunch of errors when installing from MELPA Stable #1677

TRSx80 opened this issue Jul 20, 2018 · 3 comments


Copy link

TRSx80 commented Jul 20, 2018

I was following instructions here, specifically doing package-install counsel which it says will pull in ivy and swiper as dependencies (which it seemed to). However Counsel threw off these errors:

Warning: the following functions are not known to be defined: elisp-eldoc-documentation-function, elisp-completion-at-point, directory-files-recursively, irony-completion-candidates-async, irony-completion-symbol-bounds, irony-completion-annotation

Everything else looked alright, except for Swiper throwing a Warning: Unused lexical variable 'inhibit-message' [1] which didn't seem to me like as big of a deal. But what do I know?

Happy to provide full log, or anything else needed.

This was version 0.10.0 from MELPA Stable just now. GNU Emacs version from Help is: GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-12 on hullmann, modified by Debian

Note 1: actually a backtick before inhibit, but I couldn't figure out how to escape it out here on Github.

Copy link

basil-conto commented Jul 21, 2018

However Counsel threw off these errors:

Those are byte-compiler warnings, not errors.

Both sets of warnings (actually, there should also be a warning about minibuffer-keyboard-quit in your byte-compilation log) are known and due to ivy.el, swiper.el, and counsel.el making use of features not present in your Emacs version.

The warning about inhibit-message (which was added in Emacs 25.1) is harmless, as lexically binding an as-of-yet unknown and subsequently unused variable has no effect. By using an Emacs version without inhibit-message, it's likely you'll have some messages appear in the echo area at inconvenient times, but nothing will break.

The first three counsel.el warnings are due to #1579. The rest are due to the byte-compiler not knowing whether functions from an external package are actually defined. The calls to declare-function (see (elisp) Declaring Functions) are there, but appear after the calls to the corresponding functions. In other words, the byte-compiler in Emacs 24.5 emits warnings too eagerly. I'll submit a PR fixing this shortly.

P.S. Debian Stretch (current Stable) has been packaging Emacs 25.1 for a while now; I recommend upgrading to it if you're able to, as it comes with many important fixes and improvements, and many external packages either don't care much about or don't support earlier versions.

Copy link

TRSx80 commented Jul 23, 2018

Thanks for the knowledgeable reply @basil-conto!

I had suspected as much, but figured I'd report my experience anyway.

@abo-abo I was remiss in thanking you in my OP for creating and sharing such a helpful tool! :)

Copy link

abo-abo commented Jul 23, 2018

@TRSx80 You're welcome.
@basil-conto Thanks, as always.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

No branches or pull requests

3 participants