From: Ratish Punnoose <firstname.lastname@example.org> To: email@example.com Subject: Re: [WORG] How to ediff folded Org files? Date: Wed, 31 Jul 2013 23:19:34 +0000 (UTC) [thread overview] Message-ID: <loom.20130801T011342firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> Thorsten Jolitz <tjolitz <at> gmail.com> writes: > Hi List, > > many files on Worg have this startup option: > > ,-------------------------- > | +STARTUP: ... fold ... > `-------------------------- > > what leads to trouble when there is a merge-conflict in (Ma)git to be > resolved manually with e(diff), because the different versions of the > Org-file are then presented in folded state in the ediff session, so the > diffs are invisible. > > But when I call 'show-all' or so on them, it breaks the ediff session. > Is there a simple trick to avoid this problem? > I was searching for a similar issue and came upon this list. I have a slightly different solution from the ones posted so far. When doing a diff, each org-mode buffer is fully folded. For each diff selection, that portion of the tree for each buffer is expanded. When moving to a new diff, the previous portion of the tree is collapsed and the area surrounding the new diff location is expanded. Acknowledgment: Michael Brand's solution was my starting inspiration. #+BEGIN_SRC emacs-lisp ;; diff hooks for org mode (add-hook 'ediff-select-hook 'f-ediff-org-unfold-tree-element) (add-hook 'ediff-unselect-hook 'f-ediff-org-fold-tree) ;; Check for org mode and existence of buffer (defun f-ediff-org-showhide(buf command &rest cmdargs) "If buffer exists and is orgmode then execute command" (if buf (if (eq (buffer-local-value 'major-mode (get-buffer buf)) 'org-mode) (save-excursion (set-buffer buf) (apply command cmdargs))) ) ) (defun f-ediff-org-unfold-tree-element () "Unfold tree at diff location" (f-ediff-org-showhide ediff-buffer-A 'org-reveal) (f-ediff-org-showhide ediff-buffer-B 'org-reveal) (f-ediff-org-showhide ediff-buffer-C 'org-reveal) ) ;; (defun f-ediff-org-fold-tree () "Fold tree back to top level" (f-ediff-org-showhide ediff-buffer-A 'hide-sublevels 1) (f-ediff-org-showhide ediff-buffer-B 'hide-sublevels 1) (f-ediff-org-showhide ediff-buffer-C 'hide-sublevels 1) ) #+END_SRC
next prev parent reply other threads:[~2013-07-31 23:25 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-04-06 9:47 Thorsten Jolitz 2013-04-06 20:20 ` Marc-Oliver Ihm 2013-04-06 21:32 ` Thorsten Jolitz 2013-04-06 22:24 ` Michael Brand 2013-04-06 22:40 ` Thorsten Jolitz 2013-04-06 23:01 ` Bill White 2013-04-09 7:29 ` Christian Egli 2013-12-19 19:00 ` Michael Brand 2013-07-31 23:19 ` Ratish Punnoose [this message] 2013-08-01 14:44 ` Thorsten Jolitz 2013-08-01 15:09 ` Rémi Vanicat 2013-08-02 12:22 ` Suvayu Ali
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=loom.20130801T011342firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [WORG] How to ediff folded Org files?' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).