Git Product home page Git Product logo

Comments (27)

samaaron avatar samaaron commented on May 26, 2024

Hi @tanzoniteblack

I'm sorry, I'm unable to duplicate this issue. Could you give me more information about your setup. Do you happen to be using a non US/UK keyboard?

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

The error just started happening today, I'm not sure what I did to cause it, before that everything was working fine.

The error occurs with or without my personal pack loaded.

I did a wipe of my .emacs.d folder and reinstalled emacs-live to see if that would fix the issue, but it made no change.

I'm using a US keyboard, with a US keyboard layout in Ubuntu 12.04 on Emacs 24.2 (built from source).

Anything else you wish to know, or anything I can do to help debug what's going on, let me know.

(On a side note, github shouldn't have the "Close and Comment" button right next to the "comment" button...)

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I guess, the best thing you can do is work out what changed to stop it working....

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

The cause of the problem is apparently yasnippet. If I comment out

(live-load-config-file "yasnippet-conf.el")

from power-pack/init.el, then auto-complete works as expected. This isn't a problem for me, since I don't use yasnippet's functionality anyways, but it is curious as to why I was having this problem with a fresh install of emacs-live, and you can't replicate it.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Oh, interesting. Do you happen to be including your own version of yasnippet anywhere?

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

Not that I know of. There's none sitting in any of the folders specified in my load-path except for the one in packs/live, and locate-library is reporting the yasnippet loaded is in live/power-pack/lib

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Could you try updating to the latest from github and see if the error still persists?

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

Tried updating to the latest from github, and auto-complete still doesn't function correctly when yasnippet is enabled, and works perfectly fine when not loaded. As an experiment, I tried not commenting out the line loading yasnippet, but instead just disabled yas/minor-mode, this also fixes auto-complete.

from emacs-live.

jaycfields avatar jaycfields commented on May 26, 2024

I'm on Ubuntu 12.04 and I see the same behavior - no auto-complete at all

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

How frustrating!

One way to try and coax some more info from the system is to type the beginning of a Clojure fn and then hit M-Shift-: and you should see Eval: in the minibuffer. Simply type (auto-complete) and see if it generates a stacktrace. If so, please could you post it here...

from emacs-live.

jaycfields avatar jaycfields commented on May 26, 2024

removing yasnippet caused autocompletion to work again for me as well.

from emacs-live.

jaycfields avatar jaycfields commented on May 26, 2024

pasting as requested:

Debugger entered--Lisp error: (void-function yas/current-snippet-table)
  (yas/current-snippet-table)
  (if (fboundp (quote yas/snippet-table)) (yas/snippet-table major-mode) (yas/current-snippet-table))
  (let ((table (if (fboundp (quote yas/snippet-table)) (yas/snippet-table major-mode) (yas/current-snippet-table)))) (if table (ac-yasnippet-candidate-1 table)))
  (if (fboundp (quote yas/get-snippet-tables)) (apply (quote append) (mapcar (quote ac-yasnippet-candidate-1) (yas/get-snippet-tables major-mode))) (let ((table (if (fboundp (quote yas/snippet-table)) (yas/snippet-table major-mode) (yas/current-snippet-table)))) (if table (ac-yasnippet-candidate-1 table))))
  (with-no-warnings (if (fboundp (quote yas/get-snippet-tables)) (apply (quote append) (mapcar (quote ac-yasnippet-candidate-1) (yas/get-snippet-tables major-mode))) (let ((table (if (fboundp (quote yas/snippet-table)) (yas/snippet-table major-mode) (yas/current-snippet-table)))) (if table (ac-yasnippet-candidate-1 table)))))
  ac-yasnippet-candidates()
  funcall(ac-yasnippet-candidates)
  (cond ((functionp function) (funcall function)) (t (eval function)))
  (save-excursion (cond ((functionp function) (funcall function)) (t (eval function))))
  (setq candidates (save-excursion (cond ((functionp function) (funcall function)) (t (eval function)))))
  (if cache nil (setq candidates (save-excursion (cond ((functionp function) (funcall function)) (t (eval function))))) (setq candidates (mapcar (lambda (candidate) (if (consp candidate) (propertize (car candidate) (quote value) (cdr candidate)) candidate)) candidates)) (when do-cache (push (cons source candidates) ac-candidates-cache)))
  (unless cache (setq candidates (save-excursion (cond ((functionp function) (funcall function)) (t (eval function))))) (setq candidates (mapcar (lambda (candidate) (if (consp candidate) (propertize (car candidate) (quote value) (cdr candidate)) candidate)) candidates)) (when do-cache (push (cons source candidates) ac-candidates-cache)))
  (let* ((do-cache (assq (quote cache) source)) (function (assoc-default (quote candidates) source)) (action (assoc-default (quote action) source)) (document (assoc-default (quote document) source)) (symbol (assoc-default (quote symbol) source)) (ac-limit (or (assoc-default (quote limit) source) ac-limit)) (face (or (assoc-default (quote face) source) (assoc-default (quote candidate-face) source))) (selection-face (assoc-default (quote selection-face) source)) (cache (and do-cache (assq source ac-candidates-cache))) (candidates (cdr cache))) (unless cache (setq candidates (save-excursion (cond ((functionp function) (funcall function)) (t (eval function))))) (setq candidates (mapcar (lambda (candidate) (if (consp candidate) (propertize (car candidate) (quote value) (cdr candidate)) candidate)) candidates)) (when do-cache (push (cons source candidates) ac-candidates-cache))) (setq candidates (funcall (or (assoc-default (quote match) source) ac-match-function) ac-prefix candidates)) (if (and (integerp ac-limit) (> ac-limit 1) (> (length candidates) ac-limit)) (setcdr (nthcdr (1- ac-limit) candidates) nil)) (setq candidates (mapcar (lambda (candidate) (popup-item-propertize candidate (quote action) action (quote symbol) symbol (quote document) document (quote popup-face) face (quote selection-face) selection-face)) candidates)) candidates)
  ac-candidates-1(((prefix . ac-prefix-default) (depends yasnippet) (candidates . ac-yasnippet-candidates) (action . yas/expand) (candidate-face . ac-yasnippet-candidate-face) (selection-face . ac-yasnippet-selection-face) (symbol . "a")))
  (append candidates (ac-candidates-1 source))
  (setq candidates (append candidates (ac-candidates-1 source)))
  (while (consp --cl-var--) (setq source (car --cl-var--)) (setq candidates (append candidates (ac-candidates-1 source))) (setq --cl-var-- (cdr --cl-var--)))
  (let* ((completion-ignore-case (or (eq ac-ignore-case t) (and (eq ac-ignore-case (quote smart)) (let ((case-fold-search nil)) (not (string-match "[[:upper:]]" ac-prefix)))))) (case-fold-search completion-ignore-case) (prefix-len (length ac-prefix)) (--cl-var-- ac-current-sources) (source nil) (candidates nil)) (while (consp --cl-var--) (setq source (car --cl-var--)) (setq candidates (append candidates (ac-candidates-1 source))) (setq --cl-var-- (cdr --cl-var--))) (progn (delete-dups candidates) (if (and ac-use-comphist ac-comphist) (if ac-show-menu (let* ((pair (ac-comphist-sort ac-comphist candidates prefix-len ac-comphist-threshold)) (n (car pair)) (result (cdr pair)) (cons (if ... ...)) (cdr (cdr cons))) (if cons (setcdr cons nil)) (setq ac-common-part (try-completion ac-prefix result)) (setq ac-whole-common-part (try-completion ac-prefix candidates)) (if cons (setcdr cons cdr)) result) (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) (setq ac-common-part (if candidates (popup-x-to-string (car candidates)))) (setq ac-whole-common-part (try-completion ac-prefix candidates)) candidates) (setq ac-common-part (try-completion ac-prefix candidates)) (setq ac-whole-common-part ac-common-part) candidates)))
  (catch (quote --cl-block-nil--) (let* ((completion-ignore-case (or (eq ac-ignore-case t) (and (eq ac-ignore-case (quote smart)) (let (...) (not ...))))) (case-fold-search completion-ignore-case) (prefix-len (length ac-prefix)) (--cl-var-- ac-current-sources) (source nil) (candidates nil)) (while (consp --cl-var--) (setq source (car --cl-var--)) (setq candidates (append candidates (ac-candidates-1 source))) (setq --cl-var-- (cdr --cl-var--))) (progn (delete-dups candidates) (if (and ac-use-comphist ac-comphist) (if ac-show-menu (let* ((pair ...) (n ...) (result ...) (cons ...) (cdr ...)) (if cons (setcdr cons nil)) (setq ac-common-part (try-completion ac-prefix result)) (setq ac-whole-common-part (try-completion ac-prefix candidates)) (if cons (setcdr cons cdr)) result) (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) (setq ac-common-part (if candidates (popup-x-to-string ...))) (setq ac-whole-common-part (try-completion ac-prefix candidates)) candidates) (setq ac-common-part (try-completion ac-prefix candidates)) (setq ac-whole-common-part ac-common-part) candidates))))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((completion-ignore-case (or (eq ac-ignore-case t) (and (eq ac-ignore-case ...) (let ... ...)))) (case-fold-search completion-ignore-case) (prefix-len (length ac-prefix)) (--cl-var-- ac-current-sources) (source nil) (candidates nil)) (while (consp --cl-var--) (setq source (car --cl-var--)) (setq candidates (append candidates (ac-candidates-1 source))) (setq --cl-var-- (cdr --cl-var--))) (progn (delete-dups candidates) (if (and ac-use-comphist ac-comphist) (if ac-show-menu (let* (... ... ... ... ...) (if cons ...) (setq ac-common-part ...) (setq ac-whole-common-part ...) (if cons ...) result) (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) (setq ac-common-part (if candidates ...)) (setq ac-whole-common-part (try-completion ac-prefix candidates)) candidates) (setq ac-common-part (try-completion ac-prefix candidates)) (setq ac-whole-common-part ac-common-part) candidates)))))
  (block nil (let* ((completion-ignore-case (or (eq ac-ignore-case t) (and (eq ac-ignore-case (quote smart)) (let (...) (not ...))))) (case-fold-search completion-ignore-case) (prefix-len (length ac-prefix)) (--cl-var-- ac-current-sources) (source nil) (candidates nil)) (while (consp --cl-var--) (setq source (car --cl-var--)) (setq candidates (append candidates (ac-candidates-1 source))) (setq --cl-var-- (cdr --cl-var--))) (progn (delete-dups candidates) (if (and ac-use-comphist ac-comphist) (if ac-show-menu (let* ((pair ...) (n ...) (result ...) (cons ...) (cdr ...)) (if cons (setcdr cons nil)) (setq ac-common-part (try-completion ac-prefix result)) (setq ac-whole-common-part (try-completion ac-prefix candidates)) (if cons (setcdr cons cdr)) result) (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) (setq ac-common-part (if candidates (popup-x-to-string ...))) (setq ac-whole-common-part (try-completion ac-prefix candidates)) candidates) (setq ac-common-part (try-completion ac-prefix candidates)) (setq ac-whole-common-part ac-common-part) candidates))))
  (loop with completion-ignore-case = (or (eq ac-ignore-case t) (and (eq ac-ignore-case (quote smart)) (let ((case-fold-search nil)) (not (string-match "[[:upper:]]" ac-prefix))))) with case-fold-search = completion-ignore-case with prefix-len = (length ac-prefix) for source in ac-current-sources append (ac-candidates-1 source) into candidates finally return (progn (delete-dups candidates) (if (and ac-use-comphist ac-comphist) (if ac-show-menu (let* ((pair (ac-comphist-sort ac-comphist candidates prefix-len ac-comphist-threshold)) (n (car pair)) (result (cdr pair)) (cons (if ... ...)) (cdr (cdr cons))) (if cons (setcdr cons nil)) (setq ac-common-part (try-completion ac-prefix result)) (setq ac-whole-common-part (try-completion ac-prefix candidates)) (if cons (setcdr cons cdr)) result) (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) (setq ac-common-part (if candidates (popup-x-to-string (car candidates)))) (setq ac-whole-common-part (try-completion ac-prefix candidates)) candidates) (setq ac-common-part (try-completion ac-prefix candidates)) (setq ac-whole-common-part ac-common-part) candidates)))
  ac-candidates()
  (setq ac-candidates (ac-candidates))
  (progn (ac-put-prefix-overlay) (setq ac-candidates (ac-candidates)) (let ((preferred-width (popup-preferred-width ac-candidates))) (when (or (null ac-menu) (>= (popup-width ac-menu) preferred-width) (<= (popup-width ac-menu) (- preferred-width 10)) (and (> (popup-direction ac-menu) 0) (ac-menu-at-wrapper-line-p))) (ac-inline-hide) (ac-menu-delete) (ac-menu-create ac-point preferred-width ac-menu-height))) (ac-update-candidates 0 0) t)
  (if (and auto-complete-mode ac-prefix (or ac-triggered force) (not isearch-mode)) (progn (ac-put-prefix-overlay) (setq ac-candidates (ac-candidates)) (let ((preferred-width (popup-preferred-width ac-candidates))) (when (or (null ac-menu) (>= (popup-width ac-menu) preferred-width) (<= (popup-width ac-menu) (- preferred-width 10)) (and (> (popup-direction ac-menu) 0) (ac-menu-at-wrapper-line-p))) (ac-inline-hide) (ac-menu-delete) (ac-menu-create ac-point preferred-width ac-menu-height))) (ac-update-candidates 0 0) t))
  (when (and auto-complete-mode ac-prefix (or ac-triggered force) (not isearch-mode)) (ac-put-prefix-overlay) (setq ac-candidates (ac-candidates)) (let ((preferred-width (popup-preferred-width ac-candidates))) (when (or (null ac-menu) (>= (popup-width ac-menu) preferred-width) (<= (popup-width ac-menu) (- preferred-width 10)) (and (> (popup-direction ac-menu) 0) (ac-menu-at-wrapper-line-p))) (ac-inline-hide) (ac-menu-delete) (ac-menu-create ac-point preferred-width ac-menu-height))) (ac-update-candidates 0 0) t)
  ac-update(t)
  (setq result (ac-update force))
  (and (setq result (ac-update force)) (null ac-candidates))
  (if (and (setq result (ac-update force)) (null ac-candidates)) (progn (add-to-list (quote ac-ignoring-prefix-def) ac-current-prefix-def) (ac-start :force-init t) ac-current-prefix-def))
  (when (and (setq result (ac-update force)) (null ac-candidates)) (add-to-list (quote ac-ignoring-prefix-def) ac-current-prefix-def) (ac-start :force-init t) ac-current-prefix-def)
  (while (when (and (setq result (ac-update force)) (null ac-candidates)) (add-to-list (quote ac-ignoring-prefix-def) ac-current-prefix-def) (ac-start :force-init t) ac-current-prefix-def))
  (let (result) (while (when (and (setq result (ac-update force)) (null ac-candidates)) (add-to-list (quote ac-ignoring-prefix-def) ac-current-prefix-def) (ac-start :force-init t) ac-current-prefix-def)) result)
  ac-update-greedy(t)
  (if (ac-update-greedy t) (progn (if (ac-inline-live-p) (ac-inline-hide)) (when (and (or (and (not ac-expand-on-auto-complete) (> (length ac-candidates) 1) (not menu-live)) (not (let (...) (ac-expand-common)))) ac-use-fuzzy (null ac-candidates)) (ac-fuzzy-complete))))
  (when (ac-update-greedy t) (if (ac-inline-live-p) (ac-inline-hide)) (when (and (or (and (not ac-expand-on-auto-complete) (> (length ac-candidates) 1) (not menu-live)) (not (let ((ac-common-part ac-whole-common-part)) (ac-expand-common)))) ac-use-fuzzy (null ac-candidates)) (ac-fuzzy-complete)))
  (let ((menu-live (ac-menu-live-p)) (inline-live (ac-inline-live-p))) (ac-abort) (let ((ac-sources (or sources ac-sources))) (if (or ac-show-menu-immediately-on-auto-complete inline-live) (setq ac-show-menu t)) (ac-start)) (when (ac-update-greedy t) (if (ac-inline-live-p) (ac-inline-hide)) (when (and (or (and (not ac-expand-on-auto-complete) (> (length ac-candidates) 1) (not menu-live)) (not (let (...) (ac-expand-common)))) ac-use-fuzzy (null ac-candidates)) (ac-fuzzy-complete))))
  auto-complete()
  eval((auto-complete) nil)
  eval-expression((auto-complete) nil)
  call-interactively(eval-expression nil nil)

