Hi Nicolas, * Nicolas Goaziou <m...@nicolasgoaziou.fr> [2018-05-07; 14:37]: > I cannot reproduce the issue. It seems to be with "org-list.el". > > Could you do it again, this time after loading Org uncompiled? I need > the backtrace to step into `org-list-insert-item'.
Sure: 1. hdf ds gjdfg dzg vizdgvzu uid vjudgfvkjui dkjui uiv dfu du sjuds gdhfj dhfg vhjf df dfkjh vkjM-RET Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil) goto-char(nil) (progn (goto-char pos) (goto-char (org-list-get-item-begin))) (let* ((item (progn (goto-char pos) (goto-char (org-list-get-item-begin)))) (item-end (org-list-get-item-end item struct)) (item-end-no-blank (org-list-get-item-end-before-blank item struct)) (beforep (progn (looking-at org-list-full-item-re) (<= pos (cond ((not (match-beginning 4)) (match-end 0)) ((let ((save-match-data-internal (match-data))) (unwind-protect (progn (string-match "[.)]" (match-string 1))) (set-match-data save-match-data-internal 'evaporate))) (match-beginning 4)) (t (save-excursion (goto-char (match-end 4)) (skip-chars-forward " \11") (point))))))) (split-line-p (org-get-alist-option org-M-RET-may-split-line 'item)) (blank-nb (org-list-separating-blank-lines-number pos struct prevs)) (ind (org-list-get-ind item struct)) (ind-size (if indent-tabs-mode (+ (/ ind tab-width) (mod ind tab-width)) ind)) (bullet (org-list-bullet-string (org-list-get-bullet item struct))) (box (if checkbox (progn "[ ]"))) (text-cut (and (not beforep) split-line-p (progn (goto-char pos) (if (< item-end pos) (progn (delete-region (1- item-end) (point-at-eol)))) (skip-chars-backward " \15\11\n") (setq pos (point)) (delete-and-extract-region pos item-end-no-blank)))) (body (concat bullet (if box (progn (concat box " "))) after-bullet (and text-cut (if (string-match "\\`[ \11]+" text-cut) (replace-match "" t t text-cut) text-cut)))) (item-sep (make-string (1+ blank-nb) 10)) (item-size (+ ind-size (length body) (length item-sep))) (size-offset (- item-size (length text-cut)))) (goto-char item) (indent-to-column ind) (insert body item-sep) (mapc (function (lambda (e) (let ((p (car e)) (end (nth 6 e))) (cond ((< p item) (if (> end item) (progn (setcar (nthcdr 6 e) (+ end size-offset))))) ((or beforep (not split-line-p)) (setcar e (+ p item-size)) (setcar (nthcdr 6 e) (+ end item-size))) ((< p pos) (setcar e (+ p item-size)) (if (< end pos) (setcar (nthcdr 6 e) (+ end item-size)) (setcar (nthcdr 6 e) (+ end size-offset)))) ((< p item-end) (setcar e (+ p size-offset (- item pos (length item-sep)))) (if (= end item-end) (setcar (nthcdr 6 e) (+ item item-size)) (setcar (nthcdr 6 e) (+ end size-offset (- item pos (length item-sep)))))) (t (setcar e (+ p size-offset)) (setcar (nthcdr 6 e) (+ end size-offset))))))) struct) (setq struct (cons (list item ind bullet nil box nil (+ item item-size)) struct)) (setq struct (sort struct (function (lambda (e1 e2) (< (car e1) (car e2)))))) (if beforep (goto-char item) (setq struct (org-list-swap-items item (+ item item-size) struct)) (goto-char (org-list-get-next-item item struct (org-list-prevs-alist struct)))) struct) (let ((case-fold-search t)) (let* ((item (progn (goto-char pos) (goto-char (org-list-get-item-begin)))) (item-end (org-list-get-item-end item struct)) (item-end-no-blank (org-list-get-item-end-before-blank item struct)) (beforep (progn (looking-at org-list-full-item-re) (<= pos (cond ((not (match-beginning 4)) (match-end 0)) ((let ((save-match-data-internal (match-data))) (unwind-protect (progn (string-match "[.)]" (match-string 1))) (set-match-data save-match-data-internal 'evaporate))) (match-beginning 4)) (t (save-excursion (goto-char (match-end 4)) (skip-chars-forward " \11") (point))))))) (split-line-p (org-get-alist-option org-M-RET-may-split-line 'item)) (blank-nb (org-list-separating-blank-lines-number pos struct prevs)) (ind (org-list-get-ind item struct)) (ind-size (if indent-tabs-mode (+ (/ ind tab-width) (mod ind tab-width)) ind)) (bullet (org-list-bullet-string (org-list-get-bullet item struct))) (box (if checkbox (progn "[ ]"))) (text-cut (and (not beforep) split-line-p (progn (goto-char pos) (if (< item-end pos) (progn (delete-region (1- item-end) (point-at-eol)))) (skip-chars-backward " \15\11\n") (setq pos (point)) (delete-and-extract-region pos item-end-no-blank)))) (body (concat bullet (if box (progn (concat box " "))) after-bullet (and text-cut (if (string-match "\\`[ \11]+" text-cut) (replace-match "" t t text-cut) text-cut)))) (item-sep (make-string (1+ blank-nb) 10)) (item-size (+ ind-size (length body) (length item-sep))) (size-offset (- item-size (length text-cut)))) (goto-char item) (indent-to-column ind) (insert body item-sep) (mapc (function (lambda (e) (let ((p (car e)) (end (nth 6 e))) (cond ((< p item) (if (> end item) (progn (setcar (nthcdr 6 e) (+ end size-offset))))) ((or beforep (not split-line-p)) (setcar e (+ p item-size)) (setcar (nthcdr 6 e) (+ end item-size))) ((< p pos) (setcar e (+ p item-size)) (if (< end pos) (setcar (nthcdr 6 e) (+ end item-size)) (setcar (nthcdr 6 e) (+ end size-offset)))) ((< p item-end) (setcar e (+ p size-offset (- item pos (length item-sep)))) (if (= end item-end) (setcar (nthcdr 6 e) (+ item item-size)) (setcar (nthcdr 6 e) (+ end size-offset (- item pos (length item-sep)))))) (t (setcar e (+ p size-offset)) (setcar (nthcdr 6 e) (+ end size-offset))))))) struct) (setq struct (cons (list item ind bullet nil box nil (+ item item-size)) struct)) (setq struct (sort struct (function (lambda (e1 e2) (< (car e1) (car e2)))))) (if beforep (goto-char item) (setq struct (org-list-swap-items item (+ item item-size) struct)) (goto-char (org-list-get-next-item item struct (org-list-prevs-alist struct)))) struct)) org-list-insert-item(619 ((515 0 "1. " nil nil nil 620)) ((515)) nil nil) (setq struct (org-list-insert-item (point) struct prevs checkbox desc)) (let* ((struct (save-excursion (goto-char item\?) (orgalist--struct))) (prevs (org-list-prevs-alist struct)) (desc (and (eq 'descriptive (org-list-get-list-type item\? struct prevs)) " :: "))) (setq struct (org-list-insert-item (point) struct prevs checkbox desc)) (org-list-write-struct struct (org-list-parents-alist struct)) (looking-at orgalist--item-re) (goto-char (if (and (match-beginning 4) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (string-match "\\." (match-string 1))) (set-match-data save-match-data-internal 'evaporate)))) (match-beginning 4) (match-end 0))) (if desc (progn (backward-char 1)))) (let ((item\? (orgalist--in-item-p))) (if item\? nil (user-error "Not in a list")) (let* ((struct (save-excursion (goto-char item\?) (orgalist--struct))) (prevs (org-list-prevs-alist struct)) (desc (and (eq 'descriptive (org-list-get-list-type item\? struct prevs)) " :: "))) (setq struct (org-list-insert-item (point) struct prevs checkbox desc)) (org-list-write-struct struct (org-list-parents-alist struct)) (looking-at orgalist--item-re) (goto-char (if (and (match-beginning 4) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (string-match "\\." (match-string 1))) (set-match-data save-match-data-internal 'evaporate)))) (match-beginning 4) (match-end 0))) (if desc (progn (backward-char 1))))) orgalist-insert-item(nil) funcall-interactively(orgalist-insert-item nil) call-interactively(orgalist-insert-item nil nil) command-execute(orgalist-insert-item) Thanks for your persitence, Gregor