v5.7.2 of org-index
This commit is contained in:
parent
28ebfa6d77
commit
8f3077d14a
|
@ -3,7 +3,7 @@
|
|||
;; Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Marc Ihm <org-index@2484.de>
|
||||
;; Version: 5.7.1
|
||||
;; Version: 5.7.2
|
||||
;; Keywords: outlines index
|
||||
|
||||
;; This file is not part of GNU Emacs.
|
||||
|
@ -92,11 +92,12 @@
|
|||
|
||||
(require 'org-table)
|
||||
(require 'org-id)
|
||||
(require 'org-inlinetask)
|
||||
(require 'cl-lib)
|
||||
(require 'widget)
|
||||
|
||||
;; Version of this package
|
||||
(defvar org-index-version "5.7.1" "Version of `org-index', format is major.minor.bugfix, where \"major\" are incompatible changes and \"minor\" are new features.")
|
||||
(defvar org-index-version "5.7.2" "Version of `org-index', format is major.minor.bugfix, where \"major\" are incompatible changes and \"minor\" are new features.")
|
||||
|
||||
;; customizable options
|
||||
(defgroup org-index nil
|
||||
|
@ -320,7 +321,7 @@ for its index table.
|
|||
To start building up your index, use subcommands 'add', 'ref' and
|
||||
'yank' to create entries and use 'occur' to find them.
|
||||
|
||||
This is version 5.7.1 of org-index.el.
|
||||
This is version 5.7.2 of org-index.el.
|
||||
|
||||
|
||||
The function `org-index' is the only interactive function of this
|
||||
|
@ -688,7 +689,7 @@ interactive calls."
|
|||
|
||||
;; move up until we find a node in index
|
||||
(save-excursion
|
||||
(outline-back-to-heading)
|
||||
(org-with-limited-levels (org-back-to-heading))
|
||||
(while (not done)
|
||||
(if id
|
||||
(setq info (org-index--on 'id id
|
||||
|
@ -1052,14 +1053,12 @@ Optional argument KEYS-VALUES specifies content of new line."
|
|||
(message (concat (org-index--goto-focus) " (again)."))))
|
||||
(define-key map (vector ?h)
|
||||
(lambda () (interactive)
|
||||
(org-back-to-heading)
|
||||
(org-with-limited-levels (org-back-to-heading))
|
||||
(recenter 1)
|
||||
(message "On heading.")))
|
||||
(define-key map (vector ?b)
|
||||
(lambda () (interactive)
|
||||
(or (and (org-goto-first-child)
|
||||
(forward-line -1))
|
||||
(org-end-of-subtree))
|
||||
(org-index--end-of-focused-node)
|
||||
(recenter -1)
|
||||
(message "At bottom.")))
|
||||
(define-key map (vector ?d)
|
||||
|
@ -1083,9 +1082,7 @@ Optional argument KEYS-VALUES specifies content of new line."
|
|||
(when org-index-goto-bottom-after-focus
|
||||
(setq bottom-clause "bottom of ")
|
||||
(setq heading-is-clause (format ", heading is '%s'" (propertize (org-get-heading t t t t) 'face 'org-todo)))
|
||||
(or (and (org-goto-first-child)
|
||||
(forward-line -1))
|
||||
(org-end-of-subtree)))
|
||||
(org-index--end-of-focused-node))
|
||||
(org-index--unfold-buffer)
|
||||
(if org-index-goto-bottom-after-focus (recenter -1)))
|
||||
|
||||
|
@ -1119,6 +1116,25 @@ Optional argument KEYS-VALUES specifies content of new line."
|
|||
"No nodes in focus, use set-focus"))
|
||||
|
||||
|
||||
(defun org-index--end-of-focused-node ()
|
||||
"Goto end of focused nodes, ignoring inline-tasks but stopping at first child."
|
||||
(let (level next (pos (point)))
|
||||
(when (ignore-errors (org-with-limited-levels (org-back-to-heading)))
|
||||
(setq level (outline-level))
|
||||
(forward-char 1)
|
||||
(if (and (org-with-limited-levels (re-search-forward org-outline-regexp-bol nil t))
|
||||
(> (outline-level) level))
|
||||
(progn ; landed on child node
|
||||
(goto-char (match-beginning 0))
|
||||
(forward-line -1))
|
||||
(goto-char pos) ; landed on next sibling or end of buffer
|
||||
(org-with-limited-levels
|
||||
(org-end-of-subtree nil t)
|
||||
(when (org-at-heading-p)
|
||||
(forward-line -1))))
|
||||
(beginning-of-line))))
|
||||
|
||||
|
||||
(defun org-index--more-focus-commands ()
|
||||
"More commands for handling focused nodes."
|
||||
(let (id text more-text char prompt ids-up-to-top)
|
||||
|
@ -1211,7 +1227,7 @@ Optional argument KEYS-VALUES specifies content of new line."
|
|||
(let (ancestors id level start-level)
|
||||
(save-excursion
|
||||
(ignore-errors
|
||||
(outline-back-to-heading)
|
||||
(org-with-limited-levels (org-back-to-heading))
|
||||
(setq id (org-id-get))
|
||||
(if id (setq ancestors (cons id ancestors)))
|
||||
(setq start-level (org-outline-level))
|
||||
|
@ -2370,7 +2386,7 @@ CREATE-REF and TAG-WITH-REF if given."
|
|||
(org-index--save-positions)
|
||||
(unless (or org-index--within-index-node
|
||||
org-index--within-occur)
|
||||
(org-back-to-heading))
|
||||
(org-with-limited-levels (org-back-to-heading)))
|
||||
|
||||
;; try to do the same things from within index and from outside
|
||||
(if org-index--within-index-node
|
||||
|
@ -2587,7 +2603,7 @@ Optional argument DEFAULTS gives default values."
|
|||
(org-index--save-positions)
|
||||
(unless (or org-index--within-index-node
|
||||
org-index--within-occur)
|
||||
(org-back-to-heading))
|
||||
(org-with-limited-levels (org-back-to-heading)))
|
||||
|
||||
;; Collect information: What should be deleted ?
|
||||
(if (or org-index--within-occur
|
||||
|
|
Loading…
Reference in New Issue