Re: [O] Math formatting in HTML export - The Org Manual

2014-10-15 Thread Joseph Vidal-Rosset
2014-10-14 21:09 GMT+02:00 Eric S Fraga e.fr...@ucl.ac.uk:

  But now it does not work in my Gnus if I want to include some png images
 of
  proofs... I have to deleted these dangerous lines...

 Sorry, I missed this the first time around.  What does gnus have to do
 with this?  You were talking about exporting to HTML but never mentioned
 gnus in the original post.

 If you are trying to write an html based email, you should be looking at
 different functionality than exporting.  Check out org-mime-htmlize, for
 instance.  Exporting creates files which reference other files (for
 images).  Messages are different.



Yes, I'm using precisely org-mime-htmlize with gnus when want to send
messages with png images. But with minted in my setup (to export correctly
html), the preview function does not work and then org-mime-htmlize
fails...

Again thanks !

Best wishes

Jo.


Re: [O] How to change a link?

2014-10-15 Thread Thorsten Jolitz
Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 Hi list,

 assume that I have a link object (e.g., I'm in the ellipsis part of
 this:

 (org-element-map (org-element-parse-buffer 'object) 'link
   (lambda (elt) ... ))

 What I want to do is this:
 1. check whether it is an internal link, and
 2. if it is, change it so that it points to the analogous place in
 another file.

 Any hints about how to do these things?

 (The rationale is that I'm writing a function which splits a single Org
 file into a bunch of smaller ones, and I want to preserve links.)

[[http:www.orgmode.org][Org-mode]]

#+BEGIN_SRC emacs-lisp :results raw
(save-excursion
 (re-search-backward org-link-re-with-space)
 (goto-char (match-beginning 0))
 (org-dp-contents (org-element-at-point)))
#+END_SRC

#+results:
((link
  (:type http :path www.orgmode.org :raw-link http:www.orgmode.org
  :application nil :search-option nil :begin 609 :end 643
  :contents-begin 633 :contents-end 641 :post-blank 0 :parent ...)))

so these

,
| :type http :path www.orgmode.org :raw-link http:www.orgmode.org
`

are your candidates for getting and setting with
'org-element-property' and 'org-element-put-property'.

-- 
cheers,
Thorsten




Re: [O] Math formatting in HTML export - The Org Manual

2014-10-15 Thread Eric S Fraga
On Wednesday, 15 Oct 2014 at 07:59, Joseph Vidal-Rosset wrote:

[...]

 Yes, I'm using precisely org-mime-htmlize with gnus when want to send
 messages with png images. But with minted in my setup (to export correctly
 html), the preview function does not work and then org-mime-htmlize
 fails...

Interesting.  The following has three LaTeX equations, one without any org 
LaTeX directives, one for inline use and one for LaTeX blocks.  Only the first 
works.

(please accept my apologies for sending an HTML formatted email to this list ;-)

* test

This is a test of the equations:

\begin{equation}
y = \sqrt{x}
\end{equation}

Alternatively, using LaTeX directives: first, the single line ~#+latex~ 
directive for an equation inline, say,
#+LATEX: y = f(x)
followed by a begin/end latex block:

* summary

The last one has disappeared completely.  The second is there in the raw email 
but has not been translated.  Only the first case works.  The export engine 
must work differently when exporting as a string?  It is indeed surprising that 
the whole begin/end latex block is removed from the raw text version, as you 
indicated in your OP.

This behaviour does seem rather strange.  Looking at org-mime.el, it is not 
obvious (to me) what is wrong.

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 25.0.50.1, Org release_8.3beta-450-gbc9a58


Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Rainer M Krug
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Hello,

Hi

I am not using org that much for schedulig, todo items, and other
similar topics, but mainly for literate programming, so I will comment
From that perspective.


 As discussed previously, I would like to modify property drawers syntax.
 The change is simple: they must be located right after a headline and
 its planning line, if any.  Therefore the following cases are valid

   * Headline
 :PROPERTIES:
 :KEY: value
 :END:

   * Headline
 SCHEDULED: 2014-10-14 mar.
 :PROPERTIES:
 :KEY: value
 :END:

 but, in the following case, the scheduled keyword will not be recognized

   * Headline
 :PROPERTIES:
 :KEY: value
 :END:
 SCHEDULED: 2014-10-14 mar.

 When not empty, they also have to contain only node properties.

No problems so far from my side.

 Moreover, node properties' keys can only contain non-whitespace
 characters and cannot end with a plus sign (which is used for
 accumulation). 

This is problematic for me, as I am using it extensively in the case
of :header-args.

I set file wide header-arg and add the ones which have to change per
subtree / node:

--8---cut here---start-8---
#+Property: header-args :tangle-mode (identity #o444)
#+PROPERTY: header-args+ :tangle no
#+PROPERTY: header-args+ :mkdirp yes
#+PROPERTY: header-args+ :exports both
#+PROPERTY: header-args+ :comments both
#+PROPERTY: header-args+ :padline no
#+PROPERTY: header-args+ :eval no-export

* To be tangled but *never* executed
:PROPERTIES:
:header-args+: :eval never
:END:
** some code
:PROPERTIES:
:comments: no
:header-args+: :tangle ./code.R
:header-args+: :padline no
:header-args+: :no-expand TRUE
:header-args+: :comments no
:END:
#+begin_src R 
## some code
#+end_src

* Not to be tangled but can be executed
#+begin_src R 
## some other code
#+end_src
--8---cut here---end---8---

So if I understand you correctly, this would break this approach, which
I think is very valuable in literate programming and reproducible research.

 Value can contain anything but a newline character.

 Thus, the following property drawer is invalid

   * Headline
 :PROPERTIES:
 :KEY: value
 Some text.
 :END:

 Any invalid property drawer becomes de facto a regular drawer, with
 PROPERTIES as its name.

 Besides defining exactly the syntax of property drawers, it should also
 make the property API faster in some cases. Indeed, there's no need to
 search through entire (possibly huge) sections in order to find
 properties attached to a headline.

 However, it will break some Org documents. In particular, TODO-states
 changes are usually logged before any drawer, including properties
 drawers. The following function repairs them.

At the moment, I do not see any way on how I can replace the + in the
properties drawer - or am I missing something very basic here?

Cheers,

Rainer


   (defun org-repair-property-drawers ()
 Fix properties drawers in current buffer.
   Ignore non Org buffers.
 (when (eq major-mode 'org-mode)
   (org-with-wide-buffer
(goto-char (point-min))
(let ((case-fold-search t)
  (inline-re (and (featurep 'org-inlinetask)
  (concat (org-inlinetask-outline-regexp)
  END[ \t]*$
  (org-map-entries
   (lambda ()
 (unless (and inline-re (org-looking-at-p inline-re))
   (save-excursion
 (let ((end (save-excursion (outline-next-heading) (point
   (forward-line)
   (when (org-looking-at-p org-planning-line-re) 
 (forward-line))
   (when (and ( (point) end)
  (not (org-looking-at-p org-property-drawer-re))
  (save-excursion
(re-search-forward org-property-drawer-re end 
 t)))
 (insert (delete-and-extract-region
  (match-beginning 0)
  (min (1+ (match-end 0)) end)))
 (unless (bolp) (insert \n

 Internally, changes are somewhat invasive, as they include a rewrite of
 almost all the property API. They also alter clocking, tags, todo
 keywords, logging, initialization, hopefully in an invisible manner.

 I pushed a new branch, top-properties in the repository for code
 review and testing. It includes unit tests, documentation and an
 ORG-NEWS entry.

 Feedback welcome.


 Regards,

-- 
Rainer M. Krug
email: Raineratkrugsdotde
PGP: 0x0F52F982


pgpKf8kM_FDLO.pgp
Description: PGP signature


[O] C-c C-y in currently clocked header

2014-10-15 Thread Daniel Clemente

Feature request.

 currently clocking
 :CLOCK:
 CLOCK: [2014-10-15 Wed 16:06]
 CLOCK: [2014-10-13 Mon 11:23]--[2014-10-13 Mon 11:54] =  0:31
 :END:

Now it's 16:26. If I put the cursor in 16:06 and press C-c C-y 
(org-evaluate-time-range), it would be useful to see in the minibuffer that the 
difference until now is 20 minutes.



Re: [O] How to change a link?

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 09:16, Thorsten Jolitz wrote:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 Hi list,

 assume that I have a link object (e.g., I'm in the ellipsis part of
 this:

 (org-element-map (org-element-parse-buffer 'object) 'link
   (lambda (elt) ... ))

 What I want to do is this:
 1. check whether it is an internal link, and
 2. if it is, change it so that it points to the analogous place in
 another file.

 Any hints about how to do these things?

 (The rationale is that I'm writing a function which splits a single Org
 file into a bunch of smaller ones, and I want to preserve links.)

 [[http:www.orgmode.org][Org-mode]]

 #+BEGIN_SRC emacs-lisp :results raw
 (save-excursion
  (re-search-backward org-link-re-with-space)
  (goto-char (match-beginning 0))
  (org-dp-contents (org-element-at-point)))
 #+END_SRC

 #+results:
 ((link
   (:type http :path www.orgmode.org :raw-link http:www.orgmode.org
   :application nil :search-option nil :begin 609 :end 643
   :contents-begin 633 :contents-end 641 :post-blank 0 :parent ...)))

 so these

 ,
 | :type http :path www.orgmode.org :raw-link http:www.orgmode.org
 `

 are your candidates for getting and setting with
 'org-element-property' and 'org-element-put-property'.

Thanks, but...

1. I have no org-dp-contents function in my Org.  (Org-mode version
8.2.5f (8.2.5f-elpa @ /home/marcin/.emacs.d/elpa/org-20140116/)).

2. What about internal links like

[[My Target][Find my target]]

(taken from the manual)?

In fact, I don't care about /external/ links at all; I'm /only/
interested in links pointing to the file they are in.

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Nicolas Goaziou
Hello,

Eric Abrahamsen e...@ericabrahamsen.net writes:

 Is there any chance this has messed up file-local #+TODO: keyword
 definitions?

The changes mess with todo keywords, tags, properties, initialization
(local keywords), clock and logging. However, the modifications are
internal and no change in behaviour is expected.

 Specifically, it looks like, if there are more than one of those
 options lines, they aren't parsed or applied in this test branch.

 This works in both master and top-properties:

 #+TODO: FIX | BREAK

 * FIX My car


 This works in master but *not* top-properties:

 #+TODO: FIX | BREAK
 #+TODO: EMAIL | REPLY

 * FIX My car
 * EMAIL My dad

Fixed. Thank you.


Regards,

-- 
Nicolas Goaziou



Re: [O] How to change a link?

2014-10-15 Thread Thorsten Jolitz
Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 On 2014-10-15, at 09:16, Thorsten Jolitz wrote:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 Hi list,

 assume that I have a link object (e.g., I'm in the ellipsis part of
 this:

 (org-element-map (org-element-parse-buffer 'object) 'link
   (lambda (elt) ... ))

 What I want to do is this:
 1. check whether it is an internal link, and
 2. if it is, change it so that it points to the analogous place in
 another file.

 Any hints about how to do these things?

 (The rationale is that I'm writing a function which splits a single Org
 file into a bunch of smaller ones, and I want to preserve links.)

 [[http:www.orgmode.org][Org-mode]]

 #+BEGIN_SRC emacs-lisp :results raw
 (save-excursion
  (re-search-backward org-link-re-with-space)
  (goto-char (match-beginning 0))
  (org-dp-contents (org-element-at-point)))
 #+END_SRC

 #+results:
 ((link
   (:type http :path www.orgmode.org :raw-link http:www.orgmode.org
   :application nil :search-option nil :begin 609 :end 643
   :contents-begin 633 :contents-end 641 :post-blank 0 :parent ...)))

 so these

 ,
 | :type http :path www.orgmode.org :raw-link http:www.orgmode.org
 `

 are your candidates for getting and setting with
 'org-element-property' and 'org-element-put-property'.

 Thanks, but...

 1. I have no org-dp-contents function in my Org.  (Org-mode version
 8.2.5f (8.2.5f-elpa @ /home/marcin/.emacs.d/elpa/org-20140116/)).

org-dp.el (and org-dp-lib.el) are libraries of mine that aim to make
local programming with org-elements (org-element-at-point) as convenient
as global programming (org-element-parse-buffer), see
https://github.com/tj64/org-dp. I find them very useful, unfortunately
they have been widely ignored so far ;)

 2. What about internal links like

 [[My Target][Find my target]]

 (taken from the manual)?

 In fact, I don't care about /external/ links at all; I'm /only/
 interested in links pointing to the file they are in.

This was just an example (using local parsing for convenience), giving
the hint that you could put some links of interest in an Org file, parse
it, and look at the (link (:type ...)) alists in the parse tree to see
the properties you need to get and set. The internal link representation
is the same for all types anyway.

-- 
cheers,
Thorsten




[O] icicle-imenu and folded nodes

2014-10-15 Thread Alan Schmitt
Hello,

(I'm also sending this to Drew as I'm not sure he's subscribed to the
list.)

I really like imenu, but I prefer the icicle-imenu version because it
lets me directly target sub nodes. Unfortunately when I use it the
target node is not unfolded (the cursor ends up on an ellipsis). Is
there a way to reveal the target node?

Thanks,

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


signature.asc
Description: PGP signature


Re: [O] How to change a link?

2014-10-15 Thread Nicolas Goaziou
Hello,

Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 assume that I have a link object (e.g., I'm in the ellipsis part of
 this:

 (org-element-map (org-element-parse-buffer 'object) 'link
   (lambda (elt) ... ))

 What I want to do is this:
 1. check whether it is an internal link, and

(member (org-element-property :type elt) '(custom-id fuzzy))

 2. if it is, change it so that it points to the analogous place in
 another file.

  (org-element-put-property elt :raw-link
(concat file:path/to/other-file.org::
(org-element-property :path elt)))

Untested.


Regards,

-- 
Nicolas Goaziou



Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Nicolas Goaziou
Hello,

Rainer M Krug rai...@krugs.de writes:


 Moreover, node properties' keys can only contain non-whitespace
 characters and cannot end with a plus sign (which is used for
 accumulation). 

 This is problematic for me, as I am using it extensively in the case
 of :header-args.

 I set file wide header-arg and add the ones which have to change per
 subtree / node:

 #+Property: header-args :tangle-mode (identity #o444)
 #+PROPERTY: header-args+ :tangle no
 #+PROPERTY: header-args+ :mkdirp yes
 #+PROPERTY: header-args+ :exports both
 #+PROPERTY: header-args+ :comments both
 #+PROPERTY: header-args+ :padline no
 #+PROPERTY: header-args+ :eval no-export

I wasn't clear. A property key cannot end with a plus sign, because the
plus sign has another meaning. IOW, header-args+ is perfectly valid,
but the true property key is header-args, + meaning that values
should be accumulated.

This behaviour is unchanged.


Regards,

-- 
Nicolas Goaziou



[O] after-todo-statistics hook for checkboxes

2014-10-15 Thread James Harkins
org-after-todo-statistics-hook allows you to do something to a node after its 
statistics cookie got updated. Unfortunately, it does this only for TODO 
subheadings and it doesn't work with checkboxes.

Use case: Grading assignments. Each assignment is a subheading. Each student's 
work for that assignment is a plain list item with a checkbox. When I finish 
grading one of them, I tick off the checkbox. At this point, I want the 
heading's TODO status to change:

- If all items are complete, change it to DONE.
- If there exist both finished and unfinished list items, change it to INPROG.
- If all items are still open, change it to TODO. (This could happen if I 
mistakenly ticked a checkbox and then un-ticked it.)

This should then cascade upward to the parent's statistics, all the way to the 
top level, so I can see at a glance (even with all top-level trees folded) that 
there is something remaining to grade.

I don't want to use subheadings for each student's work, because then my TODO 
agenda views will get cluttered with multiple entries per assignment.

Actually... after a little more poking around, the problem seems to be that 
org-update-checkbox-count refers to no hooks whatsoever. Should it go toward 
the end, here? (Untested.)

  (mapc (lambda (cookie)
  (let* ((beg (car cookie))
 (end (nth 1 cookie))
 (percentp (nth 2 cookie))
 (checked (car (nth 3 cookie)))
 (total (cdr (nth 3 cookie)))
 (new (if percentp
  (format [%d%%] (/ (* 100 checked)
  (max 1 total)))
(format [%d/%d] checked total
(goto-char beg)
(insert new)
(delete-region (point) (+ (point) (- end beg)))
(run-hook-with-args 'org-after-todo-statistics-hook
checked (- total checked))
(when org-auto-align-tags (org-fix-tags-on-the-fly
cookies-list

hjh





Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Eric Abrahamsen
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Hello,

 Eric Abrahamsen e...@ericabrahamsen.net writes:

 Is there any chance this has messed up file-local #+TODO: keyword
 definitions?

 The changes mess with todo keywords, tags, properties, initialization
 (local keywords), clock and logging. However, the modifications are
 internal and no change in behaviour is expected.

 Specifically, it looks like, if there are more than one of those
 options lines, they aren't parsed or applied in this test branch.

 This works in both master and top-properties:

 #+TODO: FIX | BREAK

 * FIX My car


 This works in master but *not* top-properties:

 #+TODO: FIX | BREAK
 #+TODO: EMAIL | REPLY

 * FIX My car
 * EMAIL My dad

 Fixed. Thank you.

Looks good! Thanks very much.




Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Rainer M Krug
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Hello,

 Rainer M Krug rai...@krugs.de writes:


 Moreover, node properties' keys can only contain non-whitespace
 characters and cannot end with a plus sign (which is used for
 accumulation). 

 This is problematic for me, as I am using it extensively in the case
 of :header-args.

 I set file wide header-arg and add the ones which have to change per
 subtree / node:

 #+Property: header-args :tangle-mode (identity #o444)
 #+PROPERTY: header-args+ :tangle no
 #+PROPERTY: header-args+ :mkdirp yes
 #+PROPERTY: header-args+ :exports both
 #+PROPERTY: header-args+ :comments both
 #+PROPERTY: header-args+ :padline no
 #+PROPERTY: header-args+ :eval no-export

 I wasn't clear. A property key cannot end with a plus sign, because the
 plus sign has another meaning. IOW, header-args+ is perfectly valid,
 but the true property key is header-args, + meaning that values
 should be accumulated.

OK - thanks for the clarification.

Then I am happy with the proposal.

Rainer


 This behaviour is unchanged.


 Regards,

-- 
Rainer M. Krug
email: Raineratkrugsdotde
PGP: 0x0F52F982


pgpPWf8r6ERdD.pgp
Description: PGP signature


Re: [O] after-todo-statistics hook for checkboxes

2014-10-15 Thread James Harkins
On Wed, 15 Oct 2014 19:08:31 +0800
James Harkins jamshar...@qq.com wrote:

 org-after-todo-statistics-hook allows you to do something to a node after its 
 statistics cookie got updated. Unfortunately, it does this only for TODO 
 subheadings and it doesn't work with checkboxes.
 (snip)
 Actually... after a little more poking around, the problem seems to be that 
 org-update-checkbox-count refers to no hooks whatsoever. Should it go toward 
 the end, here? (Untested.)
 
   (mapc (lambda (cookie)
 (let* ((beg (car cookie))
(end (nth 1 cookie))
(percentp (nth 2 cookie))
(checked (car (nth 3 cookie)))
(total (cdr (nth 3 cookie)))
(new (if percentp
 (format [%d%%] (/ (* 100 checked)
 (max 1 total)))
   (format [%d/%d] checked total
   (goto-char beg)
   (insert new)
   (delete-region (point) (+ (point) (- end beg)))
   (run-hook-with-args 'org-after-todo-statistics-hook
   checked (- total checked))
   (when org-auto-align-tags (org-fix-tags-on-the-fly
   cookies-list

After dinner, I tested the change that I had speculated about, and... it works 
exactly correctly.

* TODO Test A [0/2]
** TODO Test B [0/2]
   - [ ] 1
   - [ ] 2
** TODO Test C

C-c C-c on 1 (with my hook function[1]):

* TODO Test A [0/2]
** INPROG Test B [1/2]
   - [X] 1
   - [ ] 2
** TODO Test C

C-c C-c on 2:

* INPROG Test A [1/2]
** DONE Test B [2/2]
   - [X] 1
   - [X] 2
** TODO Test C

So I'm submitting this as a TINYCHANGE patch. Do with it as you will, although 
I will keep using it locally until something better comes along.

hjh

[1]
(defun hjh-org-summary-todo (n-done n-not-done)
  Switch entry to DONE when all subentries are done, to TODO otherwise.
  (let (org-log-done org-log-states)   ; turn off logging
(org-todo
 (if (= n-not-done 0)
 DONE
 (if (= n-done 0) TODO INPROG)

(add-hook 'org-after-todo-statistics-hook 'hjh-org-summary-todo)
From cbb4c589b1ed65152485ea2b687eb54ff7e2e478 Mon Sep 17 00:00:00 2001
From: James Harkins jamshar...@dewdrop-world.net
Date: Wed, 15 Oct 2014 21:32:28 +0800
Subject: [PATCH] Run org-after-todo-statistics-hook when toggling a checkbox

* org-list.el (org-update-checkbox-count): Run
org-after-todo-statistics-hook for each affected cookie.

TINYCHANGE
---
 lisp/org-list.el |2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/org-list.el b/lisp/org-list.el
index b1d47c9..2fdda6b 100644
--- a/lisp/org-list.el
+++ b/lisp/org-list.el
@@ -2553,6 +2553,8 @@ With optional prefix argument ALL, do this for the whole buffer.
 		(goto-char beg)
 		(insert new)
 		(delete-region (point) (+ (point) (- end beg)))
+		(run-hook-with-args 'org-after-todo-statistics-hook
+checked (- total checked))
 		(when org-auto-align-tags (org-fix-tags-on-the-fly
 	cookies-list
 
-- 
1.7.9.5



Re: [O] after-todo-statistics hook for checkboxes

2014-10-15 Thread Nicolas Goaziou
Hello,

James Harkins jamshar...@qq.com writes:

 On Wed, 15 Oct 2014 19:08:31 +0800
 James Harkins jamshar...@qq.com wrote:

 org-after-todo-statistics-hook allows you to do something to a node after 
 its statistics cookie got updated. Unfortunately, it does this only for TODO 
 subheadings and it doesn't work with checkboxes.
 (snip)
 Actually... after a little more poking around, the problem seems to be that 
 org-update-checkbox-count refers to no hooks whatsoever. Should it go toward 
 the end, here? (Untested.)
 
   (mapc (lambda (cookie)
(let* ((beg (car cookie))
   (end (nth 1 cookie))
   (percentp (nth 2 cookie))
   (checked (car (nth 3 cookie)))
   (total (cdr (nth 3 cookie)))
   (new (if percentp
(format [%d%%] (/ (* 100 checked)
(max 1 total)))
  (format [%d/%d] checked total
  (goto-char beg)
  (insert new)
  (delete-region (point) (+ (point) (- end beg)))
  (run-hook-with-args 'org-after-todo-statistics-hook
  checked (- total checked))
  (when org-auto-align-tags (org-fix-tags-on-the-fly
  cookies-list

 After dinner, I tested the change that I had speculated about, and... it 
 works exactly correctly.

 * TODO Test A [0/2]
 ** TODO Test B [0/2]
- [ ] 1
- [ ] 2
 ** TODO Test C

 C-c C-c on 1 (with my hook function[1]):

 * TODO Test A [0/2]
 ** INPROG Test B [1/2]
- [X] 1
- [ ] 2
 ** TODO Test C

 C-c C-c on 2:

 * INPROG Test A [1/2]
 ** DONE Test B [2/2]
- [X] 1
- [X] 2
 ** TODO Test C

 So I'm submitting this as a TINYCHANGE patch. Do with it as you will, 
 although I will keep using it locally until something better comes along.

 hjh

 [1]
 (defun hjh-org-summary-todo (n-done n-not-done)
   Switch entry to DONE when all subentries are done, to TODO otherwise.
   (let (org-log-done org-log-states)   ; turn off logging
 (org-todo
  (if (= n-not-done 0)
DONE
  (if (= n-done 0) TODO INPROG)

 (add-hook 'org-after-todo-statistics-hook 'hjh-org-summary-todo)

See also org-checklist.el in contrib/.


Regards,

-- 
Nicolas Goaziou



[O] Programatic validation of code blocks for subsequent execution without prompting

2014-10-15 Thread Jonathan Leech-Pepin
Hello all,

I just wanted to share a bit of code I worked up for an
emacs.stackexchange.com question regarding evaluation code blocks without
confirmation if the code has not changed (useful when exporting multiple
times or using in call_src where you will not have a #+RESULT block to
cache results with.

The question and answer can be found here:
http://emacs.stackexchange.com/questions/499/finding-and-executing-org-babel-snippets-programatically/510#510

The code in question:

(defvar my/babel-hashes 'nil)
(defun my/babel-hashed-confirm (lang body)
  (let ((check (list lang (md5 body
;; If not hashed, prompt
(if (not (member (list lang (md5 body)) my/babel-hashes))
;; Ask if you want to hash
(if (yes-or-no-p Store hash for block? )
;; Hash is added, proceed with evaluation
(progn
  (add-to-list 'my/babel-hashes check)
  'nil)
  ;; Return 't to prompt for evaluation
  't

(setq org-confirm-babel-evaluate 'my/babel-hashed-confirm)



This allows for re-evaluation of the same code block (regardless of call
location or variables used) without subsequent prompting as long as the
body of the code block has not changed.  This will prevent accidental
insertions, or unintended changes from being evaluated without prompting,
while allowing re-evaluation as needed (For example an sql query that will
have different results over time).

Regards,
Jon


Re: [O] How to change a link?

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 12:02, Thorsten Jolitz wrote:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 Thanks, but...

 1. I have no org-dp-contents function in my Org.  (Org-mode version
 8.2.5f (8.2.5f-elpa @ /home/marcin/.emacs.d/elpa/org-20140116/)).

 org-dp.el (and org-dp-lib.el) are libraries of mine that aim to make
 local programming with org-elements (org-element-at-point) as convenient
 as global programming (org-element-parse-buffer), see
 https://github.com/tj64/org-dp. I find them very useful, unfortunately
 they have been widely ignored so far ;)

I see.  Unfortunately, I'll ignore them, too, for the simple reason that
I do not want to introduce additional dependencies (and I have to walk
through the whole document anyway).

 2. What about internal links like

 [[My Target][Find my target]]

 (taken from the manual)?

 In fact, I don't care about /external/ links at all; I'm /only/
 interested in links pointing to the file they are in.

 This was just an example (using local parsing for convenience), giving
 the hint that you could put some links of interest in an Org file, parse
 it, and look at the (link (:type ...)) alists in the parse tree to see
 the properties you need to get and set. The internal link representation
 is the same for all types anyway.

I see.  What is the most interesting for me is the idea of
getting/setting properties, that's what I was looking for.

Thanks,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



[O] stuck project definition bug?

2014-10-15 Thread Alex Scherbanov
Hi.
I’ve written a simple definition of a stuck project:
  (setq org-stuck-projects '(PROJECT (NEXT) nil nil))

This means that everything with a tag :PROJECT: without NEXT subtask is a stuck 
project.

I’d like this stuck project to be shown in the stuck project list:

* TODO my stuck project :PROJECT:
** TODO subtask

But it is not shown there.


The interesting thing is that it is shown in the list if I remove the todo 
state from my stuck project.
Did I miss something while matching the tag or is it a project definition bug?
Thanks.

   Alex Scherbanov




[O] Internal links not working?

2014-10-15 Thread Marcin Borkowski
I have this test file:


#+TITLE: Link testing

* Heading
:PROPERTIES:
:CUSTOM_ID: link-target
:END:

* Second heading
target
* Third heading
* Fourth heading
Testing linking to precise targets, not headings:
Third heading
* Links
[[#link-target]]
[[target]]
[[Second heading]]
[[Third heading]]


When I C-c C-o (or mouse-1) on any of the links under the last heading,
I am being asked for a TAGS table.

What am I doing wrong?

TIA,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Michael Brand
Hi Nicolas

My questions were misleading, I'm sorry. I should not have asked about
valid and not have added a property drawer. Rather I wanted to know
when regarding only the agenda whether I can still postpone to make
these examples valid:

* Yearly meeting
  2013-08-11 Sun
  2014-12-21 Sun
  SCHEDULED: 2015-02-05 Thu
  2015-09-20 Sun
  - SCHEDULED is used to remind to add a plain timestamp for the
meeting date in 2016 that will be published latest by
2015-02-05. SCHEDULED will be shifted for the next year after
that.
* Headline

Will the invalid example above continue on the new branch
top-properties to show also the SCHEDULED in the default agenda view?

* Yearly task
  DEADLINE: [2013-08-11 Sun -2d]
  DEADLINE: 2014-12-21 Sun -2d
  SCHEDULED: 2015-02-05 Thu
  DEADLINE: 2015-09-20 Sun -2d
  - SCHEDULED is used to remind to add a DEADLINE for the due date
in 2016 that will be published latest by 2015-02-05. SCHEDULED
will be shifted for the next year after that.
  - All past DEADLINE are inactive and document when the task had
to be done in the past.
* Headline

Will the invalid example above continue on the new branch
top-properties to show all three active timestamps in the default
agenda view?

Michael



Re: [O] Internal links not working?

2014-10-15 Thread Marco Wahl
Hi Marcin,

 I have this test file:

 

 #+TITLE: Link testing

 * Heading
 :PROPERTIES:
 :CUSTOM_ID: link-target
 :END:

 * Second heading
 target
 * Third heading
 * Fourth heading
 Testing linking to precise targets, not headings:
 Third heading
 * Links
 [[#link-target]]
 [[target]]
 [[Second heading]]
 [[Third heading]]
 

 When I C-c C-o (or mouse-1) on any of the links under the last heading,
 I am being asked for a TAGS table.

All those links work as expected here.

C-h k C-c C-o says

--8---cut here---start-8---
C-c C-o runs the command org-open-at-point (found in org-mode-map),
which is an interactive compiled Lisp function in `org.el'.
--8---cut here---end---8---

What does C-h k C-c C-o say in your case?  Possibly you managed to
shadow the binding somehow.



Ciao,  Marco
-- 
http://www.wahlzone.de
GPG: 0x0A3AE6F2




Re: [O] Internal links not working?

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 19:34, Marco Wahl wrote:

 Hi Marcin,

 I have this test file:

 

 #+TITLE: Link testing

 * Heading
 :PROPERTIES:
 :CUSTOM_ID: link-target
 :END:

 * Second heading
 target
 * Third heading
 * Fourth heading
 Testing linking to precise targets, not headings:
 Third heading
 * Links
 [[#link-target]]
 [[target]]
 [[Second heading]]
 [[Third heading]]
 

 When I C-c C-o (or mouse-1) on any of the links under the last heading,
 I am being asked for a TAGS table.

 All those links work as expected here.

 C-h k C-c C-o says

 --8---cut here---start-8---
 C-c C-o runs the command org-open-at-point (found in org-mode-map),
 which is an interactive compiled Lisp function in `org.el'.
 --8---cut here---end---8---

 What does C-h k C-c C-o say in your case?  Possibly you managed to
 shadow the binding somehow.

No.  (I checked it earlier, and re-checked it now.  The binding is
fine.)

 Ciao,  Marco

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] Internal links not working?

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 18:52, Marcin Borkowski wrote:

 I have this test file:

 
 #+TITLE: Link testing

 * Heading
 :PROPERTIES:
 :CUSTOM_ID: link-target
 :END:

 * Second heading
 target
 * Third heading
 * Fourth heading
 Testing linking to precise targets, not headings:
 Third heading
 * Links
 [[#link-target]]
 [[target]]
 [[Second heading]]
 [[Third heading]]
 

 When I C-c C-o (or mouse-1) on any of the links under the last heading,
 I am being asked for a TAGS table.

 What am I doing wrong?

 TIA,

I instrumented for Edebug the org-open-at-point function, and I found
the culprit: the value of org-open-link-functions is

(org-ctags-find-tag org-ctags-ask-rebuild-tags-file-then-find-tag
org-ctags-ask-append-topic)

here.  I don't need to add that I never customized that variable...

What is even more strange, when I try to M-x set-variable, it somehow
gets changed to org-ctags-open-link-functions (i.e., I want to change
org-open-link-functions, so I enter this at the prompt, and the next
prompt - the one for the value - displays the name of the other
variable...).

Really strange.  Any ideas what might have happened?

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] C-c C-y in currently clocked header

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 11:29, Daniel Clemente wrote:

 Feature request.

  currently clocking
:CLOCK:
CLOCK: [2014-10-15 Wed 16:06]
CLOCK: [2014-10-13 Mon 11:23]--[2014-10-13 Mon 11:54] =  0:31
:END:

 Now it's 16:26. If I put the cursor in 16:06 and press C-c C-y 
 (org-evaluate-time-range), it would be useful to see in the minibuffer that 
 the difference until now is 20 minutes.

Saluton!

Are you aware that you can set org-clock-mode-line-total to 'current?
(Personally, I only discovered it before a few hours, and set it to
'today.)

Hth,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] beamer and changing font size for example environment

2014-10-15 Thread Marcin Borkowski

On 2014-10-13, at 09:50, Eric S Fraga wrote:

 You can also /shrink/ individual frames in beamer.

Please note that can does *not* imply should.

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



[O] *Clock Task Select* - feature request

2014-10-15 Thread Marcin Borkowski
Hi list,

I'd love it if *Clock Task Select* were buried (or better, killed) after
use.  (Is there ever a scenario when someone might want it not to be
killed?)  It seems that this should do:


*** /home/marcin/.emacs.d/elpa/org-20140116/org-clock.el
--- #buffer org-clock.el
***
*** 559,564 
--- 559,565 
(fit-window-to-buffer nil nil (if ( chl 10) chl (+ 5 chl)))
(message (or prompt Select task for clocking:))
(setq cursor-type nil rpl (read-char-exclusive))
+   (kill-buffer)
(cond
 ((eq rpl ?q) nil)
 ((eq rpl ?x) nil)
***
*** 975,980 
--- 976,982 
(read-char (concat (funcall prompt-fn clock)
[jkKgGSscCiq]? )
   nil 45)))
+   (kill-buffer)
(and (not (memq char-pressed '(?i ?q))) char-pressed)
 (default
   (floor (/ (org-float-time


(the second addition should kill the buffer with the menu shown after
some idle time, though I didn't test it).

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] [RFC] Change property drawer syntax

2014-10-15 Thread Nicolas Goaziou
Hello,

Michael Brand michael.ch.br...@gmail.com writes:

 My questions were misleading, I'm sorry. I should not have asked about
 valid and not have added a property drawer.

Actually valid/invalid is a bit strong. There is no such thing as
a syntax error in Org. However, Org may differ from your expectations in
some cases.

Instead of using invalid, I'll describe what Org is supposed to see
and what you can expect.

 Rather I wanted to know when regarding only the agenda whether I can
 still postpone to make these examples valid:

 * Yearly meeting
   2013-08-11 Sun
   2014-12-21 Sun
   SCHEDULED: 2015-02-05 Thu
   2015-09-20 Sun
   - SCHEDULED is used to remind to add a plain timestamp for the
 meeting date in 2016 that will be published latest by
 2015-02-05. SCHEDULED will be shifted for the next year after
 that.
 * Headline

 Will the invalid example above continue on the new branch
 top-properties to show also the SCHEDULED in the default agenda view?

Here, SCHEDULED keyword is not located right after the headline and,
therefore, loses its meaning. Org really sees

  * Yearly meeting
2013-08-11 Sun
2014-12-21 Sun
xx 2015-02-05 Thu
2015-09-20 Sun
xxx
* Headline

In this case, 4 plain time-stamps should appear in the agenda. None of
them should be scheduled. (org-entry-get (point) SCHEDULED) will
return nil.

 * Yearly task
   DEADLINE: [2013-08-11 Sun -2d]
   DEADLINE: 2014-12-21 Sun -2d
   SCHEDULED: 2015-02-05 Thu
   DEADLINE: 2015-09-20 Sun -2d
   - SCHEDULED is used to remind to add a DEADLINE for the due date
 in 2016 that will be published latest by 2015-02-05. SCHEDULED
 will be shifted for the next year after that.
   - All past DEADLINE are inactive and document when the task had
 to be done in the past.
 * Headline

 Will the invalid example above continue on the new branch
 top-properties to show all three active timestamps in the default
 agenda view?

Here, DEADLINE is correctly located, but isn't followed by an active
time-stamp. It also loses its meaning, leading to:

  * Yearly task
xx [2013-08-11 Sun -2d]
xx 2014-12-21 Sun -2d
xx 2015-02-05 Thu
xx 2015-09-20 Sun -2d
xxx
* Headline

The three active timestamps should appear in the agenda. None of them
should be either scheduled or deadline. Both (org-entry-get (point)
SCHEDULED) and (org-entry-get (point) DEADLINE) will return nil.

If anything different happens, it is a bug. I don't know if that bug
still exists in top-properties branch. Anyway, I suggest to not count
on it, as it may be fixed, sooner or later.


Regards,

-- 
Nicolas Goaziou



[O] Feature suggestion: org-extend-today-until

2014-10-15 Thread Marcin Borkowski
Hi all,

how difficult would it be to extend the meaning of
`org-extend-today-until' to the clock tables generated with
`:block today'?

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] Internal links not working?

2014-10-15 Thread Marco Wahl
 #+TITLE: Link testing

 * Heading
 :PROPERTIES:
 :CUSTOM_ID: link-target
 :END:

 * Second heading
 target
 * Third heading
 * Fourth heading
 Testing linking to precise targets, not headings:
 Third heading
 * Links
 [[#link-target]]
 [[target]]
 [[Second heading]]
 [[Third heading]]

 When I C-c C-o (or mouse-1) on any of the links under the last heading,
 I am being asked for a TAGS table.

 I instrumented for Edebug the org-open-at-point function, and I found
 the culprit: the value of org-open-link-functions is

 (org-ctags-find-tag org-ctags-ask-rebuild-tags-file-then-find-tag
 org-ctags-ask-append-topic)

Looks like this setting goes back to Org module org-ctags.  Possibly you
want just switch off the ctags module via

M-x customize-variable org-modules

Of course you could also study org-ctags and try to understand its
benefits.


Regards,  Marco
-- 
http://www.wahlzone.de
GPG: 0x0A3AE6F2




Re: [O] How to change a link?

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 12:19, Nicolas Goaziou wrote:

 Hello,

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 assume that I have a link object (e.g., I'm in the ellipsis part of
 this:

 (org-element-map (org-element-parse-buffer 'object) 'link
   (lambda (elt) ... ))

 What I want to do is this:
 1. check whether it is an internal link, and

 (member (org-element-property :type elt) '(custom-id fuzzy))

 2. if it is, change it so that it points to the analogous place in
 another file.

   (org-element-put-property elt :raw-link
 (concat file:path/to/other-file.org::
 (org-element-property :path elt)))

Thanks a lot, that was helpful!  I'm starting to feel more and more
confident with org-element-whatever, that's good.

I have one more question.  What I'm about to do is (basically) put
file:some-file-name:: in front of the link, without changing the
description.  I could use `org-element-put-property' and (AFAIU)
org-element-link-interpreter to put it into the buffer (and probably
delete the old one).  It would be much easier (and maybe faster) just to
go to the point in the buffer where the link starts, go `(forward-char
2)' (past the brackets) and `(insert (concat file name ::))'.

But, is it safe?  Wouldn't it break something?  And is it considered a
good practice?

Regards,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] Internal links not working?

2014-10-15 Thread Marcin Borkowski

On 2014-10-15, at 23:27, Marco Wahl wrote:

 #+TITLE: Link testing

 * Heading
 :PROPERTIES:
 :CUSTOM_ID: link-target
 :END:

 * Second heading
 target
 * Third heading
 * Fourth heading
 Testing linking to precise targets, not headings:
 Third heading
 * Links
 [[#link-target]]
 [[target]]
 [[Second heading]]
 [[Third heading]]

 When I C-c C-o (or mouse-1) on any of the links under the last heading,
 I am being asked for a TAGS table.

 I instrumented for Edebug the org-open-at-point function, and I found
 the culprit: the value of org-open-link-functions is

 (org-ctags-find-tag org-ctags-ask-rebuild-tags-file-then-find-tag
 org-ctags-ask-append-topic)

 Looks like this setting goes back to Org module org-ctags.  Possibly you
 want just switch off the ctags module via

 M-x customize-variable org-modules

 Of course you could also study org-ctags and try to understand its
 benefits.

Funny thing - I /never/ turned this module on!  The only thing connected
with tag tables in Emacs I do is I sometimes accidentally hit M-. or
something like that.

 Regards,  Marco

Thanks for your effort!

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] How to change a link?

2014-10-15 Thread Nicolas Goaziou
Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 I have one more question.  What I'm about to do is (basically) put
 file:some-file-name:: in front of the link, without changing the
 description.  I could use `org-element-put-property' and (AFAIU)
 org-element-link-interpreter to put it into the buffer (and probably
 delete the old one).  It would be much easier (and maybe faster) just to
 go to the point in the buffer where the link starts, go `(forward-char
 2)' (past the brackets) and `(insert (concat file name ::))'.

 But, is it safe?  Wouldn't it break something?  And is it considered a
 good practice?

There are caveats.

For example, as soon as you alter the buffer, your AST becomes invalid
(buffer positions are all wrong after the insertion). If you want to
process all the links from the same AST, you can, for example, maintain
a counter for characters inserted so far that will fix buffer positions,
or first get all internal links with `org-element-map', then process
them in reverse order so buffer modifications do not invalidate them.

You may also directly work on the buffer, with something like

  (org-with-wide-buffer
   (goto-char (point-min))
   (while (re-search-forward org-bracket-link-regexp nil t)
 (forward-char -1)
 (let ((context (org-element-context)))
   (when (and (eq (org-element-type context) 'link)
  (member (org-element-property :type context)
  '(custom-id fuzzy)))
 (goto-char (+ (org-element-property :begin context) 2))
 (insert file:path/to-file::)


Regards,

-- 
Nicolas Goaziou



Re: [O] How to change a link?

2014-10-15 Thread Thorsten Jolitz
Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 I see.  What is the most interesting for me is the idea of
 getting/setting properties, that's what I was looking for.

Thats exactly what org-dp (https://github.com/tj64/org-dp) is about: 
getting and setting element properties instead of working on the textual
representation in the buffer. 

Here the commentary section of org-dp.el:

,
| ** Commentary
| 
| Functions for declarative local programming with Org elements. They
| allow to declare what should be done and leave the low-level work,
| the how-to, to the Org parser/interpreter framework.
| 
| With other words, org-dp acts on the internal representation of Org
| elements rather than on their textual representation, and leaves
| the transformation between both representations to the
| parser/interpreter framework. To create or modify an element, you
| call the parser to open it up, rewire its internals, and then call
| the interpreter to build the element again based on its modified
| internals.
| 
| Since all Org elements are uniformely represented as nested lists
| internally, with their properties stored as key-val pairs in
| plists, they can be treated in a much more uniform way when dealing
| with the internal representation instead of the highly variable
| textual representations. A big advantage of plists is that only
| those properties that are actually accessed matter, so when
| transforming one Org element into another on the internal level one
| does not have to worry about not matching properties as long as
| these are not used by the interpreter when building the textual
| representation of the transformed element.
| 
| Library org-dp is meant for programming at the local level,
| i.e. without any (contextual) information except those about the
| parsed element at point. It is designed to make using the Org-mode
| parser/interpreter framework at local level as convenient as using
| it at the global level (with a complete parse-tree produced by
| `org-element-parse-buffer` available). It takes care of the
| org-element caching mechanism in that it only acts on copies of the
| locally parsed elements at point, never on the original parsed (and
| cached) object itself.
`

With just a few functions:

,
| (defun* org-dp-create (elem-type optional contents insert-p
|affiliated rest args)
| 
| (defun* org-dp-rewire (elem-type optional contents replace
|affiliated element rest args)
| 
| (defun org-dp-map (fun-with-args rgxp optional match-pos
|backward-search-p beg end silent-p)
| 
| (defun org-dp-contents (optional element interpret-p no-properties-p)
| 
| (defun* org-dp-prompt (optional elem elem-lst key noprompt- [...]
`

you can do almost all you local Org programming (i.e. doing stuff
at-point without the need for a complete parse-tree) by getting and
setting element properties, thats why I called the library

,
| org-dp.el --- Declarative Local Programming with Org Elements
`

it allows to leave most of the low-level parsing and interpreting stuff
to the parser framework, you only need to 'declare' the element-type and
the property values to create or modify elements.

-- 
cheers,
Thorsten




Re: [O] How to change a link?

2014-10-15 Thread Marcin Borkowski

On 2014-10-16, at 00:28, Thorsten Jolitz wrote:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 I see.  What is the most interesting for me is the idea of
 getting/setting properties, that's what I was looking for.

 Thats exactly what org-dp (https://github.com/tj64/org-dp) is about: 
 getting and setting element properties instead of working on the textual
 representation in the buffer. 

OK, I'm (almost) convinced now.  What about availability on MELPA or
somewhere?  I'm going to release my code, and ease of installation is
one of possible concerns.

(OTOH, if someone is brave enough to use Emacs, installing a package
from git should not be too difficult...)

Thanks!

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University



Re: [O] How to change a link?

2014-10-15 Thread Thorsten Jolitz
Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 On 2014-10-16, at 00:28, Thorsten Jolitz wrote:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 I see.  What is the most interesting for me is the idea of
 getting/setting properties, that's what I was looking for.

 Thats exactly what org-dp (https://github.com/tj64/org-dp) is about: 
 getting and setting element properties instead of working on the textual
 representation in the buffer. 

 OK, I'm (almost) convinced now.

you can have a look at org-dp-lib.el in the same repo, it has a few
(quite useful) convenience functions written on top of org-dp.el, so
they serve as usage examples too:

,
| (defun org-dp-wrap-in-block (optional lines user-info rest prompt-spec)
| (defun org-dp-toggle-headers (optional action)
| (defun org-dp-filter-node-props (filter optional negate-p verbose-p)
| (defun org-dp-create-table (row-lst optional tblfm table-el-p insert-p)
`

 What about availability on MELPA or
 somewhere?  I'm going to release my code, and ease of installation is
 one of possible concerns.

I would actually appreciate if someone else uses it for a while before I
making it a MELPA package, but I put this on my todo list.

 (OTOH, if someone is brave enough to use Emacs, installing a package
 from git should not be too difficult...)

it shouldn't really ...

-- 
cheers,
Thorsten




Re: [O] How to change a link?

2014-10-15 Thread Thorsten Jolitz
Thorsten Jolitz tjol...@gmail.com writes:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 On 2014-10-16, at 00:28, Thorsten Jolitz wrote:

 Marcin Borkowski mb...@wmi.amu.edu.pl writes:

 I see.  What is the most interesting for me is the idea of
 getting/setting properties, that's what I was looking for.

 Thats exactly what org-dp (https://github.com/tj64/org-dp) is about: 
 getting and setting element properties instead of working on the textual
 representation in the buffer. 

 OK, I'm (almost) convinced now.

PS
org-dp is for local programming - if you parse the buffer anyway in your
programm then working with the parse-tree is the 'default', of course. 

There is a mapping function, 'org-dp-map', but its very lightweight - it
gathers no context information at all, just moves point to all regexp
matches in buffer and applies a (local org-dp) function at that points.

-- 
cheers,
Thorsten




Re: [O] after-todo-statistics hook for checkboxes

2014-10-15 Thread James Harkins

On October 15, 2014 9:45:32 PM Nicolas Goaziou m...@nicolasgoaziou.fr wrote:


See also org-checklist.el in contrib/.


Ok, I'll have a look. Not at my computer now.

I do think this issue qualifies as a bug (albeit minor). The real behavior 
deviates from the documentation (in a way that's difficult to justify 
logically). IMO it should be fixed, or the documentation should explain 
that the after todo statistics hook doesn't work for checkboxes without 
requireing org-checklist.


hjh

Sent with AquaMail for Android
http://www.aqua-mail.com







[O] electric-indent-mode in Emacs 25 not indenting in Org

2014-10-15 Thread William Denton
I got tired of waiting for prettify-symbols-mode so I compiled Emacs from 
source, which gives me version 25.0.50.1 (25 being next after 24.4).


I noticed something odd with electric-indent-mode, which I had enabled, and 
which is on by default in 24.4.


If I run Emacs 24.3 (my Ubuntu system default) as emacs -Q, then run M-x 
electric-indent-mode to enable the mode, open foo.org, and type


* Heading

then when I hit return the cursor ends up under the H.  That is one of the 
things electric-indent-mode does.


But when I run Emacs 25 with emacs -Q, check to make sure electric-indent-mode 
is enabled and see that it is because that's the default, open foo.org, and type


* Heading

then when I hit return the cursor ends up under the *!

Bill
--
William Denton ↔  Toronto, Canada ↔  https://www.miskatonic.org/

[O] Wrong results in agenda text search

2014-10-15 Thread Samuel Wales
I ran an agenda text search and was puzzled that there were
no results for a particular term.  I even copied it from the
headline to make sure it was the same word.  I checked
org-agenda-files.

Other text searches were OK.

===

Take a second to guess what could cause this.  :)

Be sure to include the second part.  :)

===

As you guessed, :) the previous day, I had run a
subtree-restricted search.  Restrictions stay in place.

There was no indication of this.

It also turns out that the files that showed up are in
org-agenda-text-search-extra-files.

===

My suggestion is to have an indication that a restriction is
in place, and to make org-agenda-text-search-extra-files
results also be restricted.

Thanks.

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com

The disease DOES progress.  MANY people have died from it.  And
ANYBODY can get it.

Denmark: free Karina Hansen NOW.



Re: [O] Wrong results in agenda text search

2014-10-15 Thread Eric Abrahamsen
Samuel Wales samolog...@gmail.com writes:

 I ran an agenda text search and was puzzled that there were
 no results for a particular term.  I even copied it from the
 headline to make sure it was the same word.  I checked
 org-agenda-files.

 Other text searches were OK.

 ===

 Take a second to guess what could cause this.  :)

 Be sure to include the second part.  :)

 ===

 As you guessed, :) the previous day, I had run a
 subtree-restricted search.  Restrictions stay in place.

 There was no indication of this.

I've also had text searches that mysterious didn't find text I knew
existed, I'll bet this was why. I think restrictions need to be reset
for each new search!

Thanks for figuring this out...

 It also turns out that the files that showed up are in
 org-agenda-text-search-extra-files.

 ===

 My suggestion is to have an indication that a restriction is
 in place, and to make org-agenda-text-search-extra-files
 results also be restricted.

 Thanks.

 Samuel




[O] Table of contents for just one section?

2014-10-15 Thread D. C. Toedt
I'd like to do sub-TOCs for individual sections and subsections.

EXAMPLE

*#+TOC: headlines 1*

** Business operations*

{{{SUBTOC}}}  # Inserts just the level-2 headings for this level-1
section

*** Services*

{{{SUBTOC}}}  # Shows just the level-3 headings for this level-2
section

*** Statements of work

*** Changes to statements of work

*** No obligation to agree to statement of work

*** Sales of goods*

{{{SUBTOC}}}

etc.

Any suggestions?

Regards, and thanks in advance,

--D. C.

D. C. (Dell Charles) Toedt III  *(my** last name is pronounced Tate) *
Attorney and neutral arbitrator -- tech contracts and intellectual property
Lecturer, University of Houston Law Center
​Editor, ​​​Common Draft http://www.commondraft.org/ project:  A readable
library of best-practices contract clauses,
 with extensive citations and commentary, updated often.
d...@toedt.com LinkedIn: dctoedt http://www.linkedin.com/in/dctoedt
Calendar
https://www.google.com/calendar/embed?src=dc.to...@toedt.commode=WEEK
(redacted)
O: +1 (713) 364-6545C: +1 (713) 516-8968
​​

​
Houston, Texas (Central time zone)

Unless expressly stated otherwise, this message is not intended
to serve as an electronic signature nor as assent to an agreement.


Re: [O] C-c C-y in currently clocked header

2014-10-15 Thread Daniel Clemente
 
   currently clocking
   :CLOCK:
   CLOCK: [2014-10-15 Wed 16:06]
   CLOCK: [2014-10-13 Mon 11:23]--[2014-10-13 Mon 11:54] =  0:31
   :END:
 
  Now it's 16:26. If I put the cursor in 16:06 and press C-c C-y 
  (org-evaluate-time-range), it would be useful to see in the minibuffer that 
  the difference until now is 20 minutes.
 
 Saluton!
 
 Are you aware that you can set org-clock-mode-line-total to 'current?
 (Personally, I only discovered it before a few hours, and set it to
 'today.)

Yes, but you may want to see the current clocking duration independently of the 
settings of the current header. E.g. even if org-clock-mode-line-total==all, I 
want to see that my unclosed clocking amounts for 20 minutes.