Я довольно новичок в elisp и пытаюсь практиковать, решая проблемы, с которыми сталкиваюсь, используя его, но этот кажется трудным.
У меня огромный буфер с такой структурой
texta
str1
textb
str1
textc
str1
<more times>
textA
str2
textB
str2
textC
str2
<same number of occurances of str2 as str1>
Теперь я хочу, чтобы текст выше str1 до предыдущего str1 (или начала для первого не был перемещен в соответствующее вхождение str2 так, чтобы первый str1 и текст над ним находились прямо над первым вхождением str2
textA
texta
str1
str2
textB
textb
str1
str2
textC
textc
str1
str2
<etc>
Учитывая, что elisp - это язык, который связывает emacs, я думаю, что для человека с немного большим опытом, чем я, не должно быть слишком сложно найти какое-то решение ...