millejoh / emacs-ipython-notebook

Jupyter notebook client in Emacs
http://millejoh.github.io/emacs-ipython-notebook/
GNU General Public License v3.0
1.47k stars 123 forks source link

new cell is bugged when created. #892

Open Charlescad opened 5 months ago

Charlescad commented 5 months ago

Hello, When i create a new cell via ein:worksheet-insert-cell-below-km, it sometimes create a new cell in the sense that I see "In [ ]:" but it is not possible to write anything and the indow to enter text below does not appear. It does not happen everytime but randomly. Once it happened, it is very unconvenient: I cannot kill, nor save the buffer any longer! When i try to save for instance I get:

Unbound slot: ein:codecell, "#<ein:codecell ein:codecell-8ab6b31f44>", input, oref

emac-ein-bug-report

More precisely when I try to add a new cell (ein:worksheet-insert-cell-below) I get:

ein:worksheet-insert-cell-below-km: Wrong type argument: number-or-marker-p, nil

This is what a "toggle-debug-on-error" gives me:

`Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) poly-ein--relative-to-input(19 #)

f(compiled-function (cm &optional pos) "Return a list of the form (TYPE POS-START POS-END RESULT-CM).\n\nTYPE can be \='body, nil." #<bytecode 0x1b8e40a8a81d00b6>)(# 19)

apply(#f(compiled-function (cm &optional pos) "Return a list of the form (TYPE POS-START POS-END RESULT-CM).\n\nTYPE can be \='body, nil." #<bytecode 0x1b8e40a8a81d00b6>) # 19) pm-get-span(# 19) pm--get-intersected-span(# 19) pm--innermost-span(# 19) pm-innermost-span(19) pm--lsp-position(19) polymode-before-change(19 19)

f(compiled-function (cell) "Insert input of the CELL in the buffer.\n Called from ewoc pretty printer via `ein:cell-pp'." #<bytecode 0x5d8a7e3203a7495>)(#)

apply(#f(compiled-function (cell) "Insert input of the CELL in the buffer.\n Called from ewoc pretty printer via `ein:cell-pp'." #<bytecode 0x5d8a7e3203a7495>) # nil) ein:cell-insert-input(#) ein:cell-pp((input) #) ein:worksheet-pp(#s(ein:$node :path (cell input) :data # :class nil)) ewoc--refresh-node(ein:worksheet-pp [[[[[[[... #7 DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #6 #("\n" 0 1 ...) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #5 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #4 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 [#5 [#6 [#7 ... ... #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [[[[[[[... #8 ... #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #7 #s(ein:$node :path ... :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #6 #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #5 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #4 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#3 [#4 [#5 [#6 [#7 [#8 ... ... #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>]) ewoc--insert-new-node([[[[[[[... #6 ... #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #5 #s(ein:$node :path ... :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #4 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #1 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#1 [#2 [#3 [#4 [#5 [#6 ... ... #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) ein:worksheet-pp [[[[[[[... #9 ... #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #8 #s(ein:$node :path ... :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #7 #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #6 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #5 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #4 "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#4 [#5 [#6 [#7 [#8 [#9 ... ... #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>]) ewoc-enter-before(#s(ewoc :buffer #<buffer ein: http://127.0.0.1:8888/Untitled9.ipynb> :pretty-printer ein:worksheet-pp :header [[[[... #4 ... #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :footer [[[[... #4 ... #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path ... :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 ...) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :dll [[[[... #4 ... #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path ... :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :last-node [[[[... #4 DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #("\n" 0 1 ...) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :hf-pp insert) [[[[[... #5 ... #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #4 #s(ein:$node :path ... :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 [#5 ... ... #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil)) ewoc-enter-after(#s(ewoc :buffer #<buffer ein: http://127.0.0.1:8888/Untitled9.ipynb> :pretty-printer ein:worksheet-pp :header [[[[... #4 ... #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :footer [[[[... #4 ... #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path ... :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 ...) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :dll [[[[... #4 ... #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path ... :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #("\n" 0 1 (read-only t front-sticky t)) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :last-node [[[[... #4 DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #("\n" 0 1 ...) #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 ... ... #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path ... :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] :hf-pp insert) [[[[[... #5 ... #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #4 #s(ein:$node :path ... :data # :class nil) #<marker at 2 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #3 #s(ein:$node :path (cell input) :data # :class nil) #<marker at 9 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #2 #s(ein:$node :path (cell footer) :data # :class nil) #<marker at 11 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] [#2 [#3 [#4 [#5 ... ... #<marker at 1 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] DL-LIST #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] "" #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil) #<marker at 19 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell prompt) :data # :class nil) #<marker at 12 in ein: http://127.0.0.1:8888/Untitled9.ipynb>] #s(ein:$node :path (cell input) :data # :class nil))

f(compiled-function (&rest path) #<bytecode -0x8a399f48eca559c>)(input)

ein:cell-make-element(#f(compiled-function (&rest path) #<bytecode -0x8a399f48eca559c>) 0)

f(compiled-function (base-cell other-cell) #<bytecode -0x53645f434d7d68a>)(# #)

apply(#f(compiled-function (base-cell other-cell) #<bytecode -0x53645f434d7d68a>) # #) ein:cell-insert-below(# #) ein:worksheet-insert-cell-below(# code # t) funcall-interactively(ein:worksheet-insert-cell-below # code # t) call-interactively(ein:worksheet-insert-cell-below) ein:worksheet-insert-cell-below-km() funcall-interactively(ein:worksheet-insert-cell-below-km) command-execute(ein:worksheet-insert-cell-below-km) `