@@ -568,38 +568,40 @@ function Agenda:_remote_edit(opts)
568568 end
569569 local getter = opts .getter
570570 or function ()
571- local item , agenda_line , view = self :_get_headline ()
572- if not item then
571+ local headline , agenda_line , view = self :_get_headline ()
572+ if not headline then
573573 return
574574 end
575- return item , agenda_line , view
575+ return headline , agenda_line , view
576576 end
577- local item , agenda_line , view = getter ()
578- if not item then
577+ local headline , agenda_line , view = getter ()
578+ if not headline then
579579 return
580580 end
581- local update = item .file :update (function (_ )
582- vim .fn .cursor ({ item :get_range ().start_line , 1 })
581+ local update = headline .file :update (function (_ )
582+ vim .fn .cursor ({ headline :get_range ().start_line , 1 })
583583 return Promise .resolve (require (' orgmode' ).action (action )):next (function ()
584584 return self .files :get_closest_headline_or_nil ()
585585 end )
586586 end )
587587
588- update :next (function (headline )
589- --- @cast headline OrgHeadline
588+ local old_range = headline :get_range ()
589+
590+ update :next (function (updated_headline )
591+ --- @cast updated_headline OrgHeadline
590592 if opts .redo then
591593 return self :redo (' remote_edit' , true )
592594 end
593- if not opts .update_in_place or not headline then
595+ if not opts .update_in_place or not updated_headline then
594596 return
595597 end
596- local line_range_same = headline :get_range ():is_same_line_range (item : get_range () )
598+ local line_range_same = updated_headline :get_range ():is_same_line_range (old_range )
597599
598600 local update_item_inline = function ()
599601 if not agenda_line or not view then
600602 return
601603 end
602- return view :rerender_agenda_line (agenda_line , headline )
604+ return view :rerender_agenda_line (agenda_line , updated_headline )
603605 end
604606
605607 if line_range_same then
0 commit comments