org-list: fix infinite loop on erroneous block and drawer constructs
* lisp/org-list.el (org-list-struct,org-in-item-p): don't assume end of blocks or drawers necessarily start somewhere. It it isn't the case, treat them as normal text.
This commit is contained in:
parent
1c0d592463
commit
051b5b291c
|
@ -468,10 +468,10 @@ This checks `org-list-ending-method'."
|
|||
(looking-at org-list-end-re))
|
||||
(throw 'exit nil))
|
||||
;; Skip blocks, drawers, inline-tasks, blank lines
|
||||
((looking-at "^[ \t]*#\\+end_")
|
||||
(re-search-backward "^[ \t]*#\\+begin_" nil t))
|
||||
((looking-at "^[ \t]*:END:")
|
||||
(re-search-backward drawers-re nil t)
|
||||
((and (looking-at "^[ \t]*#\\+end_")
|
||||
(re-search-backward "^[ \t]*#\\+begin_" lim-up t)))
|
||||
((and (looking-at "^[ \t]*:END:")
|
||||
(re-search-backward drawers-re lim-up t))
|
||||
(beginning-of-line))
|
||||
((and inlinetask-re (looking-at inlinetask-re))
|
||||
(org-inlinetask-goto-beginning)
|
||||
|
@ -689,10 +689,10 @@ Assume point is at an item."
|
|||
(memq (assq (car beg-cell) itm-lst) itm-lst))))
|
||||
;; Skip blocks, drawers, inline tasks, blank lines
|
||||
;; along the way.
|
||||
((looking-at "^[ \t]*#\\+end_")
|
||||
(re-search-backward "^[ \t]*#\\+begin_" nil t))
|
||||
((looking-at "^[ \t]*:END:")
|
||||
(re-search-backward drawers-re nil t)
|
||||
((and (looking-at "^[ \t]*#\\+end_")
|
||||
(re-search-backward "^[ \t]*#\\+begin_" lim-up t)))
|
||||
((and (looking-at "^[ \t]*:END:")
|
||||
(re-search-backward drawers-re lim-up t))
|
||||
(beginning-of-line))
|
||||
((and inlinetask-re (looking-at inlinetask-re))
|
||||
(org-inlinetask-goto-beginning)
|
||||
|
@ -756,11 +756,11 @@ Assume point is at an item."
|
|||
(throw 'exit (push (cons 0 (point)) end-lst-2)))
|
||||
;; Skip blocks, drawers, inline tasks and blank lines
|
||||
;; along the way
|
||||
((looking-at "^[ \t]*#\\+begin_")
|
||||
(re-search-forward "^[ \t]*#\\+end_")
|
||||
((and (looking-at "^[ \t]*#\\+begin_")
|
||||
(re-search-forward "^[ \t]*#\\+end_" lim-down t))
|
||||
(forward-line 1))
|
||||
((looking-at drawers-re)
|
||||
(re-search-forward "^[ \t]*:END:" nil t)
|
||||
((and (looking-at drawers-re)
|
||||
(re-search-forward "^[ \t]*:END:" lim-down t))
|
||||
(forward-line 1))
|
||||
((and inlinetask-re (looking-at inlinetask-re))
|
||||
(org-inlinetask-goto-end))
|
||||
|
|
Loading…
Reference in New Issue