From mboxrd@z Thu Jan 1 00:00:00 1970 From: phillip.lord@newcastle.ac.uk (Phillip Lord) Subject: Re: save folded state Date: Tue, 27 Jan 2015 23:26:57 +0000 Message-ID: <87k307x0se.fsf@newcastle.ac.uk> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55714) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGFXN-0005bM-Im for emacs-orgmode@gnu.org; Tue, 27 Jan 2015 18:27:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGFXI-0002x2-Hs for emacs-orgmode@gnu.org; Tue, 27 Jan 2015 18:27:13 -0500 Received: from cheviot22.ncl.ac.uk ([128.240.234.22]:47749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGFXI-0002wh-Be for emacs-orgmode@gnu.org; Tue, 27 Jan 2015 18:27:08 -0500 In-Reply-To: (John Kitchin's message of "Mon, 26 Jan 2015 19:54:04 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: John Kitchin Cc: Org Mode List You mean programmatically? Is folding not just implemented with invisible overlays? If so, why do you need to change this to get context? You can try setting buffer-invisibility-spec temporarily. For example, run this function in a folded org-mode buffer. (defun temp () (interactive) (message "invisibility spec stuff") (let ((buffer-invisibility-spec '())) (message "sitting") (sit-for 5)) (message "done")) It unfolds everything but having the display engine ignore all overlays/text properties. If you want to do this interactively, and you will forgive the plug, my own package, lentic, would enable you to do this. You can open up a second buffer which has the same text as the first, but could be folded completely independently of the original. At the moment, you only get one copy, but I'll expand that to any number at some point. When you're finished kill the copy, and all the changed folding goes with it. Phil John Kitchin writes: > I am trying to map over a buffer with headlines in various states of > folded, and get context around certain elements. I find I need to fully > expand the buffer to get the context in the way I am currently doing it > (e.g. getting the lines around the element), but I would like to put the > buffer back to the way it was when I am finished. This is not done with > the usual macros like save-excursion, save-restriction, etc... Is there > a way to do this other than a temp buffer? > > thanks, > > -- > Professor John Kitchin > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu