Re: [O] [Test] several of my recent emails have not arrived on the list
Matt Lundin m...@imapmail.org writes: Several of my recent posts have not shown up in the archives or on gmane. I'd like to see if this email gets through. OK. Sorry for the noise. It seems there was a significant delay, but all is working now. Matt
[O] Looking for other `org-babel-tangle-jump-to-org' and `org-babel-detangle' users
Good afternoon, I'm looking for other `org-babel-tangle-jump-to-org' and `org-babel-detangle' users. I want to invest in this and don't want to do it alone. Please let me know if you are also interested in this. Sincerely, Grant Rettke -- g...@wisdomandwonder.com | http://www.wisdomandwonder.com/ “Wisdom begins in wonder.” --Socrates “All creativity is an extended form of a joke.” --Kay ((λ (x) (x x)) (λ (x) (x x))) “Life has become immeasurably better since I have been forced to stop taking it seriously.” --Thompson
Re: [O] org-habit and Org 8.3
Hello, John Wiegley jo...@newartisans.com writes: Josiah Schwab jsch...@gmail.com writes: Upon upgrading, my org-habits did not display correctly, because the PROPERTY drawer where the habit style was indicated came after the LOGBOOK in my org files. Is there a reason why this was done? Efficiency. Searching through large sections only to find there is no property drawer in it has a cost. Now, properties are accessed in constant time. Regards, -- Nicolas Goaziou
Re: [O] Bug: Org-indent does not align headings with text when using non-monospaced fonts [8.3.1 (8.3.1-16-gf6aa53-elpa @ /Users/cube/.emacs.d/elpa/org-20150810/)]
Hello Nicolas, --- Nicolas Goaziou m...@nicolasgoaziou.fr, 2015-08-20 13:56 Hello, Jakub Szypulka ja...@szypulka.de writes: Reproduction of bug: Open an org-file in org-mode with auto-indent turned on while using a non-monospaced font. Expected result: The headings align with the text contents. Actual result: The headings do not align with the text contents. This has been originally filed two years ago: http://article.gmane.org/gmane.emacs.orgmode/64775/match=indent+misalign There is a proposed fix: replace the blankspace used to indent a line, defined in org-indent.el, with a star ('*'). Source: http://emacs.stackexchange.com/questions/7429/how-to-customize-org-mode-indentation This link also includes screenshots that illustrate the problem. Thank you for reporting it. Unfortunately, the proposed fix isn't sufficient as alignment is still broken in plain lists, with `visual-line-mode'. Does the attached patch work for you? Yes it does, I'm impressed! Thanks a lot for the quick fix! I understand those changed will be included by default in the next org versions? Cheers, Jakub Regards,
Re: [O] Valid use cases for lists?
Can anyone give me an example of when it's a good idea to use lists rather than headlines? Headlines often are too heavy for my taste. My reading notes as well as my notes for writing usually do not have a title. (You might think it good practice to come up with a title, but my experiments tell me otherwise.) Headlines are too noisy, both on screen and when exporting. when you use them, and then try to use pretty much any other Org feature on them (marking them as a TODO item, tagging, etc.) it doesn't work because lists aren't meant to be used that way. True, but there are ways around that: - Instead of tagging, write the keywords after the item (use custom links or hooks to supress exporting) - Use visual-line-mode and search with multi occur. - use =#+TODO:= instead of todo keywords (and use multi occur). - To uniquely id items, add timestamps (and use multi occur). - Write a function to refile items (my hack is a bit idiosyncratic so I don't share it here, but it should be pretty straighforward using =(org-refile t)= to get the location). -- Florian Beck
Re: [O] org-agenda-insert-diary-make-new-entry adds entry as first child?
Here’s a patch that I hope I managed to compile correctly via git-send-email.
Re: [O] beamer_env tag issue with empty headlines
Nicolas Goaziou m...@nicolasgoaziou.fr writes: This is an ambiguous headline. Indeed, it's impossible to tell if it is an empty headline with tags or a headline without tags whose title is :B_block:BMCOL:. I think the last option is better as the first one prevents any headline's title from being enclosed within colons. This is restrictive. In any case, there are workarounds available for what you have to do. I've been using filters to fix this, is there any other trick that works for all exporters? On the other hand, I wish there would be a variable org-no-headlines-between-colons, to solve these sort of ambiguities. Regards, Rafael
Re: [O] Stable releases
Hi Rasmus, Rasmus ras...@gmx.us writes: One data point: I can absolutely not be bothered using anything that is not at least in contrib. Just out of curiosity: don't you use the Emacs package system at all? I used not to use it, but thanks to recent improvements, I find it quite good now -- and I would not mind using Org packages from there. -- Bastien
Re: [O] Stable releases
Bastien b...@gnu.org writes: Hi Rasmus, Rasmus ras...@gmx.us writes: One data point: I can absolutely not be bothered using anything that is not at least in contrib. Just out of curiosity: don't you use the Emacs package system at all? I used not to use it, but thanks to recent improvements, I find it quite good now -- and I would not mind using Org packages from there. The package system appears to be quite popular in the Org mode world. There are a dozen ob-* languages distributed by the package system vs. eight in contrib. There are fifteen ox-* exporters available through the package system vs. eleven in contrib. Download statistics from Melpa indicate several of the packages are quite popular. ox-reveal has been downloaded more than 4,000 times, and ox-pandoc and ox-gfm (Github flavored markup) more than 1,000 times. The babel languages are less popular, but ob-browser (for html), ob-ipython, ob-mongo, and ob-sml have all been downloaded more than 300 times. Melpa has 91 org-* packages. The packages evil-org, org-bullets, and org-fstree have all been downloaded more than 10,000 times. There are ten others with more than 1,000 downloads. All the best, Tom -- Thomas S. Dye http://www.tsdye.com
Re: [O] nested macro expansion?
Nicolas Goaziou m...@nicolasgoaziou.fr writes: Hello Eric Abrahamsen e...@ericabrahamsen.net writes: After googling for a while, I also thought this might work: #+MACRO: bubba (eval (format-time-string %Y property{{{TIMESTAMP}}})) {{{bubba}}} But the nested definition isn't expanded, either with or without quotes. As you noticed, you cannot nest macros. You can use macros within macro definitions, tho. Alas, it will not work with (eval ...) templates, since those make no assumptions about the rest of the template and simply use `read' on it. Anyway, as pointed out in this thread, if you take the (eval ...) path, you don't really need macros: you're in Elisp. Thanks to both of you for the pointers! This is my first time trying to do anything non-trivial with macros, and the orientation is very useful. Eric
Re: [O] Bug: Org-indent does not align headings with text when using non-monospaced fonts [8.3.1 (8.3.1-16-gf6aa53-elpa @ /Users/cube/.emacs.d/elpa/org-20150810/)]
Hello, Jakub Szypulka ja...@szypulka.de writes: Reproduction of bug: Open an org-file in org-mode with auto-indent turned on while using a non-monospaced font. Expected result: The headings align with the text contents. Actual result: The headings do not align with the text contents. This has been originally filed two years ago: http://article.gmane.org/gmane.emacs.orgmode/64775/match=indent+misalign There is a proposed fix: replace the blankspace used to indent a line, defined in org-indent.el, with a star ('*'). Source: http://emacs.stackexchange.com/questions/7429/how-to-customize-org-mode-indentation This link also includes screenshots that illustrate the problem. Thank you for reporting it. Unfortunately, the proposed fix isn't sufficient as alignment is still broken in plain lists, with `visual-line-mode'. Does the attached patch work for you? Regards, -- Nicolas Goaziou From 95bfd6529664994554b60cbc22d2e26bb3158a23 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou m...@nicolasgoaziou.fr Date: Thu, 20 Aug 2015 13:44:36 +0200 Subject: [PATCH] org-indent: Fix indentation with proportional font * lisp/org-indent.el (org-indent-max): (org-indent-max-levels): (org-indent-strings): (org-indent-stars): Remove unused variables. (org-indent-initialize): Remove function. (org-indent-boundary-char): Remove unnecessary comment. Do not rely on function above. (org-indent): Make sure characters used for virtual indentation are invisible since they are not necessarily white spaces. (org-indent-set-line-properties): Fix indentation with proportional font, i.e., do not use only white spaces to indent. (org-indent-add-properties): Apply changes above. Reported-by: Jakub Szypulka ja...@szypulka.de http://permalink.gmane.org/gmane.emacs.orgmode/100252 --- lisp/org-indent.el | 128 - 1 file changed, 47 insertions(+), 81 deletions(-) diff --git a/lisp/org-indent.el b/lisp/org-indent.el index c8d3325..868ef5f 100644 --- a/lisp/org-indent.el +++ b/lisp/org-indent.el @@ -52,20 +52,6 @@ :tag Org Indent :group 'org) -(defconst org-indent-max 40 - Maximum indentation in characters.) -(defconst org-indent-max-levels 20 - Maximum added level through virtual indentation, in characters. - -It is computed by multiplying `org-indent-indentation-per-level' -minus one by actual level of the headline minus one.) - -(defvar org-indent-strings nil - Vector with all indentation strings. -It will be set in `org-indent-initialize'.) -(defvar org-indent-stars nil - Vector with all indentation star strings. -It will be set in `org-indent-initialize'.) (defvar org-indent-inlinetask-first-star (org-add-props * '(face org-warning)) First star of inline tasks, with correct face.) (defvar org-indent-agent-timer nil @@ -92,15 +78,12 @@ This is used locally in each buffer being initialized.) It is modified by `org-indent-notify-modified-headline'.) -(defcustom org-indent-boundary-char ?\ ; comment to protect space char +(defcustom org-indent-boundary-char ?\s The end of the virtual indentation strings, a single-character string. The default is just a space, but if you wish, you can use \|\ or so. This can be useful on a terminal window - under a windowing system, -it may be prettier to customize the org-indent face. +it may be prettier to customize the `org-indent' face. :group 'org-indent - :set (lambda (var val) - (set var val) - (and org-indent-strings (org-indent-initialize))) :type 'character) (defcustom org-indent-mode-turns-off-org-adapt-indentation t @@ -121,30 +104,12 @@ turn on `org-hide-leading-stars'. :group 'org-indent :type 'integer) -(defface org-indent - (org-compatible-face nil nil) +(defface org-indent '((t (:inherit org-hide))) Face for outline indentation. The default is to make it look like whitespace. But you may find it useful to make it ever so slightly different. :group 'org-faces) -(defun org-indent-initialize () - Initialize the indentation strings. - (setq org-indent-strings (make-vector (1+ org-indent-max) nil)) - (setq org-indent-stars (make-vector (1+ org-indent-max) nil)) - (aset org-indent-strings 0 nil) - (aset org-indent-stars 0 nil) - (loop for i from 1 to org-indent-max do - (aset org-indent-strings i - (org-add-props - (concat (make-string (1- i) ?\ ) - (char-to-string org-indent-boundary-char)) - nil 'face 'org-indent))) - (loop for i from 1 to org-indent-max-levels do - (aset org-indent-stars i - (org-add-props (make-string i ?*) - nil 'face 'org-hide - (defsubst org-indent-remove-properties (beg end) Remove indentations between BEG and END. (org-with-silent-modifications @@ -174,7 +139,6 @@ during idle time. (org-indent-mode ;; mode was turned on. (org-set-local 'indent-tabs-mode nil) -(or org-indent-strings (org-indent-initialize)) (org-set-local 'org-indent-initial-marker (copy-marker 1)) (when
Re: [O] Logging the new time on a reschedule.
Nicolas == Nicolas Goaziou m...@nicolasgoaziou.fr writes: Nicolas Malcolm Purvis malc...@purvis.id.au writes: Thanks. Unfortunately I now get an error when I try to reschedule: Nicolas Oops. Fixed. Thank you. It works as expected now. Thanks again. Malcolm -- Malcolm Purvis malc...@purvis.id.au
Re: [O] org-agenda-custom-commands with org-agenda-filter-by-regexp
torys.ander...@gmail.com (Tory S. Anderson) writes: I've previously had success with using `org-agenda-tag-filter-preset` in `org-agenda-custom-commands` but I wanted to include OR logic on two different tags, which seemed beyond th tag-filter (which seems to use AND logic). In my agenda view I can use `=` to use a conditional on two tags, but I can't seem to duplicate that behavior in a custom command. With no errors it simply doesn't seem to work, and googling around has proved fruitless for giving examples; I've tried a number of different syntax without effect. (setq org-agenda-custom-commands '((w.Work) (wd Work Day ((agenda ((org-agenda-span 1) (org-agenda-start-on-weekday nil) (org-agenda-filter-by-regexp '(:\\(ODH\)\\|\\(AGENDA\\): What's the proper way to get a working regexp filter in my custom-command? Thanks! I think the regexp above is not correct. It's missing a backward slash after ODH (and contains an redundant set of parentheses). But even the regexp were correct, it wouldn't work, since org-agenda-filter-by-regexp is designed to be used interactively. Its parameter is a prefix argument, not a list or string. I think you need a skip function here: (setq org-agenda-custom-commands '((w.Work) (wd Work Day ((agenda ((org-agenda-span 1) (org-agenda-start-on-weekday nil) (org-agenda-skip-function '(org-agenda-skip-entry-if 'notregexp :\\(ODH\\|AGENDA\\): Matt
Re: [O] Valid use cases for lists?
On Wed, Aug 19, 2015 at 3:55 PM, Rasmus ras...@gmx.us wrote: Chris Patti cpa...@gmail.com writes: I'm guessing I'm missing something obvious here, and that's why I'm asking. Export. List are used everywhere. I also use them for “simple” projects. I have a set of Task TODO keywords for one-off tasks. I have a set of Project TODO keywords for projects. Typically a project is a heading with a Project keyword and a number of (level + 1) headings with Task keywords. For projects that span several days/weeks this works well. Some things that I do fall between Project and Task in the complexity. The items needs 1-2 things done and discrete and different points in time (temporal dependency, first A then B) or with different co workers (collaboration) or both. The overall work, however, will only take 0-2 days. It's too big for a single task. It's too small for a Project. It's related items that conceptually belong together. In Goldilocks fashion, a check-box list is just the right size. #+begin_example ** TODO Medium Sized “project” [1/3] - [X] Get information from John - [ ] Process information and send to Mary for review - [ ] Finalize and submit final to Joe (based on Mary’s comments and changes) #+end_example
Re: [O] Local variables in an org file
Aloha all, Grant Rettke g...@wisdomandwonder.com writes: I've been thinking about this all week. Must be in the global memory space. Grant Rettke Here is one way. * Define a local variable #+name: my-var #+header: :exports none #+begin_src R 768 #+end_src #+name: pass-my-var-to-code-block #+header: :var x=my-var #+header: :exports both #+begin_src emacs-lisp (+ x 1) #+end_src #+results: pass-my-var-to-code-block : 769 The variable is call_my-var(). When I export this to an ASCII buffer, I get: 1 Define a local variable = , | (+ x 1) ` , | 769 ` The variable is `768'. All the best, Tom -- Thomas S. Dye http://www.tsdye.com
Re: [O] Regression: org-translate-link doesn't work correctly in Org 8.3
Great! Thanks! 2 questions, though. 1. Previously, the type of the link was thisfile, now it's custom-id and also, the leading hash is removed from the link. Let's consider the [[#about][About]] example once again. Previously, I was given (thisfile . #about) and I changed this to (thisfile . About), which then worked like a charm. Now, I'm given (custom-id . about), which I don't know how I should translate. Neither of (custom-id . About) or (id . About) work. What should it be? BTW, there's a line (require 'ord-id) in org-open-at-point function in master. Probably, it's a typo (should be (require 'org-id)) 2. When those fixes will be available in MELPA? -- Best regards, Sergei Nosov On Wed, Aug 19, 2015 at 4:28 PM, Nicolas Goaziou m...@nicolasgoaziou.fr wrote: Bastien b...@gnu.org writes: Nicolas Goaziou m...@nicolasgoaziou.fr writes: I think `org-translate-link' should be updated to provide correct type, including internal ones, to `org-link-translation-function'. E.g., http://orgmode.org = http #something = custom-id (ref:line) = coderef whatever = fuzzy At least, this would be consistent with the parser. Agreed. Done. There is one foreseeable incompatible change however. When link type is unknown to Org, it is reported as fuzzy, e.g.: [[foobar:something]] is seen as (fuzzy foobar:something) by `org-link-translation-function', not (foobar something), unless foobar belong to `org-link-types'. In practice I don't think it matters because `org-link-translation-function' isn't meant to create new link types but handle conflicting link types. In any case, in the example above, one can always use (when (and (string= type fuzzy) (string-match \\(.*?\\):\\(.*\\) path)) (cons (match-string 1) (match-string 2))) in `org-link-translation-function'. Regards,
Re: [O] org-block-background in 8.3.1?
The thing is that while I could previously use variable-pitch-mode in the rest of org buffer and still let source code blocks inherit fixed-pitch face, now this seems to be impossible to achieve. With org-block-background face gone, even if I already set org-block face to inherit fixed-pitch, the face displayed in blocks such as #BEGIN_SRC haskell is still variable-pitch as the rest of the buffer. Only plain blocks of #BEGIN_SRC without any language specified are displayed in fixed-pitch. Any workaround for this? Thanks. Related Stackexchange questions: https://stackoverflow.com/questions/26290924/fontify-r-code-blocks-in-org-mode%E2%80%938 https://emacs.stackexchange.com/questions/14824/org-block-background-font-not-having-effect
Re: [O] outorg issue
I don't know the outshine and outorg code in and out. But I wouldn't mind keeping it maintained with the pull requests I get. That said, adding Thorsten Jolitz to this discussion. @Thorsten Would you mind making me ( https://github.com/tj64/outshine/pull/46 ) a temporary maintainer of your outshine package on github. Or do you have anyone in mind you would take this up? Thanks. On Wed, Aug 19, 2015 at 2:26 PM Pip Cet pip...@gmail.com wrote: On 8/19/15, Andreas Leha andreas.l...@med.uni-goettingen.de wrote: Thank you for your patch! It seems as it breaks global visibility cycling, though. Sorry about that, I really messed up there. Kaushal's patch should work better, as long as there is at least one valid heading in the file (if I try running it on an entirely empty org file, I can still produce the error message with M-x outline-hide-sublevels). I'd also like to second Bastien's suggestion, it would be excellent to see this useful extension maintained again.
Re: [O] beamer_env tag issue with empty headlines
Nicolas Goaziou m...@nicolasgoaziou.fr writes: Rafael rvf0...@gmail.com writes: On the other hand, I wish there would be a variable org-no-headlines-between-colons, to solve these sort of ambiguities. What do you mean exactly? What beamer code do you want to generate? Hi, I mean that I would like to have a new variable, say, 'org-no-headlines-between-colons', that when set to t, would cause org to treat any part of a heading between colons as a tag. Best regards, Rafael
Re: [O] 8.3.1 bug or misunderstanding -- inline archive
Hymie! hy...@lactose.homelinux.net writes: I have a few items in my org file that are tagged ARCHIVE. They show up grey in my emacs window. If I sit the cursor on the * bullet and hit TAB, I get a message that says Subtree is archived and stays closed. Use C-tab to cycle it anyway. However, if I sit the cursor on the actual headline and hit TAB, I get the same message, but the subtree is also expanded. I don't recall offhand how it worked in 8.2.x, but I'm pretty sure it refused to expand the subtree no matter where the cursor was. Yes, you're correct. This behavior was introduced by 389274c (Fix `org-hide-archived-subtrees', 2014-12-16). The issue is that the new regexp is anchored at the start of the heading, but the argument BEG is not necessarily at the beginning of the line. -- Kyle
Re: [O] org-habit and Org 8.3
Hello John, On 19 August 2015 at 09:35 PDT, John Wiegley wrote: I've upgrade today to Org 8.3.1, and I've noticed that any customization which used overlays (mainly, org-habit) now displays no overlays in the Agenda buffer. Is this something others have already seen and found a fix for? Upon upgrading, my org-habits did not display correctly, because the PROPERTY drawer where the habit style was indicated came after the LOGBOOK in my org files. After using org-repair-property-drawers http://orgmode.org/Changes.html my habits returned to their previous appearance. That's not directly overlay related, but since the symptoms sounded similar I thought I'd chime in. Hope that helps, Josiah
Re: [O] [DEV] Bump Emacs requirement to 24.4?
Hi Rasmus, Rasmus ras...@gmx.us writes: It would seem to me, that the natural conclusion from this is simply to EOL Org 8+ and move on to v9, no? (I'm not sure what you mean by EOL.) And surely I've not been clear (see my answer to Suvayu too): the whole purpose of this three-branches temporary move is to be able to continue adding new features to the 8.x series, so that Emacs-23 users can enjoy those features. So the next major version will be 8.4, and Emacs 23 compatible. This does not prevent from working on the master branch and develop things that are Emacs 24.3+ compatible. I hope it makes more sense. -- Bastien
Re: [O] Sticky agendas not redone when using org-agenda-(set|remove)-restriction-lock
Hi Nikolai, Here’s the patch again, as I don’t think the one I sent yesterday got through. My FSF papers are signed, by the way. It looks like you forgot to attach the patch... -- Bastien
[O] org-agenda-custom-commands with org-agenda-filter-by-regexp
I've previously had success with using `org-agenda-tag-filter-preset` in `org-agenda-custom-commands` but I wanted to include OR logic on two different tags, which seemed beyond th tag-filter (which seems to use AND logic). In my agenda view I can use `=` to use a conditional on two tags, but I can't seem to duplicate that behavior in a custom command. With no errors it simply doesn't seem to work, and googling around has proved fruitless for giving examples; I've tried a number of different syntax without effect. --8---cut here---start-8--- (setq org-agenda-custom-commands '((w.Work) (wd Work Day ((agenda ((org-agenda-span 1) (org-agenda-start-on-weekday nil) (org-agenda-filter-by-regexp '(:\\(ODH\)\\|\\(AGENDA\\): --8---cut here---end---8--- What's the proper way to get a working regexp filter in my custom-command? Thanks!
Re: [O] nested macro expansion?
On 08/19/15 14:43 PM, Pip Cet wrote: Hi Eric, I know this doesn't answer your actual question about nested macro expansion, but writing some elisp might help you get the TIMESTAMP property, at least: both #+MACRO: bubba (eval (org-entry-get nil TIMESTAMP)) and #+MACRO: bubba (eval (org-macro-expand {{{property(TIMESTAMP)}}} org-macro-templates)) appear to produce the current timestamp, and both can be fed to another function, but not `format-time-string': the result of (org-entry-get...) is a string of the form 2014-08-19, which would need to be passed to `org-parse-time-string' first. Hey, that does the trick, thank you! I guess I should have thought of that. Sure, the example as I gave it would have errored had it done anything, but the main thing was just getting the right values in the right place. Off to write the function... Thanks again, Eric On 8/19/15, Eric Abrahamsen e...@ericabrahamsen.net wrote: Eric Abrahamsen e...@ericabrahamsen.net writes: What I'm trying to do is have a macro that takes the computed TIMESTAMP property for an entry, and then runs it through a custom function that breaks out the start/end times, and produces a nicely formatted string from that. I don't see how to write a macro that feeds the value of a computed special property to a function. Right now my testing version looks like this: #+MACRO: bubba (eval (format-time-string %Y $1)) and I'm calling it like this: {{{bubba({{{property(TIMESTAMP)}}})}}} That doesn't expand the interior {{{property(TIMESTAMP)}}} clause. What `format-time-string' ends up seeing is {{{property(TIMESTAMP, without the final braces etc. Is there any way to get that value expanded first, and then passed to `format-time-string' (or, eventually, my custom function)? After googling for a while, I also thought this might work: #+MACRO: bubba (eval (format-time-string %Y property{{{TIMESTAMP}}})) {{{bubba}}} But the nested definition isn't expanded, either with or without quotes. E
[O] [PATCH 2/2] Allow inserting diary entries last in date tree
* org-agenda.el (org-agenda-insert-diary-strategy): Add new value 'date-tree-last. (org-agenda-insert-diary-make-new-entry): Handle `org-agenda-insert-diary-strategy' set to 'date-tree-last. To allow for diary entries to be entered in time order in the date tree, add a new value to `org-agenda-insert-diary-strategy' that allows for this. The code for handling this value, 'date-tree-last, is a bit tricky, as we need to keep track of whether the date-tree already had one or more entries for the given date. --- lisp/org-agenda.el | 26 +- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 5fd1cd4..22a4ad9 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -9417,11 +9417,13 @@ buffer, display it in another window. Where in `org-agenda-diary-file' should new entries be added? Valid values: -date-treein the date tree, as child of the date -top-levelas top-level entries at the end of the file. +date-tree in the date tree, as first child of the date +date-tree-lastin the date tree, as last child of the date +top-level as top-level entries at the end of the file. :group 'org-agenda :type '(choice - (const :tag in a date tree date-tree) + (const :tag first in a date tree date-tree) + (const :tag last in a date tree date-tree-last) (const :tag as top level at end of file top-level))) (defcustom org-agenda-insert-diary-extract-time nil @@ -9525,14 +9527,20 @@ a timestamp can be added there. (when org-adapt-indentation (org-indent-to-column 2))) (defun org-agenda-insert-diary-make-new-entry (text) - Make a new entry with TEXT as the first child of the current subtree. + Make a new entry with TEXT as a child of the current subtree. Position the point in the heading's first body line so that a timestamp can be added there. - (outline-next-heading) - (org-back-over-empty-lines) - (unless (looking-at [ \t]*$) (save-excursion (insert \n))) - (org-insert-heading nil t) - (org-do-demote) + (let ((last (eq org-agenda-insert-diary-strategy 'date-tree-last)) + (has-children (save-excursion (org-goto-first-child +(if (not (and last has-children)) + (outline-next-heading) + (org-goto-first-child) + (while (org-get-next-sibling))) +(org-back-over-empty-lines) +(unless (looking-at [ \t]*$) (save-excursion (insert \n))) +(org-insert-heading nil t) +(unless has-children + (org-do-demote))) (let ((col (current-column))) (insert text) (org-end-of-meta-data) -- 2.5.0
Re: [O] Stable releases
Bastien b...@gnu.org writes: In the meantime, `org-latex-with-hyperref' will be back in 8.3.2 as I don't see why we needed to remove this option too. Because too many cooks spoil the broth. It's a bad idea to have two variables controlling the same thing. You can put in nil in template if you don't want it. Rasmus -- There are known knowns; there are things we know that we know
Re: [O] Valid use cases for lists?
Chris Patti cpa...@gmail.com writes: Can anyone give me an example of when it's a good idea to use lists rather than headlines? They feel rather like a violation of the principle of least surprise to me, because when you use them, and then try to use pretty much any other Org feature on them (marking them as a TODO item, tagging, etc.) it doesn't work because lists aren't meant to be used that way. I'm guessing I'm missing something obvious here, and that's why I'm asking. Lists are lists. Headlines are headlines. If you need something to show up in an agenda view, use a headline. From the perspective of document structure, headlines vs. lists corresponds with section headings vs. lists in Markdown: https://en.wikipedia.org/wiki/Markdown#Example I find lists to be a good means quickly to organize and reorganize items within an entry. I use them for brainstorming, for making grocery lists, for itemizing ingredients in recipes, for documenting what I did on a task, etc. Though you can't tag them or add todos to them, you can use checkboxes to track your progress on items in a list. - http://orgmode.org/manual/Checkboxes.html#Checkboxes Lists also play an important role in export. E.g., this list... - apples - Fuji - Red Delicious - bananas - pears Exports to html as... ul class=org-ul liapples ul class=org-ul liFuji/li liRed Delicious/li /ul/li libananas/li lipears/li /ul Matt
Re: [O] Add version header to org.el
Achim Gratz strom...@nexgo.de writes: Rasmus writes: Is there any issues with adding a version header to org.el in maint and master? I don't think so. It may require to update README_maintainer accordingly. Done. Please revert that change. It's messing with the version numbers on ELPA since (as I suspected) the idea of using the version from the header comments in the (main) package file is half-baked. Feel free to do so. Since it doesn't appear that there'll be a proper build environment for ELPA packages anytime soon, the only way out is to generate org.el. We could do it just for ELPA, although I suggest we go ahead and do it across the board. We can get rid of org-version on the way and put all the headers someone wants there as well. From the new, generated org.el we can then require whatever the contents of org.el moves to. If the ELPA buildbot has sed wouldn't it just be easier to change Version: VER to Version: VER-HASH Where HASH is whatever it is that needs to be added. Rasmus -- If you can mix business and politics wonderful things can happen!
[O] [PATCH 1/2] Redo Agenda in more cases even in sticky mode
* org-agenda.el (org-agenda-maybe-redo): Test for org-agenda-this-buffer-name as well. The Agenda buffer will have a different name if it’s in sticky mode, but some commands that alter the agenda should still redo it, for example, org-agenda-remove-restriction-lock, just like org-agenda-filter-by-category does. --- lisp/org-agenda.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 07b77ac..5fd1cd4 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -7169,7 +7169,9 @@ in the file. Otherwise, restriction will be to the current subtree. (defun org-agenda-maybe-redo () If there is any window showing the agenda view, update it. - (let ((w (get-buffer-window org-agenda-buffer-name t)) + (let ((w (get-buffer-window (or org-agenda-this-buffer-name + org-agenda-buffer-name) + t)) (w0 (selected-window))) (when w (select-window w) -- 2.5.0
Re: [O] Local variables in an org file
I've been thinking about this all week. Must be in the global memory space. Grant Rettke -- g...@wisdomandwonder.com | http://www.wisdomandwonder.com/ “Wisdom begins in wonder.” --Socrates “All creativity is an extended form of a joke.” --Kay ((λ (x) (x x)) (λ (x) (x x))) “Life has become immeasurably better since I have been forced to stop taking it seriously.” --Thompson On Thu, Aug 20, 2015 at 1:39 AM, Jarmo Hurri jarmo.hu...@iki.fi wrote: Greetings. Is there a way to define a (preferably local) variable in an org file so that the value of that variable could be referenced in both plain text and code blocks? I often bump into situations where I have a value, say 768, and I use that value both in code blocks and in the accompanying text. Now basic programming approach tells me that if and when I need to change that value, I should be able to do that by changing the value in only one location. That implies defining a variable for the value. Properties sound like they might be the solution. But I don't know how to refer to properties in text and code. Jarmo
Re: [O] user-error: No language for src block: (unnamed) when running `org-icalendar-combine-agenda-files`
Well actually I think the error shows because of another block below the emacs-lisp blocks. In this header I just wrote #+BEGIN_SRC without any language name. Is it actually wrong and maybe I should have written #+BEGIN_EXAMPLE instead? Though I’d still say it probably shouldn’t have failed the export?… On 20. August 2015 at 17:38:36, JI, Xiang (h...@xiangji.me) wrote: I’m trying to export all my agenda files into an ics file via org-icalendar-combine-agenda-files. However, the export process stops halfway through. The following are shown in Messages: org-babel-exp process emacs-lisp at line 72... org-babel-exp process emacs-lisp at line 208... user-error: No language for src block: (unnamed) which is weird because I already set org-calendar-include-body to nil. I don’t think a code block in the middle of a org file should impact iCalendar export. The code block begins with #BEGIN_SRC emacs-lisp and is highlighted correctly. I’m not sure why it says “no language for src block”. Regards, JI, Xiang
[O] Bug: org-element--cache-sync called after switching buffers [8.3.1 (8.3.1-16-gf6aa53-elpa @ /home/mah/.emacs.d/elpa/org-20150810/)]
While composing an email in mu4e, I get the following backtrace. It looks like this is because mu4e switches buffers between the time org-element-cache-reset is called and the time that org-element--cache-sync is called. Debugger entered--Lisp error: (wrong-type-argument hash-table-p nil) clrhash(nil) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) future-change) (if next (progn (let* ((v next)) (aset v 3 (+ ... ...))) (aset next 2 (aref request 2 (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))) (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) future-change) (if next (progn (let* (...) (aset v 3 ...)) (aset next 2 (aref request 2 (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add ... org-element-cache-sync-duration)) future-change) (if next (progn (let* ... ...) (aset next 2 ...))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next ...) threshold (and ... ...) future-change) (if next (progn ... ...)) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)) org-element--cache-sync(#buffer *draft*) apply(org-element--cache-sync #buffer *draft*) byte-code(r\301\302H\303H\\210)\301\207 [timer apply 5 6] 4) timer-event-handler([t 0 0 60 nil org-element--cache-sync (#buffer *draft*) idle 0]) read-from-minibuffer(Identity: nil (keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf Minibuf keymap (tab menu-item Complete minibuffer-complete :help Complete as far as possible) (space menu-item Complete Word minibuffer-complete-word :help Complete at most one word) (63 menu-item List Completions minibuffer-completion-help :help Display all possible completions) Minibuf)) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf Minibuf keymap (previous menu-item Previous History Item previous-history-element :help Put previous minibuffer history element in the minibuffer) (next menu-item Next History Item next-history-element :help Put next minibuffer history element in the minibuffer) (isearch-backward menu-item Isearch History Backward isearch-backward :help Incrementally search minibuffer history backward) (isearch-forward menu-item Isearch History Forward isearch-forward :help Incrementally search minibuffer history forward) (return menu-item Enter exit-minibuffer :key-sequence . :help Terminate input and exit minibuffer) (quit menu-item Quit
[O] [PATCH 1/2] Redo Agenda in more cases even in sticky mode
* org-agenda.el (org-agenda-maybe-redo): Test for org-agenda-this-buffer-name as well. The Agenda buffer will have a different name if it’s in sticky mode, but some commands that alter the agenda should still redo it, for example, org-agenda-remove-restriction-lock, just like org-agenda-filter-by-category does. --- lisp/org-agenda.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 07b77ac..5fd1cd4 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -7169,7 +7169,9 @@ in the file. Otherwise, restriction will be to the current subtree. (defun org-agenda-maybe-redo () If there is any window showing the agenda view, update it. - (let ((w (get-buffer-window org-agenda-buffer-name t)) + (let ((w (get-buffer-window (or org-agenda-this-buffer-name + org-agenda-buffer-name) + t)) (w0 (selected-window))) (when w (select-window w) -- 2.5.0
[O] Local variables in an org file
Greetings. Is there a way to define a (preferably local) variable in an org file so that the value of that variable could be referenced in both plain text and code blocks? I often bump into situations where I have a value, say 768, and I use that value both in code blocks and in the accompanying text. Now basic programming approach tells me that if and when I need to change that value, I should be able to do that by changing the value in only one location. That implies defining a variable for the value. Properties sound like they might be the solution. But I don't know how to refer to properties in text and code. Jarmo
[O] [PATCH 1/2] Redo Agenda in more cases even in sticky mode
* org-agenda.el (org-agenda-maybe-redo): Test for org-agenda-this-buffer-name as well. The Agenda buffer will have a different name if it’s in sticky mode, but some commands that alter the agenda should still redo it, for example, org-agenda-remove-restriction-lock, just like org-agenda-filter-by-category does. --- lisp/org-agenda.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 07b77ac..5fd1cd4 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -7169,7 +7169,9 @@ in the file. Otherwise, restriction will be to the current subtree. (defun org-agenda-maybe-redo () If there is any window showing the agenda view, update it. - (let ((w (get-buffer-window org-agenda-buffer-name t)) + (let ((w (get-buffer-window (or org-agenda-this-buffer-name + org-agenda-buffer-name) + t)) (w0 (selected-window))) (when w (select-window w) -- 2.5.0
Re: [O] Bug: Org-indent does not align headings with text when using non-monospaced fonts [8.3.1 (8.3.1-16-gf6aa53-elpa @ /Users/cube/.emacs.d/elpa/org-20150810/)]
Wait, it seems your patch also fixed another issue! Until now, org-mode would only indent text correctly up until a certain level (not sure exactly, but approx 8-10 stars), and would then bug out: the heading, when demoted further, would be correctly indented by a certain amount of characters (`org-indent-indentation-per-level' probably), but the text would be indented by a *lesser* amount of characters, resulting in a slight misalign at every demote step, that would grow bigger and bigger the more you demoted. Now I can demote even beyond the right screen edge, and the text keeps following. Maybe you can add this information to the commit or the changelog in case anyone else was affected by this. Thanks again! Jakub --- Original message --- Nicolas Goaziou m...@nicolasgoaziou.fr wrote on Thursday, 20 August 2015 at 21:56: Jakub Szypulka ja...@szypulka.de writes: Yes it does, I'm impressed! Thanks a lot for the quick fix! Applied then. Thank you for the feedback. I understand those changed will be included by default in the next org versions? Yes, they will. Regards,
[O] Bug: Capturing to datetree with inactive timestamp messes up level of heading
Dear org-mode developers, customizing org to add timestamps in datetrees via … (org-datetree-add-timestamp (quote inactive) nil nil Add an inactive time stamp when create a datetree entry.)… and activating a minimal capture template which captures to a datetree results in: a) * 2015 ** 2015-08 August *** 2015-08-19 Mittwoch [2015-08-19 Mi] ** actual entry heading of captured item The heading of the newly captured item is at level 2 instead at level 4. I consider this to be a bug. A second capture item to the same day is correctly created at level 4 (and bevor the first captured item which does not belong to the same (or any) day in the datetree). 2) The timestamp is added to the heading of the day under which the captured item is stored iff the day entry is created for this capture. I think the timestamp should go with the actual captured entry. This allows for a timestamp for each captured entry under the same date heading. They may be made at different days. 3) The timestamp adds only a date but I think it’s much more interesting to capture with date+time. Think of several journal entries all done at the same day but at different times of a day. All three observations werde made with an otherwise uncustimazed org-mode (emacs -Q). I created the journal capture template from the org-capture prompt („C“). Org-mode version 8.3.1 (release_8.3.1-120-gc5cbc6 @ /home/grfz/src/org-mode/lisp/) GNU Emacs 25.0.50.6 (i686-pc-linux-gnu, GTK+ Version 3.14.5) of 2015-08-19 on boo Thanks for your attention, Gregor
Re: [O] beamer_env tag issue with empty headlines
Hello, Rafael rvf0...@gmail.com writes: On the other hand, I wish there would be a variable org-no-headlines-between-colons, to solve these sort of ambiguities. What do you mean exactly? What beamer code do you want to generate? Regards, -- Nicolas Goaziou
[O] org-habit and Org 8.3
Hello, I've upgrade today to Org 8.3.1, and I've noticed that any customization which used overlays (mainly, org-habit) now displays no overlays in the Agenda buffer. Is this something others have already seen and found a fix for? Thanks, John
[O] user-error: No language for src block: (unnamed) when running `org-icalendar-combine-agenda-files`
I’m trying to export all my agenda files into an ics file via org-icalendar-combine-agenda-files. However, the export process stops halfway through. The following are shown in Messages: org-babel-exp process emacs-lisp at line 72... org-babel-exp process emacs-lisp at line 208... user-error: No language for src block: (unnamed) which is weird because I already set org-calendar-include-body to nil. I don’t think a code block in the middle of a org file should impact iCalendar export. The code block begins with #BEGIN_SRC emacs-lisp and is highlighted correctly. I’m not sure why it says “no language for src block”. Regards, JI, Xiang
Re: [O] Logging the new time on a reschedule.
Nicolas == Nicolas Goaziou m...@nicolasgoaziou.fr writes: Nicolas None that I know. This is fixed. Thank you. Thanks. Unfortunately I now get an error when I try to reschedule: Error in post-command-hook (org-add-log-note): (wrong-type-argument char-or-string-p time) The relevant part of my config is: --8---cut here---start-8--- (setq org-log-reschedule (quote time) org-log-redeadline (quote time) ) (setq org-log-note-headings (cons '(reschedule . Rescheduled from %S to %s on %t) org-log-note-headings)) (setq org-log-note-headings (cons '(redeadline . New deadline from %S to %s on %t) org-log-note-headings)) --8---cut here---end---8--- Malcolm -- Malcolm Purvis malc...@purvis.id.au
[O] 8.3.1 bug or misunderstanding -- inline archive
I have a few items in my org file that are tagged ARCHIVE. They show up grey in my emacs window. If I sit the cursor on the * bullet and hit TAB, I get a message that says Subtree is archived and stays closed. Use C-tab to cycle it anyway. However, if I sit the cursor on the actual headline and hit TAB, I get the same message, but the subtree is also expanded. I don't recall offhand how it worked in 8.2.x, but I'm pretty sure it refused to expand the subtree no matter where the cursor was. --hymie!
Re: [O] Valid use cases for lists?
Export isn't a good reason to use lists over headings, since you can always export headings as li lists if you want to, e.g. by setting number of heading levels in export options. This doesn't mean plain text lists aren't useful in org, it just means you don't need them to get lists in your export format. On Wed, Aug 19, 2015 at 3:55 PM, Rasmus ras...@gmx.us wrote: Chris Patti cpa...@gmail.com writes: I'm guessing I'm missing something obvious here, and that's why I'm asking. Export. List are used everywhere. -- The right to be left alone is a human right
Re: [O] org-habit and Org 8.3
Hello, John Wiegley jo...@newartisans.com writes: I've upgrade today to Org 8.3.1, and I've noticed that any customization which used overlays (mainly, org-habit) now displays no overlays in the Agenda buffer. Is this something others have already seen and found a fix for? It doesn't ring a bell. Would you have an ECM? Regards, -- Nicolas Goaziou
Re: [O] Valid use cases for lists?
Chris Patti cpa...@gmail.com writes: I'm guessing I'm missing something obvious here, and that's why I'm asking. Export. List are used everywhere. -- The right to be left alone is a human right
Re: [O] [ANN] orgtbl-join
Le 18/08/2015 17:22, Bastien a écrit : I will submit a patch to the mailing-list, including a translation of the documentation (https://github.com/tbanel/orgtbljoin) to the texi format. Great, thanks in advance! Hi the List Here is the patch to add table-joining feature in Org mode. It comes with unit tests and texi documentation. Of course, everything can be reviewed, commented, changed. Of particular interest are: - key and menu bindings (which tend to be over-crowded) C-c C-x j (orgtbl-join) Menu Tbl Column Join with a reference table - documentation cd org-mode make doc C-u C-h i doc/org goto node Joining tables Thierry From 44507a06d5213ca986bd901c50fb96915a208ef4 Mon Sep 17 00:00:00 2001 From: Thierry Banel tbanelweb...@free.fr Date: Mon, 17 Aug 2015 14:45:50 +0200 Subject: [PATCH] Add table joining feature * org-tbljoin.el (orgtbl-join), (orgtbl-to-joined-table), (org-insert-dblock:join), (org-dblock-write:join): the new joining engine * org.el, org-table.el: key and menu bindings * test-org-tbljoin.el, org-tbljoin.org: unit tests * org.texi: document feature under the Joining ables entry in the Tables section. --- doc/org.texi | 290 + lisp/org-table.el| 3 +- lisp/org-tbljoin.el | 450 +++ lisp/org.el | 3 +- testing/examples/org-tbljoin.org | 251 ++ testing/lisp/test-org-tbljoin.el | 233 6 files changed, 1228 insertions(+), 2 deletions(-) create mode 100644 lisp/org-tbljoin.el create mode 100644 testing/examples/org-tbljoin.org create mode 100644 testing/lisp/test-org-tbljoin.el diff --git a/doc/org.texi b/doc/org.texi index 0f5747d..4259ccb 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -374,6 +374,7 @@ Tables * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot::Plotting from org tables +* Joining tables:: Adding material from a table to another The spreadsheet @@ -2095,6 +2096,7 @@ calculations are supported using the Emacs @file{calc} package * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot::Plotting from org tables +* Joining tables:: Adding material from a table to another @end menu @node Built-in table editor @@ -3402,6 +3404,294 @@ The formula is an elisp call: @end table +@node Joining tables +@section Joining tables +@cindex joining two tables + +One table (the master table) is grown by selectively appending rows of +another table (the reference table). As an example, here is a list of +products for a cooking recipe. + +@verbatim +| type | quty | +|--+--| +| onion| 70 | +| tomatoe | 120 | +| eggplant | 300 | +| tofu | 100 | +@end verbatim + +We want to complete it with nutritional facts: quantities of fiber, +sugar, proteins, and carbohydrates. For this purpose, we have a long +reference table of standard products. (This table has been freely +borrowed from Nut-Nutrition, @uref{http://nut.sourceforge.net/}, by Jim +Jozwiak). + +@verbatim +#+tblname: nut +| type | Fiber | Sugar | Protein | Carb | +|--+---+---+-+--| +| eggplant | 2.5 | 3.2 | 0.8 | 8.6 | +| tomatoe | 0.6 | 2.1 | 0.8 | 3.4 | +| onion| 1.3 | 4.4 | 1.3 | 9.0 | +| egg | 0 | 18.3 |31.9 | 18.3 | +| rice | 0.2 | 0 | 1.5 | 16.0 | +| bread| 0.7 | 0.7 | 3.3 | 16.0 | +| orange | 3.1 | 11.9 | 1.3 | 17.6 | +| banana | 2.1 | 9.9 | 0.9 | 18.5 | +| tofu | 0.7 | 0.5 | 6.6 | 1.4 | +| nut | 2.6 | 1.3 | 4.9 | 7.2 | +| corn | 4.7 | 1.8 | 2.8 | 21.3 | +@end verbatim + +Let us put the cursor on the type column of the recipe table, and type +@kbd{C-c C-x j} or @code{M-x orgtbl-join}. A few questions are asked. Then +the recipe gets new columns appended with the needed nutrition facts: + +@verbatim +| type | quty | Fiber | Sugar | Protein | Carb | +|--+--+---+---+-+--| +| onion| 70 | 1.3 | 4.4 | 1.3 | 9.0 | +| tomatoe | 120 | 0.6 | 2.1 | 0.8 | 3.4 | +| eggplant | 300 | 2.5 | 3.2 | 0.8 | 8.6 | +| tofu | 100 | 0.7 | 0.5 | 6.6 | 1.4 | +@end verbatim + +If you are familiar with SQL, you would get a similar result with the +a @emph{join} (actually a @emph{left outer join}). + +@example +select * +from recipe, nut +left outer join nut on recipe.type = nut.type; +@end example + +@menu +* In-place push pull:: Enriching a table or deriving an enriched table +* Block parameters::Specifying tables and columns to use +* Duplicates or missing values::
Re: [O] Per-backend export options?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Wed, Aug 19, 2015 at 11:45:37PM -0400, Jay Dixit wrote: I do something similar to change export options between HTML and LaTeX: (defun my-org-export-change-options (plist backend) (cond ((equal backend 'html) (plist-put plist :with-toc nil) (plist-put plist :section-numbers nil)) ((equal backend 'latex) (plist-put plist :with-toc t) (plist-put plist :section-numbers t))) plist) (add-to-list 'org-export-filter-options-functions 'my-org-export-change-options) Thanks! this one has the charm of being a more centralized solution. While the macro thingie does the trick for me (for now), I'll give it a try. Regards - -- tomás -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlXVaR0ACgkQBcgs9XrR2kaBCgCeJnYBnUtZmYI9mt7hsKLaPsuv n50An3o03vZWGIihXhQfM8/e6WFeb5AA =UY8i -END PGP SIGNATURE-
[O] [Test] several of my recent emails have not arrived on the list
Several of my recent posts have not shown up in the archives or on gmane. I'd like to see if this email gets through. Matt
[O] Valid use cases for lists?
Can anyone give me an example of when it's a good idea to use lists rather than headlines? They feel rather like a violation of the principle of least surprise to me, because when you use them, and then try to use pretty much any other Org feature on them (marking them as a TODO item, tagging, etc.) it doesn't work because lists aren't meant to be used that way. I'm guessing I'm missing something obvious here, and that's why I'm asking. Thanks in advance! -Chris -- Christopher Patti - Geek At Large | GTalk: cpa...@gmail.com | AIM: chrisfeohpatti | P: (260) 54PATTI Technology challenges art, art inspires technology. - John Lasseter, Pixar
Re: [O] nested macro expansion?
Hello Eric Abrahamsen e...@ericabrahamsen.net writes: After googling for a while, I also thought this might work: #+MACRO: bubba (eval (format-time-string %Y property{{{TIMESTAMP}}})) {{{bubba}}} But the nested definition isn't expanded, either with or without quotes. As you noticed, you cannot nest macros. You can use macros within macro definitions, tho. Alas, it will not work with (eval ...) templates, since those make no assumptions about the rest of the template and simply use `read' on it. Anyway, as pointed out in this thread, if you take the (eval ...) path, you don't really need macros: you're in Elisp. Regards, -- Nicolas Goaziou
Re: [O] Logging the new time on a reschedule.
Hello, Malcolm Purvis malc...@purvis.id.au writes: I would like to log the new time as well as the old when changing the scheduling or deadline of a task. I changed the value of org-log-note-headings to include the new time (%s) in the reschedule log: (reschedule . Rescheduled from %S to %s on %t) and set org-log-reschedule to 'time. However the new time is missing from the log entry: - Rescheduled from [2015-08-21 Fri] to on [2015-08-19 Wed 11:03] I expected this instead: - Rescheduled from [2015-08-29 Sat] to [2015-09-19 Sat] on [2015-08-19 Wed 11:38] The cause is neither org-schedule nor org-deadline pass the the new time to org-add-log-setup. Is there a reason for this? None that I know. This is fixed. Thank you. Regards, -- Nicolas Goaziou
Re: [O] nested macro expansion?
Hi Eric, I know this doesn't answer your actual question about nested macro expansion, but writing some elisp might help you get the TIMESTAMP property, at least: both #+MACRO: bubba (eval (org-entry-get nil TIMESTAMP)) and #+MACRO: bubba (eval (org-macro-expand {{{property(TIMESTAMP)}}} org-macro-templates)) appear to produce the current timestamp, and both can be fed to another function, but not `format-time-string': the result of (org-entry-get...) is a string of the form 2014-08-19, which would need to be passed to `org-parse-time-string' first. On 8/19/15, Eric Abrahamsen e...@ericabrahamsen.net wrote: Eric Abrahamsen e...@ericabrahamsen.net writes: What I'm trying to do is have a macro that takes the computed TIMESTAMP property for an entry, and then runs it through a custom function that breaks out the start/end times, and produces a nicely formatted string from that. I don't see how to write a macro that feeds the value of a computed special property to a function. Right now my testing version looks like this: #+MACRO: bubba (eval (format-time-string %Y $1)) and I'm calling it like this: {{{bubba({{{property(TIMESTAMP)}}})}}} That doesn't expand the interior {{{property(TIMESTAMP)}}} clause. What `format-time-string' ends up seeing is {{{property(TIMESTAMP, without the final braces etc. Is there any way to get that value expanded first, and then passed to `format-time-string' (or, eventually, my custom function)? After googling for a while, I also thought this might work: #+MACRO: bubba (eval (format-time-string %Y property{{{TIMESTAMP}}})) {{{bubba}}} But the nested definition isn't expanded, either with or without quotes. E
Re: [O] Logging the new time on a reschedule.
Malcolm Purvis malc...@purvis.id.au writes: Thanks. Unfortunately I now get an error when I try to reschedule: Error in post-command-hook (org-add-log-note): (wrong-type-argument char-or-string-p time) Oops. Fixed. Thank you. Regards,
Re: [O] Sticky agendas not redone when using org-agenda-(set|remove)-restriction-lock
I am so disappointed with everything that has to do with e-mail right now. For some reason the e-mail isn’t being delivered. I assume it’s not being accepted by the mailing list, but I can’t see why. I’m not getting any error message. Anyway, here’s the relevant part (and let’s see if this e-mail gets through): * org-agenda.el (org-agenda-maybe-redo): Test for org-agenda-this-buffer-name as well. The Agenda buffer will have a different name if it’s in sticky mode, but some commands that alter the agenda should still redo it, for example, org-agenda-remove-restriction-lock, just like org-agenda-filter-by-category does. --- lisp/org-agenda.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 07b77ac..5fd1cd4 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -7169,7 +7169,9 @@ in the file. Otherwise, restriction will be to the current subtree. (defun org-agenda-maybe-redo () If there is any window showing the agenda view, update it. - (let ((w (get-buffer-window org-agenda-buffer-name t)) + (let ((w (get-buffer-window (or org-agenda-this-buffer-name + org-agenda-buffer-name) + t)) (w0 (selected-window))) (when w (select-window w) -- 2.5.0 On Thu, Aug 20, 2015 at 7:21 PM, Bastien b...@gnu.org wrote: Hi Nikolai, Here’s the patch again, as I don’t think the one I sent yesterday got through. My FSF papers are signed, by the way. It looks like you forgot to attach the patch... -- Bastien
Re: [O] org-habit and Org 8.3
Josiah Schwab jsch...@gmail.com writes: Upon upgrading, my org-habits did not display correctly, because the PROPERTY drawer where the habit style was indicated came after the LOGBOOK in my org files. Is there a reason why this was done? I rather liked having my PROPERTY drawers at the bottom of each entry, out of the way. That way, every record in my Org file ends with :END:, closing its property drawer (every single headline I create has an accompanying PROPERTY drawer). John
Re: [O] Logging the new time on a reschedule.
Nicolas == Nicolas Goaziou m...@nicolasgoaziou.fr writes: Nicolas None that I know. This is fixed. Thank you. Thanks. Unfortunately I now get an error when I try to reschedule: Error in post-command-hook (org-add-log-note): (wrong-type-argument char-or-string-p time) The relevant part of my config is: --8---cut here---start-8--- (setq org-log-reschedule (quote time) org-log-redeadline (quote time) ) (setq org-log-note-headings (cons '(reschedule . Rescheduled from %S to %s on %t) org-log-note-headings)) (setq org-log-note-headings (cons '(redeadline . New deadline from %S to %s on %t) org-log-note-headings)) --8---cut here---end---8--- Malcolm -- Malcolm Purvis malc...@purvis.id.au
Re: [O] Bug: Org-indent does not align headings with text when using non-monospaced fonts [8.3.1 (8.3.1-16-gf6aa53-elpa @ /Users/cube/.emacs.d/elpa/org-20150810/)]
Jakub Szypulka ja...@szypulka.de writes: Yes it does, I'm impressed! Thanks a lot for the quick fix! Applied then. Thank you for the feedback. I understand those changed will be included by default in the next org versions? Yes, they will. Regards,
Re: [O] Sticky agendas not redone when using org-agenda-(set|remove)-restriction-lock
Here’s the patch again, as I don’t think the one I sent yesterday got through. My FSF papers are signed, by the way.