branch: externals/org-real commit c3a60a0b1cb5721cd6d55a7830e9055aecc54088 Author: Amy Grinn <grinn....@gmail.com> Commit: Amy Grinn <grinn....@gmail.com>
Shift other things to the right or below when merging --- garage.org | 2 ++ org-real.el | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/garage.org b/garage.org index b8ebb4b96c..f7d1775fb8 100644 --- a/garage.org +++ b/garage.org @@ -6,3 +6,5 @@ - [[real://garage/east wall?rel=in/rake?rel=on/shovel?rel=to the left of][shovel]] - [[real://garage/east wall?rel=in/rake?rel=on/hoe?rel=to the left of][hoe]] - [[real://garage/workbench?rel=in/wrench?rel=on/paintbrush?rel=above][paintbrush]] + - [[real://garage/workbench?rel=in/ratchet?rel=on/hammer?rel=to the right of][hammer]] + - [[real://garage/workbench?rel=in/ratchet?rel=on/nails?rel=to the right of][nails]] diff --git a/org-real.el b/org-real.el index ff858f1c68..be394f6e81 100644 --- a/org-real.el +++ b/org-real.el @@ -274,11 +274,21 @@ of BOX." (oset next :x-order (oref match :x-order)) (oset next :behind (oref match :behind))) ((string= rel "below") + (let ((y-order (oref match :y-order))) + (oset next :y-order (+ 1 y-order)) + (org-real--map-immediate + (lambda (box) (when (> (oref box :y-order) y-order) + (oset box :y-order (+ 1 (oref box :y-order))))) + match)) (oset next :x-order (oref match :x-order)) - (oset next :y-order (+ 1 (oref match :y-order))) (oset next :behind (oref match :behind))) ((string= rel "to the right of") - (oset next :x-order (+ 1 (oref match :x-order))) + (let ((x-order (oref match :x-order))) + (oset next :x-order (+ 1 x-order)) + (org-real--map-immediate + (lambda (box) (when (> (oref box :x-order) x-order) + (oset box :x-order (+ 1 (oref box :x-order))))) + match)) (oset next :y-order (oref match :y-order)) (oset next :behind (oref match :behind)) (oset next :in-front (oref match :in-front)))