El plegado se interpone en el camino al fusionar dos archivos de organización usando ediff, por lo que estoy tratando de deshabilitar todo el plegado en búferes de modo de organización creados por ediff. El comportamiento de plegado sin construcción no debe verse afectado.
Ingenuamente, creo que algo similar a lo siguiente debería funcionar:
(add-hook 'ediff-mode-hook
(lambda ()
(set (make-local-variable 'org-inhibit-startup-visibility-stuff) t)))
Estoy bastante seguro de que esta es la variable de organización para modificar (en lugar de org-startup-foldedo org-agenda-inhibit-startup).
He intentado varios ganchos en vano (principalmente ediff-mode-hook, ediff-before-setup-hook, ediff-meta-mode-hook, y ediff-prepare-buffer-hook- lo que es probable que sea demasiado tarde) con la esperanza de que la variable internados será heredado.
Es muy posible que esté usando make-local-variable incorrectamente; el patrón solo está tomado de lo que he visto ampliamente.
Solo establecer el valor a nivel mundial ha sido efectivo (pero eso no es lo que estoy buscando). ¿Debería (ab) usar el mecanismo de asesoramiento?

show-all? (org-modeestá construido encimaoutline-modey parece que siempre quieres que muestre todo).(add-hook 'ediff-prepare-buffer-hook 'show-all)¡Hace el truco! Agregue eso como respuesta, @Dan? Todavía tengo curiosidad por las variables locales para ediff, pero creo queshow-alles la mejor solución para mi problema.Respuestas:
Parece que tu objetivo es que los
org-modearchivos siempre muestren todo cuando estás dentroediff. La solución más simple es probablemente evitar el enfoque de las variables locales y simplemente colocarshow-allel enlace correspondiente,ediff-prepare-buffer-hookque se ejecuta después de configurar los buffers A, B y C:A pesar del nombre,
org-show-alltambién funciona en eloutline-modequeorg-modeestá construido encima. A diferenciaoutline-show-all, muestra cajones de propiedad y bloques como#+begin_src ... #+end_src.org-show-allse ha agregado en Org 9.1.6. En versiones anteriores puedes usaroutline-show-alloshow-all.(Tenga en cuenta, según un comentario, que
show-allestá marcado como obsoleto en Emacs 25.1 a favor deoutline-show-all. El último símbolo no está vinculado en 24.5.)fuente
show-allse define de manera sensata, por lo que no necesita condiciones defensivas en el gancho y se puede invocar de forma segura dentro de los modos sin organización / sin esquema.show-allestá marcado como obsoleto desde el 25.1. Mejor usaroutline-show-all, creo. (El primero es solo un alias para el segundo.)Otra opción se puede encontrar en la página de worg . La idea básica es usar
ediff-select-hookpara desplegar un elemento cada vez que se selecciona una región determinada en ediff y se pliega de nuevo en elediff-unselect-hook. Estoy publicando el código aquí para completarfuente