emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* how does invisibility impact org?
@ 2016-04-26 17:50 John Kitchin
  2016-04-26 18:36 ` Rasmus
  0 siblings, 1 reply; 3+ messages in thread
From: John Kitchin @ 2016-04-26 17:50 UTC (permalink / raw)
  To: org-mode-email


Hi, I am trying to use this code to make parts of an org-file that are
not a verse block invisible. That part works fine, and I can also unhide
it. However, after that, I get errors like

org-back-to-heading: Before first headline at position 232 in buffer
selective-text.org

If I say, put the cursor in a code block and try to run it or special
edit it.

Any ideas what is going wrong here?

Thanks,

(defun flatten (LIST)
  "flattens LIST"
  (cond
   ((atom LIST) (list LIST))
   ((null (cdr LIST)) (flatten (car LIST)))
   (t (append (flatten (car LIST)) (flatten (cdr LIST))))))

(defun view-verse ()
  "Hide everything but the verse blocks."
  (interactive)
  (org-cycle '(64))
  (let ((p (append
            (list (point-min))
            (flatten (org-element-map (org-element-parse-buffer) 'verse-block
                        (lambda (vb) (list (org-element-property :begin vb)
                                           (org-element-property :end vb)))))
            (list (point-max)))))

    (add-to-invisibility-spec 'not-verse-block)
    (loop for start in p by 'cddr
          for end in (cdr p) by 'cddr
          do (overlay-put (make-overlay start end) 'invisible 'not-verse-block))))

(defun unhide ()
  (interactive)
  (remove-from-invisibility-spec 'not-verse-block)
  (ov-clear 'invisibility 'not-verse-block))


--
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] 3+ messages in thread

* Re: how does invisibility impact org?
  2016-04-26 17:50 how does invisibility impact org? John Kitchin
@ 2016-04-26 18:36 ` Rasmus
  2016-04-26 18:47   ` John Kitchin
  0 siblings, 1 reply; 3+ messages in thread
From: Rasmus @ 2016-04-26 18:36 UTC (permalink / raw)
  To: emacs-orgmode

John Kitchin <jkitchin@andrew.cmu.edu> writes:

> Hi, I am trying to use this code to make parts of an org-file that are
> not a verse block invisible. That part works fine, and I can also unhide
> it. However, after that, I get errors like

Isn't this the job of narrowing and widening?  Though I guess this could
only show one verse block at the time.

I.e. use something like this:

(defun narrow-to-next-verse ()
  (interactive)
  (widen)
  (let ((next-elm (search-forward-regexp "^#\\+BEGIN_VERSE" nil t)))
    (when next-elm
      (widen)
      (goto-char next-elm)
      (org-narrow-to-element)
      (goto-char (point-min))
      (forward-line))))

Rasmus

-- 
Hooray!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: how does invisibility impact org?
  2016-04-26 18:36 ` Rasmus
@ 2016-04-26 18:47   ` John Kitchin
  0 siblings, 0 replies; 3+ messages in thread
From: John Kitchin @ 2016-04-26 18:47 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-orgmode@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1178 bytes --]

normally I would use narrowing, but I want to see all the verses in the
document at once., so I was going to make all the other text temporarily
invisible.

John

-----------------------------------
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


On Tue, Apr 26, 2016 at 2:36 PM, Rasmus <rasmus@gmx.us> wrote:

> John Kitchin <jkitchin@andrew.cmu.edu> writes:
>
> > Hi, I am trying to use this code to make parts of an org-file that are
> > not a verse block invisible. That part works fine, and I can also unhide
> > it. However, after that, I get errors like
>
> Isn't this the job of narrowing and widening?  Though I guess this could
> only show one verse block at the time.
>
> I.e. use something like this:
>
> (defun narrow-to-next-verse ()
>   (interactive)
>   (widen)
>   (let ((next-elm (search-forward-regexp "^#\\+BEGIN_VERSE" nil t)))
>     (when next-elm
>       (widen)
>       (goto-char next-elm)
>       (org-narrow-to-element)
>       (goto-char (point-min))
>       (forward-line))))
>
> Rasmus
>
> --
> Hooray!
>
>
>

[-- Attachment #2: Type: text/html, Size: 1965 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-04-26 18:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-26 17:50 how does invisibility impact org? John Kitchin
2016-04-26 18:36 ` Rasmus
2016-04-26 18:47   ` John Kitchin

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).