from emacs-live.

jaycfields avatar jaycfields commented on May 26, 2024

the fn that I was typing was (count). When I type (cou) I see "Namespace not found." in the minibuffer.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

The Namespace not found behaviour is due to modifications I made to nrepl.el which now dynamically infers the namespace to evaluate code in from the ns declaration from the top of the buffer (defaulting to user when there's no ns declaration). This has the joyful side-effect of not having to kill buffers between JVM boots as is the current case with nrepl.el.

Therefore Emacs is reporting Namespace not found when you're attempting to evaluate code in a buffer for which there is a ns declaration but where the namespace itself hasn't been created in the Clojure process. To fix this, just evaluate the ns form directly.

from emacs-live.

jaycfields avatar jaycfields commented on May 26, 2024

cool. after a C-c C-k "Namespace not found" stopped appearing.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Weird, looks like Emacs is somehow pulling in an old version of yasnippet. Could you evaluate this var in a scratch buffer: yas--version and report back the result?

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

0.8.0 (beta)

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Hmm, the whole yasnippet autocomplete mechanism seems totally broken and needs updating for the latest version of yasnippet. I recommend disabling yasnippet for now and I'll see if I can figure out an easy way to fix things up. However, it'll have to wait until next week as I have an Overtone gig in Prague this weekend.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

So it seems that somehow ac-source-yasnippet is in your ac-sources list, and not mine. Could you verify this by reporting back with the buffer-local value of ac-sources from in the context of the scratch buffer?

i.e. evaluate ac-sources in your scratch buffer

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

If I add ac-source-yasnippet to my ac-sources I see the same error as you guys. Duplication is one step closer to fixing!

from emacs-live.

jaycfields avatar jaycfields commented on May 26, 2024

in my scratch I did C-u C-x C-e on 'ac-soures' and it spit out what's below.

(ac-source-dictionary ac-source-words-in-buffer ac-source-words-in-same-mode-buffers ac-source-words-in-all-buffer ac-source-semantic)

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

My ac-sources aren't identical to @jaycfields, here's mine:

(ac-source-features ac-source-functions ac-source-yasnippet ac-source-variables ac-source-symbols ac-source-filename ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers)

Additional information: Simply removing ac-source-yasnippet from my ac-sources doesn't fix the problem.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I've just updated the dev packs to use the latest autocomplete code. I haven't tested it out for long enough to be confident to push it out to the live packs, but if you're interested in trying out the dev packs - let me know if this fixes things...

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

This stuff is now all pushed to the live packs. Let me know if you're still seeing issues...

from emacs-live.

tanzoniteblack avatar tanzoniteblack commented on May 26, 2024

Latest updates fix this problem for me. Thanks for the great work!

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Fantastic :-)

from emacs-live.

amanas avatar amanas commented on May 26, 2024

It was fixed for me by using this profiles.clj:

{:user {:plugins [[cider/cider-nrepl "0.9.1"]
[refactor-nrepl "1.1.0"]]
:dependencies [[org.clojure/tools.nrepl "0.2.7"]]}}

No idea the reason why.

from emacs-live.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.