tkf / emacs-ipython-notebook

IPython notebook client in Emacs
tkf.github.com/emacs-ipython-notebook/
GNU General Public License v3.0
548 stars 51 forks source link

Enabling auto-completion in a notebook -- beginner question #110

Closed stereophonics closed 11 years ago

stereophonics commented 11 years ago

I've just installed EIN and it looks amazing. However, I'm unable to get auto-completion working in a notebook.

I have the following lines in my ~/.emacs (from the documentation): (require 'ein) (setq ein:use-auto-complete t) (setq ein:use-smartrep t)

When I open the notebook, is bound to py-indent-line in python-mode.el and C-c is bound to py-indent-region.

Running M-x ein:completer-complete (or C-c C-i) generates the following error (in Warnings): Error (websocket): in callback `on-message': Symbol's function definition is void: string-prefix-p

I'm running emacs 23.1.1 on a 64-bit Ubuntu box. I am running ipython 1.0.dev and python 2.7.3. The mode-bar for the notebook says (ein:ml AC)

I've spent a bunch of time web searching for answers, but haven't been able to find anything. I'm probably missing something easy. How can I get completion working? And how can I bind it to TAB? Can someone help out?

Thanks in advance!

Also, I enabled the debug mode (following https://github.com/tkf/emacs-ipython-notebook/issues/42) and here's what the Backtrace buffer shows when I type C-c C-i in the notebook after the text "from mat" (looking for matplotlib), I get the following error:

Debugger entered--Lisp error: (void-function string-prefix-p) string-prefix-p(#("mat" 0 3 (fontified t font-lock-face font-lock-keyword-face font-lock-fontified t font-lock-multiline t)) "math") ein:ac-chunk-candidates-from-list(("math" "matplotlib")) ein:ac-direct-get-matches() ac-candidates-1(((candidates . ein:ac-direct-get-matches) (requires . 0) (prefix . ein:ac-chunk-beginning) (symbol . "s"))) ac-candidates() ac-update(t) ac-update-greedy(t) auto-complete-1(:sources (ac-source-ein-direct)) auto-complete((ac-source-ein-direct)) ein:completer-finish-completing-ac("mat" ("math" "matplotlib")) apply(ein:completer-finish-completing-ac "mat" ("math" "matplotlib") nil) ein:completer-finish-completing(nil (:matched_text "mat" :status "ok" :matches ("math" "matplotlib")) nil) apply(ein:completer-finish-completing nil ((:matched_text "mat" :status "ok" :matches ("math" "matplotlib")) nil)) ein:funcall-packed((ein:completer-finish-completing) (:matchedtext "mat" :status "ok" :matches ("math" "matplotlib")) nil) ein:kernel--handle-shell-reply([cl-struct-ein:$kernel 8888 [object ein:events "ein:events" #<hash-table 'eq nil 12/65 0x621b530>] "755eaae7-7ba1-4b97-a7cc-adce23aaf948" [cl-struct-ein:$websocket [cl-struct-websocket open #1 #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell> nil "oGG6EOjEcY2f2kiXaYdK0y/QEGQ=" nil](lambda ... ...) nil ein:kernel--ws-closed-callback (#0 ...) (lambda ... ...) nil nil] [cl-struct-ein:$websocket [cl-struct-websocket open #1 #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#_" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub> nil "+vStvo6dXQKAsJosk+tJR2oYxyA=" nil](lambda ... ...) nil ein:kernel--ws-closed-callback (#0 ...) (lambda ... ...) nil nil] "/kernels" "/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948" "ws://127.0.0.1:8888" t "username" "8b281da0-7033-4115-8b7f-1e67966b442e" #<hash-table 'equal nil 11/65 0x622ae90> ((ein:kernelinfo-update-all . [object ein:kernelinfo "ein:kernelinfo" #0 ... "chl-login-spd01" "/physical/gpfs/chl-firm-home/home_01/data_files/spd/jkoss"]) (ein:pytools-add-sys-path . #0)) ((ein:kernelinfo-update-ccwd . [object ein:kernelinfo "ein:kernelinfo" #0 ... "chl-login-spd01" "/physical/gpfs/chl-firm-home/home_01/data_files/spd/jkoss"]))] "{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}")

(G48003 packet) "ÂJ \"" [G48003 packet ein:kernel--handle-shell-reply] 3

apply(#[(G48003 packet) "ÂJ \"" [G48003 packet ein:kernel--handle-shell-reply] 3] --kernel-- "{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}") (lambda (&rest --cl-rest--) (apply #[... "ÂJ \"" [G48003 packet ein:kernel--handle-shell-reply] 3](quote --kernel--) --cl-rest--))("{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}") apply((lambda (&rest --cl-rest--) (apply #[... "ÂJ \"" [G48003 packet ein:kernel--handle-shell-reply] 3](quote --kernel--) --cl-rest--)) "{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}" nil)

[(ws frame) "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË!

ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6]([cl-struct-websocket open [cl-struct-ein:$websocket #0 %28lambda ... ...%29 nil ein:kernel--ws-closed-callback %28[cl-struct-ein:$kernel 8888 [object ein:events "ein:events" #<hash-table 'eq nil 12/65 0x621b530>] "755eaae7-7ba1-4b97-a7cc-adce23aaf948" #1 [cl-struct-ein:$websocket [cl-struct-websocket open #4 #[... "ÅH >fÆÇ!ÈHÅH >ÆÉ!nÊH6ËfnÅH >2ÆÌ!nÍH"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >fÇÈ!ÉHnÆH >ÇÊ!nÉHÆH>-ÇË! ÉHOfOÌf ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >fÆÇ!ÈHÅH >ÆÉ!nÊH7ËfnÅH >3ÆÌ!nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub> nil "+vStvo6dXQKAsJosk+tJR2oYxyA=" nil] ... nil ein:kernel--ws-closed-callback ... ... nil nil] "/kernels" "/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948" "ws://127.0.0.1:8888" t "username" "8b281da0-7033-4115-8b7f-1e67966b442e" #<hash-table 'equal nil 11/65 0x622ae90> ... ...] ...) (lambda ... ...) nil nil] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[(ws frame) "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell> nil "oGG6EOjEcY2f2kiXaYdK0y/QEGQ=" nil] [cl-struct-websocket-frame text "{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}" 497 t]) apply(#[(ws frame) "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6]([cl-struct-websocket open [cl-struct-ein:$websocket #1 ... nil ein:kernel--ws-closed-callback ... ... nil nil] #[... "ÅH >fÆÇ!ÈHÅH >ÆÉ!nÊH6ËfnÅH >2ÆÌ!nÍH"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >fÇÈ!ÉHnÆH >ÇÊ!nÉHÆH>-ÇË! ÉHOfOÌf ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >fÆÇ!ÈHÅH >ÆÉ!nÊH7ËfnÅH >3ÆÌ!nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell> nil "oGG6EOjEcY2f2kiXaYdK0y/QEGQ=" nil] [cl-struct-websocket-frame text "{"parent_header":{"username":"username","msg_id":"3104e0ad-31cb-43f8-aa14-eb7539907dd7","msg_type":"complete_request","session":"8b281da0-7033-4115-8b7f-1e67966b442e"},"msg_type":"complete_reply","msg_id":"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9","content":{"matches":["math","matplotlib"],"status":"ok","matched_text":"mat"},"header":{"username":"kernel","session":"6f99d6b7-79fe-43cf-af30-1e5d002314f8","msg_id":"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9","msg_type":"completereply"},"metadata":{}}" 497 t])) byte-code("Ã !\n\"" [websocket-callback websocket args apply] 3) websocket-try-callback(websocket-on-message on-message [cl-struct-websocket open [cl-struct-ein:$websocket #0 (lambda ... ...) nil ein:kernel--ws-closed-callback ([cl-struct-ein:$kernel 8888 [object ein:events "ein:events" #<hash-table 'eq nil 12/65 0x621b530>] "755eaae7-7ba1-4b97-a7cc-adce23aaf948" #1 [cl-struct-ein:$websocket [cl-struct-websocket open #4 #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub> nil "+vStvo6dXQKAsJosk+tJR2oYxyA=" nil] ... nil ein:kernel--ws-closed-callback ... ... nil nil] "/kernels" "/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948" "ws://127.0.0.1:8888" t "username" "8b281da0-7033-4115-8b7f-1e67966b442e" #<hash-table 'equal nil 11/65 0x622ae90> ... ...] ...) (lambda ... ...) nil nil] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[(ws frame) "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#_" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell> nil "oGG6EOjEcY2f2kiXaYdK0y/QEGQ=" nil] [cl-struct-websocket-frame text "{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}" 497 t])

[(G61600 G61601) "ÂÃÄJ J$" [G61601 G61600 websocket-try-callback websocket-on-message on-message] 5](--lex-frame-- --lex-ws--)

apply(#[(G61600 G61601) "ÂÃÄJ J$" [G61601 G61600 websocket-try-callback websocket-on-message on-message] 5] --lex-frame-- --lex-ws-- nil) (lambda (&rest --cl-rest--) (apply #[... "ÂÃÄJ J$" [G61601 G61600 websocket-try-callback websocket-on-message on-message] 5](quote --lex-frame--) (quote --lex-ws--) --cl-rest--))() websocket-process-input-on-open-ws([cl-struct-websocket open [cl-struct-ein:$websocket #0 (lambda ... ...) nil ein:kernel--ws-closed-callback ([cl-struct-ein:$kernel 8888 [object ein:events "ein:events" #<hash-table 'eq nil 12/65 0x621b530>] "755eaae7-7ba1-4b97-a7cc-adce23aaf948" #1 [cl-struct-ein:$websocket [cl-struct-websocket open #4 #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub> nil "+vStvo6dXQKAsJosk+tJR2oYxyA=" nil] ... nil ein:kernel--ws-closed-callback ... ... nil nil] "/kernels" "/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948" "ws://127.0.0.1:8888" t "username" "8b281da0-7033-4115-8b7f-1e67966b442e" #<hash-table 'equal nil 11/65 0x622ae90> ... ...] ...) (lambda ... ...) nil nil] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[(ws frame) "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell> nil "oGG6EOjEcY2f2kiXaYdK0y/QEGQ=" nil] "~í{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"completereply\"},\"metadata\":{}}") websocket-outer-filter([cl-struct-websocket open [cl-struct-ein:$websocket #0 (lambda ... ...) nil ein:kernel--ws-closed-callback ([cl-struct-ein:$kernel 8888 [object ein:events "ein:events" #<hash-table 'eq nil 12/65 0x621b530>] "755eaae7-7ba1-4b97-a7cc-adce23aaf948" #1 [cl-struct-ein:$websocket [cl-struct-websocket open #4 #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[... "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[... "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/iopub> nil "+vStvo6dXQKAsJosk+tJR2oYxyA=" nil] ... nil ein:kernel--ws-closed-callback ... ... nil nil] "/kernels" "/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948" "ws://127.0.0.1:8888" t "username" "8b281da0-7033-4115-8b7f-1e67966b442e" #<hash-table 'equal nil 11/65 0x622ae90> ... ...] ...) (lambda ... ...) nil nil] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH6Ë\f\nÅH >2ÆÌ!\nÍH\"" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onopen accessing a non-ein:$websocket" 6 apply "ein:$websocket-onopen-args accessing a non-ein:$websocket" 7] 5] #[(ws frame) "ÆH >\fÇÈ!ÉH\nÆH >ÇÊ!\nÉHÆH>-ÇË! ÉHO\fOÌ\f ÆH>KÇÍ! ÎH#+" [ws cl-struct-websocket-tags frame cl-struct-websocket-frame-tags packet websocket 0 error "websocket-client-data accessing a non-websocket" 2 "websocket-frame-payload accessing a non-websocket-frame" "ein:$websocket-onmessage accessing a non-ein:$websocket" apply "ein:$websocket-onmessage-args accessing a non-ein:$websocket" 3 cl-struct-ein:$websocket-tags it] 6] #[(ws) "ÅH >\fÆÇ!ÈHÅH >ÆÉ!\nÊH7Ë\f\nÅH >3ÆÌ!\nÍH#_" [ws cl-struct-websocket-tags websocket cl-struct-ein:$websocket-tags it 0 error "websocket-client-data accessing a non-websocket" 2 "ein:$websocket-onclose accessing a non-ein:$websocket" 4 apply "ein:$websocket-onclose-args accessing a non-ein:$websocket" 5] 6] websocket-default-error-handler nil nil nil "ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell" nil nil #<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell> nil "oGG6EOjEcY2f2kiXaYdK0y/QEGQ=" nil] "~í{\"parent_header\":{\"username\":\"username\",\"msg_id\":\"3104e0ad-31cb-43f8-aa14-eb7539907dd7\",\"msg_type\":\"complete_request\",\"session\":\"8b281da0-7033-4115-8b7f-1e67966b442e\"},\"msg_type\":\"complete_reply\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"content\":{\"matches\":[\"math\",\"matplotlib\"],\"status\":\"ok\",\"matched_text\":\"mat\"},\"header\":{\"username\":\"kernel\",\"session\":\"6f99d6b7-79fe-43cf-af30-1e5d002314f8\",\"msg_id\":\"c9fff024-ed2d-4dce-aeb3-0fc3b15d89c9\",\"msg_type\":\"complete_reply\"},\"metadata\":{}}")

[(process output) "ÃÄ\"Å \n\")" [process websocket output process-get :websocket websocket-outer-filter] 3](#<process websocket to ws://127.0.0.1:8888/kernels/755eaae7-7ba1-4b97-a7cc-adce23aaf948/shell)

tkf commented 11 years ago

I think Emacs 23.1.1 is too old for EIN. I may be able to fix it by adding some backward compatible functions, but as I don't have 23.1 in my machine, chance is very low. Why not upgrade to 24.x? You will have some other goodies in the latest version of Emacs.

Re: TAB. I think you may not need this when you have AC enabled. Completion happens really "automatically". Completion just pops up when you type something.

stereophonics commented 11 years ago

(Forgot to hit send on Monday)

Ok, I will upgrade. Thanks for the quick response. I'll let you know how it goes, but installing emacs is easier said than done on a machine on which one is not root

No chance the issue is with ipython-1.0.dev?

tkf commented 11 years ago

You have Debugger entered--Lisp error: (void-function string-prefix-p) which means that your Emacs don't have this function but EIN needs it.

stereophonics commented 11 years ago

I defined that function in my .emacs and EIN completion is working now. Thanks!

tkf commented 11 years ago

Congrats. That's actually good to know that EIN works in Emacs 23.1. I couldn't build it so I couldn't test it.

tkf commented 11 years ago

Let me close this as it seems the issue is resolved.

mjanardhan commented 11 years ago

Hi, I am trying to setup EIN with emacs 23.1, could you share your experiences?