senny / cabbage

get the maximum out of emacs
http://senny.github.com/cabbage/
156 stars 21 forks source link

lisp completion not working properly #101

Closed senny closed 12 years ago

senny commented 12 years ago

Since the redesign of the completion bundle lisp completion feels broken when using 'none as e-max-completion-framework

It should allow to complete all known symbols not just the ones open in buffers.

senny commented 12 years ago

@jone what do you think about this one? Even when writing just a few lines of elisp I get pretty frustrated about this one...

jone commented 12 years ago

I've added a fix, I think it should work now as expected.

senny commented 12 years ago

@jone this did not do the trick for me... I still can't complete lisp-symbols, which are not visible in any of the buffers.

jone commented 12 years ago

@senny oh, I fixed completing symbols which are in other open buffers, that didn't work for me before. I think I got it wrong ;)

jone commented 12 years ago

dabbrev-expand does not support it, but with hippie-expand (http://www.emacswiki.org/emacs/HippieExpand) it works. We could either drop dabbrev-expand and replace it with hippie-expand (which would make it default) or add hippie-expand as additional completion framework. I'd prefer the former, since hippie-expand is very similar to dabbrev-expand and I see no disadvantage such as speed..

What do you think?

senny commented 12 years ago

@jone I'm not quite sure if that is the way to go. I mean we had lisp-completion before... It got removed by the refactoring of the completion system. I'm not sure what has changed but I really liked the previous behavior of C-SPC which completed lisp-symbols. I've used hippie-expand several years ago and I had many difficulties getting it to behave the way I wanted and stopped using it eventually. I think we should restore the previous behavior before looking for other options.

jone commented 12 years ago

@senny are you sure this ever worked with dabbrev-expand? I remember it worked with AC, but I'm not sure about dabbrev. I tested some old e-max commits but couldn't find any commit after moving from AC to dabbrev where it worked, so I don't think that it ever worked this way. :-/

senny commented 12 years ago

@jone that's possible. I still would not go in the direction of using hippie-expand. We should make the "fast-completion-function" like dabbrev-expand configurable per major-mode. The function it should call in lisp-buffers is: lisp-complete-symbol

jone commented 12 years ago

@senny check out my commit (on lisp-completion branch). I'm not sure about how to detect lisp buffers, is there a better approach? Could you test it and merge if it's okay for you?

senny commented 12 years ago

closed in favor of #106