Re: [O] [babel] By default, code blocks should not be evaluated during export

2011-04-08 Thread Rainer M Krug
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/04/11 06:23, Paul Sexton wrote:
 The default value of `org-export-babel-evaluate' is t. 
 
 Having just crashed my Emacs session 5 times in a row trying to get
 a file containing a BEGIN_SRC emacs-lisp ... END_SRC *code example*
 to export to HTML...
 
 I strongly feel it should default to nil.
 
 I also feel that executable code block and quoted code example that I would
 like to display/export with pretty syntax highlighting are two very different
 concepts, and should have different block names.

If you put

#+BABEL: :exports code

at the beginning of your file, only the code will be executed an not
evaluated - you can then use

#+begin_src python :exports results
  YOUR CODE
#+end_src

to export the results (see Working with source code --- Header
arguments --- Specific header arguments --- :exports in the org manual

or am I missing something here?

Rainer

 
 eg #+BEGIN_EXEC for the executable blocks?
 or allow an argument to example blocks, eg #+BEGIN_EXAMPLE python ?
 
 Paul
 
 
 


- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Natural Sciences Building
Office Suite 2039
Stellenbosch University
Main Campus, Merriman Avenue
Stellenbosch
South Africa

Tel:+33 - (0)9 53 10 27 44
Cell:   +27 - (0)8 39 47 90 42
Fax (SA):   +27 - (0)8 65 16 27 82
Fax (D) :   +49 - (0)3 21 21 25 22 44
Fax (FR):   +33 - (0)9 58 10 27 44
email:  rai...@krugs.de

Skype:  RMkrug
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2esbkACgkQoYgNqgF2ego1YACeJgPio9ZCoXIO7q/p0l1dxSjX
U5wAn2vtTTbZIiKE03KPQs1AKa5YlBLw
=VVLi
-END PGP SIGNATURE-



Re: [O] [PATCH] European date format

2011-04-08 Thread Carsten Dominik
Applied, thanks.

On Mar 4, 2011, at 6:56 PM, Jan Seeger wrote:

 Greetings!
 
 I was annoyed that org only read the bassackwards american date
 format, and implemented european date format matching. I hope it's
 correct, it seems to work for dates with and without year.
 
 Regards,
 Jan
 
 org-patch.patch

- Carsten






Re: [O] [BUG] Did COMMENT break?

2011-04-08 Thread Carsten Dominik
I have applied the patch.

- Carsten

On Mar 14, 2011, at 1:48 AM, Nick Dokos wrote:

 Rasmus rasmus.p...@gmail.com wrote:
 
 Hi,
 It seems that 
 
 ,
 | #+BEGIN_COMMENT 
 |  ...
 | #+END_COMMENT
 `
 
 Might be broken in Org-mode 7.5. According to the manual, 
 
 ,
 | Finally, regions surrounded by
 | ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’ will not be exported.
 `
 
 Consider the following example generated with Org-mode 7.5 in Emacs 24.0.50
 (started without config files).
 
 ,
 | #+TITLE: this is a test
 | 
 | #+BEGIN_COMMENT
 | Don't export me
 | #+END_COMMENT
 | 
 | I'd like to be exposed
 `
 
 The HTML export is:
 
 ,
 | snip
 | h1 class=titlethis is a test/h1
 | 
 | div class=org-comment
 | /br
 | p
 | p
 | Don't export me
 | /p
 | /div
 | 
 | I'd like to be exposed
 | snip
 `
 
 The LaTeX export is:
 
 ,
 | \begin{verbatim}
 | Don't export me
 | \end{verbatim}
 | I'd like to be exposed
 `
 
 
 Indeed.
 
 It seems that one of the hair-raising regexps that Carsten manages
 to come up with is not quite right. Try this patch for now:
 
 --8---cut here---start-8---
 diff --git a/lisp/org-exp.el b/lisp/org-exp.el
 index 34f101d..e1dcea0 100644
 --- a/lisp/org-exp.el
 +++ b/lisp/org-exp.el
 @@ -1834,7 +1834,7 @@ table line.  If it is a link, add it to the line 
 containing the link.
 (goto-char (point-min))
 (setq case-fold-search t)
 (while (re-search-forward
 - ^#\\+begin_comment[ \t]*\n[^\000]*?^#\\+end_comment\\.* nil t)
 + ^#\\+begin_comment[ \t]*\n[^\000]*?\n#\\+end_comment\\.* nil t)
   (replace-match  t t))
 ;; Remove subtrees that are commented
 (goto-char (point-min))
 --8---cut here---end---8---
 
 Nick
 
 

- Carsten






Re: [O] [BUG] bug in org-publish and a (wrong) patch

2011-04-08 Thread Carsten Dominik
Hi Nick,

I have not looked closely, but maybe you can use


(expand-file-name   (file-name-directory filename))

to fix this patch?  Not sure, I have not spent any time on it.

- Carsten

On Apr 7, 2011, at 7:11 AM, Nick Dokos wrote:

 org-publish-cache-ctime-of-src tries (but does not always succeed) to
 deal with symlinks: file-symlink-p returns the target as a string, but
 if the target is relative to the symlink, that's not going to fly.
 e.g. if c is a symlink like this
 
/a/b/c-../d/f
 
 then (file-symlink-p /a/b/c) - ../d/f
 but if the current directory is any place other than /a/b, the target
 will not be found, the file attributes are going to be nil and
 the function will blow up.
 
 Here is a patch born of about 5 mins of contemplation. It solved my
 immediate problem but it is certainly wrong. It breaks absolute targets
 (which I think are handled correctly by the original version). I'm not
 even sure that it correctly handles *all* relative targets. It also
 needs to treat the case of a non-existent symlink target (where
 file-symlink-p returns t).
 
 It might be safer also to check if the file attributes are
 nil and deal with that, instead of blowing up.
 
 --8---cut here---start-8---
 diff --git a/lisp/org-publish.el b/lisp/org-publish.el
 index e944eea..dd192d6 100644
 --- a/lisp/org-publish.el
 +++ b/lisp/org-publish.el
 @@ -1150,7 +1150,7 @@ Returns value on success, else nil.
 (defun org-publish-cache-ctime-of-src (filename)
   Get the FILENAME ctime as an integer.
   (let ((src-attr (file-attributes (if (stringp (file-symlink-p filename))
 -(file-symlink-p filename)
 +(concat (file-name-directory filename) 
 (file-symlink-p filename))
filename
 (+
  (lsh (car (nth 5 src-attr)) 16)
 --8---cut here---end---8---
 
 Nick
 

- Carsten






Re: [O] Macro expansion in included files

2011-04-08 Thread Carsten Dominik
Applied, thanks.

- Carsten

On Mar 14, 2011, at 11:01 PM, Benny Simonsen wrote:

 Hi
 
 Some time ago I was posting about a problem with macros in included
 files - they will not expand.
 
 Example with two files top.org and sub.org: macro in the included file
 sub.org isn't expanded during export.
 See the content of the example files below.
 
 The patch fixes this so that the macro is expanded in both top.org and 
 sub.org.
 
 Setup:
 org-mode: git master (head)
 export top.org with org-export-as-html
 
 I hope that the patch format is ok (git diff output) attached.
 
 Best regards
 Benny Simonsen
 
 ### top.org 
 #+TITLE: Debug org file
 #+MACRO: testmacro Expanded
 
 {{{testmacro}}}
 
 #+INCLUDE: sub.org
 
 
 ### sub.org 
 #+TITLE: Included debug org file
 
 {{{testmacro}}}
 
 macro-expansion-in-included-files.patch

- Carsten






[O] Difference between subtree-restricted export and 'publish enclosing subtree'

2011-04-08 Thread Sean Whitton
Dear all,

I noticed the publish enclosing subtree command in the export
dispatcher today and I can't make it work, nor can I see how it differs
From publishing a subtree (and needless to say I can't seem to find any
documentation).

This is a section of my .org file:

,
| * STARTED Hume Essay #2: Causation
| DEADLINE: 2011-04-19 Tue
| [2011-03-14 Mon 16:04]
| 
[[gnus:nnimap%2BNucifera:INBOX#2e7232813422f0459da862f6653e33202483027...@exmbx06.ad.oak.ox.ac.uk][Reading
 list]]
| 
| *Does Hume think that causal power is all in the mind?*
| ** TODO Essay
| :PROPERTIES:
| :EXPORT_FILE_NAME: hume-essay-causation
| :EXPORT_AUTHOR: Sean Whitton, Balliol
| :EXPORT_DATE: April 2011
| :EXPORT_TITLE: Does Hume think that causal power is all in the mind?
| :EXPORT_OPTIONS: todo:nil toc:nil skip:t
| :LaTeX_CLASS: spwessay
| :END:
| *** 
| Blah de blah (check above for how to do footnotes).
`

(yup I'm a non-science student using org, so shoot me :P)

When I put my cursor in the properties drawer within the essay text and
hit C-c C-e 1 d I get my 'essay' exported and processed to
hume-essay-causation.pdf correctly, but if I instead use C-c C-e SPC
with point at various different places within the essay, I just get the
error 'No enclosing node with LaTeX_CLASS or EXPORT_FILE_NAME', yet
afaics they are there.

How do I make the SPC command work and how does it differ from a subtree
export?  Thanks.

S

-- 
Sean Whitton / s...@silentflame.com
OpenPGP KeyID: 0x3B6D411B
http://sean.whitton.me/



pgplkoxUyfT3a.pgp
Description: PGP signature


[O] Images in included files

2011-04-08 Thread John Tait
Hi

I am trying to export html from an Org file A.org. The Org file is largly
constructed from other Org files 1.org, 2.org, 3.org, etc. via
#+INCLUDE:. These 1.org, 2.org, 3.org, etc. files have a number of
images included.

However the images aren't included in the export of A.org.

What I think is happening is that the images are being looked for in the
relative path from A.org, whereas they should be looked at for in the
relative path from the 1.org, 2.org files. Am I correct, and is there a
workaround (other than using an absolute path)?

Thanks

John


[O] Re: SOLVED Bug: :clock-keep...not kept [7.5__078c01]

2011-04-08 Thread Giovanni Ridolfi
Bernt Hansen be...@norang.ca writes:

Hi Bernt,
 Giovanni Ridolfi giovanni.rido...@yahoo.it writes:

 I think I found a bug with the option :clock-keep

snip

 (setq org-capture-templates (quote ((t todo entry (file c:/Documents 
 and Settings/my-path/a.org) * TODO %?
 %U
 %a
  :immediate-finish t :clock-in t :clock-keep t  
snip

 I have modified the properties in the last row:

 ** if :immediate-finish nil :clock-in t :clock-keep t
 ^ let's change it into t
as in my file example.
the clock in clocks-in
BUT the clock is not kept, it is closed anyway. 

 I can reproduce this problem.

 I think :immediate-finish never clocks in at all which is
 why :clock-keep is not doing anything in this case.
 I think this is a bug and the clock should probably be started and kept
 in the new capture task.
Actually it's a feature, not a bug.
In my setup :immediate-finish t is so fast I can't even see it on my
screen.
manual:When set, do not offer to edit the information[...] 
  This makes sense if the template only needs
  information that can be added automatically.
So if I really want a fast, automatic template I will use :immediate
finish t, and it doesn't have sense to clock it in. 

The idea under the capture buffer is that you can clock it as along as
you use it, as long as you keep it opened. So :immediate-finish nil.

 ** if :immediate-finish nil :clock-in t :clock-keep t
 ^ let's keep the nil option
the clock in clocks-in
BUT the clock is not kept, it is closed anyway. 

 **without immediate-finish
 ** if  :clock-in t :clock-keep t
 the clock in clocks-in
 BUT the clock is not kept, it is closed anyway. 

 I can reproduce this problem as well.

 I don't currently have a use case for :clock-keep so I'm not currently
 using this feature in my templates.

Ah. This is bad from my point of view (but positive on the other
side). 
So it seems to me that I am the only one in the list (perhaps with,
sometimes, Bastien[1]) (1/1100 ?!) willing to use the feature :clock-keep.

Furthermore it seems to me that the property :clock-keep goes against
the spirit (and, I think, the implementation) of the capture template:

  I like this decision [:clock-keep], because of the templates is asked
   to clock in, it seems natural for me that it will clock out when it is
   done. 
-- Carsten, http://article.gmane.org/gmane.emacs.orgmode/38951

So I've a feature request: it may be wise to remove this 
implementation, to revert commits

b969081ebd0da2711f1006fec39e04fe4a90ef71  : org-capture.el: 
   new :no-clock-out template option.

54c638523d4706d955c9d16cb5f499bcfa92bec9   : org-capture.el: 
  Rename :no-clock-out to :clock-keep.

and  ;-)
for my need I've implemented the following hack.

I wrote a function that clocks-in the template 
*after* I have done with it, and call the function with the 
org-capture-before-finalize-hook,
and it does that only for templates with a certain property.

 For I used to have:
 (add-hook 'org-capture-before-finalize-hook 'org-clock-in)  
 but it clocked in every capture-template, and I have only *a* template 
 where I want the clock going on.

Here's the hack:

(add-hook 'org-capture-before-finalize-hook 'gio:capture-clock-keep)

(defun gio:capture-clock-keep ()
The function clocks-in only capture buffer with the string \:Rilevazione\.
It is used in org-capture-before-finalize-hook.
(interactive)
;; the cursor is at the beginning of the capture buffer 
;; this simplifies our job ;-
(when (re-search-forward :Rilevazione nil t)
(org-clock-in))
)

It is a ugly hack since it keeps the CLOCK lines with 0:00, but 
I wasn't able to play with the capture buffer anymore...
(e.g. insert something) and it works for me.

cheers,

Giovanni

[1] 'I assume you mean when :immediate-finish is non-nil in a capture
template, right?
Yes, this bugged me as well.'

http://thread.gmane.org/gmane.emacs.orgmode/38485

 P.S.
 While testing I found an unexpected behaviour with :clock-resume

 ** if :immediate-finish t :clock-in t :clock-resume t
 *** and If there is no clock to be resumed the clock-in does not
 clock-in in the capture buffer.
 Is this  a bug?
 Shall be thrown a message: No clock to be resumed?

 I think this is intended behaviour.  If a clock is not already running
 before you start the capture then there is no task to resume the clock
 on.  In this case the clock stops after the capture is finalized.

 Is throwing an error message for this really useful?
Perhaps not. Just asking. 
Let's keep things simple.

:-)



Re: [O] Re: manipulating the agenda from elisp?

2011-04-08 Thread Filippo A. Salustri
Yup; I'd noticed those sections and noted them for future study.
Thanks.
Cheers.
Fil

On 8 April 2011 01:00, Nick Dokos nicholas.do...@hp.com wrote:

 Filippo A. Salustri salus...@ryerson.ca wrote:

  That's a good start!  Thanks!
  Cheers.
  Fil
 
  On 7 April 2011 23:34, Bernt Hansen be...@norang.ca wrote:
 
  Filippo A. Salustri salus...@ryerson.ca writes:
 
   Hi,
   I'm thinking I might like to try some programming to do things to
 the
   agenda from an elisp function.
   I tried 'apropos agenda' but I didn't really see the kind of thing
   I'm looking for.
   What I'm hoping is for some way to iterate over each item in the
   agenda, and be able to access the content of the item in some
   structured way.
   I think I've seen functions that can pull info like TODO state and
   priority from the item under the cursor, so it's the iteration part
   that I'm really interested in.
  
   Any advice?
 

 Be sure to read the Hacking appendix in the org manual, in particular
 Using the property API and Using the mapping API.

 Nick

  Hi Fil,
 
  I just found the B f code to execute an arbitrary function on marked
  entries in the agenda.  Maybe this will help?
 
  This following code visits the marked entries and just displays the
  heading for the task.
 
  Mark multiple entries in the agenda with 'm' and then 'B f bh/test
 RET'
  should display the heading of each marked task in the *Messages*
 buffer.
 
  --8---cut here---start-8---
  (defun bh/test ()
   (interactive)
   (let* ((marker (or (org-get-at-bol 'org-marker)
  (org-agenda-error)))
  (buffer (marker-buffer marker))
  (pos (marker-position marker)))
 (with-current-buffer buffer
   (if (org-mode-p)
   (save-excursion
 (goto-char pos)
 (message %s (nth 4 (org-heading-components
  --8---cut here---end---8---
 
  Depending on what you want to do you can either act on marked entries
 or
  create a custom agenda skip function that can visit the tasks as the
  agenda is built.
 
  HTH,
  Bernt
 
  --
  Filippo A. Salustri, Ph.D., P.Eng.
  Mechanical and Industrial Engineering
  Ryerson University
  350 Victoria St, Toronto, ON
  M5B 2K3, Canada
  Tel: 416/979-5000 ext 7749
  Fax: 416/979-5265
  Email: salus...@ryerson.ca
  http://deseng.ryerson.ca/~fil/
 
 
  
  Alternatives:
 
  




-- 
Filippo A. Salustri, Ph.D., P.Eng.
Mechanical and Industrial Engineering
Ryerson University
350 Victoria St, Toronto, ON
M5B 2K3, Canada
Tel: 416/979-5000 ext 7749
Fax: 416/979-5265
Email: salus...@ryerson.ca
http://deseng.ryerson.ca/~fil/


[O] Re: [PATCH] Problem with html export of description list items

2011-04-08 Thread Nicolas Goaziou
Hello,

Ethan Ligon li...@are.berkeley.edu writes:

 Nicolas Goaziou n.goaziou at gmail.com writes:
  Ethan Ligon ligon at are.berkeley.edu writes:

 Your patch allows items like:
 
 - term ::description
 
 which are not valid for a description list.

 Thanks for correcting my misunderstanding of the latex-export
 behavior.  But I still think this behavior is undesirable.

I don't disagree: I was just pointing out the internals of the LaTeX
exporter in that case.

 The org manual says that a description item takes the form '- term
 :: ', and thus seems to require a space after the double colon.  I
 suppose it's this that you're relying on in claiming that 
 - term ::description is invalid.

Indeed. On the other hand, font-lock will still fontify is as
a description item, which is paradoxical.

 I agree that - term ::description is ugly, but the use-case that is
 giving me problems is something like
   
   - term ::
 1. A list
 2. Providing
 3. The description

 The html export code currently allows - term ::[ \t]+, so the above
 breaks unless there's a space or a tab following the ::.  My issue
 would be addressed if we could just slightly expand the set of
 allowable white space following, so that we'd have ::[ \t\n]+.

 Does that seem reasonable?

It is. Or something like the slightly different ::\\(:?[ \t]+\\|$\\).
And if the same modification is made to docbook.el (code is very
similar), that will make a good patch for the problem at hand.

Regards,

-- 
Nicolas Goaziou



[O] Re: Images in included files

2011-04-08 Thread Jambunathan K

John

 Hi

  

 I am trying to export html from an Org file A.org. The Org file is largly
 constructed from other Org files 1.org, 2.org, 3.org, etc. via
 #+INCLUDE:. These 1.org, 2.org, 3.org, etc. files have a number of 
 images
 included.

  

 However the images aren't included in the export of A.org.

  

 What I think is happening is that the images are being looked for in the 
 relative
 path from A.org, whereas they should be looked at for in the relative path 
 from
 the 1.org, 2.org files. Am I correct, and is there a workaround (other 
 than
 using an absolute path)?


Provide an example of dir organization, some simple orgfiles and the
generated html output samples.

The more the details and samples provided more there would be incentive
for someone to help you out.

Jambunathan K.

  

 Thanks

 John

-- 



[O] Re: Re: Images in included files

2011-04-08 Thread johngtait

Okay...

I'm no coder but the relevant html seems to be:

div id=fig:threearrows class=figure
pimg src=./images/threearrows.png width=300 height=300  
align=center alt=./images/threearrows.png //p

pBuried services suite/p
/div

The source Org file is called (in Windows)

\site\Experimental-manuals\Manual1.org

Where folder site contains all the files.

Manual1.org calls a dozen #+INCLUDEd Org files arrranged like this:

site\foldername\filename.org

using this format: in Manual1.org

-

* Introduction to this manual :scope:

This is an experimental manual, with selected export. The selected text is  
based on the tag scope.


#+INCLUDE: ../foldername/filename.org

-

The images are arranged like this:

\site\foldername\images\picture.png


All the image files are included in each of the filename.org files  
something like this:


#+ATTR_HTML: width=500 height=500 align=center
#+CAPTION: My picture
#+LABEL: fig:mypicure
[[./images/mypicture.png]]

When I export from filename.org (to LateX and html), the images obligingly  
appear.


However when I export from Manual.org, there is the standard broken picture  
link.


I suspect that the exporter is looking for the image in

\site\Experimental-manuals\images\mypicture.png (which doesn't exist)

where it should be looking in

\site\foldername\images\mypicture.png


Phew!

John





On , Jambunathan K kjambunat...@gmail.com wrote:




John







 Hi


















 I am trying to export html from an Org file A.org. The Org file is  
largly




 constructed from other Org files 1.org, 2.org, 3.org, etc. via



 #+INCLUDE:. These 1.org, 2.org, 3.org, etc. files have a number  
of images




 included.



















 However the images aren't included in the export of A.org.


















 What I think is happening is that the images are being looked for in  
the relative



 path from A.org, whereas they should be looked at for in the relative  
path from



 the 1.org, 2.org files. Am I correct, and is there a workaround  
(other than




 using an absolute path)?












Provide an example of dir organization, some simple orgfiles and the




generated html output samples.







The more the details and samples provided more there would be incentive




for someone to help you out.







Jambunathan K.

















 Thanks









 John







--






[O] Re: SOLVED Bug: :clock-keep...not kept [7.5__078c01]

2011-04-08 Thread Bernt Hansen
Giovanni Ridolfi giovanni.rido...@yahoo.it writes:

 Bernt Hansen be...@norang.ca writes:

 Hi Bernt,
 Giovanni Ridolfi giovanni.rido...@yahoo.it writes:

 I think I found a bug with the option :clock-keep

 snip

 (setq org-capture-templates (quote ((t todo entry (file c:/Documents 
 and Settings/my-path/a.org) * TODO %?
 %U
 %a
  :immediate-finish t :clock-in t :clock-keep t  
 snip

 I have modified the properties in the last row:

 ** if :immediate-finish nil :clock-in t :clock-keep t
  ^ let's change it into t
 as in my file example.

Hi Giovanni,

I used :immediate-finish t.  I didn't notice you had 'nil' in there.


the clock in clocks-in
BUT the clock is not kept, it is closed anyway. 

 I can reproduce this problem.

 I think :immediate-finish never clocks in at all which is
 why :clock-keep is not doing anything in this case.
 I think this is a bug and the clock should probably be started and kept
 in the new capture task.
 Actually it's a feature, not a bug.
 In my setup :immediate-finish t is so fast I can't even see it on my
 screen.
 manual:When set, do not offer to edit the information[...] 
   This makes sense if the template only needs
   information that can be added automatically.
 So if I really want a fast, automatic template I will use :immediate
 finish t, and it doesn't have sense to clock it in. 

It never clocks in or you would end up with an 0:00 clock line by
default and it is not doing that.  You can automatically remove these
empty clock lines on clock-out by setting the variable
org-clock-out-remove-zero-time-clocks.


 The idea under the capture buffer is that you can clock it as along as
 you use it, as long as you keep it opened. So :immediate-finish nil.

I think :immediate-finish nil is identical to not including it in your
template.  It's a boolean that is either t or nil and the absence of the
boolean is the same as nil.


 ** if :immediate-finish nil :clock-in t :clock-keep t
  ^ let's keep the nil option
the clock in clocks-in
BUT the clock is not kept, it is closed anyway. 

 **without immediate-finish
 ** if  :clock-in t :clock-keep t
 the clock in clocks-in
 BUT the clock is not kept, it is closed anyway. 

 I can reproduce this problem as well.

 I don't currently have a use case for :clock-keep so I'm not currently
 using this feature in my templates.

 Ah. This is bad from my point of view (but positive on the other
 side). 
 So it seems to me that I am the only one in the list (perhaps with,
 sometimes, Bastien[1]) (1/1100 ?!) willing to use the feature :clock-keep.

I'm not unwilling to use it ... I just haven't found the need to look
for a use-case for it yet. :)

I have a rudimentary capture setup which I'm still in the habit of using
before :clock-keep was invented.  I create a new capture task, fill in
the details (and the clock is now in the capture task) and then file it
with C-c C-c, then the clock resumes on the old task ... then I manually
switch back to the capture task with F9-SPC in my setup which clocks in
the previous task again.

I could change my templates to use :clock-keep in this situation but I'm
not 100% convinced that I always do this.  The F9-SPC is an optional
step to clock in the last task and if I leave the capture task open for
the entire duration of the interruption (such as a phone call) then
stopping the clock when I close the capture task is also correct.

I could probably change my workflow to use :clock-keep instead I just
haven't spent the time on it yet (and obviously the existing problems
with the implementation need to be fixed).


 Furthermore it seems to me that the property :clock-keep goes against
 the spirit (and, I think, the implementation) of the capture template:

   I like this decision [:clock-keep], because of the templates is asked
to clock in, it seems natural for me that it will clock out when it is
done. 
 -- Carsten, http://article.gmane.org/gmane.emacs.orgmode/38951

 So I've a feature request: it may be wise to remove this 
 implementation, to revert commits

 b969081ebd0da2711f1006fec39e04fe4a90ef71  : org-capture.el: 
new :no-clock-out template option.

 54c638523d4706d955c9d16cb5f499bcfa92bec9   : org-capture.el: 
   Rename :no-clock-out to :clock-keep.


That's a little radical isn't it?  The current problems you've shown are
probably fixable.  Carsten and/or Bastien will need to evaluate what the
best course of action is here.


 and  ;-)
 for my need I've implemented the following hack.

 I wrote a function that clocks-in the template 
 *after* I have done with it, and call the function with the 
 org-capture-before-finalize-hook,
 and it does that only for templates with a certain property.

  For I used to have:
  (add-hook 'org-capture-before-finalize-hook 'org-clock-in)  
  but it clocked in every 

[O] Re: Difference between subtree-restricted export and 'publish enclosing subtree'

2011-04-08 Thread Matt Lundin
Sean Whitton s...@silentflame.com writes:

 Dear all,

 I noticed the publish enclosing subtree command in the export
 dispatcher today and I can't make it work, nor can I see how it differs
 From publishing a subtree (and needless to say I can't seem to find any
 documentation).

 This is a section of my .org file:

 ,
 | * STARTED Hume Essay #2: Causation
 | DEADLINE: 2011-04-19 Tue
 | [2011-03-14 Mon 16:04]
 | 
 [[gnus:nnimap%2BNucifera:INBOX#2e7232813422f0459da862f6653e33202483027...@exmbx06.ad.oak.ox.ac.uk][Reading
 | list]]
 | 
 | *Does Hume think that causal power is all in the mind?*
 | ** TODO Essay
 | :PROPERTIES:
 | :EXPORT_FILE_NAME: hume-essay-causation
 | :EXPORT_AUTHOR: Sean Whitton, Balliol
 | :EXPORT_DATE: April 2011
 | :EXPORT_TITLE: Does Hume think that causal power is all in the mind?
 | :EXPORT_OPTIONS: todo:nil toc:nil skip:t
 | :LaTeX_CLASS: spwessay
 | :END:
 | *** 
 | Blah de blah (check above for how to do footnotes).
 `

 (yup I'm a non-science student using org, so shoot me :P)

Welcome to the club. :)

 When I put my cursor in the properties drawer within the essay text
 and hit C-c C-e 1 d I get my 'essay' exported and processed to
 hume-essay-causation.pdf correctly, but if I instead use C-c C-e SPC
 with point at various different places within the essay, I just get
 the error 'No enclosing node with LaTeX_CLASS or EXPORT_FILE_NAME',
 yet afaics they are there.

Yes, there are a few issues here.

I can replicate this bug when the cursor is above the LATEX_CLASS
property. For instance, if the cursor is located on the :PROPERTIES:
line, C-c C-e SPC results in an error. If it is on the :END: line, it
finds the relevant headline

The problem is that C-c C-e space calls a simple backwards regexp search
for the two properties. But the regexp search looks for export_title
instead of export_file_name (lines 998-1000):

(if (re-search-backward
 ^[ \t]+\\(:latex_class:\\|:export_title:\\)[ \t]+\\S-
 nil t)

In addition, the regexp search is not bounded, so if you have another
headline higher up in the file with one of the properties in the search,
such as...

--8---cut here---start-8---
* Kant Essay
   :PROPERTIES:
   :LATEX_CLASS: spwessay
   :END:
** Some text
--8---cut here---end---8---

...hitting space will export that essay instead.

 How do I make the SPC command work and how does it differ from a subtree
 export?  

My guess is that the former was introduced to make it more convenient to
export subtrees with the relevant properties. I.e., one can simply press
C-c C-e SPC at the current point, rather than having to mark the tree
manually.

Best,
Matt



Re: [O] [babel] By default, code blocks should not be evaluated during export

2011-04-08 Thread Eric Schulte
Hi Paul,

Paul Sexton psex...@xnet.co.nz writes:

 The default value of `org-export-babel-evaluate' is t. 


The `org-export-babel-evaluate' is more of an external safety measure
for people who don't want *any* code block evaluation ever and IMO could
probably be removed as there is already `org-confirm-babel-evaluate'
(which could be augmented to allow an option for silently disallowing
evaluation).


 Having just crashed my Emacs session 5 times in a row trying to get
 a file containing a BEGIN_SRC emacs-lisp ... END_SRC *code example*
 to export to HTML...

 I strongly feel it should default to nil.


I can understand your frustration, however while the above does not
default to nil, the default babel header argument do not evaluate code
on export.  See C-h v `org-babel-default-header-args'

, 
| org-babel-default-header-args is a variable defined in `ob.el'.
| Its value is ((:session . none)
|  (:results . replace)
|  (:exports . code)
|  (:cache . no)
|  (:noweb . no)
|  (:hlines . no)
|  (:tangle . no)
|  (:padnewline . yes))
| 
| 
| Documentation:
| Default arguments to use when evaluating a source block.
| 
| [back]
`

By default on export the code of code blocks will be exported, unless
you have changed the defaults in some way.  Also, unless you have
changed the value of `org-confirm-babel-evaluate' you should have been
prompted before any evaluation.  In fact after a quick local test with
'emacs -Q' emacs-lisp code blocks do not evaluate on export, so you have
something in your configuration explicitly causing this behavior.


 I also feel that executable code block and quoted code example that I would
 like to display/export with pretty syntax highlighting are two very different
 concepts, and should have different block names.

 eg #+BEGIN_EXEC for the executable blocks?
 or allow an argument to example blocks, eg #+BEGIN_EXAMPLE python ?


I very strongly disagree with this suggestion.  As I see it code blocks
hold code.  The use of the code is secondary to the content of the
block, and a header argument is an appropriate place to hold such usage
information.  Also, it is common to switch between exporting results and
exporting code, and it would be onerous to change the code-block name.
Finally, this would complicate all of the current code block handling
code, having two separate blocks for a single semantic entity.

Best Regards -- Eric


 Paul





-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



[O] Re: SOLVED Bug: :clock-keep...not kept [7.5__078c01]

2011-04-08 Thread Giovanni Ridolfi
Bernt Hansen be...@norang.ca writes:

Hi, Bernt,
 Giovanni Ridolfi giovanni.rido...@yahoo.it writes:

 Bernt Hansen be...@norang.ca writes:

snip

 I could change my templates to use :clock-keep in this situation but I'm
 not 100% convinced that I always do this.  The F9-SPC is an optional
 step to clock in the last task and if I leave the capture task open for
 the entire duration of the interruption (such as a phone call) then
 stopping the clock when I close the capture task is also correct.

 I could probably change my workflow to use :clock-keep instead I just
 haven't spent the time on it yet (and obviously the existing problems
 with the implementation need to be fixed).

Perhaps you will use it in your todo and/or journal templates (2 out of
6 templates you have, 33% not extensively used.).


 Furthermore it seems to me that the property :clock-keep goes against
 the spirit (and, I think, the implementation) of the capture template:

   I like this decision [:clock-keep], because of the templates is asked
to clock in, it seems natural for me that it will clock out when it is
done. 
 -- Carsten, http://article.gmane.org/gmane.emacs.orgmode/38951

 So I've a feature request: it may be wise to remove this 
 implementation, to revert commits

 b969081ebd0da2711f1006fec39e04fe4a90ef71  : org-capture.el: 
new :no-clock-out template option.

 54c638523d4706d955c9d16cb5f499bcfa92bec9   : org-capture.el: 
   Rename :no-clock-out to :clock-keep.


 That's a little radical isn't it?  
Yes it is.
 The current problems you've shown are probably fixable.  

_Probably_ fixable; yes, but at what cost? 

From what I've understood of the code I think that the idea of closing 
anyway the clock, after the capture process is done, is *inside* 
the spirit and the design of the capture implementation.

Let's analyse the genesis of capture.
 In the good ol'days ;-) of 'remember', we did have the
 variable org-remember-clock-out-on-exit.
 (ah, the good ol'days) :-D

Why Carsten did not implement such design in capture ?
Answer:  [if] the templates is asked to clock in, it seems natural 
  for me that it will clock out when it is done. 
   -- Carsten

So Carsten implemented capture clock to be cloked out on exit. Period.

Then I asked to introduce a varaible clock-out-on-exit, but my request
went unanswered[1].

[1] http://lists.gnu.org/archive/html/emacs-orgmode/2010-07/msg00099.html

 Carsten and/or Bastien will need to evaluate what the
 best course of action is here.

Of course, they have the last word, I'm not a developer. 

However let me underline that Bastien tried to introduced
:clock-keep and it does not work. :-(

So I'm conviced that the proper interaction of the :clock-keep 
property with the rest of org-capture-finalize 
variables it is not a 5' task.

The evaluation of the properties before closing 
the template is really nested, not all the case are considered,
only the ones that follow the idea that
the clock shall be closed, if opened in the capture
process.
I think a developer should rewrite /almost enterley/ the function 
org-capture-finalize especially the lines from 506 to 522.

So, IMNSHO ;-) *the squeeze does not worth the juice*.

Why spend time only for 2+1? people: me, Bastien and, possibly, you?

Let's be realistic and remember the history:
except you, nobody answered to my mails or jumped in 
in such threads. It's clearly a corner case.

Furthermore there's already a solution for the 34%
of people who needs :clock-in, i.e. me: my hack. ;-)

It has the advantage that the user can 
set a keyword and decides on the basis of
such kewyword if the clock have to be kept
or not. 
You can already exclude your phone-call template 
from re-clocking, searching the string * PHONE,
with my hack ;-)

If the hack's ugly I hope Bastien or Carsten will help me in 
rewriting it better e.g. removing the 0:00 line without
removing the opened clock, that the org-clock-out-remove-zero-time-clocks
removes :-(. If the do not have time, no problem: it already works
for me.

snip

 Interesting.  I think finding a proper fix for the current :clock-keep
 implementation would make this setup a lot cleaner for you 
Yes the :clock-keep would make the hack unnecessary.

 and anyone
 else that wants to use it in the future.

I doubt. In one year only we 3 have felt the need of such property.

As I said:
 Let's keep things simple.

if Carsten and Bastien can spend some time hacking org
I'd prefer they merge Jambunathan's org-odt exporter,
than working on a corner case -already solved- 
like this one.

cheers, and thank you for having read my messages.

Giovanni

When it goes and 's good enough,
 do not touch or away 'll blast  :-)



Re: [O] [babel] By default, code blocks should not be evaluated during export

2011-04-08 Thread Nick Dokos
Eric Schulte schulte.e...@gmail.com wrote:

 Paul Sexton psex...@xnet.co.nz writes:
 
 
  Having just crashed my Emacs session 5 times in a row trying to get
  a file containing a BEGIN_SRC emacs-lisp ... END_SRC *code example*
  to export to HTML...
 
  I strongly feel it should default to nil.
 
 
 I can understand your frustration, however while the above does not
 default to nil, the default babel header argument do not evaluate code
 on export.  See C-h v `org-babel-default-header-args'
 
  I also feel that executable code block and quoted code example that I 
  would
  like to display/export with pretty syntax highlighting are two very 
  different
  concepts, and should have different block names.
 
  eg #+BEGIN_EXEC for the executable blocks?
  or allow an argument to example blocks, eg #+BEGIN_EXAMPLE python ?
 
 
 I very strongly disagree with this suggestion.  As I see it code blocks
 hold code.  The use of the code is secondary to the content of the
 block, and a header argument is an appropriate place to hold such usage
 information.  Also, it is common to switch between exporting results and
 exporting code, and it would be onerous to change the code-block name.
 Finally, this would complicate all of the current code block handling
 code, having two separate blocks for a single semantic entity.
 

FWIW, I agree with Eric (modulo any bugs that might exist of course) -
otherwise babel loses much of its appeal for literate programming.

There are a couple of questions that need to be answered however:

o why is the code block evaluated during export in Paul's case? That may
be a result of Paul's config or a bug in babel - in either case, that
should be easy to fix and Eric addressed that.

o why did Paul's emacs session crash? That might be an emacs bug that
will need to be addressed. Even if Paul's elisp code is completely
broken, *it should not crash emacs*. Paul, can you post the code?
Actually, the whole org file if that's possible, as well as emacs and
org version?

Thanks,
Nick




Re: [O] Re: Non-stop capture?

2011-04-08 Thread Bastien
Hi Mark,

Mark S throa...@yahoo.com writes:

 Also, there is a strange message in the emacs status line on the
 bottom:

Org-mode not loaded.

 I don't get this, since clearly org-mode *is* loaded.

This message is indeed misleading.   I changed it to Item captured (or
remembered when the user is still using remember.)

Thanks,

-- 
 Bastien



Re: [O] Re: unicorn

2011-04-08 Thread Bastien
Nick Dokos nicholas.do...@hp.com writes:

 I went looking for this one today and got a stale page, so I looked around
 a bit and found it at a slightly different URL:

 http://www.pajarita.biz/aep/pajaritas/pajarita3-4.pdf

I would love to see such a paper unicorn for real!  

Who knows, a clever combination A4-printed-Org-TODOs and Unicor-folding
could actually be useful: you would start your day by doing the apparent
tasks, then progressively unfold the paper unicorn...

:)

-- 
 Bastien



[O] Re: Bulk function documentation is missing

2011-04-08 Thread Bastien
Hi Bernt,

Bernt Hansen be...@norang.ca writes:

 I just ran across the new Bulk action feature which applies a function
 to the marked entries in the agenda.  There is no documentation for this
 feature that I can find other than in the commit itself.

Look for org-agenda-bulk-* in the info manual, maybe through the index
(with `i' from the manual).  Documentation for bulk action is in Agenda
commands.  

This section is really huge, so no wonder that this information is not
easily found.  

Maybe we should split it wisely.  Patch welcome!

-- 
 Bastien



Re: [O] Re: SOLVED Bug: :clock-keep...not kept [7.5__078c01]

2011-04-08 Thread Bastien
Bernt Hansen be...@norang.ca writes:

 That's a little radical isn't it?  The current problems you've shown are
 probably fixable.

It is indeed fixed in the latest git version.

Thanks to both for looking into this.

Best,

-- 
 Bastien



Re: [O] manipulating the agenda from elisp?

2011-04-08 Thread Bastien
Hi Filippo,

Filippo A. Salustri salus...@ryerson.ca writes:

 I'm thinking I might like to try some programming to do things to the
 agenda from an elisp function.
 I tried 'apropos agenda' but I didn't really see the kind of thing
 I'm looking for.
 What I'm hoping is for some way to iterate over each item in the
 agenda, and be able to access the content of the item in some
 structured way.
 I think I've seen functions that can pull info like TODO state and
 priority from the item under the cursor, so it's the iteration part
 that I'm really interested in.

In an agenda, try `C-u C-x =' to see all the text properties at point.
You can grab a lot of information from these properties.

HTH,

-- 
 Bastien



Re: [O] Custom agenda view for specific time intervals

2011-04-08 Thread Bastien
Hi Konrad,

Konrad Hinsen konrad.hin...@fastmail.net writes:

 Is there a way to create custom agenda views for specific time intervals,
 such as May 2011 or the month following the current month?

A combination of `org-agenda-start-day' and `org-agenda-span' should do.

See the example from the manual:

,
| From the command line you may also use
|  emacs -f org-batch-store-agenda-views -kill
|or, if you need to modify some parameters(4)
|  emacs -eval '(org-batch-store-agenda-views  \
|org-agenda-span month \
|org-agenda-start-day 2007-11-01 \
|org-agenda-include-diary nil  \
|org-agenda-files (quote (~/org/project.org)))'  \
|-kill
|which will create the agenda views restricted to the file
| `~/org/project.org', without diary entries and with a 30-day extent.
`

HTH,

-- 
 Bastien



[O] Re: SOLVED Bug: :clock-keep...not kept [7.5__078c01]

2011-04-08 Thread Bastien
Hi Giovanni,

Giovanni Ridolfi giovanni.rido...@yahoo.it writes:

 However let me underline that Bastien tried to introduced
 :clock-keep and it does not work. :-(

Yes, my bad.

 So I'm conviced that the proper interaction of the :clock-keep 
 property with the rest of org-capture-finalize 
 variables it is not a 5' task.

It was about a 15 minutes task...

I have been kept away by personal problems but they are now over and I
am back*.  So please keep up with reporting problems, whatever they are.
No need to spend too much time on trying to figure out how much time it
costs to solve a problem :)

Best,

* I know, this is kind of a motto now, but this time is for good.

-- 
 Bastien



Re: [O] [BUG] bug in org-publish and a (wrong) patch

2011-04-08 Thread Nick Dokos
Carsten Dominik carsten.domi...@gmail.com wrote:

 Hi Nick,
 
 I have not looked closely, but maybe you can use
 
 
 (expand-file-name   (file-name-directory filename))
 
 to fix this patch?  Not sure, I have not spent any time on it.
 

Almost but not quite: C-h v expand-file-name says

,
| (expand-file-name NAME optional DEFAULT-DIRECTORY)
| 
| Convert filename NAME to absolute, and canonicalize it.
| Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative
| (does not start with slash or tilde); if DEFAULT-DIRECTORY is nil or missing,
| the current buffer's value of `default-directory' is used.
`

so you end up tacking it onto a completely unrelated directory (and my
experiments confirm this).

But there is a :base-directory for the project that could be obtained
from the project-plist and passed to expand-file-name.  I think that
would work but would require passing the project-plist down through a couple
of layers to org-publish-cache-ctime-of-src. Alternatively, it (or just
the base directory) could be bound dynamically in org-publish-file and
used in the ctime function.

What do you think would be preferable?

Thanks,
Nick

 - Carsten
 
 On Apr 7, 2011, at 7:11 AM, Nick Dokos wrote:
 
  org-publish-cache-ctime-of-src tries (but does not always succeed) to
  deal with symlinks: file-symlink-p returns the target as a string, but
  if the target is relative to the symlink, that's not going to fly.
  e.g. if c is a symlink like this
  
 /a/b/c-../d/f
  
  then (file-symlink-p /a/b/c) - ../d/f
  but if the current directory is any place other than /a/b, the target
  will not be found, the file attributes are going to be nil and
  the function will blow up.
  
  Here is a patch born of about 5 mins of contemplation. It solved my
  immediate problem but it is certainly wrong. It breaks absolute targets
  (which I think are handled correctly by the original version). I'm not
  even sure that it correctly handles *all* relative targets. It also
  needs to treat the case of a non-existent symlink target (where
  file-symlink-p returns t).
  
  It might be safer also to check if the file attributes are
  nil and deal with that, instead of blowing up.
  
  --8---cut here---start-8---
  diff --git a/lisp/org-publish.el b/lisp/org-publish.el
  index e944eea..dd192d6 100644
  --- a/lisp/org-publish.el
  +++ b/lisp/org-publish.el
  @@ -1150,7 +1150,7 @@ Returns value on success, else nil.
  (defun org-publish-cache-ctime-of-src (filename)
Get the FILENAME ctime as an integer.
(let ((src-attr (file-attributes (if (stringp (file-symlink-p filename))
  -  (file-symlink-p filename)
  +  (concat (file-name-directory filename) 
  (file-symlink-p filename))
   filename
  (+
   (lsh (car (nth 5 src-attr)) 16)
  --8---cut here---end---8---
  
  Nick
  
 
 - Carsten
 
 
 
 



Re: [O] Re: manipulating the agenda from elisp?

2011-04-08 Thread Carsten Dominik

On 8.4.2011, at 05:34, Bernt Hansen wrote:

 Filippo A. Salustri salus...@ryerson.ca writes:
 
 Hi,
 I'm thinking I might like to try some programming to do things to the
 agenda from an elisp function.
 I tried 'apropos agenda' but I didn't really see the kind of thing
 I'm looking for.
 What I'm hoping is for some way to iterate over each item in the
 agenda, and be able to access the content of the item in some
 structured way.
 I think I've seen functions that can pull info like TODO state and
 priority from the item under the cursor, so it's the iteration part
 that I'm really interested in.
 
 Any advice?
 
 Hi Fil,
 
 I just found the B f code to execute an arbitrary function on marked
 entries in the agenda.  Maybe this will help?
 
 This following code visits the marked entries and just displays the
 heading for the task.
 
 Mark multiple entries in the agenda with 'm' and then 'B f bh/test RET'
 should display the heading of each marked task in the *Messages* buffer.
 
 --8---cut here---start-8---
 (defun bh/test ()
  (interactive)
  (let* ((marker (or (org-get-at-bol 'org-marker)
(org-agenda-error)))
(buffer (marker-buffer marker))
(pos (marker-position marker)))
(with-current-buffer buffer
  (if (org-mode-p)
 (save-excursion
   (goto-char pos)
   (message %s (nth 4 (org-heading-components
 --8---cut here---end---8---

Also useful can be

  (org-entry-properties marker)

Kind of slow for *many* entries, but perfectly good for a limited number...

- Carsten




[O] Bulk function documentation is missing

2011-04-08 Thread Puneeth Chaganti
Hi,

I'd sent it to Bernt alone, on the previous occasion. Re-sending to
everyone. Sorry for the re-post, Bernt.

Hi Bernt,

On Fri, Apr 8, 2011 at 8:52 AM, Bernt Hansen be...@norang.ca
[..]
 Could you please also provide documentation in org.texi with an example
 of how you use this?

I have attached a patch that documents this function. Please feel free
to improve it.

Thanks,
Puneeth
From 007f723e5bfd11b1d3c0efbb89b32f1955264314 Mon Sep 17 00:00:00 2001
From: Puneeth Chaganti puncha...@gmail.com
Date: Fri, 8 Apr 2011 11:23:31 +0530
Subject: [PATCH] Document option to allow applying a function as Bulk Agenda
 action

* doc/org.texi (Agenda commands): Doc for function option to bulk action.
---
 doc/org.texi |   15 +++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/doc/org.texi b/doc/org.texi
index 5ab25b0..d5c7b7b 100644
--- a/doc/org.texi
+++ b/doc/org.texi
@@ -8075,6 +8075,21 @@ s  @r{Schedule all items to a new date.  To shift 
existing schedule dates}
 S  @r{Reschedule randomly by N days.  N will be prompted for.  With prefix}
@r{arg (@kbd{C-u B S}), scatter only accross weekdays.}
 d  @r{Set deadline to a specific date.}
+f  @r{Apply a function to marked entries.}
+   @r{For example, the function below sets the CATEGORY property of the}
+   @r{entries to web.}
+   @r{(defun set-category ()}
+   @r{  (interactive P)}
+   @r{  (let* ((marker (or (org-get-at-bol 'org-hd-marker)}
+   @r{ (org-agenda-error)))}
+   @r{(buffer (marker-buffer marker)))}
+   @r{   (with-current-buffer buffer}
+   @r{ (save-excursion}
+   @r{   (save-restriction}
+   @r{ (widen)}
+   @r{ (goto-char marker)}
+   @r{ (org-back-to-heading t)}
+   @r{ (org-set-property CATEGORY web))}
 @end example
 
 
-- 
1.7.4.4



[O] Re: Bulk function documentation is missing

2011-04-08 Thread Bernt Hansen
Puneeth Chaganti puncha...@gmail.com writes:

 I'd sent it to Bernt alone, on the previous occasion. Re-sending to
 everyone. Sorry for the re-post, Bernt.

 Hi Bernt,

 On Fri, Apr 8, 2011 at 8:52 AM, Bernt Hansen be...@norang.ca
 [..]
 Could you please also provide documentation in org.texi with an example
 of how you use this?

 I have attached a patch that documents this function. Please feel free
 to improve it.

 Thanks,
 Puneeth

Thanks Puneeth,

I haven't had time to look at it yet and didn't notice it wasn't also
posted to the list.  Don't worry about the repost :)


Bastien b...@altern.org writes:

 Bernt Hansen be...@norang.ca writes:

 I just ran across the new Bulk action feature which applies a function
 to the marked entries in the agenda.  There is no documentation for this
 feature that I can find other than in the commit itself.

 Look for org-agenda-bulk-* in the info manual, maybe through the index
 (with `i' from the manual).  Documentation for bulk action is in Agenda
 commands.  

 This section is really huge, so no wonder that this information is not
 easily found.  

 Maybe we should split it wisely.  Patch welcome!

Hi Bastien,

I did find the section in the manual about Bulk actions - just didn't
see 'f' documented anywhere (but maybe I missed it).

Regards,
Bernt



Re: [O] Re: manipulating the agenda from elisp?

2011-04-08 Thread Filippo A. Salustri
Thanks to everyone for the hints and tips.  It's much appreciated.
Cheers.
Fil

On 8 April 2011 12:59, Carsten Dominik carsten.domi...@gmail.com wrote:


 On 8.4.2011, at 05:34, Bernt Hansen wrote:

  Filippo A. Salustri salus...@ryerson.ca writes:
 
  Hi,
  I'm thinking I might like to try some programming to do things to the
  agenda from an elisp function.
  I tried 'apropos agenda' but I didn't really see the kind of thing
  I'm looking for.
  What I'm hoping is for some way to iterate over each item in the
  agenda, and be able to access the content of the item in some
  structured way.
  I think I've seen functions that can pull info like TODO state and
  priority from the item under the cursor, so it's the iteration part
  that I'm really interested in.
 
  Any advice?
 
  Hi Fil,
 
  I just found the B f code to execute an arbitrary function on marked
  entries in the agenda.  Maybe this will help?
 
  This following code visits the marked entries and just displays the
  heading for the task.
 
  Mark multiple entries in the agenda with 'm' and then 'B f bh/test RET'
  should display the heading of each marked task in the *Messages* buffer.
 
  --8---cut here---start-8---
  (defun bh/test ()
   (interactive)
   (let* ((marker (or (org-get-at-bol 'org-marker)
 (org-agenda-error)))
 (buffer (marker-buffer marker))
 (pos (marker-position marker)))
 (with-current-buffer buffer
   (if (org-mode-p)
  (save-excursion
(goto-char pos)
(message %s (nth 4 (org-heading-components
  --8---cut here---end---8---

 Also useful can be

   (org-entry-properties marker)

 Kind of slow for *many* entries, but perfectly good for a limited number...

 - Carsten




-- 
Filippo A. Salustri, Ph.D., P.Eng.
Mechanical and Industrial Engineering
Ryerson University
350 Victoria St, Toronto, ON
M5B 2K3, Canada
Tel: 416/979-5000 ext 7749
Fax: 416/979-5265
Email: salus...@ryerson.ca
http://deseng.ryerson.ca/~fil/


[O] Re: Bulk function documentation is missing

2011-04-08 Thread Bernt Hansen
Puneeth Chaganti puncha...@gmail.com writes:

 I have attached a patch that documents this function. Please feel free
 to improve it.

This patch looks good to me.  Thanks Puneeth!

Regards,
Bernt



[Accepted] [O] Bulk function documentation is missing

2011-04-08 Thread Bastien Guerry
Patch 741 (http://patchwork.newartisans.com/patch/741/) is now Accepted.

Maintainer comment: none

This relates to the following submission:

http://mid.gmane.org/%3CBANLkTimyjyj%2BF8a%3DknRvFhK6HYRvR1ndVg%40mail.gmail.com%3E

Here is the original message containing the patch:

 Content-Type: text/plain; charset=utf-8
 MIME-Version: 1.0
 Content-Transfer-Encoding: 7bit
 Subject: [O] Bulk function documentation is missing
 Date: Fri, 08 Apr 2011 22:04:09 -
 From: Puneeth Chaganti puncha...@gmail.com
 X-Patchwork-Id: 741
 Message-Id: BANLkTimyjyj+F8a=knrvfhk6hyrvr1n...@mail.gmail.com
 To: Bernt Hansen be...@norang.ca, emacs-orgmode emacs-orgmode@gnu.org,
   Bastien b...@altern.org
 Cc: 
 
 Hi,
 
 I'd sent it to Bernt alone, on the previous occasion. Re-sending to
 everyone. Sorry for the re-post, Bernt.
 
 Hi Bernt,
 
 On Fri, Apr 8, 2011 at 8:52 AM, Bernt Hansen be...@norang.ca
 [..]
  Could you please also provide documentation in org.texi with an example
  of how you use this?
 
 I have attached a patch that documents this function. Please feel free
 to improve it.
 
 Thanks,
 Puneeth
 From 007f723e5bfd11b1d3c0efbb89b32f1955264314 Mon Sep 17 00:00:00 2001
 From: Puneeth Chaganti puncha...@gmail.com
 Date: Fri, 8 Apr 2011 11:23:31 +0530
 Subject: [PATCH] Document option to allow applying a function as Bulk Agenda
  action
 
 * doc/org.texi (Agenda commands): Doc for function option to bulk action.
 
 ---
 doc/org.texi |   15 +++
  1 files changed, 15 insertions(+), 0 deletions(-)
 
 diff --git a/doc/org.texi b/doc/org.texi
 index 5ab25b0..d5c7b7b 100644
 --- a/doc/org.texi
 +++ b/doc/org.texi
 @@ -8075,6 +8075,21 @@ s  @r{Schedule all items to a new date.  To shift 
 existing schedule dates}
  S  @r{Reschedule randomly by N days.  N will be prompted for.  With prefix}
 @r{arg (@kbd{C-u B S}), scatter only accross weekdays.}
  d  @r{Set deadline to a specific date.}
 +f  @r{Apply a function to marked entries.}
 +   @r{For example, the function below sets the CATEGORY property of the}
 +   @r{entries to web.}
 +   @r{(defun set-category ()}
 +   @r{  (interactive P)}
 +   @r{  (let* ((marker (or (org-get-at-bol 'org-hd-marker)}
 +   @r{ (org-agenda-error)))}
 +   @r{(buffer (marker-buffer marker)))}
 +   @r{   (with-current-buffer buffer}
 +   @r{ (save-excursion}
 +   @r{   (save-restriction}
 +   @r{ (widen)}
 +   @r{ (goto-char marker)}
 +   @r{ (org-back-to-heading t)}
 +   @r{ (org-set-property CATEGORY web))}
  @end example
  
  
 



[O] Re: Bulk function documentation is missing

2011-04-08 Thread Bastien
Puneeth Chaganti puncha...@gmail.com writes:

 I have attached a patch that documents this function. Please feel free
 to improve it.

Applied, thanks!

-- 
 Bastien



[O] Re: [PATCH] Fix for html docbook export of description list items

2011-04-08 Thread Ethan Ligon
After some very helpful corrections and suggestions from Nic, I'd like
to propose the following patch, which addresses a problem in the html
and docbook export of description items.  

The problem is illustrated by the following example:

#+begin_src org
* Illustration of bug in html export
  - This has a space after the colons :: so will work in latex and html
  - This doesn't have a space after the colons ::so is an invalid
description item according to the org manual.  Won't work in html
or docbook.  Will nevertheless work in latex, provided /first/
description item is valid.
  - Has a terminating space :: 
- So it works in both html and latex export!
- Even though it's difficult to distinguish from the next example.
  - Lacks a terminating space ::
- At present, *doesn't* work in html or docbook export, does in
  latex.  This is the case that the following patch fixes.
#+end_src


diff --git a/lisp/org-docbook.el b/lisp/org-docbook.el
index dbb608d..124e1dc 100644
--- a/lisp/org-docbook.el
+++ b/lisp/org-docbook.el
@@ -1382,7 +1382,7 @@ the alist of previous items.
   (string-match (concat [ \t]*\\(\\S-+[ \t]*\\)

\\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[a-zA-Z]\\)\\]\\)?
\\(?:\\(\\[[ X-]\\]\\)[ \t]+\\)?
-   \\(?:\\(.*\\)[ \t]+::[ \t]+\\)?
+   \\(?:\\(.*\\)[ \t]+::\\(?:[ \t]+\\|$\\)\\)?
\\(.*\\))
line)
   (let* ((checkbox (match-string 3 line))
diff --git a/lisp/org-html.el b/lisp/org-html.el
index d19d88b..4ae6d99 100644
--- a/lisp/org-html.el
+++ b/lisp/org-html.el
@@ -2501,7 +2501,7 @@ the alist of previous items.
(concat [ \t]*\\(\\S-+[ \t]*\\)
   \\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[A-Za-z]\\)\\]\\)?
   \\(?:\\(\\[[ X-]\\]\\)[ \t]+\\)?
-  \\(?:\\(.*\\)[ \t]+::[ \t]+\\)?
+  \\(?:\\(.*\\)[ \t]+::\\(?:[ \t]+\\|$\\)\\)?
   \\(.*\\)) line)
   (let* ((checkbox (match-string 3 line))
 (desc-tag (or (match-string 4 line) ???))





[O] Recurring events with ranges broken

2011-04-08 Thread Philipp M.
In the recent org-mode realease something recurring ranges with timestamps
are not properly recognized in the agenda.
This wont work:
2011-04-07 Thu +1w--2011-04-20 Wed

Things get even messier when timestamps are involved: 2011-04-07 Thu
17:30-18:40 +1w--2011-04-20 Wed

The usual fix is to use a diary sexp and put the time in the heading:

* 17:30-18:40 foo
%%(and (= 3 (calendar-day-of-week date)) (diary-block 4 1 2011 9 30
2011)))

Which in turn breaks exporting to iCalendar and is an ugly hack.

Unfortunately I'm not good enough at lisp to fix it myself, so I'd volunteer
for testing if someone is interested to fix it. As I can see it their are
multiple solutions: Either allow the diary sexp to use time or change the
way the ranges work.


Re: [O] Using orgmode to take inline notes for research

2011-04-08 Thread Eric S Fraga
John Hendy jw.he...@gmail.com writes:

 On Thu, Apr 7, 2011 at 12:33 AM, Eric S Fraga e.fr...@ucl.ac.uk wrote:
 John Hendy jw.he...@gmail.com writes:


 [...]


 I like formats like this as well and have been cheating to do this
 in LaTeX more or less like this:

 #+attr_latex: align=l|p{0.95\textwidth}
 | \,| The text that I want quoted, which ends up looking good but
 needs to be on one insanely long line of an org-mode table|

 Is there a better way to send a quote into the table form (indented
 with a nice vertical line to the left) but not need to have the quote
 on one huge line of an actual table (from org - LaTeX, that is...
 obviously the above works if using html)?

[...]

 I should have googled harder. Where were you all my life, StackOverflow?[1]

 -
 \begin{tabular}{l|p{0.9\textwidth}}
 \quad 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id
 hendrerit

But isn't this the same solution you had before?  You still end up with
a very long line in the org file?
-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.5 (release_7.5.142.g4168)



Re: [O] org-beamer: getting back to no indentation after a block

2011-04-08 Thread Eric S Fraga
bozo...@gmx.de writes:

 I've just given a presentation using org-beamer and it worked really
 well. Thanks, guys!

 During preparation I ran into the problem described in the toy
 presentation below. I'm aware of why the second slide looks how it
 looks (the last line belongs to the block header).  Still, I wonder
 if there's a simpler solution for telling org that I want to get back
 to no indentation after the block, similar to the way on the very
 first slide.

 I realise that using the solition on the last slide is not a big deal,
 so I'm fine if that's the answer.

   michael


 #+STARTUP: beamer
 #+LaTeX_CLASS: beamer
 #+LaTeX_CLASS_OPTIONS: [presentation]
 #+BEAMER_HEADER_EXTRA: 
 \usetheme{Warsaw}\usefonttheme[onlysmall]{structurebold}
 #+BEAMER_FRAME_LEVEL: 2
 * My question in three slides
 ** A slide
 Some unindented text
 - item
 - another item
 back to unindented text
 ** The same slide, but with a block
 Some unindented text
 *** the only way to get a block is to add a heading, right?   :B_block:
 :PROPERTIES:
 :BEAMER_env: block
 :END:
 - item
 - another item
 back to unindented text -- but no, this doesn't work, I'm still in
 the block
 ** The same slide, but with a block
 Some unindented text
 *** the only way to get a block is to add a heading, right?   :B_block:
 :PROPERTIES:
 :BEAMER_env: block
 :END:
 - item
 - another item
 *** This is the only way I can get what I want   
 :B_normal:
 :PROPERTIES:
 :BEAMER_env: normal

Change this one to:

:BEAMER_env: ignoreheading

if you want the heading to be ignored.

 :END:
 but the fact that I'm forced to use a *** heading in the org file although
 I specifically don't want any bullets makes me wonder if there isn't a
 simpler way to achieve what I want?

Yes, the only way to end a block is to start a new block but, as I
show above, you can have a block that is essentially a no-op if you tell
org to ignore the heading (C-c C-b i): it does nothing other than end
the previous block and start a new logical group of text.

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.5 (release_7.5.142.g4168)



[O] Fwd: Kedit-like ALL command for emacs

2011-04-08 Thread brian powell
Well, if that is what he wanted; then, suggest one of these:

Mx query-replace

and/or

Mx query-replace-regexp

--EMACS has the best/fastest regexp engine available for doing an

Mx query-replace-regexp

Because ELISP has a lot of functions optimized for editing files,
using multiple buffers, windows, etc.

The regexp engine is optimized for first-character-matching; i.e.
quickly finding and highlighting and replacing characters in a
buffer--faster than anything else, last time I checked.

Suggest using QEMACS if you want to edit multigigabyte files.

Also, to use an occur buffer (which you seem to refer to below) all
you would do there would be:

Mx occur

Then go to the *Occur* buffer where it shows the matching regexp in
highlighted text and then LeftMouse on the line (anywhere on the line)
and the line will pop up in the other window.

Also, there is a way to edit every file in the set of a regexp in a
directory tree (a
top-level directory and all of its subdirectories) that contains a
regexp--one replacement at a time:


** Occur mode changes:

*** The new command `multi-occur' is just like `occur', except it can
search multiple buffers.  There is also a new command
`multi-occur-in-matching-buffers' which allows you to specify the
buffers to search by their filenames or buffer names.  Internally,
Occur mode has been rewritten, and now uses font-lock, among other
changes.

So you could do something like emacs blahfiles* and then:

Mx multi-occur

and/or

Mx multi-occur-in-matching-buffers








On Fri, Apr 8, 2011 at 2:06 PM, Jambunathan K kjambunat...@gmail.com wrote:
 brian powell briangpowel...@gmail.com writes:

 After reviewing what KEDIT ALL is; it seems to me all you want to do
 is--in an EMACS buffer--regardless of the version or type of EMACS:


 Mx list-matching-lines


 I haven't used KEDIT.

 I did try out all.el. Within the occur-like buffer that all.el pops up,
 one can edit the matches and have the replacements propagated to the
 searched buffers.

 But list-matching-lines pops up a read-only buffer. Also the last line
 of the docstring says `In any case the searched buffers are not
 modified'.

 I think OP wanted something where the searched buffers are modified from
 within the occur buffer.

 Jambunathan K.

 On Mar 30, 7:53 am, Tom adatgyu...@gmail.com wrote:
 Marc Mientki no at no.com writes:



  Am 29.03.2011 17:42, schrieb Tom:
   Do you know a package which implements the KEDIT ALL command for Emacs?

  http://www.kedit.com/hint_all.html

 ftp://ftp.dina.kvl.dk/pub/Staff/Per.Abrahamsen/auctex/all.el
  Maybe?

 Looks good. Thanks.

 I wonder why it is not part of the Emacs distribution. Seems like a
 useful package.



 --




Re: [O] Using orgmode to take inline notes for research

2011-04-08 Thread John Hendy
 I like formats like this as well and have been cheating to do this
 in LaTeX more or less like this:

 #+attr_latex: align=l|p{0.95\textwidth}
 | \,| The text that I want quoted, which ends up looking good but
 needs to be on one insanely long line of an org-mode table|

 Is there a better way to send a quote into the table form (indented
 with a nice vertical line to the left) but not need to have the quote
 on one huge line of an actual table (from org - LaTeX, that is...
 obviously the above works if using html)?

 [...]

 I should have googled harder. Where were you all my life, StackOverflow?[1]

 -
 \begin{tabular}{l|p{0.9\textwidth}}
 \quad 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id
 hendrerit

 But isn't this the same solution you had before?  You still end up with
 a very long line in the org file?

Unless:
1) your tabular env is required to be on one continuous line, or
2) You know how to split an org-table into multiple lines

No, they are different. I'm not sure if I was explicit about the
above, but I'm inserting that native LaTeX code into the org file;
that's not post-export. That's just how I dump it... so I get a couple
lines of tabular setup and then my whole quote can rest in one
paragraph with fill mode line wrapping. With the org table it was off
the page with fill mode.

The other source of confusion might have been whether or not we both
use fill mode. I do, but think if I didn't, perhaps the org-table
would wrap for me?

Does that make things any clearer?


John


 --
 : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
 : using Org-mode version 7.5 (release_7.5.142.g4168)




[O] Re: Using orgmode to take inline notes for research

2011-04-08 Thread Sébastien Vauban
Hi John,

John Hendy wrote:
 Something's still not right. This:
 --
 * Top headline
 Some notes about this stuff to see how this custom export works! Some
 notes about
 this stuff to see how this custom export works!

 *** An inline section
 Here's some text inside an inline section; let's see what the format
 looks like on
 export!
 *** END

 Some notes about this stuff to see how this custom export works! Some
 notes about
 this stuff to see how this custom export works!
 --

 Is producing the attached.

Yes, you're right. You need the todonotes package. This is standard in my
private class, reason why I forgot about this link.

Go and add it, you'll love it!

Best regards,
  Seb

-- 
Sébastien Vauban