Qual é a melhor maneira de conseguir algo como dobramento de código ou o tipo de ciclo que o modo org usa. Qual seria a melhor solução no elisp para criar este tipo de comportamento?
EDIT: Desculpe, não fui claro. Eu quero programar algo em elisp que faz coisas muito semelhantes à dobra de código ou, na verdade, mais como o modo org com a hierarquia que pode ser expandida. Estou me perguntando a melhor maneira de conseguir esse efeito. Acho que ouvi que as sobreposições do emacs são uma boa solução, mas não sei.
No que diz respeito a dobrar, eu apenas uso o display integrado de seleção
EDITAR NÚMERO 2:
Obrigado pelas respostas, mas acho que estou fazendo a pergunta errada, então deixe-me tentar ser mais claro sobre o que estou tentando fazer. Eu gostaria de criar o seguinte
Quando você coloca seu ponto em uma função e chama esta função elisp, ela colocará a definição da função de onde quer que esteja (estou pensando em usar apenas find-tag para isso) e a desdobrará no buffer atual. A ideia é que se você tiver que pular para um buffer diferente para ler a definição da função, eu sinto que é uma mudança de contexto para outro arquivo. Então, eu gostaria que ele se comportasse como dobramento de código, apenas puxando código externo do buffer. Isso apresenta alguns problemas, pois não é possível colar o código de forma aguda no buffer ou, se alguém salvá-lo, salvará o código puxado. Portanto, gostaria de saber se existe uma maneira de criar uma área dentro de um buffer que também não faz parte do buffer. Eu acho que faz sentido.
EDIT NB 2
e faça uma nova pergunta para ele.