From mboxrd@z Thu Jan 1 00:00:00 1970 From: Myles English Subject: Re: Return Top-Level Heading Date: Mon, 19 Oct 2015 23:24:23 +0100 Message-ID: <87si568pk8.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34292) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoIqu-0001G3-Ae for emacs-orgmode@gnu.org; Mon, 19 Oct 2015 18:24:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZoIqr-00020u-3g for emacs-orgmode@gnu.org; Mon, 19 Oct 2015 18:24:24 -0400 Received: from mail-wi0-x22a.google.com ([2a00:1450:400c:c05::22a]:35869) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoIqq-00020o-Tz for emacs-orgmode@gnu.org; Mon, 19 Oct 2015 18:24:21 -0400 Received: by wicfx6 with SMTP id fx6so19785237wic.1 for ; Mon, 19 Oct 2015 15:24:20 -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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Zach Sheffler Cc: "emacs-orgmode@gnu.org" Hello Zach, Zach Sheffler writes: > Is there a way to reference the top-level heading that a lower-level > heading belongs to? For instance: > > * One > ** Two > *** Three > > If I have "Three", how can I get it to tell me that the top-level is "One"? > For reference, this is for an org-agenda-prefix. Perhaps this: (defun findTop() (interactive) (let* ((tree (org-element-parse-buffer)) (curs_pos (point)) (up_tree (org-element-map tree 'headline (lambda (hl) (and (> curs_pos (org-element-property :begin hl)) (= (org-element-property :level hl) 1) (org-element-property :raw-value hl) )))) (local_up_tree (last up_tree))) local_up_tree)) Myles