[Orgmode] [PATCH 0/2] org-id: New org-id-method uuid
Replace customization value 'uuidgen by new customization value 'uuid and make it the default. With `org-id-method' set to 'uuid Org uses UUIDs for ID properties. The preferred way to obtain a UUID is calling the program defined in `org-id-uuid-program'. If the program is not available (i.e. the call to the program does not return a UUID) an elisp function is used to create a random (version 4) UUID. Docstrings and comments are modified accordingly. The old customization value 'uuidgen is silently accepted as an alias for 'uuid. David Maus (2): Provide function that returns a string with a random (version 4) UUID. Use new customization value for `org-id-method'. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] [PATCH 1/2] Provide function that returns a string with a random (version 4) UUID.
--- lisp/ChangeLog |5 + lisp/org-id.el | 24 2 files changed, 29 insertions(+), 0 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4fb3aac..fafe7db 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-05-16 David Maus dm...@ictsoc.de + + * org-id.el (org-id-uuid): New function. Return string with + random (version 4) UUID. + 2010-05-15 Carsten Dominik carsten.domi...@gmail.com * org-latex.el (org-export-latex-format-image): Add support diff --git a/lisp/org-id.el b/lisp/org-id.el index 0678161..6175eee 100644 --- a/lisp/org-id.el +++ b/lisp/org-id.el @@ -318,6 +318,30 @@ So a typical ID could look like \Org:4nd91V40HI\. (t (error Invalid `org-id-method'))) (concat prefix unique))) +(defun org-id-uuid () + Return string with random (version 4) UUID. + (let ((rnd (md5 (format %s%s%s%s%s%s%s + (random t) + (current-time) + (user-uid) + (emacs-pid) + (user-full-name) + user-mail-address + (recent-keys) +(format %s-%s-4%s-%s%s-%s + (substring rnd 0 8) + (substring rnd 8 12) + (substring rnd 13 16) + (format %x + (logior +#B1000 +(logand + #B1011 + (string-to-number + (substring rnd 16 18) 16 + (substring rnd 18 20) + (substring rnd 20 32 + (defun org-id-reverse-string (s) (mapconcat 'char-to-string (nreverse (string-to-list s)) )) -- 1.7.1 ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: [PATCH 0/2] org-id: New org-id-method uuid
Sorry, forgot: Patches are available in git://github.com/dmj/dmj-org-mode.git org-id-uuid HTH -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de pgp95la4NIttd.pgp Description: PGP signature ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] [PATCH 2/2] Use new customization value for `org-id-method'.
Silently accept the old value for backward compatibility. --- lisp/ChangeLog |3 +++ lisp/org-id.el | 28 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fafe7db..b143fbf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,9 @@ * org-id.el (org-id-uuid): New function. Return string with random (version 4) UUID. + (org-id-method): Make 'uuid the new default value. + (org-id-new): Use `org-id-uuid' if call to uuidgen program + does not return a UUID. 2010-05-15 Carsten Dominik carsten.domi...@gmail.com diff --git a/lisp/org-id.el b/lisp/org-id.el index 6175eee..66b1790 100644 --- a/lisp/org-id.el +++ b/lisp/org-id.el @@ -37,8 +37,9 @@ ;; time of the ID, with microsecond accuracy. This virtually ;; guarantees globally unique identifiers, even if several people are ;; creating IDs at the same time in files that will eventually be used -;; together. As an external method `uuidgen' is supported, if installed -;; on the system. +;; together. +;; +;; By default Org uses UUIDs as global unique identifiers. ;; ;; This file defines the following API: ;; @@ -84,18 +85,9 @@ :group 'org-id :type 'string) -(defcustom org-id-method - (condition-case nil - (if (string-match \\`[-0-9a-fA-F]\\{36\\}\\' - (org-trim (shell-command-to-string - org-id-uuid-program))) - 'uuidgen - 'org) -(error 'org)) +(defcustom org-id-method 'uuid The method that should be used to create new IDs. -If `uuidgen' is available on the system, it will be used as the default method. -if not, the method `org' is used. An ID will consist of the optional prefix specified in `org-id-prefix', and a unique part created by the method this variable specifies. @@ -105,11 +97,13 @@ orgOrg's own internal method, using an encoding of the current time to microsecond accuracy, and optionally the current domain of the computer. See the variable `org-id-include-domain'. -uuidgenCall the external command uuidgen. +uuid Create random (version 4) UUIDs. If the program defined in + `org-id-uuid-program' is available it is used to create the ID. + Otherwise an internal functions is used. :group 'org-id :type '(choice (const :tag Org's internal method org) - (const :tag external: uuidgen uuidgen))) + (const :tag external: uuidgen uuid))) (defcustom org-id-prefix nil The prefix for IDs. @@ -306,8 +300,10 @@ So a typical ID could look like \Org:4nd91V40HI\. unique) (if (equal prefix :) (setq prefix )) (cond - ((eq org-id-method 'uuidgen) - (setq unique (org-trim (shell-command-to-string org-id-uuid-program + ((memq org-id-method '(uuidgen uuid)) + (setq unique (org-trim (shell-command-to-string org-id-uuid-program))) + (unless (org-uuidgen-p unique) + (setq unique (org-id-uuid ((eq org-id-method 'org) (let* ((etime (org-id-reverse-string (org-id-time-to-b36))) (postfix (if org-id-include-domain -- 1.7.1 ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Bug involving *bold* text in second level headings
Ali Tofigh wrote: i'm using org version 6.36. writing *bold* text does not work in second level headings, which is very weird since it works in all other levels (i've tried up to 60 levels...). For example try the following: * text *bold* text ** text *bold* text *** text *bold* text I can confirm this even for 6.21b, shipped with GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.18.2) of 2009-11-02 on raven, modified by Debian The substring *bold* in a second level headline does not have to face bold (M-x describe-face RET). HTH -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de pgpZsGDBqUaVJ.pgp Description: PGP signature ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Agenda view Day separator
Hi Markus, Nick and Carsten, Markus Heller wrote: On 5/17/2010 2:02 PM, Nick Dokos wrote: Markus Hellerhelle...@gmail.com wrote: Just curious, how can I get the day of the week in there as a string? %a - abbreviated %A - full name Just for the sake of clarity and completeness, here's my current definition of the format string for displaying dates: --8---cut here---start-8--- (setq org-agenda-format-date (concat %Y-%m-%d %a (make-string (- (window-width) 15) (string-to-char _ --8---cut here---end---8--- Carsten, maybe this could be made the default value? I guess it would help people out there, when using the default config. Just a suggestion, I don't mind setting it myself in my .emacs. Best regards, Seb -- Sébastien Vauban ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Agenda view Day separator
Sébastien Vauban wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org writes: (setq org-agenda-format-date (concat %Y-%m-%d %a (make-string (- (window-width) 15) (string-to-char _ Carsten, maybe this could be made the default value? I guess it would help people out there, when using the default config. Just a suggestion, I don't mind setting it myself in my .emacs. [If that happens, please change (string-to-char _) to ?_ Elisp has read syntax for characters, so you're making an unnecessary function call.] Štěpán ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Mini HOWTO: Using jQuery and a Plugin to Build a Page Table of Contents in javascript.
Org's built in support for generating a table of contents is excellent. However, if you export your org files using the body only option (e.g. if using Jekyll), org doesn't produce a table of contents for you. There may also be times when the built in method doesn't quite do what you want. An alternative is to build your own TOC using javascript. Rather than try to hand craft your own implementation you can use jQuery and the plugin from http://fuelyourcoding.com/scripts/toc/ . There are a number of jQuery plugins available, but this one worked out of the box for me and the output is quite configurable. Setup. = you need to include the jQuery library and the plugin into your exported documents html header section. head script src=http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js; type=text/javascript/script script src=http://yourhost.com/scripts/jquery.tableofcontents.min.js; type=text/javascript charset=utf-8/script /head This uses Google's copy of jQuery and you need to adjust the path to the TOC plugin to suit its location on your server. You will need to include an empty container div in your document, where you want the TOC to appear. In your org file put the following: #+BEGIN_HTML script type=text/javascript charset=utf-8 $(document).ready(function(){ $(div#toc).tableOfContents(); }) /script #END_HTML If you are using Jekyll and want the TOC to appear on every page, you can include the script section in your template file. You will need to define some settings in your style sheet to control how the TOC div is displayed. The example below floats the TOC in a yellow bordered box to the right of the div containing your content. #toc { float: right; font-size: 10pt; width: 200px; padding: 10px 10px 10px 20px; background: #efffb1; border: solid 1px #ccd136; margin: 0 0 10px 15px; } The TOC plugin is highly configurable: script type=text/javascript charset=utf-8 $(document).ready(function(){ $(#toc).tableOfContents($('#main'), { startLevel: 2, depth, 3 } ); }); /script The above example would restrict headers included in the TOC to the main div in your document, starting at h2 and including headers at depth below the start level. Ian. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Bug involving *bold* text in second level headings
WOrks just fine for me. - Carsten On May 17, 2010, at 11:23 PM, Ali Tofigh wrote: i'm using org version 6.36. writing *bold* text does not work in second level headings, which is very weird since it works in all other levels (i've tried up to 60 levels...). For example try the following: * text *bold* text ** text *bold* text *** text *bold* text /ali ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] skip entry with inherited tags
Moin, I'm using a simple skip-function to exclude todos from a list. (defun my-skip-someday-and-scheduled () (org-agenda-skip-entry-if 'scheduled 'regexp :SOMEDAY:)) That works when the tag was assigned to an entry but not when it was inherited from a parent. How do I get all tags for an entry? Many thanks Matthias ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Bug involving *bold* text in second level headings
On Tue, May 18, 2010 at 2:53 AM, Ali Tofigh alix.tof...@gmail.com wrote: i'm using org version 6.36. writing *bold* text does not work in second level headings, which is very weird since it works in all other levels (i've tried up to 60 levels...). For example try the following: * text *bold* text ** text *bold* text *** text *bold* text I use Org-mode version 6.36trans (release_6.36.65.g2139) on GNU Emacs 23.2.1 I thought it works fine for me, until I realised that I have org-odd-levels-only set. /ali ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode -- Puneeth Chaganti ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Bug involving *bold* text in second level headings
Works here too, on dev emacs (24.0.50.3) with org 36trans release_6.36.58.g99afb. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Bug involving *bold* text in second level headings
...ah, that's to say, EXPORT works fine. If I look closely, I see the text isn't actually made bold on the screen. But I normally don't look that closely. (my org setup uses hidden initial stars, FWIW) On Tue, May 18, 2010 at 12:06 PM, Scot Becker scot.bec...@gmail.com wrote: Works here too, on dev emacs (24.0.50.3) with org 36trans release_6.36.58.g99afb. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Agenda view Day separator
Hi Štěpán, Štěpán Němec wrote: Sébastien Vauban writes: (setq org-agenda-format-date (concat %Y-%m-%d %a (make-string (- (window-width) 15) (string-to-char _ Carsten, maybe this could be made the default value? I guess it would help people out there, when using the default config. Just a suggestion, I don't mind setting it myself in my .emacs. [If that happens, please change (string-to-char _) to ?_ Elisp has read syntax for characters, so you're making an unnecessary function call.] Thanks for the tip. FMI, is that valid in XEmacs as well -- even if I'm not especially using it, I always try to be as most portable as possible. Best regards, Seb -- Sébastien Vauban ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] skip entry with inherited tags
Hi, On 18.05.2010 09:42, Matthias Teege wrote: Moin, I'm using a simple skip-function to exclude todos from a list. (defun my-skip-someday-and-scheduled () (org-agenda-skip-entry-if 'scheduled 'regexp :SOMEDAY:)) That works when the tag was assigned to an entry but not when it was inherited from a parent. How do I get all tags for an entry? I have been using the same approach with the same limitations. I stumbled upon the tags filter preset, which supposedly should filter out headlines with a specific tag set. I tried to set it to -maybe but it did not seem to have an effect with the default Agenda type. Is this supposed to work? Maybe this can help in your case: For custom Tags search agenda entries I directly inline all relevant tag queries like so: TODO=INBOX-maybe|TODO=WAIT-maybe+SCHEDULED=today|TODO=TICK-maybe+SCHEDULED=today Cheers, Martin ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Lazy project definitions
Matt Lundin m...@imapmail.org writes: Hi Bernt, Bernt Hansen be...@norang.ca writes: I've been beating my head against the wall for hours on this now. I tried the example from the manual and have similar results to the description below. Here's what I came up with as my skip function , | (defun bh/skip-non-stuck-projects () | Skip trees that are not projects | (let* ((subtree-end (save-excursion (org-end-of-subtree t))) | (is-project (save-excursion (re-search-forward ^\\*\\{3,\\} subtree-end t))) | (has-next (save-excursion (re-search-forward ^\\*\\** NEXT subtree-end t | (if (and is-project (not has-next)) |nil ; a stuck project, has subtasks but no next task | subtree-end))) ` and my custom agenda command is 'x' for testing , | (x Stuck Projects tags-todo LEVEL=2-REFILE/!-DONE-CANCELLED | ((org-agenda-skip-function | (bh/skip-non-stuck-projects) ` but this doesn't work at all like I expect. I lost a bunch of time when I had the 'stuck projects' selection instead of tags-todo -- it seems the skip function doesn't do anything useful with the stuck-projects setting. My returned list of tasks is still incorrect -- it contains level 2 tasks with no children. Sometimes it throws an error -- depending on what buffer is displayed and where (point) is when I run C-c a x. The custom command (and the skip function) works for me when written as follows: --8---cut here---start-8--- (setq org-agenda-custom-commands '((x Stuck Projects tags LEVEL=2-REFILE/-DONE-CANCELLED ((org-agenda-skip-function 'bh/skip-non-stuck-projects) --8---cut here---end---8--- I made a couple of changes: (a) I quoted the function name and (b) I changed tags-todo to tags and removed the exclamation point. Both tags-todo and the exclamation point limited the results to entries with active states, whereas (if I understand correctly) you are interested in all level 2 headings. When I tested the command/skip function on the following tree, only the first 2nd level entry (** Testing) showed up in the agenda. Is this the desired result? --8---cut here---start-8--- * Example ** Testing *** Nothing ** Testing two *** NEXT A todo ** Testing three --8---cut here---end---8--- Thanks for this Matt!! This seems to do exactly what I want. I had a bunch of misfires trying to set this up using the example from the manual but I didn't want 'todo' as the selection criteria since I can't match LEVEL=2 with that and I assumed that I could use any of the Choice: values in the custom agenda commands when using a skipping function. I'm off to play with this new setup. Regards, Bernt ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Exclude spaces and maybe tags from SUMMARY in iCalendar export
Hi all, I've just discovered the iCalendar export and use that to have a visually appealing read-only agenda in KOrganizer. Basically, the export seems perfect except for one thing. When I have an org entry like * Test :some:tags:here: the corresponding VEVENT will have the whole org heading including the spaces and the tag string as SUMMARY (unless the entry has a SUMMARY property). Having the tags there might be ok (although by default they are also set as CATEGORY), but the spaces between the heading title and the tags should be compacted. Appended is patch that does that when not `is-body'. Bye, Tassilo --- lisp/org-icalendar.el |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/org-icalendar.el b/lisp/org-icalendar.el index 9acd2f4..66da256 100644 --- a/lisp/org-icalendar.el +++ b/lisp/org-icalendar.el @@ -516,11 +516,12 @@ whitespace, newlines, drawers, and timestamps, and cut it down to MAXLENGTH characters. (if (not s) nil -(when is-body +(if is-body (let ((re (concat \\( org-drawer-regexp \\)[^\000]*?:END:.*\n?)) (re2 (concat ^[ \t]* org-keyword-time-regexp .*\n?))) (while (string-match re s) (setq s (replace-match t t s))) - (while (string-match re2 s) (setq s (replace-match t t s) + (while (string-match re2 s) (setq s (replace-match t t s + (setq s (replace-regexp-in-string [[:space:]]+ s))) (let ((start 0)) (while (string-match \\([,;]\\) s start) (setq start (+ (match-beginning 0) 2) -- 1.7.1 ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Refile target caching
On May 18, 2010, at 2:14 AM, Richard Riley wrote: Carsten Dominik domi...@uva.nl writes: Hi Sebastian, hi Samuel, I remember that both of you have in the past reported that refiling has a long startup time because of target collection. I have now built a cache for refile targets and would like you to try it out. (setq org-refile-use-cache t) This will speed up refile target collection for the second and further instance. If you are moving or adding entries that are targets themselves, that chace needs to be cleared with prefix arg 0 (zero), i.e. `C-0 C-c C- w' or, if you prefer, with a triple C-u prefix. Samuel, note that this only speeds up target collection - it does nothing to the overhead added by ido - so we will have to see how much this helps for your use-case. - Carsten On the subject of refile, I frequently refile C-c C-w from the new item buffer in which case the item is correctly refiled but the new item buffer empties and remains open. Is there a way to configure it that after the C-c C-w the new org item buffer closes? By new item buffer, do you mean a remember buffer? Then: Just exit with `C-1 C-c C-c'. This will use refile to file the new entry, and it will remove the buffer. HTH - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Agenda view Day separator
I think this is using the same formatting as strftime. So, 'man strftime' will show you all the options. The short day name is '%a', and the full day name is '%A'. Dave Markus Heller helle...@gmail.com writes: On 5/17/2010 4:23 AM, Sébastien Vauban wrote: Hi Eric and Carsten, Eric S Fraga wrote: On Thu, 13 May 2010 20:27:27 +0200, Carsten Dominikcarsten.domi...@gmail.com wrote: Take a look at the variable org-agenda-format-date. Or you can write your own function to do something fancier, maybe based on `org-agenda-format-date-aligned'. Thanks Carsten. This did the job. I modified your function to add a 120 long blank string at the end of the date [...] and I have a clear date separator! Underline would work as well, of course. Another version, I guess, from what you wrote. No length hard-coded, except for the 10 characters of the ISO date and 1 space after. --8---cut here---start-8--- (setq org-agenda-format-date (concat %Y-%m-%d (make-string (- (window-width) 11) (string-to-char _ --8---cut here---end---8--- The agenda view is much, much clearer now... That's a nice piece of lisp, thanks for sharing. Just curious, how can I get the day of the week in there as a string? Thanks Markus ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] org-html link building diff
Carsten Dominik carsten.domi...@gmail.com writes: On May 18, 2010, at 2:59 AM, Tom Breton (Tehom) wrote: Hi, Carsten. The new changes are pushed as tehom-html-export-refactor-build-link I couldn't undo the basing onto tehom-master, try though I might. Something to do with intermediate changes that I couldn't fast-forward and that I probably edited wrong. So I made a separate branch, tehom-html-export-refactor-build-link, which is now pushed to the repo. So tehom-master and html-export-refactor-build-link are already obsolete. I moved the tests into top-level directory testing, as you asked. I'm going to write a separate post describing the test conventions I use. Now a question: IIUC you want a branch that has no tests, that contains only the changes that would go into org. Since I develop tests and code at about the same time (tests slightly before code), I'm not sure how to arrange the branching in a maintainable way. Hi Tom, If we decide to use your emtests framework for Org on a brader basis, then there would be no reason to have a branch free of tests. This is only necessary because I am supposed to apply your patches, but without the testing framework at the moment. Maybe we should just go ahead and start using emtest for Org-mode. Why don't you go ahead and propose this in a mail to emacs-orgmode. Lets see if there is any resistance by people who understand more about testing than I do. If not, we go ahead and do it. We had that discussion here aleady, and the result is: we have no test framework to work with. Better just do it ;) Sebastian ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] org-toodledo : sycning org-mode and Toodledo
(sorry for the double post, I forgot to cc: the list) Carsten Dominik on Wed, 12 May 2010 15:17:37 +0200 wrote: On May 12, 2010, at 7:43 AM, Christopher Long wrote: I've forked an annotated version [of R Takaishi's org-toodledo ] with translations from the Japanese into English at github and have begun working my way through it: http://github.com/stophlong/repos Hi Christopher, this looks like a useful thing to do. Please consider to eventually make this a contributed package, and let me know if I can help. Just for information: Two days ago (May 16th, 2010 ) Sacha Chua published a blog post with her contribution to org-toodledo.el - Toodledo integration for Emacs Org mode http://sachachua.com/wp/2010/05/org-toodledo/ The code is available also on GitHub at http://github.com/sachac/org-toodledo Perhaps it is worth to look at it. Giovanni ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Vim folding/syntax highlighting?
Hi, sorry to answer so late, but I'm way behind my emails. There is http://www.vim.org/scripts/script.php?script_id=1266 , which emulates folding like outline-mode. I'll attach my locally modified version of it. I've added support for deeper outline structures, drawers, tags, SCHEDULED and DEADLINE. This is just work in progress. Just put file into ~/.vim/syntax and use :set ft=org or put the following line into ~/.vim/ftdetect/org.vim. au BufRead,BufNewFile *.org set filetype=org Additionally, I have a file ~/vim/ftplugin/org.vim which contains: map Tab za autocmd! BufRead,BufNewFile *.org set filetype=org This, allows to use tab to open and close folds as in org-mode. Best regards, Jean On 29.04.2010, at 23:00, Bastien wrote: Nathan Neff nathan.n...@gmail.com writes: I'll probably write a syntax file and a folding method if nobody knows of any existing ones. That would be really great! -- Bastien ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode org.vim Description: Binary data ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Agenda view Day separator
Sébastien Vauban wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org writes: [If that happens, please change (string-to-char _) to ?_ Elisp has read syntax for characters, so you're making an unnecessary function call.] Thanks for the tip. FMI, is that valid in XEmacs as well -- even if I'm not especially using it, I always try to be as most portable as possible. Yes, that is the proper way to write it in XEmacs as well. Štěpán Best regards, Seb ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Exclude spaces and maybe tags from SUMMARY in iCalendar export
Applied, thanks. - Carsten On May 18, 2010, at 1:43 PM, Tassilo Horn wrote: Hi all, I've just discovered the iCalendar export and use that to have a visually appealing read-only agenda in KOrganizer. Basically, the export seems perfect except for one thing. When I have an org entry like * Test :some:tags:here: the corresponding VEVENT will have the whole org heading including the spaces and the tag string as SUMMARY (unless the entry has a SUMMARY property). Having the tags there might be ok (although by default they are also set as CATEGORY), but the spaces between the heading title and the tags should be compacted. Appended is patch that does that when not `is-body'. Bye, Tassilo --- lisp/org-icalendar.el |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/org-icalendar.el b/lisp/org-icalendar.el index 9acd2f4..66da256 100644 --- a/lisp/org-icalendar.el +++ b/lisp/org-icalendar.el @@ -516,11 +516,12 @@ whitespace, newlines, drawers, and timestamps, and cut it down to MAXLENGTH characters. (if (not s) nil -(when is-body +(if is-body (let ((re (concat \\( org-drawer-regexp \\)[^\000]*?:END:.* \n?)) (re2 (concat ^[ \t]* org-keyword-time-regexp .*\n?))) (while (string-match re s) (setq s (replace-match t t s))) - (while (string-match re2 s) (setq s (replace-match t t s) + (while (string-match re2 s) (setq s (replace-match t t s + (setq s (replace-regexp-in-string [[:space:]]+ s))) (let ((start 0)) (while (string-match \\([,;]\\) s start) (setq start (+ (match-beginning 0) 2) -- 1.7.1 ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Agenda view Face for deadlines
Hi all, But it's not yet as right as it should be (let me rephrase: as I would like it) because the face is only applied on the visible characters: the separator does not expand up to the right of the screen. An improved version (re readability) of the agenda view would be: Week-agenda (W19-W20): Saturday 15 May 2010 x Personal: 18:00-19:00 Mar :home::errands: [...] where `xxx' is just some textual way to represent background color. In the same kind of thought, trying to enhance the way we (or I) visualize tasks in the agenda, I have chosen some sort of inverse video face for deadlines. --8---cut here---start-8--- (my-org-deadline-yesterday ((t (:foreground white :background #D8 :weight bold (my-org-deadline-today ((t (:foreground white :background #E9A36A :weight bold (my-org-deadline-tomorrow ((t (:foreground black :background #B4F1B3 :weight bold (my-org-deadline-later ((t (:foreground black :background #AACAFC --8---cut here---end---8--- with the following code in my .emacs file: --8---cut here---start-8--- ;; faces for showing deadlines in the agenda (setq org-agenda-deadline-faces '((1.01 . my-org-deadline-yesterday) (0.99 . my-org-deadline-today) (0.49 . my-org-deadline-tomorrow) (0.00 . my-org-deadline-later))) --8---cut here---end---8--- The result is the following: --8---cut here---start-8--- Week-agenda (W20-W21): 2010-05-18 Tue _ Personal: 17:15-17:20 Sarah! :home::errands: refile: Sched. 2x: TODO [#A] Update reservations Scorpios :refile:: x Family: xxx In -1 d.: TODO [#A] Photos-reportage Andre :home::computer: --8---cut here---end---8--- where `xxx' is just some textual way to represent background color. For the sake of clarity, I'd like the first 2 characters (in front of `Family', in my example) not to be impacted by that face. Otherwise, when in inverse video, they obfuscate the view of the day separators and of the deadline lines. Is there a way to do so? FYI, my ultimate question of the agenda view is: is it easy to make [#A], [#B] and [#C] priorities have their own faces, so that we can highlight them the way we want? Best regards, Seb -- Sébastien Vauban ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Displaying day-resources (or a secondary time-line)
On May 18, 2010, at 1:01 AM, Sven Bretfeld wrote: Hi Carsten and all others Carsten Dominik carsten.domi...@gmail.com writes: You can also use diary sexp entries to also do the others, by checking for weekdays. See the examples in the FAQ http://orgmode.org/worg/org-faq.php#diary-sexp-in-org-files For example (untested) ** Secretary present 8:00-12:00 %%(and (member (calendar-day-of-week date) '(1 3))) As for sorting, I guess the easiest would be use a special tag and then a custom sorting strategy function in org-agenda-cmp-user- defined to sort these to the end of the agenda display. Thanks for all your suggestions. I didn't know about the power of diary-sexps. Thanks to Memnon, I have also learned about the org-agenda-skip-function which I now have used to construct a solution that works fine for me: (setq org-agenda-custom-commands '((q Agenda and Metadata ((agenda ((org-agenda-skip-function '(org-agenda-skip-subtree-if 'regexp :META: (agenda ((org-agenda-skip-function '(org-agenda-skip-subtree-if 'notregexp :META:))(org-agenda-overriding-header Today's resources (metadata): ))) (tags MIT) (tags BIGROCK) I would prefer to have this Agenda View bound to the standard C-aa. Do you mean `C-c a a' ? Is that possible? Setting a via org-agenda-custom-commands results in an error at starttime. This keybinding seems to be hard-coded. They are hard-coded, but you can in fact overrule them with custom commands. Many people do this, so that definitely works. - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Question: org-remember and level1 target headline
Hi, On 15.05.2010 08:42, Carsten Dominik wrote: On May 14, 2010, at 5:42 AM, Samuel Wales wrote: On 2010-05-13, Martin Pohlackm...@os.inf.tu-dresden.de wrote: Is there interest to define remember targets via paths or via ID? ID would be useful, I think. ID certainly - path could be useful to avoid ambiguities. Please find attached a first version of a patch adding support for IDs as remember targets. Feedback welcome. Cheers, Martin This patch adds support for specifying the ID of a target headline. Open issues: * Using a cons cell seems a bit ugly. A string would be fine too but this is already used by the headline itself in the choice element. * The visual appearance of the ID choice is suboptimal. Is there any way to hide the const visually? * The comments in the remember buffer seems to be setup wrong, where must I hook in to support IDs there? diff --git a/home/mpohlack/src/org-mode/lisp/org-remember.el b/org-remember.el index 59e015f..a0dbac4 100644 --- a/home/mpohlack/src/org-mode/lisp/org-remember.el +++ b/org-remember.el @@ -108,7 +108,8 @@ An optional fifth element can specify the headline in that file that should be offered first when the user is asked to file the entry. The default headline is given in the variable `org-remember-default-headline'. When this element is `top' or `bottom', the note will be placed as a level-1 -entry at the beginning or end of the file, respectively. +entry at the beginning or end of the file, respectively. You can also specify +the `ID' of a target headline. An optional sixth element specifies the contexts in which the template will be offered to the user. This element can be a list of major modes @@ -195,7 +196,8 @@ calendar | %:type %:date (const :tag Use `org-remember-default-headline' nil) (const :tag At beginning of file top) (const :tag At end of file bottom) - (const :tag In a date tree date-tree)) + (const :tag In a date tree date-tree) + (cons :tag ID (const :tag ID) (string :tag ID))) (choice :tag Context (const :tag Use in all contexts nil) (const :tag Use in all contexts t) @@ -974,6 +976,10 @@ See also the variable `org-reverse-note-order'. (org-datetree-find-date-create reference-date) (setq reversed nil) (setq org-goto-start-pos (point))) + ((consp heading) + (setq org-goto-start-pos (org-find-entry-with-id (cdr heading))) +(when (not org-goto-start-pos) + (error Target headline with ID '%s' not found (cdr heading ((and (stringp heading) (string-match \\S- heading)) (goto-char (point-min)) (if (re-search-forward ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: skip entry with inherited tags
Martin Pohlack m...@os.inf.tu-dresden.de writes: Hi, On 18.05.2010 09:42, Matthias Teege wrote: Moin, I'm using a simple skip-function to exclude todos from a list. (defun my-skip-someday-and-scheduled () (org-agenda-skip-entry-if 'scheduled 'regexp :SOMEDAY:)) That works when the tag was assigned to an entry but not when it was inherited from a parent. How do I get all tags for an entry? I have been using the same approach with the same limitations. I stumbled upon the tags filter preset, which supposedly should filter out headlines with a specific tag set. I tried to set it to -maybe but it did not seem to have an effect with the default Agenda type. Is this supposed to work? Did you set the variable as a list? --8---cut here---start-8--- (setq org-agenda-custom-commands '((x No maybe todo ((org-agenda-filter-preset '(-maybe)) --8---cut here---end---8--- BTW, I believe one solution to the original question is: --8---cut here---start-8--- (setq org-agenda-custom-commands '((x No scheduled or someday todo ((org-agenda-todo-ignore-scheduled t) (org-agenda-filter-preset '(-SOMEDAY)) --8---cut here---end---8--- Best, Matt ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] doc about Link abbreviations
Hi Carsten In the doc about Link abbreviations the limitation for the first linkword char is missing which I stumbled upon when I used #+LINK. I suggest to sync the doc more with the docstring of the variable org-link-abbrev-alist like this: --- a/doc/org.texi +++ b/doc/org.texi @@ -3088,8 +3088,9 @@ abbreviated link looks like this @noindent @vindex org-link-abbrev-alist -where the tag is optional. The @i{linkword} must be a word; letter, numbers, -...@samp{-}, and @samp{_} are allowed here. Abbreviations are resolved +where the tag is optional. +The @i{linkword} must be a word, starting with a letter, followed by +letters, numbers, @samp{-}, and @samp{_}. Abbreviations are resolved according to the information in the variable @code{org-link-abbrev-alist} that relates the linkwords to replacement text. Here is an example: Michael ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Bug: mapcar: Wrong type argument: listp, 100 when refiling [6.36trans (release_6.36.74.gabe03)]
Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. I've not refiled for a long time. Today, I wanted to refile an entry, but as soon as I type `C-c C-w' on it, I get the following error: --8---cut here---start-8--- Debugger entered--Lisp error: (wrong-type-argument listp 100) #[(x) .\304\235\204.. \...@\232\204..\n@.\305\306...@!\307\260.\nab\207\n@.P\nAB\207 [org-refile-use-outline-path filename x extra (file full-file-path) ( file-name-nondirectory )] 5](100) mapcar(#[(x) .\304\235\204.. \...@\232\204..\n@.\305\306...@!\307\260.\nab\207\n@.P\nAB\207 [org-refile-use-outline-path filename x extra (file full-file-path) ( file-name-nondirectory )] 5] (100 101 114 97 101 108 99 32 110 101 101 98 32 115 97 104 32 101 104 99 97 99 32 101 108 105 102 101 82 100 101 114 97 101 108 99 32 110 101 101 98 32 115 97 104 32 101 104 99 97 ...)) org-refile-get-location(Refile to: nil confirm) org-refile(nil) call-interactively(org-refile nil nil) --8---cut here---end---8--- The reason is that `org-refile-target-table' is a list of numbers, but org seems to expect a list of lists... Emacs : GNU Emacs 24.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 2.18.9) of 2010-05-18 on thinkpad Package: Org-mode version 6.36trans (release_6.36.74.gabe03) current state: == (setq org-log-done 'time org-remember-default-headline 'bottom org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) org-link-frame-setup '((vm . vm-visit-folder) (gnus . org-gnus-no-new-news) (file . find-file-other-window)) org-special-ctrl-a/e 'reversed org-agenda-files '(/home/horn/repos/org) org-agenda-include-diary t org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent) org-gnus-prefer-web-links t org-fontify-whole-heading-line t org-after-todo-state-change-hook '(org-clock-out-if-current) org-attach-directory /home/horn/repos/org/attachments org-special-ctrl-k t org-agenda-time-leading-zero t org-agenda-restore-windows-after-quit t org-export-latex-format-toc-function 'org-export-latex-format-toc-default org-export-preprocess-hook '(org-export-blocks-preprocess) org-tab-first-hook '(org-hide-block-toggle-maybe) org-src-mode-hook '(org-src-mode-configure-edit-buffer) org-finalize-agenda-hook '(th-org-agenda-to-appt) org-confirm-shell-link-function 'yes-or-no-p org-export-first-hook '(org-beamer-initialize-open-trackers) org-todo-keywords '((sequence TODO(t) STARTED(s) IDEA(i) | DONE(d) CANCELLED(c)) ) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-default-notes-file /home/horn/repos/org/remember.org org-directory /home/horn/repos/org org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers) org-mode-hook '(th-org-mode-init #[nil \300\301\302\303\304$\207 [org-add-hook change-major-mode-hook org-show-block-all append local] 5] ) org-refile-targets '((org-agenda-files :maxlevel . 5)) org-complete-tags-always-offer-all-agenda-tags t org-return-follows-link t org-confirm-elisp-link-function 'yes-or-no-p org-refile-use-outline-path 'file org-log-into-drawer LOGBOOK org-icalendar-categories '(all-tags category) org-agenda-mode-hook '(th-org-agenda-mode-init) org-enforce-todo-dependencies t org-refile-allow-creating-parent-nodes 'confirm org-occur-hook '(org-first-headline-recenter) org-icalendar-include-body t org-agenda-skip-additional-timestamps-same-entry nil org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code) org-modules '(org-attach org-protocol org-id org-bbdb org-bibtex org-docview org-gnus org-info org-jsinfo org-irc org-w3m) org-columns-default-format %50ITEM %TODO %ALLTAGS %SCHEDULED %DEADLINE outline-minor-mode-hook '(th-outline-minor-mode-init) org-remember-templates '((NORMAL 110 * %?\n :PROPERTIES:\n :created: %U\n :link: %a\n :END:\n %i) (TODO 116 * TODO %?\n :PROPERTIES:\n :created: %U\n :link: %a\n :END:\n %i) (IDEA 105 * IDEA %?\n :PROPERTIES:\n :created: %U\n :link: %a\n :END:\n %i) (BROWSER 119 * %:description :browser:\n :PROPERTIES:\n
Re: [Orgmode] Re: Let's TALK about it
Andrea Crotti andrea.crott...@gmail.com writes: Eric Schulte schulte.e...@gmail.com writes: So, I hope it goes well, and I'd second Tom's point that if you do end up working Org-mode/babel into your talk we'd love to see a video and/or hear how it was received. Ok finally I did the talk... That's great Unfortunately it had to be in italian and I have no video yet, BUT I've set up an emacs configuration with org-mode for the talk which now I've extended quite a lot http://github.com/AndreaCrotti/Emacs-configuration you might be interested to give it a look. I want to do something very generic that everyone can use, setting its own private variables somewhere else (for example in custom.el). One option for placing personal configuration into public config files is to use org-babel and to place the personal variables *outside* of emacs-lisp code blocks in tables or external lists. For example with recent versions of org-babel the following --8---cut here---start-8--- #+tblname: configuration-variables | parameter | value | |-+| | script-path | ~/.emacs.d/scripts | #+begin_src emacs-lisp :var config=configuration-variables[2,1] (message script dir is %s config) #+end_src --8---cut here---end---8--- will tangle to --8---cut here---start-8--- (let ((config (quote ~/.emacs.d/scripts))) (message script dir is %s config) ) --8---cut here---end---8--- Cheers -- Eric The slides I've used are in the file slides.org, they're not many because the talk had to be mainly interactive, but I've finally really appreciated the org-beamer stuff, great job really! Thanks for the help ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode