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

- 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  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:
>> 
>> ,
>> | 
>> | this is a test
>> | 
>> | 
>> | 
>> | 
>> | 
>> | Don't export me
>> | 
>> | 
>> | 
>> | I'd like to be exposed
>> | 
>> `
>> 
>> 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}}}
> 
> 

- 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 / 
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  writes:

Hi Bernt,
> Giovanni Ridolfi  writes:
>
>> I think I found a bug with the option ":clock-keep"
>>


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

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

> Filippo A. Salustri  wrote:
>
> > That's a good start!  Thanks!
> > Cheers.
> > Fil
> >
> > On 7 April 2011 23:34, Bernt Hansen  wrote:
> >
> > "Filippo A. Salustri"  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  writes:

> Nicolas Goaziou  gmail.com> writes:
>> > Ethan Ligon  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:


align="center" alt="./images/threearrows.png" />

Buried services suite


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

> Bernt Hansen  writes:
>
> Hi Bernt,
>> Giovanni Ridolfi  writes:
>>
>>> I think I found a bug with the option ":clock-keep"
>>>
> 
>
>>> (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  
> 
>>>
>>> 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

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

2011-04-08 Thread Matt Lundin
Sean Whitton  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  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  writes:

Hi, Bernt,
> Giovanni Ridolfi  writes:
>
>> Bernt Hansen  writes:
>>

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



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

> Paul Sexton  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"  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  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  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  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"  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  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  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  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"  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 
[..]
> 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 
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  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 
> [..]
>> 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  writes:

> Bernt Hansen  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  wrote:

>
> On 8.4.2011, at 05:34, Bernt Hansen wrote:
>
> > "Filippo A. Salustri"  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  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 
> X-Patchwork-Id: 741
> Message-Id: 
> To: Bernt Hansen , emacs-orgmode ,
>   Bastien 
> 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 
> [..]
> > 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 
> 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  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  writes:

> On Thu, Apr 7, 2011 at 12:33 AM, Eric S Fraga  wrote:
>> John Hendy  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  wrote:
> brian powell  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  wrote:
>>> Marc Mientki  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




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

2011-04-08 Thread Ethan Ligon
Nic-

Sent this to the list earlier; should have cc'd you.

Thanks again for your help!
-Ethan
--
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) "???"))


-- 
Ethan Ligon, Associate Professor
Agricultural & Resource Economics
University of California, Berkeley



Re: [O] org-mac-protocol usage under Snow Leopard ?

2011-04-08 Thread Harold Klingsporn
On Sun, Mar 13, 2011 at 9:22 AM, Urs Rau (UK)  wrote:

> Gents,
>
> Sorry to come back on this topic for the third time. But I have kept
> bashing at it and even gone to IRC on freenode to try to get help, but I
> think I need to re-state where I get stuck and then I will likely get
> hundreds of answers form the people that are used to applescript or services
> usage under Snow Leopard?
>
> I am setting up org-mac-protocol as per instructions from
> https://github.com/claviclaws/org-mac-protocol/blob/master/org-mac-protocol.org
>
>
> I get stuck trying to "use" it. Under "Usage" it says:
>
> Usage
>
> There are four scripts that can be invoked; org-link, org-link-tabs,
> org-note, and org-remember. These scripts can be called by various
> methods, for example, the Script 
> menuin the menu 
> bar,
> Quicksilver , 
> FastScriptsetc.
>
> Well, I don't have a Script menu, or am looking in the wrong place, and I
> also don't have Quicksilver (extinct?) or Fastscripts installed. The one
> "odd" bit following the instructions was that there was no "Scripts" dir
> under my ~/Library dir, but I thought this might be because this is the
> first time I am trying to setup and use a applescript under my Snow Leopard.
>
> How do I tell the Snow Leopard OS that it needs to trigger the scripts I
> copied into the correct (?) places under:
>
> ~/Library/Scripts/org-link.scpt
>   org-link-tabs.scpt
> org-remember.scpt
> org-note.scpt
> orgQSLib/escape.rb
>  getEmacsClient.scpt
>  getItemMetadata.scpt
>
>
>
> What are the key presses or triggers to activate the scripts when I am in
> Safari or another supported App? I feel like I have done all the work and
> all should be setup, but I don't know how to trigger it or switch it on?
>
> Thanks.
>
>
> --
> Urs Rau
>

I just saw this post and hope it isn't still an open issue, but in case it
is, take a look at <
http://hints.macworld.com/article.php?story=20080315064646576> for advice on
how to enable script execution in OS X. Nothing specific to emacs or Org
mode.