From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: Function to return content of item Date: Mon, 08 May 2017 11:05:48 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45001) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7kEV-000150-Og for emacs-orgmode@gnu.org; Mon, 08 May 2017 11:05:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7kER-0006f9-Eg for emacs-orgmode@gnu.org; Mon, 08 May 2017 11:05:55 -0400 Received: from mail-qk0-x229.google.com ([2607:f8b0:400d:c09::229]:36807) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d7kER-0006f1-9e for emacs-orgmode@gnu.org; Mon, 08 May 2017 11:05:51 -0400 Received: by mail-qk0-x229.google.com with SMTP id u75so54198151qka.3 for ; Mon, 08 May 2017 08:05:51 -0700 (PDT) In-reply-to: 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" To: Richard Parsons Cc: emacs-orgmode@gnu.org I think this is basically what you are looking for. (defun org-heading-content () (interactive) (let (bp ep) (setq bp (save-excursion (or (and (outline-previous-heading) (progn (org-end-of-meta-data) (point))) (point-min))) ep (save-excursion (or (and (outline-next-heading) (point)) (point-max)))) (buffer-substring-no-properties bp ep))) Richard Parsons writes: > John, many thanks for your reply. > > Regarding subheadings, I would only want the content of the current > sub-item, so if it is a subheading I only want the text from after the > subheading (and after its property drawer) up to the next heading (or the > end of the file). > > Also, when I run your code on a paragraph, I just get the contents from > that paragraph (rather than all paragraphs in that item). Maybe "item" is > the wrong work, is "node" better? > > Maybe I need to write some code using the org motion commands in order to > manually identify the region that I'm looking for. > > Many thanks > Richard > > > On Mon, May 8, 2017 at 1:45 AM, John Kitchin > wrote: > >> I don't know of a function. Something like this may be what you want. >> not all elements have :contents-begin though >> >> (let ((el (org-element-context))) >> (buffer-substring-no-properties >> (org-element-property :contents-begin el) >> (org-element-property :contents-end el))) >> >> >> It also a little tricky to figure out what to do about subheadings. Do >> they count as content or not? >> >> Richard Parsons writes: >> >> > Hi there >> > >> > Is there a function that will give me the content of the current item? I >> > mean simply the text of the whole item without its heading or properties >> > drawer. >> > >> > It seems to me likely that such a function would exist, but I haven't >> been >> > able to find it in the documentation. >> > >> > Many thanks >> > Richard >> >> >> -- >> 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