"J.D. Smith" <[email protected]> writes:

> Sorry that got cutoff. I've pushed a change to ensure all local state is
> reset and removed during reset-all (including auto-unhide), so any
> `setopt' change should now update live (please test).  You do need,
> e.g.:
>
>  (setopt org-inside-appearance
>          (plist-put org-inside-appearance :face 'org-inside-face))
>
> etc.

Seems to be working.

>> 2. With org file containing just
>> [[foo][bar *asd* a]]
>> and org-inside activated, moving the point towards asd will trigger
>> infinite error.
>
> This works fine for me.  Is this from emacs -Q or using your config?

1. make repro
2. M-x org-mode RET
3. M-x org-inside-mode RET
4. Type [[foo][bar]]
5. Move cursor to [[foo][bar|]]
6. Type " *bold*", so that you end up with [[foo][bar *bold*|]]
7. Observe

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  <=(nil 165 nil)
  (if (<= b (point) e) (progn (setq beg2 b) (setq end2 e)) (if (> (length 
elems) 2) (progn (let* ((val (org-inside--visible-region (car ...)))) (progn 
(ignore (consp val)) (let* ((x623 ...) (x624 ...)) (progn (setq beg2 x623) 
(setq end2 x624))))))))
  (let ((b x621) (e x622)) (if (<= b (point) e) (progn (setq beg2 b) (setq end2 
e)) (if (> (length elems) 2) (progn (let* ((val (org-inside--visible-region 
...))) (progn (ignore (consp val)) (let* (... ...) (progn ... ...))))))))
  (let* ((x621 (car-safe val)) (x622 (cdr-safe val))) (let ((b x621) (e x622)) 
(if (<= b (point) e) (progn (setq beg2 b) (setq end2 e)) (if (> (length elems) 
2) (progn (let* ((val ...)) (progn (ignore ...) (let* ... ...))))))))
  (progn (ignore (consp val)) (let* ((x621 (car-safe val)) (x622 (cdr-safe 
val))) (let ((b x621) (e x622)) (if (<= b (point) e) (progn (setq beg2 b) (setq 
end2 e)) (if (> (length elems) 2) (progn (let* (...) (progn ... ...))))))))
  (let* ((val (org-inside--visible-region (car elems)))) (progn (ignore (consp 
val)) (let* ((x621 (car-safe val)) (x622 (cdr-safe val))) (let ((b x621) (e 
x622)) (if (<= b (point) e) (progn (setq beg2 b) (setq end2 e)) (if (> (length 
elems) 2) (progn (let* ... ...))))))))
  (progn (let* ((val (org-inside--visible-region (car elems)))) (progn (ignore 
(consp val)) (let* ((x621 (car-safe val)) (x622 (cdr-safe val))) (let ((b x621) 
(e x622)) (if (<= b (point) e) (progn (setq beg2 b) (setq end2 e)) (if (> ... 
2) (progn ...))))))))
  (if (and (> (length elems) 1) (>= emacs-major-version 31) (plist-get 
org-inside-appearance :face)) (progn (let* ((val (org-inside--visible-region 
(car elems)))) (progn (ignore (consp val)) (let* ((x621 (car-safe val)) (x622 
(cdr-safe val))) (let ((b x621) (e x622)) (if (<= b ... e) (progn ... ...) (if 
... ...))))))))
  (let ((beg (org-element-begin outer-elem)) (end (- (org-element-end 
outer-elem) (org-element-post-blank outer-elem))) beg2 end2) (if (and (> 
(length elems) 1) (>= emacs-major-version 31) (plist-get org-inside-appearance 
:face)) (progn (let* ((val (org-inside--visible-region (car elems)))) (progn 
(ignore (consp val)) (let* ((x621 ...) (x622 ...)) (let (... ...) (if ... ... 
...))))))) (org-inside--set-appearance win beg end beg2 end2))
  (if outer-elem (let ((beg (org-element-begin outer-elem)) (end (- 
(org-element-end outer-elem) (org-element-post-blank outer-elem))) beg2 end2) 
(if (and (> (length elems) 1) (>= emacs-major-version 31) (plist-get 
org-inside-appearance :face)) (progn (let* ((val (org-inside--visible-region 
...))) (progn (ignore (consp val)) (let* (... ...) (let ... ...)))))) 
(org-inside--set-appearance win beg end beg2 end2)))
  (let* ((elems (and t (org-inside--elems-at-point))) (outer-elem (and elems 
(car (last elems))))) (if outer-elem (let ((beg (org-element-begin outer-elem)) 
(end (- (org-element-end outer-elem) (org-element-post-blank outer-elem))) beg2 
end2) (if (and (> (length elems) 1) (>= emacs-major-version 31) (plist-get 
org-inside-appearance :face)) (progn (let* ((val ...)) (progn (ignore ...) 
(let* ... ...))))) (org-inside--set-appearance win beg end beg2 end2))))
  (cond ((or (eq type 'entered) (and (eq type 'moved) (plist-get 
org-inside-appearance :face))) (let* ((elems (and t 
(org-inside--elems-at-point))) (outer-elem (and elems (car (last elems))))) (if 
outer-elem (let ((beg (org-element-begin outer-elem)) (end (- ... ...)) beg2 
end2) (if (and (> ... 1) (>= emacs-major-version 31) (plist-get 
org-inside-appearance :face)) (progn (let* ... ...))) 
(org-inside--set-appearance win beg end beg2 end2))))) ((eq type 'left) 
(org-inside--set-appearance win)))
  (if (minibuffer-window-active-p win) nil (cond ((or (eq type 'entered) (and 
(eq type 'moved) (plist-get org-inside-appearance :face))) (let* ((elems (and t 
(org-inside--elems-at-point))) (outer-elem (and elems (car ...)))) (if 
outer-elem (let ((beg ...) (end ...) beg2 end2) (if (and ... ... ...) (progn 
...)) (org-inside--set-appearance win beg end beg2 end2))))) ((eq type 'left) 
(org-inside--set-appearance win))))
  org-inside--sensor(#<window 3 on *scratch*> 164 moved)
  cursor-sensor--detect()


-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to