From: Ken Manheimer Date: Mon, 6 Jul 2020 18:18:57 +0000 (-0400) Subject: Backport: Don't let item decoration be disrupted by too-shallow items. X-Git-Tag: emacs-27.1-rc1~23 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3071cecda070b0a4808eeca8009a5dc088606ec6;p=emacs.git Backport: Don't let item decoration be disrupted by too-shallow items. * lisp/allout-widgets.el (allout-decorate-item-and-context): Check for parent-position having value before using it. Also, shift local emacs vars topic deeper so it doesn't constitute an instance of that particular aberrant case. (cherry picked from commit 8684216542889fa57daa32072104afc69785907f) --- diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el index 3c6a05cbbce..e7750b3606e 100644 --- a/lisp/allout-widgets.el +++ b/lisp/allout-widgets.el @@ -1594,7 +1594,10 @@ We return the item-widget corresponding to the item at point." (if is-container (progn (widget-put item-widget :is-container t) (setq reverse-siblings-chart (list 1))) - (goto-char (widget-apply parent :actual-position :from)) + (let ((parent-position (widget-apply parent + :actual-position :from))) + (when parent-position + (goto-char parent-position))) (if (widget-get parent :is-container) ;; `allout-goto-prefix' will go to first non-container item: (allout-goto-prefix) @@ -2388,7 +2391,7 @@ The elements of LIST are not copied, just the list structure itself." ;;;_ : provide (provide 'allout-widgets) -;;;_. Local emacs vars. -;;;_ , Local variables: -;;;_ , allout-layout: (-1 : 0) -;;;_ , End: +;;;_ . Local emacs vars. +;;;_ , Local variables: +;;;_ , allout-layout: (-1 : 0) +;;;_ , End: