* save folded state @ 2015-01-27 0:54 John Kitchin 2015-01-27 23:26 ` Phillip Lord 0 siblings, 1 reply; 4+ messages in thread From: John Kitchin @ 2015-01-27 0:54 UTC (permalink / raw) To: Org Mode List 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: save folded state 2015-01-27 0:54 save folded state John Kitchin @ 2015-01-27 23:26 ` Phillip Lord 2015-01-28 0:27 ` John Kitchin 0 siblings, 1 reply; 4+ messages in thread From: Phillip Lord @ 2015-01-27 23:26 UTC (permalink / raw) 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 <johnrkitchin@gmail.com> 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: save folded state 2015-01-27 23:26 ` Phillip Lord @ 2015-01-28 0:27 ` John Kitchin 2015-02-02 12:50 ` Phillip Lord 0 siblings, 1 reply; 4+ messages in thread From: John Kitchin @ 2015-01-28 0:27 UTC (permalink / raw) To: Phillip Lord; +Cc: Org Mode List, John Kitchin yes, I meant programatically. I was having some issue in selecting contex using commands that grab what is visible. So for things inside a folded section it was not grabbing the right context. I solved it by doing something similar to what you describe, i.e. a tempbuffer. lentic looks pretty interesting. Phillip Lord writes: > 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 <johnrkitchin@gmail.com> 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 -- 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: save folded state 2015-01-28 0:27 ` John Kitchin @ 2015-02-02 12:50 ` Phillip Lord 0 siblings, 0 replies; 4+ messages in thread From: Phillip Lord @ 2015-02-02 12:50 UTC (permalink / raw) To: John Kitchin; +Cc: Org Mode List Worth trying the buffer-invisibility-spec solution. I'd be interested to know if it works or not. Although I wonder whether the commands that you are using really should be obeying visibility context. Phil John Kitchin <johnrkitchin@gmail.com> writes: > yes, I meant programatically. I was having some issue in selecting > contex using commands that grab what is visible. So for things inside a > folded section it was not grabbing the right context. > > I solved it by doing something similar to what you describe, i.e. a > tempbuffer. > > lentic looks pretty interesting. > > Phillip Lord writes: > >> 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 <johnrkitchin@gmail.com> 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 > > -- > 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 > > -- Phillip Lord, Phone: +44 (0) 191 208 7827 Lecturer in Bioinformatics, Email: phillip.lord@newcastle.ac.uk School of Computing Science, http://homepages.cs.ncl.ac.uk/phillip.lord Room 914 Claremont Tower, skype: russet_apples Newcastle University, twitter: phillord NE1 7RU ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-02-02 12:50 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-01-27 0:54 save folded state John Kitchin 2015-01-27 23:26 ` Phillip Lord 2015-01-28 0:27 ` John Kitchin 2015-02-02 12:50 ` Phillip Lord
Code repositories for project(s) associated with this public 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).