Re: [O] Journal versus clock tables: Opposing requirements?
... it depends on how often you require this weekly report... Ermm, weekly :-) It should be possible to write code that walks your agenda, visits the tasks, and copies and pastes the details to a temporary org buffer/file just for your chronological report. Absolutely. But as I've been thinking about this, I'm realizing that in fact a key input requirement (as opposed to my two output requirements -- chronology plus clock tables) is ease of entry. As I begin some new chunk of work, I don't want to have to hunt around for the most appropriate heading to clock into and begin writing notes under. As a result, what's happening is two things. First, I'm just falling back on your single Organization catch-all task; second, I'm not writing *any* notes. With a chronological journal, there's no decision to be made. You just start logging at the end (or start) of the journal. But maybe something in the org-capture area is what I need. I've tried it before and didn't get very far, but I'll have another look. thanks, Tommy
Re: [O] Journal versus clock tables: Opposing requirements?
On Nov 8, 2011, at 9:06 AM, Tommy Kelly wrote: ... it depends on how often you require this weekly report... Ermm, weekly :-) It should be possible to write code that walks your agenda, visits the tasks, and copies and pastes the details to a temporary org buffer/file just for your chronological report. Absolutely. But as I've been thinking about this, I'm realizing that in fact a key input requirement (as opposed to my two output requirements -- chronology plus clock tables) is ease of entry. As I begin some new chunk of work, I don't want to have to hunt around for the most appropriate heading to clock into and begin writing notes under. As a result, what's happening is two things. First, I'm just falling back on your single Organization catch-all task; second, I'm not writing *any* notes. With a chronological journal, there's no decision to be made. You just start logging at the end (or start) of the journal. But maybe something in the org-capture area is what I need. I've tried it before and didn't get very far, but I'll have another look. Yes, capture you notes into a date tree and turn on the clock whenever you start a new entry! - Carsten
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
On Mon, Nov 7, 2011 at 11:09 PM, Eric Schulte schulte.e...@gmail.comwrote: The attached patch implements this latest propname+ suggestion. When applied it results in the behavior shown below. I'm inclined to go with this as a solution moving forward. Thoughts? Go for it - looks like a really good way of doing it. Cheers, Rainer -- Eric Schulte http://cs.unm.edu/~eschulte/ -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax (F): +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug
Re: [O] Journal versus clock tables: Opposing requirements?
Tommy Kelly tommy.ke...@verilab.com writes: OK, that might be what I need then. I thought clock tables grouped things by headings, not by tags. I'll have a look at the manual. I'm trying the tagging thing within clock tables, but I can't get it working at all. I've attached a tag to a single headline, and checked that I've got that right by using C-c a m. Then I added a :tags item to my clock table block but it seems to have no effect. Is this valid: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag #+END: I've also tried :tags 'test_tag', :tags '+test_tag' and a bunch of other things, but nothing seems to do anything. What I was expecting was that my clock table, currently filled with lots of items, would be reduced to looking only at the single headline that I've tagged. But it's not -- it just stays as it was before. I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Here's a simple example for a start: Tagged clock tables -*- mode: org; fill-column: 78 -*- * Shopping :errands: :CLOCK: CLOCK: [2011-11-07 Mo 09:45]--[2011-11-07 Mo 09:50] = 0:05 :END: * Cleaning:house: :CLOCK: CLOCK: [2011-11-07 Mo 08:50]--[2011-11-07 Mo 09:05] = 0:15 :END: * Kids :children: :CLOCK: CLOCK: [2011-11-07 Mo 08:30]--[2011-11-07 Mo 08:50] = 0:20 :END: * Homework :children: :CLOCK: CLOCK: [2011-11-07 Mo 13:40]--[2011-11-07 Mo 14:05] = 0:25 :END: * Exercises :health: :CLOCK: CLOCK: [2011-11-07 Mo 07:30]--[2011-11-07 Mo 07:50] = 0:20 :END: #+BEGIN: clocktable :maxlevel 2 :scope file :tags health Clock summary at [2011-11-08 Di 09:57] | Headline | Time | |--+| | *Total time* | *0:20* | |--+| | Exercises| 0:20 | #+END: clocktable #+BEGIN: clocktable :maxlevel 2 :scope file :tags children Clock summary at [2011-11-08 Di 09:58] | Headline | Time | |--+| | *Total time* | *0:45* | |--+| | Kids | 0:20 | | Homework | 0:25 | #+END: clocktable Regards, Olaf
Re: [O] org-mode are these two entries identical for org-mode?
I tried an experiment and am glad I didn't save its results! Results are that you actually have to indent otherwise, all you have in the file are the headlines once org-mode sees the file. I have a newly installed debian system on the first sata drive I used and I'm using org-mode to log the extras I install on the system as well as configuration changes I make as they happen. On Mon, 7 Nov 2011, Jude DaShiell wrote: * aptitude install emacs -r get emacs text editor. * aptitude install emacs -r get emacs text editor. Jude jdash...@shellworld.net When people ask do you believe in Numerology, the proper reply for me at least is do you believe in a hammer? The proper answer for me for both questions is no, they're both tools and to be used under appropriate circumstances. Jude jdash...@shellworld.net When people ask do you believe in Numerology, the proper reply for me at least is do you believe in a hammer? The proper answer for me for both questions is no, they're both tools and to be used under appropriate circumstances.
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Hi Eric, (Due to a high buzyness level, I've been a bit out of the discussion for one week or so) Eric Schulte wrote: The attached patch implements this latest propname+ suggestion. When applied it results in the behavior shown below. I'm inclined to go with this as a solution moving forward. Thoughts? #+property: varfoo=1 #+property: var+ , bar=2 #+begin_src emacs-lisp (+ foo bar) #+end_src So, in a way, adding the + after `var' is how you tell Org that this is an accumulated property? Two questions: 1. Why not the + after the property keyword (property+)? I guess because it's more against other aspects of Org internals? Anyway, putting + after the var sounds as right to me -- maybe better even if we consider that you declare var as accumulated, writing so. 2. Must there be a first `var' without `+'? Accepted, tolerated or wrong? I mean, I'm sure that, due to heavy file editing, we'll sometimes have: #+property: var+ foo=1 #+property: var+ , bar=2 #+begin_src emacs-lisp (+ foo bar) #+end_src #+results: : 3 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1, bar=2 * overwriting a file-wide property :PROPERTIES: :var: foo=7 :END: #+begin_src emacs-lisp foo #+end_src #+results: : 7 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=7 * appending to a file-wide property :PROPERTIES: :var+: , baz=3 :END: To be honest, the only thing that I dislike is the comma in the above line. Not intuitive at all. Quite hard to read. Can't the comma be implicitly added by the `+' after the property name? That would allow one to simply write: * appending to a file-wide property :PROPERTIES: :var+:baz=3 :END: and have the correct values. #+begin_src emacs-lisp (+ foo bar baz) #+end_src #+results: : 6 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1, bar=2, baz=3 Thanks. Best regards, Seb -- Sebastien Vauban
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
On Tue, Nov 8, 2011 at 10:31 AM, Sebastien Vauban wxhgmqzgw...@spammotel.com wrote: Hi Eric, (Due to a high buzyness level, I've been a bit out of the discussion for one week or so) Eric Schulte wrote: The attached patch implements this latest propname+ suggestion. When applied it results in the behavior shown below. I'm inclined to go with this as a solution moving forward. Thoughts? #+property: varfoo=1 #+property: var+ , bar=2 #+begin_src emacs-lisp (+ foo bar) #+end_src So, in a way, adding the + after `var' is how you tell Org that this is an accumulated property? Two questions: 1. Why not the + after the property keyword (property+)? I guess because it's more against other aspects of Org internals? Anyway, putting + after the var sounds as right to me -- maybe better even if we consider that you declare var as accumulated, writing so. 2. Must there be a first `var' without `+'? Accepted, tolerated or wrong? I mean, I'm sure that, due to heavy file editing, we'll sometimes have: Might be a good idea to tolerate this. #+property: var+ foo=1 #+property: var+ , bar=2 #+begin_src emacs-lisp (+ foo bar) #+end_src #+results: : 3 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1, bar=2 * overwriting a file-wide property :PROPERTIES: :var: foo=7 :END: #+begin_src emacs-lisp foo #+end_src #+results: : 7 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=7 * appending to a file-wide property :PROPERTIES: :var+: , baz=3 :END: To be honest, the only thing that I dislike is the comma in the above line. Not intuitive at all. Quite hard to read. Can't the comma be implicitly added by the `+' after the property name? On the one hand, it might have one additional advantage: #+property: var foo=This is a very long text #+property: var+ with even more. Would foo be: This is a very long text with even more Could one make the , implicit, if the value follows the x=y style, while otherwise just concatenate the value to the one before? That would allow one to simply write: * appending to a file-wide property :PROPERTIES: :var+:baz=3 :END: and have the correct values. #+begin_src emacs-lisp (+ foo bar baz) #+end_src #+results: : 6 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1, bar=2, baz=3 Thanks. Best regards, Seb -- Sebastien Vauban -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax (F): +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Hi Rainer, Rainer M Krug wrote: The proposal is, when a property name ends in +, the value is appended to the corresponding property, rather than replacing it, so #+PROPERTY: var foo=1 #+PROPERTY: var bar=2 results in '((var . bar=2)) #+PROPERTY: varfoo=1 #+PROPERTY: var+ , bar=2 results in '((var . foo=1, bar=2)) This way subtree properties could be used as well, e.g., #+PROPERTY: var foo=1 * subtree :PROPERTIES: :var+: bar=2 :CUSTOM_ID: something :END: I like that suggestion - it is clear, easy to understand, gives other advantages (you can unset variables in a subtree - which would be an added bonus) and does not require any large changes in org files. How do you unset a var? By resetting the list with a new var (without `+'), and adding all the other valid vars? If so, not really unsetting... You simply void all vars, and create new definitions... Best regards, Seb -- Sebastien Vauban
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
On Tue, Nov 8, 2011 at 10:41 AM, Sebastien Vauban wxhgmqzgw...@spammotel.com wrote: Hi Rainer, Rainer M Krug wrote: The proposal is, when a property name ends in +, the value is appended to the corresponding property, rather than replacing it, so #+PROPERTY: var foo=1 #+PROPERTY: var bar=2 results in '((var . bar=2)) #+PROPERTY: varfoo=1 #+PROPERTY: var+ , bar=2 results in '((var . foo=1, bar=2)) This way subtree properties could be used as well, e.g., #+PROPERTY: var foo=1 * subtree :PROPERTIES: :var+: bar=2 :CUSTOM_ID: something :END: I like that suggestion - it is clear, easy to understand, gives other advantages (you can unset variables in a subtree - which would be an added bonus) and does not require any large changes in org files. How do you unset a var? By resetting the list with a new var (without `+'), and adding all the other valid vars? If so, not really unsetting... You simply void all vars, and create new definitions... Exactly - with unseting var, I don't refer to unsetting a single variable, but all variables. But as we have the var+, what about a var- to unset a single variable? Best regards, Seb -- Sebastien Vauban -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax (F): +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug
Re: [O] [OT] s/mime / mail encryption
On 03/11/11 18:02, Marcelo de Moraes Serpa wrote: Thank you for sharing your experiences guys, I only started thinking about this recently, when I had to send some documents to a banker. The issue is that I'm sure most bankers are not internet-savvy, they might not even know how to download something from a website (the alternative would be to put the docs in a SSL-protected URL with http basic auth). So in order to complete the transaction I had to send the documents via email anyway. Noth Unfortunately, you don't have any control over what they do with the encrypted document once they have received it. In all likleyhood they decrypt it and leave it in plain text on their hard drive. Or more likely print it out and stick it to their screen next to the PostIt note with their login password:) Ian.
Re: [O] Journal versus clock tables: Opposing requirements?
On Nov 8, 2011, at 10:04 AM, Olaf Dietsche wrote: Tommy Kelly tommy.ke...@verilab.com writes: OK, that might be what I need then. I thought clock tables grouped things by headings, not by tags. I'll have a look at the manual. I'm trying the tagging thing within clock tables, but I can't get it working at all. I've attached a tag to a single headline, and checked that I've got that right by using C-c a m. Then I added a :tags item to my clock table block but it seems to have no effect. Is this valid: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag #+END: I've also tried :tags 'test_tag', :tags '+test_tag' and a bunch of other things, but nothing seems to do anything. What I was expecting was that my clock table, currently filled with lots of items, would be reduced to looking only at the single headline that I've tagged. But it's not -- it just stays as it was before. I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Yes. The clock table parameters are read as lisp syntax, and the match is a string. HTH - Carsten Here's a simple example for a start: Tagged clock tables -*- mode: org; fill-column: 78 -*- * Shopping:errands: :CLOCK: CLOCK: [2011-11-07 Mo 09:45]--[2011-11-07 Mo 09:50] = 0:05 :END: * Cleaning :house: :CLOCK: CLOCK: [2011-11-07 Mo 08:50]--[2011-11-07 Mo 09:05] = 0:15 :END: * Kids :children: :CLOCK: CLOCK: [2011-11-07 Mo 08:30]--[2011-11-07 Mo 08:50] = 0:20 :END: * Homework :children: :CLOCK: CLOCK: [2011-11-07 Mo 13:40]--[2011-11-07 Mo 14:05] = 0:25 :END: * Exercises:health: :CLOCK: CLOCK: [2011-11-07 Mo 07:30]--[2011-11-07 Mo 07:50] = 0:20 :END: #+BEGIN: clocktable :maxlevel 2 :scope file :tags health Clock summary at [2011-11-08 Di 09:57] | Headline | Time | |--+| | *Total time* | *0:20* | |--+| | Exercises| 0:20 | #+END: clocktable #+BEGIN: clocktable :maxlevel 2 :scope file :tags children Clock summary at [2011-11-08 Di 09:58] | Headline | Time | |--+| | *Total time* | *0:45* | |--+| | Kids | 0:20 | | Homework | 0:25 | #+END: clocktable Regards, Olaf - Carsten
Re: [O] Journal versus clock tables: Opposing requirements?
I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Ah OK, that works. But it turns out there was a second problem and it may be a bug. It looks like any of the clocktable options after :indent get ignored. So this works: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :tags test_tag :indent #+END: But this doesn't (i.e. the :tags option is ignored) #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag #+END: Tommy
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Hi Rainer, Rainer M Krug wrote: * appending to a file-wide property :PROPERTIES: :var+: , baz=3 :END: To be honest, the only thing that I dislike is the comma in the above line. Not intuitive at all. Quite hard to read. Can't the comma be implicitly added by the `+' after the property name? On the one hand, it might have one additional advantage: #+property: var foo=This is a very long text #+property: var+ with even more. I don't think such a construction would be tolerated. I guess you must write a var name (foo, bar, baz, ...) after the `var+' keyword. Would foo be: This is a very long text with even more To be accurate, it would have become: This is a very long textwith even more if such a concatenation would be implied. Could one make the , implicit, if the value follows the x=y style, while otherwise just concatenate the value to the one before? I guess this is going too far, as Babel is untyped: what about... #+property: var foo=2 #+property: var+ 5 Does foo become equal to 25? (I know I exaggerate somehow, but just to show I guess such extensions are simply not possible without explicit types). But, if not equal to 25, what would be expected? An error, ...? Best regards, Seb -- Sebastien Vauban
Re: [O] Journal versus clock tables: Opposing requirements?
On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote: I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Ah OK, that works. But it turns out there was a second problem and it may be a bug. It looks like any of the clocktable options after :indent get ignored. So this works: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :tags test_tag :indent #+END: But this doesn't (i.e. the :tags option is ignored) #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag You need :indent t This is a property list, each key needs a value. - Carsten
Re: [O] Journal versus clock tables: Opposing requirements?
Hi Carsten, Carsten Dominik wrote: On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote: I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Ah OK, that works. But it turns out there was a second problem and it may be a bug. It looks like any of the clocktable options after :indent get ignored. So this works: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :tags test_tag :indent #+END: But this doesn't (i.e. the :tags option is ignored) #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag You need :indent t This is a property list, each key needs a value. This makes sense. But why did his first example work, then? There is no `t' either. Best regards, Seb -- Sebastien Vauban
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
On Tue, Nov 8, 2011 at 10:58 AM, Sebastien Vauban wxhgmqzgw...@spammotel.com wrote: Hi Rainer, Rainer M Krug wrote: * appending to a file-wide property :PROPERTIES: :var+: , baz=3 :END: To be honest, the only thing that I dislike is the comma in the above line. Not intuitive at all. Quite hard to read. Can't the comma be implicitly added by the `+' after the property name? On the one hand, it might have one additional advantage: #+property: var foo=This is a very long text #+property: var+ with even more. I don't think such a construction would be tolerated. I guess you must write a var name (foo, bar, baz, ...) after the `var+' keyword. Would foo be: This is a very long text with even more To be accurate, it would have become: This is a very long textwith even more if such a concatenation would be implied. Correct - missing space. Could one make the , implicit, if the value follows the x=y style, while otherwise just concatenate the value to the one before? I guess this is going too far, as Babel is untyped: what about... #+property: var foo=2 #+property: var+ 5 Does foo become equal to 25? (I know I exaggerate somehow, but just to show I guess such extensions are simply not possible without explicit types). You definitely have a point here - so I opt for the implicit , Cheers, Rainer But, if not equal to 25, what would be expected? An error, ...? Best regards, Seb -- Sebastien Vauban -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax (F): +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug
Re: [O] Journal versus clock tables: Opposing requirements?
On Nov 8, 2011, at 11:05 AM, Sebastien Vauban wrote: Hi Carsten, Carsten Dominik wrote: On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote: I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Ah OK, that works. But it turns out there was a second problem and it may be a bug. It looks like any of the clocktable options after :indent get ignored. So this works: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :tags test_tag :indent #+END: But this doesn't (i.e. the :tags option is ignored) #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag You need :indent t This is a property list, each key needs a value. This makes sense. But why did his first example work, then? There is no `t' either. Probably, :indent was perceived by the code as nil, but at least it did not swallow the :tags key. - Carsten
[O] OT: logging debian system changes (was: Re: org-mode are these two entries identical for org-mode?)
Jude DaShiell jdash...@shellworld.net writes: I tried an experiment and am glad I didn't save its results! Results are that you actually have to indent otherwise, all you have in the file are the headlines once org-mode sees the file. I have a newly installed debian system on the first sata drive I used and I'm using org-mode to log the extras I install on the system as well as configuration changes I make as they happen. I don't want to argue you out of org-mode. ;-) But for logging additional packages, you might look at tasksel(8). If you create a description file of your packages, you can use this with tasksel, when you set up a new system. e.g. /usr/local/share/tasksel/local.desc: Task: kids Section: user Description: Applications for kids. Packages: list gcompris tuxpaint Task: development Section: user Description: Development tools Tools needed for software development. Packages: list emacs23 emacs23-common-non-dfsg bbdb emacs-goodies-el yasnippet git gcc g++ gdb gdb-doc Task: net Section: user Description: Packages for networking and internet. Packages: list xul-ext-noscript xul-ext-cookie-monster dovecot-imapd fetchmail And logging configuration changes could be done with git(1). If you checkin the base configuration in /etc, /var/lib/... you can always see changes you made with git status and git diff. On Mon, 7 Nov 2011, Jude DaShiell wrote: * aptitude install emacs -r get emacs text editor. * aptitude install emacs -r get emacs text editor. Regards, Olaf
Re: [O] Journal versus clock tables: Opposing requirements?
Hi Carsten, Carsten Dominik wrote: On Nov 8, 2011, at 11:05 AM, Sebastien Vauban wrote: Hi Carsten, Carsten Dominik wrote: On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote: I haven't tried this myself, just looking at the manual. But playing around, it seems you need double quotes around your tags match. Ah OK, that works. But it turns out there was a second problem and it may be a bug. It looks like any of the clocktable options after :indent get ignored. So this works: #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :tags test_tag :indent #+END: But this doesn't (i.e. the :tags option is ignored) #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week :indent :tags test_tag You need :indent t This is a property list, each key needs a value. This makes sense. But why did his first example work, then? There is no `t' either. Probably, :indent was perceived by the code as nil, but at least it did not swallow the :tags key. OK, clear. Thanks, Seb -- Sebastien Vauban
Re: [O] Journal versus clock tables: Opposing requirements?
Probably, :indent was perceived by the code as nil, but at least it did not swallow the :tags key. It wasn't. I hadn't realized about the need for a value to the property, but if it's omitted then it looks like :indent's value is perceived as true, not nil (which is why I got on so long not realizing the value was required). Tommy
Re: [O] Journal versus clock tables: Opposing requirements?
Tommy Kelly tommy.ke...@verilab.com writes: ... it depends on how often you require this weekly report... Ermm, weekly :-) It should be possible to write code that walks your agenda, visits the tasks, and copies and pastes the details to a temporary org buffer/file just for your chronological report. Absolutely. But as I've been thinking about this, I'm realizing that in fact a key input requirement (as opposed to my two output requirements -- chronology plus clock tables) is ease of entry. As I begin some new chunk of work, I don't want to have to hunt around for the most appropriate heading to clock into and begin writing notes under. As a result, what's happening is two things. First, I'm just falling back on your single Organization catch-all task; second, I'm not writing *any* notes. With a chronological journal, there's no decision to be made. You just start logging at the end (or start) of the journal. But maybe something in the org-capture area is what I need. I've tried it before and didn't get very far, but I'll have another look. I tend to use capture mode to refile.org (all level 1 tasks) and then refile them later to the appropriate place. I clock time on the task when I create it and sometimes I end the capture task with C-c C-c (which stops the clock) and immediately switch back to it with F9-SPC in my setup. Sometime later I'll refile this item to the right place in the tree. I don't do that now - when I'm supposed to be working on it but later when I have 2 minutes to spare :) When I start something new it's C-M-r (or C-c r or whatever your capture binding is) t or n (for Todo or Note) then start entering data in the capture buffer that is being clocked. C-c C-c when done and possible switch back to it immediately with F9-SPC. I never hunt around for where a task should live when I capture it - I used to do that with multiple capture task targets and it was just too slow. Regards, Bernt
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Unless I have missed something in the e-mails, the new syntax is to concatenate new variables to the var property. Not modifying the values currently stored in some variable. That is, #+property: var foo=2 #+property: var+ 5 (not specifying the variable name ) should not be allowed and #+property: var foo=2 #+property: var+ foo=5 #+property: var+ bar=bar should result in foo=5 and bar=bar. Is modifying a variable also a new feature? -- Darlan At Tue, 8 Nov 2011 11:06:48 +0100, Rainer M Krug r.m.k...@gmail.com wrote: [1 text/plain; ISO-8859-1 (7bit)] On Tue, Nov 8, 2011 at 10:58 AM, Sebastien Vauban wxhgmqzgw...@spammotel.com wrote: Hi Rainer, Rainer M Krug wrote: * appending to a file-wide property :PROPERTIES: :var+: , baz=3 :END: To be honest, the only thing that I dislike is the comma in the above line. Not intuitive at all. Quite hard to read. Can't the comma be implicitly added by the `+' after the property name? On the one hand, it might have one additional advantage: #+property: var foo=This is a very long text #+property: var+ with even more. I don't think such a construction would be tolerated. I guess you must write a var name (foo, bar, baz, ...) after the `var+' keyword. Would foo be: This is a very long text with even more To be accurate, it would have become: This is a very long textwith even more if such a concatenation would be implied. Correct - missing space. Could one make the , implicit, if the value follows the x=y style, while otherwise just concatenate the value to the one before? I guess this is going too far, as Babel is untyped: what about... #+property: var foo=2 #+property: var+ 5 Does foo become equal to 25? (I know I exaggerate somehow, but just to show I guess such extensions are simply not possible without explicit types). You definitely have a point here - so I opt for the implicit , Cheers, Rainer But, if not equal to 25, what would be expected? An error, ...? Best regards, Seb -- Sebastien Vauban -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax (F): +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug [2 text/html; ISO-8859-1 (quoted-printable)]
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
How do you unset a var? By resetting the list with a new var (without `+'), See, the example in my original email, a property with var (no +) wipes out any previously existing var properties. and adding all the other valid vars? If so, not really unsetting... You simply void all vars, and create new definitions... yes Exactly - with unseting var, I don't refer to unsetting a single variable, but all variables. But as we have the var+, what about a var- to unset a single variable? This is not possible. Up until this point we continue to treat the var property as any other property, and we just allow the construction of a long var value, such as foo=1, bar=2, baz=3. Introducing a var- would be a large departure from current property handling and would require parsing lines like the above. Best -- Eric Best regards, Seb -- Sebastien Vauban -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Could one make the , implicit, if the value follows the x=y style, while otherwise just concatenate the value to the one before? I guess this is going too far, as Babel is untyped: what about... #+property: var foo=2 #+property: var+ 5 Does foo become equal to 25? yes #+PROPERTY: var foo=2 #+PROPERTY: var+ 5 #+begin_src emacs-lisp foo #+end_src #+results: : 25 (I know I exaggerate somehow, but just to show I guess such extensions are simply not possible without explicit types). I think by types you mean something more like syntactic parsing? Babel does have three types, strings, numbers, and lists. You definitely have a point here - so I opt for the implicit , Keep in mind that the above applies to *all* Org-mode properties, not just variables, which is why I did not want to force an assumed comma separator. For example, #+PROPERTY: Disks 1 2 3 4 5 6 7 #+PROPERTY: Disks+ 8 9 10 11 12 13 #+begin_src emacs-lisp org-file-properties #+end_src #+results: | (var . foo=25) | (Disks . 1 2 3 4 5 6 78 9 10 11 12 13) | Although in this case the 78 is certainly unexpected. Perhaps inserting an assumed space separator would be more intuitive? If we were to go that way it may be possible to allow variable specifications such as #+PROPERTY: var foo=1 bar=2 in which case properties could be easily specified on multiple lines using a default space separator. If this seems like a good way to go I can try to update my previous patch. Thanks -- Eric Cheers, Rainer But, if not equal to 25, what would be expected? An error, ...? Best regards, Seb -- Sebastien Vauban -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Hi Darlan, Darlan Cavalcante Moreira wrote: Unless I have missed something in the e-mails, the new syntax is to concatenate new variables to the var property. Not modifying the values currently stored in some variable. That is, #+property: var foo=2 #+property: var+ 5 (not specifying the variable name ) should not be allowed By showing this example, I wanted to show that this proposition (of Rainer) seemed wrong to me. This is much too complex, and I think there is no use case to support such a thing. and #+property: var foo=2 #+property: var+ foo=5 #+property: var+ bar=bar should result in foo=5 and bar=bar. Yep -- iff the comma is implied (implicitly), what's not currently the case. Is modifying a variable also a new feature? Not (to me). Best regards, Seb -- Sebastien Vauban
Re: [O] enhancements for org-agenda-to-appt
Hi, I would find very useful your improvements to appt. I also think that appt needs to be a bit more intrusive. I once missed an appointment because appt didn't notify me about it (or notified me but didn't ask for my acknowledgement). Something I missed was a clear interface which said which notifications were still pending and which were already emitted. With that you would be certain that in some hours you will get the notifications you expect. Some comments to your ideas: Here the details, in the order of priority: 1.) Warning period should be taken from timestamp That means, that the warntime must be passed to appt-add. 2.) Warning period in hours and minutes -3h for 3 hours or -10M for 10 minutes should be possible. Do you really need to extend the org-mode timestamp format? There may be other ways to do that without extending the org-mode timestamp format. Like deciding acording to priority, for instance.: [#A] are to be notified 1 hour before, [#B] 30 minutes before and [#C] 10 minutes But the extended timestamp format would be much more useful. 3.) Notification must continue when timestamp is past Perhaps, the notification should be even more aggressive, when a task is overdue. I totally agree, as I said. More important than that is that appt should record whether the user acknowledget the notification or not, and remind him differently. E.g. „you should have finished this a long ago“ vs. „I'm tryingi to notify you this since a long ago“. 4.) Easy modification of timestamps Often I get notified, that a task has to be done now, but the most obvious and easiest solution for me is: just do it tomorrow! Thus, when point is on a deadline line, M-right should advance the time by 1d, C-right by 1h, or similar. Decrementing with M-left and C-left should be possible too, but will surely be used less often... ;) I think you can already do that with „bulk scheduling“ from the agenda. Key: m m m B s Doing this from the notification window would to people „skipping“ reminders. (See the program workrave for a similar situation in which you can skip reminders). 5.) org-check-deadlines must consider hours and minutes It should be possible, to show only overdue deadlines, even if they are overdue since 5 minutes. 6.) Timestamps with hours and minutes When adding deadlines or schedules, there should be also the time, not only the date. How often would you need to synchronize org and appt in order to be so precise? Should it be automatic? 7.) Switch from todo to done by clicking on the notification window When using `notifications-notify' this should be possible with the `:on-action' parameter. I would prefer the window to open an emacsclient window pointing to the task in order to close it myself and write a conclusion, all inside Emacs. 8.) Configurable notification types For example: - email - notifications-notify - emacs-window (like the default in appt.el) - custom function Suggestion: a variable which maps some_tags_combination → action Then you „configure“ your tasks with tags, and then decide on how to notify each type of task. You can use the same task selection syntax as org-agenda-custom-commands, which allows to search for certain todo states, certain tags and certain properties. I have a todo state for the really important tasks and another one for the „it would be nice“ tasks; the latter are scheduled but don't require notification (I have more than 200 pendings tasks, that would make too many notifications). 9.) Configurable notification period How often the notification function must be called (once per day, once per minute, etc...) Or even: each time that a task is scheduled or a timestamp is changed in org. Maybe this slows things down, but it would almoust guarantee real-time synchronization between org and appt 10.) Configurable notification duration This applies only for emacs-window and notifications-notify: how long must the notification be visible. And ask for acknowledgment! It's also interesting to foresee what will happen when an unacknowledged notification waits for too long and another one comes up. 11.) Crescendo notifications Imagine, deadline is in 10 days. So a silent notification once or twice per day, saying it's time to begin to work, could be nice. But when time is getting shorter, only one hour left, bells will ring and the whole screen will blink red and green... See also program workrave. If you don't follow its advice to take a rest for a while, it toots a horn which makes you feel somewhat guilty… A good feature though. Best of luck, Daniel
Re: [O] problems with mathjax CDN and HTML export
Christian Moe m...@christianmoe.com writes: Hi Christian, thank you for checking, On 11/7/11 5:02 PM, Giovanni Ridolfi wrote: the math snippets are always converted in HTML format e.g.:alpha; = \frac{1}{Lsub0/sub} Do I understand correctly that this is your problem? yes. (Not very clear from your long example, which starts with the CDN service.) sorry for that If so, I can't reproduce it. Your $$ \alpha = \frac{1}{L_{0}} \left( \frac{L_2-L_1}{T_2-T_1} \right) = \frac{1}{L_0}\frac{\Delta L}{\Delta T} $$ exports verbatim for me, and is correctly formatted. I tried. Yes and no. Yes, You're right. It is exported correctly and correctly formatted if you export only *this* subheading. The subheading ** $$. But, if you export the whole subtree, from the * mathjax test heading, the equation is converted in HTML format e.g.:alpha; = \frac{1}{Lsub0/sub} Giovanni
[O] Change options of source code blocks on-the-fly for the later Latex export?
Hi, I just trying minted and source code blocks do get nice formatted fontified output in LaTeX export #+source: test #+begin_src c :exports code /* Test */ int x = 10; #+end_src works fine. However, sometimes I would like to use different starting numbers for the line-numbers. The minted package supports this by an LaTeX-Environment option e.g., \begin{minted}[firstnumber = 5] How can I get firstnumber = 5 from org-mode into LaTeX. Since I would have to change this several times within a file I would prefer an rather easy method (rather then redefining the standard export settings via org-export-latex-minted-options over and over again). Other environments have access to certain options available via #+ATTR_LaTeX: but this seems not to work for source code. I could use plain LaTeX instead but would loose the ability to work and execute the source code blocks. Maybe its very easy to do, however, its rather late in this part of the world and I can't see any solution at the moment. Thanks a lot Torsten
Re: [O] enhancements for org-agenda-to-appt
On 2011-11-08, Daniel Clemente n142...@gmail.com wrote: Do you really need to extend the org-mode timestamp format? There may be other ways to do that without extending the org-mode timestamp format. I agree. I would use a property. The only issue with doing so that comes to mind is when you have more than one active timestamp per header. If this is important, I would consider universal syntax (extensible syntax), which would allow a lot more flexibility without additional parsing risk. Samuel -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com === Bigotry against people with serious diseases is still bigotry.
Re: [O] Journal versus clock tables: Opposing requirements?
Tommy Kelly tommy.ke...@verilab.com writes: ... it depends on how often you require this weekly report... Ermm, weekly :-) Yes :) but if it's only for the next 3 weeks it's probably not worth the coding effort. If it's weekly for the indefinite future it might be. -Bernt
Re: [O] Makefile restructuring
A more complete recipe for setting up a tracking branch to a remote branch in git (assuming you've already cloned orgmode.git locally and have a clean working directory): $ git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git $ git fetch remote-tableheadings Makefile:local-Makefile $ git checkout local-Makefile $ git branch --track local-Makefile remote-tableheadings/Makefile $ git config branch.local-Makefile.rebase true Whenever you want to get changes from upstream, do a $ git pull When you just want to check if there are changes, do a $ git remote update $ git status HTH, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
see here: http://stackoverflow.com/questions/8036948/how-to-set-up-birthdays-with-org-contacts-error-bad-sexp On 2011-11-06, at 12:05 , Marius Hofert wrote: How can I set up anniversaries with org-contact? My agend.org file contains the following, as mentioned on the bottom of http://julien.danjou.info/org-contacts.html #+STARTUP: showeverything * Birthdays %%(org-contacts-anniversaries) My contacts.org file contains (e.g.): * My contact :my.tag: :PROPERTIES: :EMAIL: my.cont...@my.address.org :URL: :WORK: :HOME: :MOBILE: :LOCATION: :BIRTHDAY: 2000-01-01 :NOTE: :END: When I access agenda view via C-c a a, I obtain: Bad sexp at line 3 in /Users/myusername/org/agenda.org: (org-contacts-anniversaries) [7 times] Note that line three corresponds to %%(org-contacts-anniversaries) Cheers, Marius
Re: [O] org-capture-template: How to correctly capture email addresses?
see here: http://stackoverflow.com/questions/8037953/org-mode-how-to-correctly-capture-email-addresses On 2011-11-06, at 11:49 , Marius Hofert wrote: Hi, I would like to capture contacts (name, email,..) with org-mode and thus setup the following in .emacs: (setq org-capture-templates '((t TODO in ~/org/agenda.org - Tasks entry (file+headline ~/org/agenda.org Tasks) * TODO %?\nSCHEDULED: %^t\n%U %a) (c Contact in ~/org/contacts.org - Contact entry (file+headline ~/org/contacts.org Contact) * %?%(org-contacts-template-name) %^g :PROPERTIES: :EMAIL: %(org-contacts-template-email) :URL: :WORK: :HOME: :MOBILE: :LOCATION: :BIRTHDAY: :NOTE: :END:))) I can easily capture contacts with C-c c c, it prompts for the name, a tag, and the email address. However, instead of an output like * My contact :my.tag: :PROPERTIES: :EMAIL: my.cont...@my.mail.com :URL: :WORK: :HOME: :MOBILE: :LOCATION: :BIRTHDAY: :NOTE: :END: I obtain: * My contact :my.tag: :PROPERTIES: :EMAIL: :URL: :WORK: :HOME: :MOBILE: :LOCATION: :BIRTHDAY: :NOTE: :EMAIL: my.cont...@my.mail.com :END: So the problem is that the first :EMAIL: is ignored and instead a second :EMAIL: is inserted before :END:. How can I obtain the correct output (as described above)? Cheers, Marius
Re: [O] bug in odt export via mathml of equations containing ''
Hello Myles The example that you have cited encounters issues on every step along the way - plastex, mathtoweb and odt. I have tried my best to be useful here. I sincerely appreciate you exercising the LaTeX to MathML conversion facilities included in Org. I hope we get robust LaTeX-MathML converters *ultimately*. I see that there is plenty of scope for the LaTeX to MathML converters to improve and mature. This is going to be a long mail. Read on. #+TITLE: improvements.org #+AUTHOR:Jambunathan K #+EMAIL: kjambunat...@gmail.com #+DATE: 2011-11-09 Wed #+DESCRIPTION: #+KEYWORDS: #+LANGUAGE: en #+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t :t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+LINK_UP: #+LINK_HOME: #+XSLT: * Improvements to LaTeX-MathML handling in ODF exporter Firstly, I felt a need for some support infrastructure for working with LaTeX fragments in the ODT exporter. I am listing few things that I have added since our last interaction: 1. Dvipng images Math formulae created from LaTeX fragments will now have the LaTeX fragment as metadata. i.e., In LibreOffice you can see the LaTeX source by Image/Equation-Right Click-Description 2. New interactive commands - M-x org-export-as-odf and M-x org-export-as-odf-and-open. With these commands you can mark a latex fragment and export it as a odf - OpenDocument formula - document. The MathML source will be available as part of kill ring after the export. (See the docstrings) 3. Embed OpenDocument formula within the exported document by providing a link to *.mathml or *.odf file as below. #+CAPTION: cases with MathJaX [[./mathjax-cases.odf]] A link with neither caption or nor label will formatted inline type while one either or both of these attributes will be formatted as display. If an org file contains a latex equation with a '' in it then when it is exported to odt it makes dodgy xml. Unzipping the odt, opening the content.xml and doing M-x rng-first-error gives the message: `' that is not markup must be entered as `amp;' To reproduce, insert this: \begin{equation} \delta_{mn} = \begin{cases} 1 \text{if $n=m$}\\ 0 \text{if $n\nem$} \end{cases} \end{equation} (which I got from here http://www.mathtoweb.com/cgi-bin/mathtoweb_users_guide.pl , search for 'cases') into the file math-to-web-with-plastex.org in this post: http://permalink.gmane.org/gmane.emacs.orgmode/48815 and export as per instructions. There may be a similar error with equations containing '', ''. #+TITLE: diagnosis.org #+AUTHOR:Jambunathan K #+EMAIL: kjambunat...@gmail.com #+DATE: 2011-11-09 Wed #+DESCRIPTION: #+KEYWORDS: #+LANGUAGE: en #+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t :t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+LINK_UP: #+LINK_HOME: #+XSLT: #+STARTUP: hideblocks * Diagnosis 1) User provided LaTeX fragment #+begin_src latex \begin{equation} \delta_{mn} = \begin{cases} 1 \text{if $n=m$}\\ 0 \text{if $n\nem$} \end{cases} \end{equation} #+end_src 2) Output from Plastex Note that plastex output includes a SPACE in two instances: - within `\text{blah}' - within `m$' #+begin_src latex \begin{equation} \delta _{mn} = \begin{cases} 1 \text {if $n=m$}\\ 0 \text {if $n\nem $} \end{cases} \end{equation} #+end_src #+begin_src latex \begin{equation} \delta _{mn} = \begin{cases} 1 \text{if $n=m$}\\ 0 \text{if $n\nem$} \end{cases} \end{equation} #+end_src 3) Output from MathWeb The extraneous SPACE is unacceptable to MathWeb and it complains. #+begin_src text Checking Syntax: ** -- found 1 syntax error(s) -- ** (em) Nesting Error: $..$ can not be nested inside \begin{equation}..\end{equation} unless it is within a \text{..} environment. line: 1\begin{equation} \delta _{mn} ... ^ #+end_src If I remove the extraneous SPACEs by hand MathToWeb crashes. #+begin_src text Checking Syntax: ***-- no errors -- stand-alone math environments: [1] Converting: 1Exception in thread Thread-3 java.lang.ArrayIndexOutOfBoundsException: 1 at MathToWeb.convertEachLatexMatrixToAMathMLExpression(MathToWeb.java:15511) at MathToWeb.doMatrixConversions(MathToWeb.java:3495) at MathToWeb.convertLatexToMathML(MathToWeb.java:2106) at ConvertLatexToMathMLThread.run(ConvertLatexToMathMLThread.java:64) #+end_src Question: Is the snippet output from plastex a valid LaTeX? Depending on the answer there is a bug in either plastex or mathtoweb. The moral of the story is that
Re: [O] Makefile restructuring
Achim Gratz strom...@nexgo.de writes: A more complete recipe for setting up a tracking branch to a remote branch in git (assuming you've already cloned orgmode.git locally and have a clean working directory): ...which doesn't really work since I did a few experiments in the clone and messed up the recipe by not checking the already existing configuration. So when you get the error message at step 4 you can salvage it with: $ git remote update $ git branch --set-upstream local-Makefile remote-tableheadings/Makefile $ git config branch.local-Makefile.rebase true In a fresh clone that does not have pre-existing definitions and configurations, this would be the right thing to do (and is a bit shorter): $ git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git $ git remote update $ git branch --track local-Makefile remote-tableheadings/Makefile $ git config branch.local-Makefile.rebase true $ git checkout local-Makefile I tested it on a completely fresh clone this time. :-) Sorry for the confusion Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Marius Hofert marius.hof...@math.ethz.ch wrote: see here: http://stackoverflow.com/questions/8036948/how-to-set-up-birthdays-with-org-contacts-error-bad-sexp On 2011-11-06, at 12:05 , Marius Hofert wrote: How can I set up anniversaries with org-contact? My agend.org file contains the following, as mentioned on the bottom of http://julien.danjou.info/org-contacts.html #+STARTUP: showeverything * Birthdays %%(org-contacts-anniversaries) My contacts.org file contains (e.g.): * My contact :my.tag: :PROPERTIES: :EMAIL: my.cont...@my.address.org :URL: :WORK: :HOME: :MOBILE: :LOCATION: :BIRTHDAY: 2000-01-01 :NOTE: :END: When I access agenda view via C-c a a, I obtain: Bad sexp at line 3 in /Users/myusername/org/agenda.org: (org-contacts-anniversaries) [7 times] Note that line three corresponds to %%(org-contacts-anniversaries) The org sexp handler issues this message whenever an error is signalled when trying to evaluate the sexp. In this case (as in most of these cases), the error is probably because org-contacts-anniversaries is not defined, for whatever reason. Try to eval (org-contacts-anniversaries) manually - what do you get? I get , | Debugger entered--Lisp error: (void-function org-contacts-anniversaries) | (org-contacts-anniversaries) | eval((org-contacts-anniversaries) nil) | eval-last-sexp-1(nil) | eval-last-sexp(nil) | call-interactively(eval-last-sexp nil nil) ` Then load org-contacts with (require 'org-contacts) or similar, and try the eval again. I get nil as a result, but more importantly, no error. Assuming that you get no error either, try the agenda again. Nick
Re: [O] bug in odt export via mathml of equations containing ''
Myles English mylesengl...@gmail.com writes: \begin{equation} \delta_{mn} = \begin{cases} 1 \text{if $n=m$}\\ 0 \text{if $n\nem$} \end{cases} \end{equation} , From ftp://ftp.ams.org/ams/doc/amsmath/short-math-guide.pdf | | Note. The plain TEX form \matrix{...\cr...\cr} and the related commands | \pmatrix, \cases should be avoided in LATEX (and when the amsmath | package is loaded they are disabled). ` Any idea what the above statement means? I have a strong feeling that you picked the above stuff out of curiosity and hit a road-block right away. Btw, what is your general opinion on usability of MathToWeb vis-a-vis ODT export. Do you think MathToWeb can be recommeded in org-odt texinfo manual and may be bundled with the org release tarballs. --
Re: [O] Makefile restructuring
Jambunathan K kjambunat...@gmail.com writes: If we reconcile what happens here with what is done in Makefile, may be we can uncover why certain macros in org-macs.el doesn't propagated to some set of files. If byte-compile-directory is available in all versions of Emacs, then I could certainly use it in the Makefile. Not sure if I can get to it before the weekend, but I will try it out soon-ish. Note that org-macs.el issue is increasingly reported only with emacs-23 and not with emacs-24. One of the reason could be that emacs-24 *already* has most of the macro definitions in the system path. This is not the case with emacs-23 installations which have (much?) older versions of org. I may be missing what the org-macs.el issue is, precisely. From what I understand package manager compiles files in alphabetical order. It means that org-macs.el gets compiled after org-agenda.el. With make (at least after make clean) it's exactly the same thing. What I don't understand is if package manager uses the already customized load-path or the bog-standard one, like make does via emacs -Q. Also when eval-when-compile is done of org-macs.el - somewhere it should be done right? - I don't know which of the org-macs.el gets loaded. Is it system-installed one or the one in the distribution tar. That would depend on which one it finds first, hence the question of what load-path looks like at that point. Regards, Achim. -- +[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
The org sexp handler issues this message whenever an error is signalled when trying to evaluate the sexp. In this case (as in most of these cases), the error is probably because org-contacts-anniversaries is not defined, for whatever reason. Try to eval (org-contacts-anniversaries) manually - what do you get? I get via M-x org-contacts-anniversaries? I get No match , | Debugger entered--Lisp error: (void-function org-contacts-anniversaries) | (org-contacts-anniversaries) | eval((org-contacts-anniversaries) nil) | eval-last-sexp-1(nil) | eval-last-sexp(nil) | call-interactively(eval-last-sexp nil nil) ` Then load org-contacts with (require 'org-contacts) Yes, I already had this in .emacs (and obtained No match) or similar, and try the eval again. I get nil as a result, but more importantly, no error. Assuming that you get no error either, try the agenda again. Nick I found out that the error happens due to either one of two reasons: 1) I have a :BIRTHDAY: tag which is 1970 or 2037 2) I have an empty :BIRTHDAY: tag Have you seen my link to stackoverflow above? I got help there and finally realized that it's linked to the problem discussed here (involving posts of you, too): http://thread.gmane.org/gmane.emacs.orgmode/39206 Is that solved? Will it be (automatically) solved if Emacs (for Mac) learns how to use the Mac's 64 bit architecture? Cheers, Marius
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Marius Hofert marius.hof...@math.ethz.ch wrote: The org sexp handler issues this message whenever an error is signalled when trying to evaluate the sexp. In this case (as in most of these cases), the error is probably because org-contacts-anniversaries is not defined, for whatever reason. Try to eval (org-contacts-anniversaries) manually - what do you get? I get via M-x org-contacts-anniversaries? I get No match No, via ESC ESC : (org-contacts-anniversaries) RET or similar. M-x foo requires that foo is a command (aka an interactive function): org-contacts-anniversaries is not. , | Debugger entered--Lisp error: (void-function org-contacts-anniversaries) | (org-contacts-anniversaries) | eval((org-contacts-anniversaries) nil) | eval-last-sexp-1(nil) | eval-last-sexp(nil) | call-interactively(eval-last-sexp nil nil) ` Then load org-contacts with (require 'org-contacts) Yes, I already had this in .emacs (and obtained No match) or similar, and try the eval again. I get nil as a result, but more importantly, no error. Assuming that you get no error either, try the agenda again. Nick I found out that the error happens due to either one of two reasons: 1) I have a :BIRTHDAY: tag which is 1970 or 2037 2) I have an empty :BIRTHDAY: tag Have you seen my link to stackoverflow above? I got help there and finally realized that it's linked to the problem discussed here (involving posts of you, too): http://thread.gmane.org/gmane.emacs.orgmode/39206 Glanced at it, but didn't go far enough to read about those problems. Is that solved? Will it be (automatically) solved if Emacs (for Mac) learns how to use the Mac's 64 bit architecture? Not sure. Nick Cheers, Marius
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Okay, ESC ESC : (org-contacts-anniversaries) gives: Debugger entered--Lisp error: (void-function diary-anniversary) diary-anniversary(10 25 1970) apply(diary-anniversary (10 25 1970)) (and anniv (apply (quote diary-anniversary) anniv)) (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec format (\` ((108 \, (org-with-point-at ... ...)) (104 \, (car contact)) (121 \, (- ... ...)) (89 \, (let ... ...) --cl-var--))) (while (consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let ((anniv (cdr (assoc-string (or field org-contacts-birthday-property) (caddr contact) (when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec format (\` ((108 \, ...) (104 \, ...) (121 \, ...) (89 \, ... --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (let* ((--cl-var-- (org-contacts-filter)) (contact nil) (anniv nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let ((anniv (cdr (assoc-string ... ... (when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec format (\` (... ... ... ...))) --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)) (catch (quote --cl-block-nil--) (let* ((--cl-var-- (org-contacts-filter)) (contact nil) (anniv nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let ((anniv (cdr ...))) (when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec format (\` ...)) --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))) (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((--cl-var-- (org-contacts-filter)) (contact nil) (anniv nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let ((anniv ...)) (when anniv (calendar-gregorian-from-absolute ... (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec format ...) --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var-- (block nil (let* ((--cl-var-- (org-contacts-filter)) (contact nil) (anniv nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let ((anniv (cdr ...))) (when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec format (\` ...)) --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))) (loop for contact in (org-contacts-filter) for anniv = (let ((anniv (cdr (assoc-string (or field org-contacts-birthday-property) (caddr contact) (when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv if (and anniv (apply (quote diary-anniversary) anniv)) collect (format-spec format (\` ((108 \, (org-with-point-at (cadr contact) (org-store-link nil))) (104 \, (car contact)) (121 \, (- (calendar-extract-year date) (calendar-extract-year anniv))) (89 \, (let ((years ...)) (format %d%s years (diary-ordinal-suffix years (let ((calendar-date-style (quote american)) (entry )) (unless format (setq format org-contacts-birthday-format)) (loop for contact in (org-contacts-filter) for anniv = (let ((anniv (cdr (assoc-string (or field org-contacts-birthday-property) (caddr contact) (when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv if (and anniv (apply (quote diary-anniversary) anniv)) collect (format-spec format (\` ((108 \, (org-with-point-at (cadr contact) (org-store-link nil))) (104 \, (car contact)) (121 \, (- (calendar-extract-year date) (calendar-extract-year anniv))) (89 \, (let (...) (format %d%s years ... org-contacts-anniversaries() eval((org-contacts-anniversaries) nil) eval-expression((org-contacts-anniversaries) nil) call-interactively(eval-expression nil nil)
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things.
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Thanks for the explanation. Is there also an equivalent solution by just adjusting .emacs? On 2011-11-08, at 23:33 , Jambunathan K wrote: Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things.
Re: [O] View inherited DEADLINEs in agenda
On 7 November 2011 16:29, Carsten Dominik carsten.domi...@gmail.com wrote: On Nov 7, 2011, at 1:19 PM, Giovanni Ridolfi wrote: Fabrizio Chiarello fabrizio.chiare...@ieee.org writes: I have many tasks with a DEADLINE, and I wish to have their subtasks to inherit such DEADLINE. To this aim, I set: (setq org-use-property-inheritance (quote (DEADLINE))) The problem is that the agenda only shows deadlines for the tasks that define them is DEADLINE a property that can be inherited? Deadlines can currently *not* be inherited. I would probably advice against implementing this because of performance issues that would result for the construction of the agenda. - Carsten Hi all, Here's a thought: what about a function which scans a subtree of an item that has a deadline and adds that same deadline to any descendants that lack a deadline? It seems to me that this would, via a one time user intervention, meet the OP's need, without the constant overhead about which Carsten is concerned. It further occurred to me that invoked without arguments, it would prompt the user for each item without deadline, with a prefix argument, apply all the deadlines automatically, and, with a numeric prefix n, automatically apply the alterations n-levels down. Best, Brian vdB
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Marius Hofert marius.hof...@math.ethz.ch wrote: Okay, ESC ESC : (org-contacts-anniversaries) gives: Debugger entered--Lisp error: (void-function diary-anniversary) So you need to load diary.el and associated stuff: (require 'diary) is probably enough.
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Marius Hofert marius.hof...@math.ethz.ch writes: Thanks for the explanation. Is there also an equivalent solution by just adjusting .emacs? C-h r g Init Examples Hint: search for load Helpful tip: Learn to use Emacs Info system well. On 2011-11-08, at 23:33 , Jambunathan K wrote: Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things. --
Re: [O] About commit named Allow multi-line properties to be specified in property blocks
Perhaps inserting an assumed space separator would be more intuitive? If we were to go that way it may be possible to allow variable specifications such as #+PROPERTY: var foo=1 bar=2 in which case properties could be easily specified on multiple lines using a default space separator. If this seems like a good way to go I can try to update my previous patch. I've updated the patch, the newest version is attached. It results in the following behavior. #+property: var foo=1 #+property: var+ bar=2 #+begin_src emacs-lisp (+ foo bar) #+end_src #+results: : 3 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1 bar=2 * overwriting a file-wide property :PROPERTIES: :var: foo=7 :END: #+begin_src emacs-lisp foo #+end_src #+results: : 7 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=7 * appending to a file-wide property :PROPERTIES: :var+: baz=3 :END: #+begin_src emacs-lisp (+ foo bar baz) #+end_src #+results: : 6 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1 bar=2 baz=3 From 2a4bc429a38470b71baabf73d160359f8f87c9de Mon Sep 17 00:00:00 2001 From: Eric Schulte schulte.e...@gmail.com Date: Mon, 7 Nov 2011 14:49:42 -0700 Subject: [PATCH] property names ending in plus accumulate This results in the following behavior. #+property: var foo=1 #+property: var+ bar=2 #+begin_src emacs-lisp (+ foo bar) #+end_src #+results: : 3 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1 bar=2 * overwriting a file-wide property :PROPERTIES: :var: foo=7 :END: #+begin_src emacs-lisp foo #+end_src #+results: : 7 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=7 * appending to a file-wide property :PROPERTIES: :var+: baz=3 :END: #+begin_src emacs-lisp (+ foo bar baz) #+end_src #+results: : 6 #+begin_src emacs-lisp (org-entry-get (point) var t) #+end_src #+results: : foo=1 bar=2 baz=3 * lisp/org.el (org-update-property-plist): Updates a given property list with a property name and a property value. (org-set-regexps-and-options): Use org-update-property-plist. (org-entry-get): Use org-update-property-plist. * testing/examples/property-inheritance.org: Example file for testing appending property behavior. * testing/lisp/test-property-inheritance.el: Tests of appending property behavior. * lisp/ob.el (org-babel-balanced-split): Allow splitting on single characters as well as groups of two characters. (org-babel-parse-multiple-vars): Split variables on single spaces. --- lisp/ob.el| 13 -- lisp/org.el | 47 +++--- testing/examples/property-inheritance.org | 36 + testing/lisp/test-property-inheritance.el | 61 + 4 files changed, 138 insertions(+), 19 deletions(-) create mode 100644 testing/examples/property-inheritance.org create mode 100644 testing/lisp/test-property-inheritance.el diff --git a/lisp/ob.el b/lisp/ob.el index d94b4b6..a1526bc 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1118,8 +1118,10 @@ instances of \[ \t]:\ set ALTS to '((32 9) . 58). (flet ((matches (ch spec) (or (and (numberp spec) (= spec ch)) (member ch spec))) (matched (ch last) - (and (matches ch (cdr alts)) - (matches last (car alts) + (if (consp alts) + (and (matches ch (cdr alts)) + (matches last (car alts))) + (matches ch alts (let ((balance 0) (partial nil) (lst nil) (last 0)) (mapc (lambda (ch) ; split on [] or () balanced instances of [ \t]: (setq balance (+ balance @@ -1128,7 +1130,10 @@ instances of \[ \t]:\ set ALTS to '((32 9) . 58). (t 0 (setq partial (cons ch partial)) (when (and (= balance 0) (matched ch last)) - (setq lst (cons (apply #'string (nreverse (cddr partial))) + (setq lst (cons (apply #'string (nreverse + (if (consp alts) + (cddr partial) + (cdr partial lst)) (setq partial nil)) (setq last ch)) @@ -1163,7 +1168,7 @@ shown below. (mapc (lambda (pair) (if (eq (car pair) :var) (mapcar (lambda (v) (push (cons :var (org-babel-trim v)) results)) - (org-babel-balanced-split (cdr pair) '(44 . (32 9 + (org-babel-balanced-split (cdr pair) 32)) (push pair results))) header-arguments) (nreverse results))) diff --git a/lisp/org.el b/lisp/org.el index 5c4ea33..d74e994 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -4438,6 +4438,15 @@ in the #+STARTUP line, the corresponding variable, and the value to set this variable to if the option is found. An optional forth element PUSH means to push this value onto the list in the variable.) +(defun org-update-property-plist (key val
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Marius Hofert marius.hof...@math.ethz.ch wrote: Thanks for the explanation. Is there also an equivalent solution by just adjusting .emacs? If you are going to use emacs extensively, you probably should read the emacs reference manual and maybe the emacs lisp introduction as well. M-x foo RET is entirely equivalent to evaluating (foo) which is a call to function foo. (foo) is the more general mechanism: it works for any lisp function, M-x foo works iff foo is a command (aka an interactive function). The form (foo) can be added to .emacs. load-library is a command that takes an argument: the name of the library to load. See its doc string for details. M-x load-library RET diary RET is entirely equivalent to evaluating (load-library diary) This calls the function load-library with the string argument diary. This form can be added to .emacs. Alternatively, you can use the require form that I posted: (require 'diary) Note that load-library takes a string as argument, whereas require takes a symbol. Nick On 2011-11-08, at 23:33 , Jambunathan K wrote: Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things.
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
On 2011-11-08, at 23:33 , Jambunathan K wrote: Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. I have: 1) diary-lib 2) diary-loaddefs I chose the first one. After that, I could define a :BIRTHDAY: with year 1970 and it correctly showed up in the agenda view! Seems to work! :-) Thanks a lot, Marius Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things.
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
On 2011-11-09, at 00:06 , Nick Dokos wrote: Marius Hofert marius.hof...@math.ethz.ch wrote: Thanks for the explanation. Is there also an equivalent solution by just adjusting .emacs? If you are going to use emacs extensively, you probably should read the emacs reference manual and maybe the emacs lisp introduction as well. M-x foo RET is entirely equivalent to evaluating (foo) which is a call to function foo. (foo) is the more general mechanism: it works for any lisp function, M-x foo works iff foo is a command (aka an interactive function). The form (foo) can be added to .emacs. load-library is a command that takes an argument: the name of the library to load. See its doc string for details. M-x load-library RET diary RET is entirely equivalent to evaluating (load-library diary) This calls the function load-library with the string argument diary. This form can be added to .emacs. Alternatively, you can use the require form that I posted: (require 'diary) I obtain (also for (load-library diary) ): File error: Cannot open load file, diary I assume I'm missing some diary.el (?). I'm wondering why diary is needed anyway? Julien does not specifically mention it: http://julien.danjou.info/org-contacts.html Cheers, Marius Note that load-library takes a string as argument, whereas require takes a symbol. Nick On 2011-11-08, at 23:33 , Jambunathan K wrote: Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things.
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Okay, I assume it's (require 'diary-lib) then. On 2011-11-09, at 00:13 , Marius Hofert wrote: On 2011-11-09, at 00:06 , Nick Dokos wrote: Marius Hofert marius.hof...@math.ethz.ch wrote: Thanks for the explanation. Is there also an equivalent solution by just adjusting .emacs? If you are going to use emacs extensively, you probably should read the emacs reference manual and maybe the emacs lisp introduction as well. M-x foo RET is entirely equivalent to evaluating (foo) which is a call to function foo. (foo) is the more general mechanism: it works for any lisp function, M-x foo works iff foo is a command (aka an interactive function). The form (foo) can be added to .emacs. load-library is a command that takes an argument: the name of the library to load. See its doc string for details. M-x load-library RET diary RET is entirely equivalent to evaluating (load-library diary) This calls the function load-library with the string argument diary. This form can be added to .emacs. Alternatively, you can use the require form that I posted: (require 'diary) I obtain (also for (load-library diary) ): File error: Cannot open load file, diary I assume I'm missing some diary.el (?). I'm wondering why diary is needed anyway? Julien does not specifically mention it: http://julien.danjou.info/org-contacts.html Cheers, Marius Note that load-library takes a string as argument, whereas require takes a symbol. Nick On 2011-11-08, at 23:33 , Jambunathan K wrote: Debugger entered--Lisp error: (void-function diary-anniversary) There is a universal solution to this problem M-x load-library RET diary TAB and choose which of the options make most sense or try each one of them in turn. Note that in the above load-library you are using diary because it is the prefix of function (or variable) which reported as void. The load-library call unvoids the void things. ETH Zurich Dr. Marius Hofert RiskLab, Department of Mathematics HG E 65.2 Rämistrasse 101 8092 Zurich Switzerland Phone +41 44 632 2423 marius.hof...@math.ethz.ch http://www.math.ethz.ch/~hofertj
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
Marius Hofert marius.hof...@math.ethz.ch wrote: (load-library diary) This calls the function load-library with the string argument diary. This form can be added to .emacs. Alternatively, you can use the require form that I posted: (require 'diary) I obtain (also for (load-library diary) ): File error: Cannot open load file, diary I assume I'm missing some diary.el (?). Nope, I'm wrong: diary-anniversary is in diary-lib, so the correct form is (load-library diary-lib) or (require 'diary-lib)
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
(load-library diary) This calls the function load-library with the string argument diary. This form can be added to .emacs. Alternatively, you can use the require form that I posted: (require 'diary) I obtain (also for (load-library diary) ): File error: Cannot open load file, diary I assume I'm missing some diary.el (?). Nope, I'm wrong: diary-anniversary is in diary-lib, so the correct form is (load-library diary-lib) or (require 'diary-lib) okay, that's also what I tried and it worked. However, I still see the Bad sexp... error when there is a BIRTHDAY tag *without* date, so just a line containing :BIRTHDAY: But that's of course not a big issue.
Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?
:BIRTHDAY: without any date is an invalid date for the sexp. org-contacts-anniversaries loops through all valid contacts (headlines with an :EMAIL: property) for any that contain the :BIRTHDAY: property (by default, this can be customized). When there is no date associated the value is nil. (calendar-gregorian-from-absolute (org-time-string-to-absolute anniv)) Where anniv is the date retrieved from :BIRTHDAY:. nil is not a valid date, so the expression fails, giving you a bad sexp. On Tue, Nov 8, 2011 at 6:25 PM, Marius Hofert marius.hof...@math.ethz.chwrote: (load-library diary) This calls the function load-library with the string argument diary. This form can be added to .emacs. Alternatively, you can use the require form that I posted: (require 'diary) I obtain (also for (load-library diary) ): File error: Cannot open load file, diary I assume I'm missing some diary.el (?). Nope, I'm wrong: diary-anniversary is in diary-lib, so the correct form is (load-library diary-lib) or (require 'diary-lib) okay, that's also what I tried and it worked. However, I still see the Bad sexp... error when there is a BIRTHDAY tag *without* date, so just a line containing :BIRTHDAY: But that's of course not a big issue.
[O] [babel bug]: cannot export examples which contain the word 'call'
Hi, with latest org, the header at the end of this mail cannot be exported due to this error: signal(error (reference '_' not found in this buffer)) error(reference '%s' not found in this buffer _) org-babel-ref-resolve(_()) org-babel-ref-parse(results=_()) #[(el) A:\203A\207\30A!\207 [el org-babel-ref-parse] 2]((:var . results=_())) mapcar(#[(el) A:\203 A\207\30A!\207 [el org-babel-ref-parse] 2] ((:var . results=_( org-babel-process-params(((:comments . ) (:shebang . ) (:cache . no) (:padline . ) (:noweb . no) (:tangle . no) (:exports . results) (:results . replace) (:var . results=_()) (:session . none) (:hlines . no) (:padnewline . yes))) It is due to the word „call“ which appears in the middle. If you avoid the word „call“, it exports. * a test #+BEGIN_EXAMPLE (Pdb) p fingerprint 'adi\xc3\xb3s' (Pdb) bt /tmp/testbzr-YrnJ8d.tmp/bzrlib.tests.workingtree_implementations.test_parents.TestSetParents.test_utf8_symlink(WorkingTreeFormat4)/work/bzr(130)module() - test(result) /usr/lib/python2.5/unittest.py(281)__call__() - return self.run(*args, **kwds) /Werkstatt/bzr/bug_24yt5/bzrlib/tests/__init__.py(1293)run() #+END_EXAMPLE Greetings, Daniel
[O] zotero plain, org-odt, and citations in general
Hi everyone, I am about to start experimenting with Erik Hetzner's zotero-plain, which allows the use of zotero as a bibliographic manager in emacs especially org-mode (https://bitbucket.org/egh/zotero-plain as well as a couple of threads on this list, I think). I'm wonderinghow other people have used it, and in particular whether there's any way to preserve the zotero markup across exports to odt especially. That is, I'd like to keep the original citations embedded in the final odt, so that I can continue to use zotero in an odt or doc file after it's been exported from org. This would take me very , very close to a complete org-centric workflow that still lets me produce documents for consumption by my MS-using colleagues. I really hope it's possible to do! If anyone has done it, I would really love to hear about it. Thanks, Matt
Re: [O] BUG: org-todo-yesterday logs wrong date
Geert Kloosterman g.j.klooster...@gmail.com writes: Hi all, On Wed, Oct 19, 2011 at 1:17 AM, Viktor Rosenfeld listuse...@googlemail.com wrote: org-todo-yesterday and org-agenda-todo-yesterday log a note using the current timestamp and not a timestamp of 23:59 of yesterday's date. I'm using Org-Mode 7.7 pulled today from the git repository. I'm experiencing the same problem with the org-mode version I pulled from git today. Switching back to the 7.7 tarball fixes the problem. Best regards, Geert Kloosterman Git bisect identifies the following commit as the source of this problem. 7d2d8f884b2e22e3056553ea68858fe4fc674427 is the first bad commit commit 7d2d8f884b2e22e3056553ea68858fe4fc674427 Author: John Wiegley jo...@newartisans.com Date: Sat Aug 13 03:21:49 2011 -0500 Add customization variable `org-use-effective-time' If non-nil, consider `org-extend-today-until' when creating timestamps. For example, if `org-extend-today-until' is 8, and it's 4am, then the effective time of any timestamps between midnight and 8am will be 23:59 of the previous day. :04 04 a33f65040163763ed06996b9ffc18bcfc5884457 0782571b08e0a128fa3b072b8b8edf177c001ca3 M lisp Regards, Bernt
Re: [O] [babel bug]: cannot export examples which contain the word 'call'
Hi, Thanks for reporting this issue, I've just pushed up a fix. Cheers -- Eric Daniel Clemente n142...@gmail.com writes: Hi, with latest org, the header at the end of this mail cannot be exported due to this error: signal(error (reference '_' not found in this buffer)) error(reference '%s' not found in this buffer _) org-babel-ref-resolve(_()) org-babel-ref-parse(results=_()) #[(el) A:\203A\207\30A!\207 [el org-babel-ref-parse] 2]((:var . results=_())) mapcar(#[(el) A:\203 A\207\30A!\207 [el org-babel-ref-parse] 2] ((:var . results=_( org-babel-process-params(((:comments . ) (:shebang . ) (:cache . no) (:padline . ) (:noweb . no) (:tangle . no) (:exports . results) (:results . replace) (:var . results=_()) (:session . none) (:hlines . no) (:padnewline . yes))) It is due to the word „call“ which appears in the middle. If you avoid the word „call“, it exports. * a test #+BEGIN_EXAMPLE (Pdb) p fingerprint 'adi\xc3\xb3s' (Pdb) bt /tmp/testbzr-YrnJ8d.tmp/bzrlib.tests.workingtree_implementations.test_parents.TestSetParents.test_utf8_symlink(WorkingTreeFormat4)/work/bzr(130)module() - test(result) /usr/lib/python2.5/unittest.py(281)__call__() - return self.run(*args, **kwds) /Werkstatt/bzr/bug_24yt5/bzrlib/tests/__init__.py(1293)run() #+END_EXAMPLE Greetings, Daniel -- Eric Schulte http://cs.unm.edu/~eschulte/
[O] [PATCH] Add the ability to archive to the datetree.
* org.el (org-archive-location): Add documentation on new datetree option. * org-archive.el (org-archive-subtree): Add special handling of datetree options to archive to datetree. --- lisp/org-archive.el | 21 + lisp/org.el |7 +++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/lisp/org-archive.el b/lisp/org-archive.el index 16c35cf..4df6f1e 100644 --- a/lisp/org-archive.el +++ b/lisp/org-archive.el @@ -213,13 +213,14 @@ this heading. (current-time))) category todo priority ltags itags atags ;; end of variables that will be used for saving context - location afile heading buffer level newfile-p infile-p visiting) + location afile heading buffer level newfile-p infile-p visiting + datetree-date) ;; Find the local archive location (setq location (org-get-local-archive-location) afile (org-extract-archive-file location) heading (org-extract-archive-heading location) - infile-p (equal file (abbreviate-file-name afile))) + infile-p (equal file (abbreviate-file-name (or afile (unless afile (error Invalid `org-archive-location')) @@ -230,6 +231,12 @@ this heading. (setq buffer (current-buffer))) (unless buffer (error Cannot access file \%s\ afile)) + (when (string-match \\`datetree/ heading) + ;; Replace with ***, to represent the 3 levels of headings the + ;; datetree has. + (setq heading (string-replace-match \\`datetree/ heading ***)) + (setq datetree-date (org-date-to-gregorian +(or (org-entry-get nil CLOSED t) time (if (and ( (length heading) 0) (string-match ^\\*+ heading)) (setq level (match-end 0)) @@ -262,6 +269,9 @@ this heading. (goto-char (point-max)) (insert (format \nArchived entries from file %s\n\n (buffer-file-name this-buffer + (when datetree-date + (org-datetree-find-date-create datetree-date) + (org-narrow-to-subtree)) ;; Force the TODO keywords of the original buffer (let ((org-todo-line-regexp tr-org-todo-line-regexp) (org-todo-keywords-1 tr-org-todo-keywords-1) @@ -285,7 +295,8 @@ this heading. ;; Heading not found, just insert it at the end (goto-char (point-max)) (or (bolp) (insert \n)) - (insert \n heading \n) + ;; datetrees don't need to much spacing + (if datetree-date (insert heading) (insert \n heading \n)) (end-of-line 0)) ;; Make the subtree visible (show-subtree) @@ -296,7 +307,8 @@ this heading. (org-end-of-subtree t)) (skip-chars-backward \t\r\n) (and (looking-at [ \t\r\n]*) -(replace-match \n\n))) +;; datetree archives don't need so much spacing. +(replace-match (if datetree-date \n \n\n ;; No specific heading, just go to end of file. (goto-char (point-max)) (insert \n)) ;; Paste @@ -326,6 +338,7 @@ this heading. (setq n (concat ARCHIVE_ (upcase (symbol-name e (org-entry-put (point) n v) + (widen) ;; Save and kill the buffer, if it is not the same buffer. (when (not (eq this-buffer buffer)) (save-buffer diff --git a/lisp/org.el b/lisp/org.el index 6ee3b4e..9c80c9c 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -4046,6 +4046,13 @@ Here are a few examples: Archive in file ./basement (relative path), as level 3 trees below the level 2 heading \** Finished Tasks\. +\~/org/datetree.org::datetree/* Finished Tasks\ +The \datetree/\ string is special, signifiying to +archive items to the datetree. Items are placed in +either the CLOSED date of the item, or the current date +if there is no CLOSED date. The heading will be a +subentry to the current date. + You may set this option on a per-file basis by adding to the buffer a line like -- 1.7.3.1
Re: [O] zotero plain, org-odt, and citations in general
Hi everyone, I am about to start experimenting with Erik Hetzner's zotero-plain, which allows the use of zotero as a bibliographic manager in emacs especially org-mode (https://bitbucket.org/egh/zotero-plain as well as a couple of threads on this list, I think). For Erik's benefit: === org-mode has a native ODT exporter implemented by org-odt.el. The documentation - org-odt.pdf - can be seen *attached* to this mailing list post: http://article.gmane.org/gmane.emacs.orgmode/48468 The following section - sec. no. 1.1.4 Applying Custom Styles - talks about where the ODT exporter picks the style from. Notes to self: == 1. styles.odt is here. - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/python Styles seem to have rststyle as a prefix. 2. example.odt is here. - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/example Contains a bibiliographic content presumably created by zrst2odt 3. zrst2odt is here. - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/python/bin 4. Elisp code is here. - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/elisp 1. org-zotero.el This permits insertion of zotero reference links *only* and opening them with a browser. Specifically I don't see the translator of these links to individual backends like latex, html or more importantly ODT. #+begin_src emacs-lisp (org-add-link-type TYPE optional FOLLOW EXPORT) #+end_src 2. zotero.el This (apparently) permits download of data from firefox and importing it within Emacs. I have an impression that I have is this: org-rst-odt I am not able to make up my mind quickly about whether there is support for translating org-style zotero links to rst-stlye whatever. Notes to Matt Price or other users of zotero + libreoffice == I see a post from you - titled zoteroOpenOfficeIntegration doesn't open port? - in the zotero forums a few hours ago. Here is a link to libreoffice related posts on zotero's forums. http://forums.zotero.org/search/?PostBackAction=SearchKeywords=libreofficeType=CommentsbtnSubmit=Search So I believe if you or someone could post a OpenOffice document - created through zotero - which uses zotero-style citation and references - to this mailing list or this very thread - these could be used as a primer to export zotero links to ODT. (Similarly for other Org supported backends). It would be wonderful if the example uses as many of the zotero fields - (as in database fields) - in as many usage contexts as possible. General comments 1. Zotero supports many citation stlyes. So Org/Zotero integration could choose one citation style that is widely agreeable for one-off colloboration needs. 2. I don't know if importing Zotero stylenames verbatim in to org-odt's style file would pollute it - thereby preventing org-odt from getting in to Emacs proper. I am not competent to judge what the copyright and license terms of the stylenames used by zotero plugin are. I am seeing that zotero itself is AGPL so I believe it is Free as in Free Software. 3. Even if zotero's ODT style cannot be used by the ODT exporter due (2), I can cook up Org's own stlyenames for various citation fields and allow the user to remap Org* stlyenames to say Zotero* stlynames. I see Org already has some(?) support for bibtex. Can anyone comment on bibtex vs zotero? They seem to serve same purpose - citation management. Can bibtex be used instead of zotero. I am not a researcher or academic. So I would need help from potential users for this to move forward. I'm wonderinghow other people have used it, and in particular whether there's any way to preserve the zotero markup across exports to odt especially. That is, I'd like to keep the original citations embedded in the final odt, so that I can continue to use zotero in an odt or doc file after it's been exported from org. This would take me very , very close to a complete org-centric workflow that still lets me produce documents for consumption by my MS-using colleagues. I really hope it's possible to do! If anyone has done it, I would really love to hear about it. Thanks, Matt --
Re: [O] bug in odt export via mathml of equations containing ''
The best alternative in LaTeX would be to use the \left\{ and \right. (note the dot) construct as below[fn:4]. Unfortunately MathToWeb fails miserably while MathJax succeeds with flying colors. #+srcname: exact-equivalent-of-cases #+begin_src latex \begin{equation*} \delta_{mn} = \left\{ \begin{smallmatrix} 1 \text{if } n=m \\ 0 \text{if } n\nem \end{smallmatrix} \right. \end{equation*} #+end_src [fn:4] For LaTeX, see the last example here: http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/Matrices.html Adding a link to StarMath equivalent which is: LHS = left lbrace insert-something-here right none See Adding a link to StarMath equivalent which is: http://user.services.openoffice.org/en/forum/viewtopic.php?f=12t=17568 --
Re: [O] zotero plain, org-odt, and citations in general
At Tue, 8 Nov 2011 21:06:37 -0500, Matt Price wrote: Hi everyone, I am about to start experimenting with Erik Hetzner's zotero-plain, which allows the use of zotero as a bibliographic manager in emacs especially org-mode (https://bitbucket.org/egh/zotero-plain as well as a couple of threads on this list, I think). I'm wonderinghow other people have used it, and in particular whether there's any way to preserve the zotero markup across exports to odt especially. That is, I'd like to keep the original citations embedded in the final odt, so that I can continue to use zotero in an odt or doc file after it's been exported from org. This would take me very , very close to a complete org-centric workflow that still lets me produce documents for consumption by my MS-using colleagues. I really hope it's possible to do! If anyone has done it, I would really love to hear about it. Hi Matt, org-mode support in Zotero plain has not received as much work recently as the docutils (reStructuredText) support. Basically all that one can do in org-mode at the moment is insert update citations, and following citation links to the entry in Zotero. zot4rst (docutils) support can transform rst documents into odt documents with citations generated by Zotero. [1] It might be possible to implement something similar in the org-mode Zotero, but I don’t know how, and it might be difficult. best, Erik 1. However, it should be noted that this support is different from that provided by the OpenOffice plugin, and one cannot edit a document generated from a rst file using the Zotero/OpenOffice plugin. Sent from my free software system http://fsf.org/.
Re: [O] zotero plain, org-odt, and citations in general
Basically all that one can do in org-mode at the moment is insert update citations, and following citation links to the entry in Zotero. Can you or someone provide me how such an Org file with citation definition and reference looks like? It might be possible to implement something similar in the org-mode Zotero, but I don’t know how, and it might be difficult. Do you know who the author of zotero.el? The file header in zotero.el has no author info. https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/elisp/zotero.el Assuming that prior work in zotero.el is reasonably complete and usable - in so far as retrieving all fields associated with a zotero reference - getting citation sections and references in ODT export shouldn't be a difficult issue. I am making these comments as the author of org-odt.el.
Re: [O] [OT] Scanning for archiving
On Mon, 7 Nov 2011 18:44:24 +0100, Karl Voit devn...@karl-voit.at wrote: Hi! Inspired by «Total Recall»[3], a book of two MS Research guys, I started life logging on my own two months ago. Dammit, that's been on my reading list for almost 2 years now, and *still* it isn't available in ebook format. One would think they'd walk their talk [1], no? [...] * Pieter Praet pie...@praet.org wrote: Using PDF for scanned documents results in *huge* files with a seriously disappointing image quality. I can not copy that at all: , | vk@gary ~2d % l 2011-11-02_13-22-45.png | -rw--- 1 vk vk 103150 2011-11-02 13:22 2011-11-02_13-22-45.png | vk@gary ~2d % convert 2011-11-02_13-22-45.png 2011-11-02_13-22-45.pdf | vk@gary ~2d % l 2011-11-02_13-22-45.pdf | -rw-r--r-- 1 vk vk 96457 2011-11-07 18:12 2011-11-02_13-22-45.pdf | vk@gary ~2d % ` In this example, the compression of PDF is much better than the original PNG one. PDF is only a container format. The conversion to PDF has indeed reduced the filesize, but not for the reasons you might think: If you don't explicitly provide ImageMagick's `convert' with a compression level (`-quality' option), it will use a default of 75%. Thus I (perhaps incorrectly) infer that you've just lost 25% of the image quality for a meager 7% reduction in filesize. I do admit that the whole quality vs. filesize statement I made regarding using PDF for scanned documents wasn't entirely correct: I cut some corners. The real issue is that most folks use their scanner software to save directly to PDF, and for some reason, scanner software (especially the proprietary variety) predominantly uses JPEG compression as default when saving to PDF. JPEG was developed for storing images with smooth transitions and a high bit depth (i.e. photographs), not hard transitions and a low bit depth (i.e. documents), so you're likely to suffer a noticeable degradation in text quality, even when using 1:1 JPEG compression. You're using PNG compression though, so the whole JPEG deal doesn't apply. So, that just leaves the neverending stream of PDF security issues :) Consider storing your scans in DjVu format [1], which was developed specifically for this purpose. PDF is a common standard whereas DjVu is something I - as an advanced computer user - never faced before in real life. I am not sure whether any of my computers can handle DjVu files at all. How about the Million Book Project / Universal Digital Library [2] ? Even though every computing device is most likely to support PDF, their collection is only available in TIFF and DjVu format. The list of participants and partners [3] (not to mention the magnitude and cost of their undertaking) is reason enough (for me, at least) to assume that DjVu is deemed to be rather future-proof. I'm guessing ISO standardization will be only a matter of time. The goals of DjVu sound great but I get everything with PDF too. Although I like the idea of OGG Vorbis, I re-ripped all my CDs using mp3 again because I could not use many music devices or music management software packages. Ahhh, VHS vs. Betamax, over and over again... Companies only succeed in getting everyone stuck with mediocre tools if we allow them to. You don't *need* all devices/software to support the superior format. Just get the ones that do (if there are any...), try to enlighten the people in you monkeysphere [4], and then let the free market do its work. Joe Average Consumer will eventually follow (unless pornography is at stake, apparently), and the industry will be right on his tail. I stick to the format *any* computer can handle without special software products. [...] Somehow this implies that *every* computer is infected with Adobe's malware. I find that rather disconcerting, to be honest :D [...] And I do think that I get a higher chance of being able to read my documents twenty years from now. For your sake, I hope you're right! For scanned images I'd prefer PNG instead but the OS X Software of my OfficeJet offers me the ability to generate PDF files where an OCR software adds a searchable text layer above the scanned text. This is *very* important to me since I am able to do full text search on the content of my archived documents. May be a bit less convenient in daily usage, but you could stick to your preference of keeping all your scans in PNG format by keeping the OCR output in a separate ASCII file: #+begin_src sh for i in $(ls ${HOME}/msg/paper/inbox/*.png) ; do tesseract ${i} ${i}.txt done #+end_src That way you can access your data even on text-only machines, and full-text search is only a `grep' away. And I plan to archive *all* of my documents. Really all of them. Then you'll probably be interested in Joey Hess' git-annex [5] to keep your archive versioned and in sync across all your devices. Storage space does not matter (any more) to me since I have more disk