emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Outline cycling does not preserve point's position


From: Jambunathan K
Subject: Re: [O] Outline cycling does not preserve point's position
Date: Wed, 11 Sep 2013 08:19:22 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Some suggestions:

1. Give a better name.  Say "pre-order" traversal of element in the
   parse tree. [1]

2. Now if I 

       M-h, C-x C-x and Deactivate mark, 

   I essentially short-circuit the traversal of whole subtree rooted at
   point.  There should be a convenient binding for it.  Same as
   forward-sexp?

3. When you say "Shouldn't be here", it means that point is NOT at the
   canonical C-down position.  But you do seem to "adjust" it to the
   canonical position down below.

   May be you want to remove it or say something more positive like - In
   the middle of nowhere.  Trying to get to the assembly point.

> New version:

Couple of issues.

1. Visit the attached file.  Make sure everything is visible.
2. M-<
3. C-down gives a stacktrace.  See below.

----------------------------------------------------------------

Within the same file, 

1. Move to bol of the empty line that is in <<<Radioed Target>>> section.  That
   is not an empty line but has spaces.

2. C-down

3. Cursor does NOT do a stop over at "References" headline but skips
   past to References to Fuzzy Target

----------------------------------------------------------------


Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  =(2 nil)
  (or (eobp) (= (point) end))
  (cond ((or (eobp) (= (point) end))) ((eq type (quote table-row)) (goto-char 
(org-element-property :end (org-element-property :parent element)))) ((and 
post-affiliated (< (point) post-affiliated)) (goto-char post-affiliated)) ((eq 
type (quote table)) (goto-char end)) ((not contents-begin) (goto-char end)) ((< 
(point) contents-begin) (if (not (memq type (quote (footnote-definition 
item)))) (goto-char contents-begin) (end-of-line) 
(org-forward-linear-element))) ((>= (point) contents-end) (goto-char end)) ((eq 
type (quote paragraph)) (goto-char end)) ((eq type (quote plain-list)) 
(end-of-line) (org-forward-linear-element)) ((eq type (quote verse-block)) (or 
(re-search-forward "^[  ]*$" contents-end t) (goto-char end))) (t (error "This 
shouldn't happen")))
  (let* ((origin (point)) (element (org-element-at-point)) (type 
(org-element-type element)) (post-affiliated (org-element-property 
:post-affiliated element)) (contents-begin (org-element-property 
:contents-begin element)) (contents-end (org-element-property :contents-end 
element)) (end (let ((end (org-element-property :end element)) (parent 
element)) (while (and (setq parent (org-element-property :parent parent)) (= 
(org-element-property :contents-end parent) end)) (setq end 
(org-element-property :end parent))) end))) (skip-chars-forward "      \n") (or 
(eobp) (goto-char (max (line-beginning-position) origin))) (cond ((or (eobp) (= 
(point) end))) ((eq type (quote table-row)) (goto-char (org-element-property 
:end (org-element-property :parent element)))) ((and post-affiliated (< (point) 
post-affiliated)) (goto-char post-affiliated)) ((eq type (quote table)) 
(goto-char end)) ((not contents-begin) (goto-char end)) ((< (point) 
contents-begin) (if (not (memq type (quote (footnote-definition item)))) 
(goto-char contents-begin) (end-of-line) (org-forward-linear-element))) ((>= 
(point) contents-end) (goto-char end)) ((eq type (quote paragraph)) (goto-char 
end)) ((eq type (quote plain-list)) (end-of-line) (org-forward-linear-element)) 
((eq type (quote verse-block)) (or (re-search-forward "^[        ]*$" 
contents-end t) (goto-char end))) (t (error "This shouldn't happen"))) (if 
(memq (org-invisible-p2) (quote (org-hide-block outline))) (progn (goto-char 
end))))
  org-forward-linear-element()
  call-interactively(org-forward-linear-element nil nil)
  command-execute(org-forward-linear-element)



Attachment: cdown.org
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]