cquery-project / emacs-cquery

Emacs client for cquery, a low-latency language server supporting multi-million line C++ code-bases
116 stars 14 forks source link

when-let* Symbol's function definition is void #25

Closed anderslanglands closed 6 years ago

anderslanglands commented 6 years ago

Hi, I get the following errors when using emacs-cquery from head:

error in process filter: progn: Symbol’s function definition is void: when-let*
error in process filter: Symbol’s function definition is void: when-let*

This is with emacs 25.3.1. I looked around a bit and it seems these functions were provided by dash, which I've tried installing manually, but I still get the errors.

anderslanglands commented 6 years ago

Modifying the two instances of "when-let" to be "-when-let" in cquery-semantic-highlighting.el fixes the issue.

MaskRay commented 6 years ago

The latest version does not use when-let (which will be an alias of when-let* in the 26 release https://github.com/emacs-mirror/emacs/commit/af4697faa1f5b643f63a9ea61aa205a4c1432e23)

ambihelical commented 6 years ago

@MaskRay There are some additional calls in cquery-tree.el, for example in cquery-tree-quit, cquery-tree-next-sibling, cquery-tree-prev-sibling. Are you saying we need to update to 26 in order for emacs-cquery to function correctly?

MaskRay commented 6 years ago

I checked that when-let* does not exist in 'subr-x.elshipped with Emacs 25, so we should use-when-let*`. Fixed