[O] HTML slides

2012-04-19 Thread BernardH
Hi,

First and foremost, thank you for making such a great emacs mode !
Whatever I'm doing with orgmode (and I do as much as possible in orgmode !), it
is always a joy.

Recently, i've been switching to orgmode for my presentations.
I'm a happy user of [[https://github.com/eschulte/org-S5][org-S5]] but I just
stumbled upon
[[https://github.com/relevance/org-html-slideshow][org-html-slideshow]].
I have the utmost respect for their respective authors (of org-S5 for
obvious reasons, of org-html-slideshow for Clojure contributions) and
now I have a hard time deciding which one to choose.

Does anyone have experience with any / both of them ?
How would you make the choice ?

Thanks for any advice !

Best Regards,

Bernard





Re: [O] Flexible plain list bullets

2012-04-19 Thread Nicolas Goaziou
Hello,

"Mark E. Shoulson"  writes:

> Attached is a patch that adds a customization variable for setting
> which characters you can use as bullets in plain lists.  Unicode has
> all kinds of pretty characters like ❧ or ☞ that would be good for
> bullets, why limit ourselves to just [-+*]?

This has been discussed recently of the ML.  At that time, many
developers didn't like the idea of Unicode bullets.  I still don't.

> The variable's "set" function sets associated other related variables,
> regular expressions using it, treating "*" specially since it isn't
> a plain-list bullet at the beginning of a line.  Care is taken that
> the character "-" does not wind up in the middle of the character
> range (but there isn't special processing for "]", and maybe there
> should be).

If I understand it correctly, `org-list-full-item-re' wouldn't be set
for users not going through the Customize interface. If that's true, it
would be bad.

> Please take a look, see if it's worth adding tell me what else I need
> to do if necessary.  Thanks!

If you really want to beautify your Org files, you may, instead,
implement a minor mode adding customizable Unicode characters as
overlays on every bullet in the buffer.  I bet some users would
appreciate it.


Regards,

-- 
Nicolas Goaziou



Re: [O] Flexible plain list bullets

2012-04-19 Thread suvayu ali
Hi Mark,

On Thu, Apr 19, 2012 at 10:18, Nicolas Goaziou  wrote:
> "Mark E. Shoulson"  writes:
>
>> Attached is a patch that adds a customization variable for setting
>> which characters you can use as bullets in plain lists.  Unicode has
>> all kinds of pretty characters like ❧ or ☞ that would be good for
>> bullets, why limit ourselves to just [-+*]?
>
> This has been discussed recently of the ML.  At that time, many
> developers didn't like the idea of Unicode bullets.  I still don't.

As a user I don't like this either. I realise I don't have to use it if
I don't want to, but then this breaks the "Org format". I realise it is
still not formally defined but many external tools have been developed
which assumes these basic syntactic elements.

My personal reason for not liking this is, it makes it difficult for me
to use tools like grep or sed interactively when there is a file with
these fancy characters.

However, Nicolas' suggestion about a minor mode to add overlays sounds
like a great idea to me.

-- 
Suvayu

Open source is the future. It sets us free.



[O] Inverse matching with '/' in agenda view?

2012-04-19 Thread James Harkins
Maybe a useful feature request, if it hasn't already been proposed.

I just recently discovered '/' in the agenda view, but sometimes I would like 
to use it to remove tags from a to do list, e.g.

/ (tab) -Docs

... to show everything in the to-do list that is not about writing 
documentation. But as far as I can see, it treats "-Docs" as a literal string 
to match exactly, so all the items are removed.

Currently, it seems my options are:

1. Use the standard todo-tags-match, which doesn't use my custom sorting and 
block structure.

2. Or, define a new custom agenda command every time I want a different set of 
tags. (Not so interactive.)

Any tips? Thanks!
James


--
James Harkins /// dewdrop world
jamshar...@dewdrop-world.net
http://www.dewdrop-world.net

"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal."  -- Whitman

blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks



Re: [O] Flexible plain list bullets

2012-04-19 Thread Carsten Dominik

On Apr 19, 2012, at 11:40 AM, suvayu ali wrote:

> Hi Mark,
> 
> On Thu, Apr 19, 2012 at 10:18, Nicolas Goaziou  wrote:
>> "Mark E. Shoulson"  writes:
>> 
>>> Attached is a patch that adds a customization variable for setting
>>> which characters you can use as bullets in plain lists.  Unicode has
>>> all kinds of pretty characters like ❧ or ☞ that would be good for
>>> bullets, why limit ourselves to just [-+*]?
>> 
>> This has been discussed recently of the ML.  At that time, many
>> developers didn't like the idea of Unicode bullets.  I still don't.
> 
> As a user I don't like this either. I realise I don't have to use it if
> I don't want to, but then this breaks the "Org format". I realise it is
> still not formally defined but many external tools have been developed
> which assumes these basic syntactic elements.
> 
> My personal reason for not liking this is, it makes it difficult for me
> to use tools like grep or sed interactively when there is a file with
> these fancy characters.

I think this is very well put.  Org must remain parsable,
and all basic syntactic elements should be pure plain text
and not configurable.

- Carsten

> 
> However, Nicolas' suggestion about a minor mode to add overlays sounds
> like a great idea to me.
> 
> -- 
> Suvayu
> 
> Open source is the future. It sets us free.
> 

- Carsten






Re: [O] Inverse matching with '/' in agenda view?

2012-04-19 Thread Bernt Hansen
James Harkins  writes:

> Maybe a useful feature request, if it hasn't already been proposed.
>
> I just recently discovered '/' in the agenda view, but sometimes I would like 
> to use it to remove tags from a to do list, e.g.
>
> / (tab) -Docs
>
> ... to show everything in the to-do list that is not about writing 
> documentation. But as far as I can see, it treats "-Docs" as a literal string 
> to match exactly, so all the items are removed.
>
> Currently, it seems my options are:
>
> 1. Use the standard todo-tags-match, which doesn't use my custom sorting and 
> block structure.
>
> 2. Or, define a new custom agenda command every time I want a different set 
> of tags. (Not so interactive.)
>
> Any tips? Thanks!

Hi James,

Try 

/ - TAB Docs RET

Regards,
Bernt



[O] Fast linking to files in private git repos through a hyperlink

2012-04-19 Thread Dov Grobgeld
I thought I would share the following hack that I did with git.

In my org-mode notebook I often find myself references files that reside in
various private git repos. So far I have referenced these either by just
writing their name or giving a full path. But giving the full path is
disruptive and if the repo moves it will no longer work. So I added a hack
to make the following hyperlink work git:myrepo::myfile . When opening it
the following happens:

- myrepo is looked up in the emacs hash my-git-repos and mapped to the path
of a git repo root.
- git-find-file-in-repo searches for the the file myfile in the the repo
repo

Here's the code for org-git-hyperlink.el:

(require 'org)

(org-add-link-type "git" 'org-git-hyperlink-open)

(defun org-git-hyperlink-open (path)
  "Visit the file in learning-git"
  (let* ((parts (split-string path "::"))
 (repo-name (car parts))
 (filename (cadr parts))
 (repo (gethash repo-name my-git-repos))
 )
(git-find-file-in-repo repo filename)))
(org-git-hyperlink-open "learning::PointPatternMatching.py")
;;; org-learning.el ends here

(provide 'org-git-hyperlink)
;;; org-git-hyperlink.el ends here

The code for git-find-file-in-repo is here:

https://github.com/hjz/emacs/blob/master/jz/git-find-file.el

with the following addition:

(defun git-find-file-in-repo (root file-name)
  "Prompt with a completing list of all files in the project to find one."
  (interactive)
  (let* ((project-files (ffip-project-files root))
 (files (delete-dups (mapcar 'car project-files)))
 (file-paths (delq 'nil (mapcar '(lambda (file-cons)
   (when (string= file-name (car
file-cons))
 (cdr file-cons)))
project-files)))
 (file-path (if (cdr file-paths)
(ffip-completing-read "Disambiguate: " file-paths)
  (car file-paths
(find-file (concat root file-path

Regards,
Dov


Re: [O] Bug? "v r" in agenda crashes => solved

2012-04-19 Thread Rainer Stengele
Hi all,

the problem was that I still used the max-sticky-agenda branch.
After switching to master everything works again!

Sorry, I am not fluent in git and missed the trigger to change back to master.

Thanks,
Rainer

Am 18.04.2012 18:49, schrieb Noorul Islam Kamal Malmiyoda:
> On Wed, Apr 18, 2012 at 7:50 PM, Rainer Stengele
>  wrote:
>> Hi!
>>
>> Org-mode version 7.8.09 (release_7.8.09.221.g72128)
>>
>> Being in my agenda (non stiocky or sticky doesn't matter) I press "v r" and 
>> get this error:
>>
>>
>> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
>>  org-babel-header-arg-expand()
>>  run-hook-with-args-until-success(org-babel-header-arg-expand)
>>  org-cycle((4))
>>  org-set-startup-visibility()
>>  org-mode()
>>  org-get-clocktable(:maxlevel 4 :narrow 80! :indent t :tstart 734611 :tend 
>> 734612 :scope agenda)
>>  apply(org-get-clocktable (:maxlevel 4 :narrow 80! :indent t :tstart 734611 
>> :tend 734612 :scope agenda))
>>  org-agenda-list(nil)
>>  call-interactively(org-agenda-list)
>>  (let ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) 
>> (org-agenda-overriding-header "Today's Agenda  + Prio A todos "))
>> (call-interactively (quote org-agenda-list)))
>>  (let ((org-agenda-sorting-strategy (quote (time-up priority-down 
>> todo-state-up (let ((org-agenda-span (quote day))
>> (org-agenda-start-with-log-mode t) (org-agenda-overriding-header "Today's 
>> Agenda  + Prio A todos ")) (call-interactively (quote
>> org-agenda-list
>>  eval((let ((org-agenda-sorting-strategy (quote (time-up priority-down 
>> todo-state-up (let ((org-agenda-span (quote day))
>> (org-agenda-start-with-log-mode t) (org-agenda-overriding-header "Today's 
>> Agenda  + Prio A todos ")) (call-interactively (quote
>> org-agenda-list)
>>  org-let2(((org-agenda-sorting-strategy (quote (time-up priority-down 
>> todo-state-up ((org-agenda-span (quote day))
>> (org-agenda-start-with-log-mode t) (org-agenda-overriding-header "Today's 
>> Agenda  + Prio A todos ")) (call-interactively (quote
>> org-agenda-list)))
>>  org-agenda-run-series("agenda - no (!) todos - sorted prio up - 1 day" 
>> (((agenda "prio ABC agenda" ((org-agenda-span (quote day))
>> (org-agenda-start-with-log-mode t) (org-agenda-overriding-header "Today's 
>> Agenda  + Prio A todos "))) (alltodo "todos Prio A+B"
>> ((org-agenda-skip-function (lambda nil (or (org-agenda-skip-entry-if ... 
>> "\\=.*\\[#A\\|#B\\]") (org-agenda-skip-entry-if ... ...)))
>> ((org-agenda-sorting-strategy (quote (time-up priority-down 
>> todo-state-up))
>>  eval((org-agenda-run-series "agenda - no (!) todos - sorted prio up - 1 
>> day" (quote (((agenda "prio ABC agenda" ((org-agenda-span (quote
>> day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header 
>> "Today's Agenda  + Prio A todos "))) (alltodo "todos Prio A+B"
>> ((org-agenda-skip-function (lambda nil ...) 
>> ((org-agenda-sorting-strategy (quote (time-up priority-down 
>> todo-state-up
>>  (let nil (eval org-agenda-redo-command))
>>  eval((let nil (eval org-agenda-redo-command)))
>>  org-let(nil (eval org-agenda-redo-command))
>>  org-agenda-redo()
>>  org-agenda-clockreport-mode(nil)
>>  call-interactively(org-agenda-clockreport-mode)
>>  org-agenda-view-mode-dispatch()
>>  call-interactively(org-agenda-view-mode-dispatch nil nil)
>>
>> I do not use babel at all.
>>
>> regards,
>>
>> Rainer
> 
> Works for me. May be you need to provide minimal setup with which this
> can be reproduced.
> 
> Org-mode version 7.8.08 (release_7.8.07.219.gf1887)
> GNU Emacs 24.0.93.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
>  of 2012-02-14 on noman
> 
> Thanks and Regards
> Noorul
> 
> 




Re: [O] Inverse matching with '/' in agenda view?

2012-04-19 Thread James Harkins
At Thu, 19 Apr 2012 07:16:34 -0400,
Bernt Hansen wrote:
> / - TAB Docs RET

Oh, that's great. I missed that one.

Thanks!
James


--
James Harkins /// dewdrop world
jamshar...@dewdrop-world.net
http://www.dewdrop-world.net

"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal."  -- Whitman

blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks



Re: [O] [bug] Remote durations are considered as fractions

2012-04-19 Thread Sebastien Vauban
Hi Bastien,

Bastien wrote:
> "Sebastien Vauban"  writes:
>
>> Using the flag T does not help:
>>
>> | Planning  | 00:00:03 |
>> | Reporting | 00:00:09 |
>> #+TBLFM: @1$2=remote(hours-spent,@4$4);T
>
> This should work as expected now (with the "T" flag.)

I confirm this is now working as expected for both the "T" and the "t" flags:

- Using the flag T:

  | Planning  | 03:36:00 |
  | Reporting | 09:03:00 |
  #+TBLFM: @1$2=remote(hours-spent,@4$3);T::@2$2=remote(hours-spent,@8$3);T

- Using the flag t:

  | Planning  | 3.60 |
  | Reporting | 9.05 |
  #+TBLFM: @1$2=remote(hours-spent,@4$3);t::@2$2=remote(hours-spent,@8$3);t

Thanks!

BTW, *could we limit the format of "T" to H:MM*, instead of H:MM:SS? The first
case seems much more common, and the one used in all time clocking functions
of Org.

> Note that the conversion of 3:12 into 1:4 is independant of getting the
> remote references right when they are durations.
>
> | Test | 3:12 |
> |  |  1:4 |
> #+TBLFM: @2$2=@1$2
>
> Thanks for reporting this!

Wasn't aware of that. Thanks for mentioning.

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] [PATCH] Add info when reference to remote table is not in the file

2012-04-19 Thread Sebastien Vauban
Hi Bastien,

Bastien wrote:
> "Sebastien Vauban"  writes:
>
>>> (I don't like using sit-for, it's often worse than getting an error...)
>>
>> I don't like it that much either, but, here, it's the only way to see the
>> message before being flooded by the "Finding ID location..." messages.
>
> You can also go back to the *Messages* buffer and check from there.
>
> Maybe another option is to silent `org-id-update-id-locations' when
> called from `org-id-find'?  Does the attached patch against master
> improves the situation for you?
>
> Thanks,
>
> diff --git a/lisp/org-id.el b/lisp/org-id.el
> index 55e826f..c2b3d86 100644
> --- a/lisp/org-id.el
> +++ b/lisp/org-id.el
> @@ -273,7 +273,7 @@ With optional argument MARKERP, return the position as a 
> new marker."
>  (when file
>(setq where (org-id-find-id-in-file id file markerp)))
>  (unless where
> -  (org-id-update-id-locations)
> +  (org-id-update-id-locations nil t)
>(setq file (org-id-find-id-file id))
>(when file
>   (setq where (org-id-find-id-in-file id file markerp
> @@ -403,7 +403,7 @@ and time is the usual three-integer representation of 
> time."
>  
>  ;; Storing ID locations (files)
>  
> -(defun org-id-update-id-locations (&optional files)
> +(defun org-id-update-id-locations (&optional files silent)
>"Scan relevant files for IDs.
>  Store the relation between files and corresponding IDs.
>  This will scan all agenda files, all associated archives, and all
> @@ -441,8 +441,9 @@ When CHECK is given, prepare detailed information about 
> duplicate IDs."
>   (setq files (delq 'agenda-archives (copy-sequence files
>(setq nfiles (length files))
>(while (setq file (pop files))
> - (message "Finding ID locations (%d/%d files): %s"
> -  (- nfiles (length files)) nfiles file)
> + (unless silent
> +   (message "Finding ID locations (%d/%d files): %s"
> +(- nfiles (length files)) nfiles file))
>   (setq tfile (file-truename file))
>   (when (and (file-exists-p file) (not (member tfile seen)))
> (push tfile seen)

In all cases, this is already an improvement. So, I would definitely check
this in. Thanks.

Now, regarding the flood of messages, and the 1 second wait, it still may be
useful for my case (where vc-backend messages are displayed) as you can see:

--8<---cut here---start->8---
Reference `hours-spent' is not found in the current file
(1 second wait)
Running svn --non-interactive status -v columnview-estimates-ranges-bak.txt in 
foreground...
Running svn --non-interactive status -v 
columnview-estimates-ranges-bak.txt...OK = 0
Running svn --non-interactive status -v columnview-reporting-remaining-work.txt 
in foreground...
Running svn --non-interactive status -v 
columnview-reporting-remaining-work.txt...OK = 0
Running svn --non-interactive status -v org-quotes.org in foreground...
Running svn --non-interactive status -v org-quotes.org...OK = 0
OVERVIEW
Running svn --non-interactive status -v org-issues.org in foreground...
Running svn --non-interactive status -v org-issues.org...OK = 0
Duplicate ID "mid:i929ov%24dpe%241%40dough%2Egmane%2Eorg", also in file 
c:/home/sva/src/worg/org-issues.org
Duplicate ID "mid:4C90E885%2E7010409%40sift%2Einfo", also in file 
c:/home/sva/src/worg/org-issues.org
OVERVIEW
Running svn --non-interactive status -v org-glossary.org in foreground...
Running svn --non-interactive status -v org-glossary.org...OK = 0
Running svn --non-interactive status -v org-faq.org in foreground...
Running svn --non-interactive status -v org-faq.org...OK = 0
OVERVIEW
Running svn --non-interactive status -v org-devel.org in foreground...
Running svn --non-interactive status -v org-devel.org...OK = 0
Running svn --non-interactive status -v org-blog-articles.org in foreground...
Running svn --non-interactive status -v org-blog-articles.org...OK = 0
OVERVIEW
Running svn --non-interactive status -v index.org in foreground...
Running svn --non-interactive status -v index.org...OK = 0
Running svn --non-interactive status -v org-column-view.txt in foreground...
Running svn --non-interactive status -v org-column-view.txt...OK = 0
Running svn --non-interactive status -v columnview.txt in foreground...
Running svn --non-interactive status -v columnview.txt...OK = 0
Running svn --non-interactive status -v columnview-estimates-ranges.txt in 
foreground...
Running svn --non-interactive status -v columnview-estimates-ranges.txt...OK = 0
Running svn --non-interactive status -v 
Proposal-Writing-with-Dynamic-Blocks.txt in foreground...
Running svn --non-interactive status -v 
Proposal-Writing-with-Dynamic-Blocks.txt...OK = 0
Running svn --non-interactive status -v stumpwm.txt in foreground...
Running svn --non-interactive status -v stumpwm.txt...OK = 0
--8<---cut here---end--->8---

But I think the above patch is good enough for the whole community. Let'

Re: [O] Inverse matching with '/' in agenda view?

2012-04-19 Thread Gustav Wikström
Hi!

I'd like to follow this up with a feature request on inverse matching on
'<', since the inverse of the tag-matching was resolved so fast ;)

It would be neat to be able to hide categories in the agenda as well.

Kind regards
Gustav

On Thu, Apr 19, 2012 at 2:57 PM, James Harkins  wrote:

> At Thu, 19 Apr 2012 07:16:34 -0400,
> Bernt Hansen wrote:
> > / - TAB Docs RET
>
> Oh, that's great. I missed that one.
>
> Thanks!
> James
>
>
> --
> James Harkins /// dewdrop world
> jamshar...@dewdrop-world.net
> http://www.dewdrop-world.net
>
> "Come said the Muse,
> Sing me a song no poet has yet chanted,
> Sing me the universal."  -- Whitman
>
> blog: http://www.dewdrop-world.net/words
> audio clips: http://www.dewdrop-world.net/audio
> more audio: http://soundcloud.com/dewdrop_world/tracks
>
>


Re: [O] [PATCH] Add info when reference to remote table is not in the file

2012-04-19 Thread Sebastien Vauban
Hi Bastien,

"Sebastien Vauban" wrote:
>> You can also go back to the *Messages* buffer and check from there.
>>
>> Maybe another option is to silent `org-id-update-id-locations' when called
>> from `org-id-find'? Does the attached patch against master improves the
>> situation for you?
>
> In all cases, this is already an improvement. So, I would definitely check
> this in. Thanks.

That said, I still find we should be able to refer to tables names whose
TBLNAME keyword could be spelled both:

- in downcase version (#+tblname: abc) and
- in uppercase version (#+TBLNAME: xyz).

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] Inverse matching with '/' in agenda view?

2012-04-19 Thread Michael Brand
Hi Gustav

2012/4/19 Gustav Wikström :
> I'd like to follow this up with a feature request on inverse matching on
> '<', since the inverse of the tag-matching was resolved so fast ;)
>
> It would be neat to be able to hide categories in the agenda as well.

Is a resolve in the past enough fast? ;-)

commit bfe8ec1fceaee2d9c5bdf88c574720bebf2e7f7a
Author: Bastien Guerry 
Date:   Tue Apr 10 22:25:53 2012 +0200

org-agenda.el: Fix inconsistency in `org-agenda-filter-apply' for
category filters.

* org-agenda.el (org-agenda-filter-make-matcher)
(org-agenda-filter-apply): Allow filtering entries out by
category.  Using `C-u <' from the agenda view will redisplay
the agenda without entries from categories of the current
line.

Thanks to John Wiegley for pointing this out.

Michael



[O] [ODT] Internal Link disparear

2012-04-19 Thread Michaël Parienti

Hi,

I am coming into a curious bug. I don’t know if it an orgmode one or an
libreoffice one.

When a export-as-odt the simple org file attached to this mail, and
open the odt file, I obtain an odt file very «unstable»: As soon as copy
and paste any text into the file, the link called "link" just
disappear. (sometime it disappears when I’m doing some else, as a pdf
export for example)

If I configure LibreOffice to display the «Field Name», the name of the
link is still here, OrgXref.tag, but not the link itself.

It’s the first time I was using internal link into a odt org-exported
file.

Thanks in advance for you help.



Emacs version: "GNU Emacs 24.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version
3.2.3) of 2012-04-10 on zelenka, modified by Debian"

Org-version: Org-mode version 7.8.06 (from debian packaging)

LibreOffice Version: 3.5.2-4 (from debian packaging)



-- 
Michaël Parienti
gpg:D4C8 F73D A000 71C7 44EF  27E6 8982 4991 7126 3CE3


foobar.org
Description: Binary data


Re: [O] Inverse matching with '/' in agenda view?

2012-04-19 Thread Sebastien Vauban
Hi Gustav,

Gustav Wikström wrote:
> I'd like to follow this up with a feature request on inverse matching on
> '<', since the inverse of the tag-matching was resolved so fast ;)
>
> It would be neat to be able to hide categories in the agenda as well.

C-u <

Best regards,
  Seb

-- 
Sebastien Vauban




[O] i want to subscribe

2012-04-19 Thread frank
hello, respectable orgmode team ,
thank you 



Re: [O] [PATCH] Add info when reference to remote table is not in the file

2012-04-19 Thread Nicolas Goaziou


Hello,

"Sebastien Vauban"
 writes:

> That said, I still find we should be able to refer to tables names whose
> TBLNAME keyword could be spelled both:
>
> - in downcase version (#+tblname: abc) and
> - in uppercase version (#+TBLNAME: xyz).

More importantly, we should also be able to refer to a table name
through the future-proof #+NAME: keyword, if possible.


Regards,

-- 
Nicolas Goaziou




Re: [O] Fast linking to files in private git repos through a hyperlink

2012-04-19 Thread Karl Voit
* Dov Grobgeld  wrote:
>
> I thought I would share the following hack that I did with git.
>
> In my org-mode notebook I often find myself references files that reside in
> various private git repos. So far I have referenced these either by just
> writing their name or giving a full path. But giving the full path is
> disruptive and if the repo moves it will no longer work. So I added a hack
> to make the following hyperlink work git:myrepo::myfile . When opening it
> the following happens:
>
> - myrepo is looked up in the emacs hash my-git-repos and mapped to the path
> of a git repo root.
> - git-find-file-in-repo searches for the the file myfile in the the repo
> repo

Cool hack! :-)

You might be interested in looking at the git-module of Memacs[1].
It puts your commits into your Agenda if you want. And for this
purpose it already holds a list of your local repositories. But this
list is generated using shell scripts - Sorry no ELISP here.

I do think both solutions could go well together ...

  1. https://github.com/novoid/Memacs
-- 
Karl Voit




Re: [O] HTML slides

2012-04-19 Thread Dov Grobgeld
There is also https://github.com/dov/org-slidy , which I wrote since I like
to be able to scroll my slides which S5 does not allow. It would be even
cooler to create a package for creating HTML5 slideshows straight from
org-mode, e.g. like http://slides.html5rocks.com/#table-of-contents or
http://imakewebthings.com/deck.js .

Regards,
Dov

On Thu, Apr 19, 2012 at 10:13, BernardH <
gmane.emacs.orgm...@bernard-hugueney.org> wrote:

> Hi,
>
> First and foremost, thank you for making such a great emacs mode !
> Whatever I'm doing with orgmode (and I do as much as possible in orgmode
> !), it
> is always a joy.
>
> Recently, i've been switching to orgmode for my presentations.
> I'm a happy user of [[https://github.com/eschulte/org-S5][org-S5]] but I
> just
> stumbled upon
> [[https://github.com/relevance/org-html-slideshow][org-html-slideshow]].
> I have the utmost respect for their respective authors (of org-S5 for
> obvious reasons, of org-html-slideshow for Clojure contributions) and
> now I have a hard time deciding which one to choose.
>
> Does anyone have experience with any / both of them ?
> How would you make the choice ?
>
> Thanks for any advice !
>
> Best Regards,
>
> Bernard
>
>
>
>


Re: [O] [PATCH] Separate file time from its tasks times

2012-04-19 Thread Sebastien Vauban
Hi Bastien,

Bastien wrote:
> "Sebastien Vauban"  writes:
>
>> This can be best understood with an [updated] example...
>
> I've been thinking about this again and I made up my mind with a clearer
> argument.
>
>> Before:
>>
>>   #+BEGIN: clocktable :maxlevel 4 :scope ("file-tom.org" "file-ann.org") 
>> :block 2012-04
>>   Clock summary at [2012-04-19 Thu 17:02], for April 2012.
>>
>>   | File | Headline  |  Time |  |
>>   |--+---+---+--|
>>   |  | ALL Total time| 14:51 |  |
>>   |--+---+---+--|
>>   | file-tom.org | File time |  7:41 |  |
>>   |  | Planning  |  3:17 |  |
>>   |  | TODO Arrange meetings |   | 0:34 |
>>   |  | TODO List skills required |   | 1:27 |
>>   |  | TODO Organize interviews  |   | 1:16 |
>>   |  | Reporting |  4:24 |  |
>>   |  | TODO Make report  |   | 1:57 |
>>   |  | TODO Present report   |   | 2:27 |
>>   |--+---+---+--|
>>   | file-ann.org | File time |  7:10 |  |
>>   |  | Analyzing |  3:47 |  |
>>   |  | TODO Analyze investment risks |   | 2:28 |
>>   |  | TODO Perform QC   |   | 1:19 |
>>   |  | Testing   |  3:23 |  |
>>   |  | TODO Testing A side   |   | 2:17 |
>>   |  | TODO Testing B side   |   | 1:06 |
>>   #+END:
>>
>> Now:
>>
>>   #+BEGIN: clocktable :maxlevel 4 :scope ("file-tom.org" "file-ann.org") 
>> :block 2012-04
>>   Clock summary at [2012-04-19 Thu 17:00], for April 2012.
>>
>>   | File | Headline  | Time  |  |  |
>>   |--+---+---+--+--|
>>   |  | ALL Total time| 14:51 |  |  |
>>   |--+---+---+--+--|
>>   | file-tom.org | File time | 7:41  |  |  |
>>   |  | Planning  |   | 3:17 |  |
>>   |  | TODO Arrange meetings |   |  | 0:34 |
>>   |  | TODO List skills required |   |  | 1:27 |
>>   |  | TODO Organize interviews  |   |  | 1:16 |
>>   |  | Reporting |   | 4:24 |  |
>>   |  | TODO Make report  |   |  | 1:57 |
>>   |  | TODO Present report   |   |  | 2:27 |
>>   |--+---+---+--+--|
>>   | file-ann.org | File time | 7:10  |  |  |
>>   |  | Analyzing |   | 3:47 |  |
>>   |  | TODO Analyze investment risks |   |  | 2:28 |
>>   |  | TODO Perform QC   |   |  | 1:19 |
>>   |  | Testing   |   | 3:23 |  |
>>   |  | TODO Testing A side   |   |  | 2:17 |
>>   |  | TODO Testing B side   |   |  | 1:06 |
>>   #+END:
>
> If we go for the second solution, the next step would be to put the "ALL
> Total time" into a different column than the "File time"...

That could be an option, yes[1].

> because it can look illogical to have both in the same column, for the same
> reasons it can look illogical to have a file's tasks times in the same
> column than the "File time" itself.

No; it is totally different. Thanks to the *separator hline*, you clearly see
the compartments (showing that times are not on the same level), and the "ALL
Total time" stands out, alone on its own.

> So I'd rather stick to the current behavior, which I find more readable in
> the sense that it adds less columns. I hope you can explain this to your
> collaborators :)

Please take a look at the following image:

  http://i.imgur.com/0dfsl.png

where you can easily compare the readability of the tables (before and after),
both in the Org buffer, and as exported PDF document.

The goal of the above is to be able to output nice bills directly from Org.
I've not yet finished but will share my output once to the point (in a couple
of days or weeks).

The above is a basecamp for reaching that goal, together with the ability to
extract the grand total time from the dynamic block[2], to be multiplied by an
hourly rate for displaying the price to be paid by the client... (not only for
collaborators!).

Best regards,
  Seb

Footnotes:

[1] I'm open to rewrite a patch with an option for separating the "ALL Total
time" from the "File times".

[2] 

Re: [O] [Sticky Agenda] How to create Agenda Buffers in functions

2012-04-19 Thread Sebastien Vauban
Hi Max,

Max Mikhanosha wrote:
> Sven Bretfeld wrote:
>> The Sticky Agenda is something I have been waiting for since a long
>> time. Thank you very much!

Let me thank you for the sticky agenda as well. I can't say I'm using multiple
agendas in parallel -- while I'll surely make more use of it --, but the fact
that the agenda view comes almost instataneously is really great!

>> I want to write a function that creates a new frame with several
>> windows, each displaying a different Agenda Views. I fail to find a
>> function that creates special agenda views. Formerly I used
>> org-batch-agenda for similar purposes. But that doesn't work in the
>> sticky branch. This is what I have:
>> 
>> (defun my-gtd-frame ()
>>   (interactive)
>>   (save-excursion)
>>   (make-frame '(
>>  (name  . "gtd")
>>  (active-alpha  . 0.75)
>>  (inactive-alpha. 0.8)
>>  (top   . 110) 
>>  (left  . 2000) 
>>  (width . 80) 
>>  (height. 40)
>>  (font . 
>> "-Adobe-Courier-Medium-R-Normal--18-180-75-75-M-110-ISO8859-1")))
>>   (select-frame-by-name "gtd")
>>   (toggle-fullscreen)
>>   (org-agenda-goto-today)
>>   (delete-other-windows)
>>   (split-window-horizontally)
>>   (other-window 1)
>>   (org-batch-agenda "OFFICE/NEXT")
>> )
>
> This is the same bug as Martyn Jago reported earlier, basically I
> forgot that separate org agenda commands can be run individually
> rather then through (org-agenda) function.
>
> A temporary workaround in your specific case would be to wrap
> (org-batch-agenda) call like this:
>
> (catch 'exit
>   (org-batch-agenda "OFFICE/NEXT"))
>
> I tested it and it seems to work.. The actual fix for the bug will be
> similar and will be wrapping bodies of (org-todo-list) (org-tags-list)
> and friends with (catch 'exit), but it needs to be done conditionally
> as to only do it its called individually and not from (org-agenda)

I tried the updated version of Sven:

#+begin_src emacs-lisp
  (defun my-gtd-frame ()
(interactive)
(save-excursion)
(make-frame '(
   (name  . "gtd")
   (active-alpha  . 0.75)
   (inactive-alpha. 0.8)
   (top   . 20)
   (left  . 20)
   (width . 80)
   (height. 40)))
(select-frame-by-name "gtd")
(org-agenda-goto-today)
(delete-other-windows)
(split-window-horizontally)
(other-window 1)
(catch 'exit
  (org-batch-agenda "work")))
#+end_src

But I get the following error:

--8<---cut here---start->8---
Debugger entered--Lisp error: (error "Not allowed in nil-type agenda buffers")
  signal(error ("Not allowed in nil-type agenda buffers"))
  error("Not allowed in %s-type agenda buffers" nil)
  (if error (error "Not allowed in %s-type agenda buffers" org-agenda-type) nil)
  (if (memq org-agenda-type types) t (if error (error "Not allowed in %s-type 
agenda buffers" org-agenda-type) nil))
  org-agenda-check-type(t timeline agenda)
  org-agenda-goto-today()
  my-gtd-frame()
  call-interactively(my-gtd-frame)
  (let* ((command (helm-comp-read "M-x " obarray :test (quote commandp) 
:requires-pattern helm-M-x-requires-pattern :name "Emacs Commands" :buffer 
"*helm M-x*" :persistent-action (quote pers-help) :persistent-help "Describe 
this command" :history history :must-match t :candidates-in-buffer t 
:fc-transformer (quote helm-M-x-transformer))) (sym-com (intern command))) 
(unless current-prefix-arg (setq current-prefix-arg helm-current-prefix-arg)) 
(setq this-command sym-com) (call-interactively sym-com) (setq 
extended-command-history (cons command (delete command history
  (progn (fset (quote pers-help) (function* (lambda (candidate) (block 
pers-help (let ((hbuf ...)) (if (and in-help ...) (progn ... ...) 
(set-window-dedicated-p ... nil) (describe-function ...) (message nil) (setq 
in-help t)) (setq help-cand candidate)) (let* ((command (helm-comp-read 
"M-x " obarray :test (quote commandp) :requires-pattern 
helm-M-x-requires-pattern :name "Emacs Commands" :buffer "*helm M-x*" 
:persistent-action (quote pers-help) :persistent-help "Describe this command" 
:history history :must-match t :candidates-in-buffer t :fc-transformer (quote 
helm-M-x-transformer))) (sym-com (intern command))) (unless current-prefix-arg 
(setq current-prefix-arg helm-current-prefix-arg)) (setq this-command sym-com) 
(call-interactively sym-com) (setq extended-command-history (cons command 
(delete command history)
  (unwind-protect (progn (fset (quote pers-help) (function* (lambda (candidate) 
(block pers-help (let (...) (if ... ... ... ... ... ...) (setq help-cand 
candidate)) (let* ((command (helm-comp-read "M-x " obarray :test (quote 
commandp) :requires-pattern helm-M-x-requires-pattern :name "Emacs Commands" 
:buffer

Re: [O] org-protocol-capture and chrome

2012-04-19 Thread Harri Kiiskinen
From: Richard Riley 
Subject: Re: [O] org-protocol-capture and chrome
Date: Tue, 17 Apr 2012 12:06:32 +0200

> Richard Riley  writes:
> 
>> Could someone please post a working setup (browser bookmark url and
>> template) for org-protocol-capture to correctly get triggered from a
>> Google Chrome bookmark link in order to store the current url. Googling
>> shows some conflicting views : some with removing calls to encodeURI and
>> others hacking xdg-open.

Hi,

I just spent some time in trying to set this up last weekend. In
short, on linux, it does not work by default, as Chrome insists on
using the OS to open the link, more specifically gvfs-open. This
program, on the other hand, has a long-standing bug which makes it
unable to handle encoded URI's. If the URI is fed to it unencoded,
then org-protocol is not able to separate the different parts of the
argument as it uses internally '/' as separator.

I posted last week-end a patch to this list which adds a variable to
org-protocol to use a custom separator. In this case, the URI in
Chrome does not need to be encoded, and gvfs-open won't choke on it. I
found that a separator like '|||' works perfectly. With this patch,
the wiki examples work well, just leave out the
encodeRUIComponent-part.

It feels stupid to add a custom variable just to circumvent this
problem, but the bug in gvfs-open was first reported in something like
2006 and still isn't fixed, so I guess it may not be something to hold
one's breath on.

The format of the patch was probably not correct as I have no idea
whether it made it anywhere from this list, but should be found in the
archives around April 14th.

Best,

Harri K.



Re: [O] Question about adding to inherited properties

2012-04-19 Thread Bill Wishon
First, let me say that I'm only a novice elisp hacker...  That said after
spending some time debugging I think there may be a disconnect between the
example in the org-manual and the function org-entry-get-with-inheritance.
The manual shows an example in section 7.1 where a GENRES+ adds to a GENRES
property statement in a parent heading.   But the docs and code in the
org-entry-get-with-inheritance function seem to implement a model that only
looks up the outline if you don't find anything on the current heading,
even if it's a "+" property.

(defun org-entry-get-with-inheritance (property &optional literal-nil)
  "Get entry property, and search higher levels if not present.
The search will stop at the first ancestor which has the property defined.
If the value found is \"nil\", return nil to show that the property
should be considered as undefined (this is the meaning of nil here).
However, if LITERAL-NIL is set, return the string value \"nil\" instead."
  (move-marker org-entry-property-inherited-from nil)
  (let (tmp)
(unless (org-before-first-heading-p)
  (save-excursion
(save-restriction
  (widen)
  (catch 'ex
(while t
  (when (setq tmp (org-entry-get nil property nil 'literal-nil))

>>> In my previous example when we get here org-entry-get returns the value
of the property GENRES which is "Baroque" and executes the following three
functions including the throw, which stops the loop.
>>> Based on the documentation I would think that this function should
check to see if the current property is a "GENRES+" vs. a "GENRES" property
and continue up the outline looking for more GENRES+ properties and only
stop when we find a plain GENRES or reach the top.  This looks like what
the (org-up-heading-safe) below is trying to do, but never gets executed
because org-entry-get returned a positive value of "Baroque" when searching
for GENRES on the current entry.

(org-back-to-heading t)
(move-marker org-entry-property-inherited-from (point))
(throw 'ex tmp))
  (or (org-up-heading-safe) (throw 'ex nil)))
(setq tmp (or tmp
  (cdr (assoc property org-file-properties))
  (cdr (assoc property org-global-properties))
  (cdr (assoc property org-global-properties-fixed
(if literal-nil tmp (org-not-nil tmp

Thoughts?

~>Bill

On Wed, Apr 18, 2012 at 4:05 PM, Bill Wishon  wrote:

> Hi Org-mode Community,
>
> I can't get the example in section 7.1 of the org-mode manual to work as I
> expect.  Perhaps someone can help me see what I'm doing wrong.
>
> I tried creating this buffer:
>
> * CD collection
> ** Classic
>  :PROPERTIES:
>  :GENRES: Classic
>  :END:
> *** Goldberg Variations
>  :PROPERTIES:
>  :Title:Goldberg Variations
>  :Composer: J.S. Bach
>  :Artist:   Glen Gould
>  :Publisher: Deutsche Grammophon
>  :NDisks:   1
>  :GENRES+:   Baroque
>  :END:
>
> Then I set the org-use-property-inheritance variable to include GENRES.
>
> Then I wrote the following function
>
> (defun bill-test (property)
>   "print all inheirited properties"
>   (interactive "MProperty: ")
>   (message (concat property " = " (org-entry-get (point) property t
>
> Which prints "GENRES = Baroque" when I run it with the point on Goldberg
> Variations, based on the manual I expected this to print "GENRES = Classic
> Baroque”.
>
> While I think they should all do the same thing, I also tried the
> following ways of calling org-entry-get just in case all with the same
> result.
> (org-entry-get (point) property 'selective)
> (org-entry-get nil property t)
> (org-entry-get nil property 'selective)
>
> I'm using org-version 7.8.09 on Windows with emacs "GNU Emacs 23.3.1
> (i386-mingw-nt6.1.7601) of 2011-03-10 on 3249CTO".
>
> Any pointers about what I'm doing wrong would be great.
>
> Thanks,
> ~>Bill
>


Re: [O] org-protocol-capture and chrome

2012-04-19 Thread Bernt Hansen
Harri Kiiskinen  writes:

> The format of the patch was probably not correct as I have no idea
> whether it made it anywhere from this list, but should be found in the
> archives around April 14th.

It's sitting on the patchwork server waiting to be dealt with.

http://patchwork.newartisans.com/project/org-mode/list/

-Bernt



Re: [O] [Sticky Agenda] How to create Agenda Buffers in functions

2012-04-19 Thread Max Mikhanosha
At Thu, 19 Apr 2012 22:17:08 +0200,
Sebastien Vauban wrote:

> I tried the updated version of Sven:
> 
> #+begin_src emacs-lisp
>   (defun my-gtd-frame ()
> (interactive)
> (save-excursion)
> (make-frame '(
>(name  . "gtd")
>(active-alpha  . 0.75)
>(inactive-alpha. 0.8)
>(top   . 20)
>(left  . 20)
>(width . 80)
>(height. 40)))
> (select-frame-by-name "gtd")
> (org-agenda-goto-today)
> (delete-other-windows)
> (split-window-horizontally)
> (other-window 1)
> (catch 'exit
>   (org-batch-agenda "work")))
> #+end_src
> 
> But I get the following error:
> 
> --8<---cut here---start->8---
> Debugger entered--Lisp error: (error "Not allowed in nil-type agenda buffers")
>   signal(error ("Not allowed in nil-type agenda buffers"))
>   error("Not allowed in %s-type agenda buffers" nil)
>   (if error (error "Not allowed in %s-type agenda buffers" org-agenda-type) 
> nil)
>   (if (memq org-agenda-type types) t (if error (error "Not allowed in %s-type 
> agenda buffers" org-agenda-type) nil))
>   org-agenda-check-type(t timeline agenda)
>   org-agenda-goto-today()
>   my-gtd-frame()
>   call-interactively(my-gtd-frame)
>   ...
> Am I missing something?
> 

The call to (org-agenda-goto-today) is before it created the agenda, I
think it should be inside the catch, after the (org-batch-agenda) call.

Regards,
  Max



Re: [O] Question about adding to inherited properties

2012-04-19 Thread Nick Dokos
Bill Wishon  wrote:

> First, let me say that I'm only a novice elisp hacker...  That said
> after spending some time debugging I think there may be a disconnect
> between the example in the org-manual and the function
> org-entry-get-with-inheritance.  The manual shows an example in
> section 7.1 where a GENRES+ adds to a GENRES property statement in a
> parent heading.   But the docs and code in the
> org-entry-get-with-inheritance function seem to implement a model that
> only looks up the outline if you don't find anything on the current
> heading, even if it's a "+" property.

> (defun org-entry-get-with-inheritance (property &optional literal-nil)
>   "Get entry property, and search higher levels if not present.  The
> search will stop at the first ancestor which has the property defined.
> If the value found is \"nil\", return nil to show that the property
> should be considered as undefined (this is the meaning of nil here).
> However, if LITERAL-NIL is set, return the string value \"nil\"
> instead."

>   (move-marker org-entry-property-inherited-from nil)
>   (let (tmp)
>     (unless (org-before-first-heading-p)
>   (save-excursion
>     (save-restriction
>       (widen)
>       (catch 'ex
>         (while t
>       (when (setq tmp (org-entry-get nil property nil 'literal-nil))
> 

> >>> In my previous example when we get here org-entry-get returns the
> value of the property GENRES which is "Baroque" and executes the
> following three functions including the throw, which stops the loop.

> >>> Based on the documentation I would think that this function should
> check to see if the current property is a "GENRES+" vs. a "GENRES"
> property and continue up the outline looking for more GENRES+
> properties and only stop when we find a plain GENRES or reach the
> top.  This looks like what the (org-up-heading-safe) below is trying
> to do, but never gets executed because org-entry-get returned a
> positive value of "Baroque" when searching for GENRES on the current
> entry.

> 
>         (org-back-to-heading t)
>         (move-marker org-entry-property-inherited-from (point))
>         (throw 'ex tmp))
>       (or (org-up-heading-safe) (throw 'ex nil)))
>     (setq tmp (or tmp
>           (cdr (assoc property org-file-properties))
>           (cdr (assoc property org-global-properties))
>           (cdr (assoc property org-global-properties-fixed
>     (if literal-nil tmp (org-not-nil tmp
> 
> Thoughts?
> 

Eric Schulte (cc:ed) implemented accumulating properties with commit
3af89e696a32afcc39f2e3bdb6132ac588d530ae. The commit adds a function
org-update-property-plist which takes care of the '+' case in property
names. But as you observed, it does not seem to work. I don't really
understand what should be happening: what I do know is that when
org-entry-get calls the above function, the props parameter is nil,
whereas the function expects it to contain the inherited sestting. So it
may be that the function is expecting something that is not going to
happen or org-entry-get passes it the wrong thing somehow. I don't know which
one of these two is correct (or perhaps some other thing is wrong), but
in any case there does seem to be a disconnect.

Nick

> ~>Bill
> 
> On Wed, Apr 18, 2012 at 4:05 PM, Bill Wishon  wrote:
> 
> Hi Org-mode Community,
>
> I can't get the example in section 7.1 of the org-mode manual to work as 
> I expect.  Perhaps
> someone can help me see what I'm doing wrong. 
>
> I tried creating this buffer:
>
> * CD collection
> ** Classic
>  :PROPERTIES:
>  :GENRES: Classic
>  :END:
> *** Goldberg Variations
>  :PROPERTIES:
>  :Title:    Goldberg Variations
>  :Composer: J.S. Bach
>  :Artist:   Glen Gould
>  :Publisher: Deutsche Grammophon
>  :NDisks:   1
>  :GENRES+:   Baroque
>  :END:
>
> Then I set the org-use-property-inheritance variable to include GENRES.
>
> Then I wrote the following function
>
> (defun bill-test (property)
>   "print all inheirited properties"
>   (interactive "MProperty: ")
>   (message (concat property " = " (org-entry-get (point) property t
>
> Which prints "GENRES = Baroque" when I run it with the point on Goldberg 
> Variations, based on
> the manual I expected this to print "GENRES = Classic Baroque”.
>
> While I think they should all do the same thing, I also tried the 
> following ways of calling
> org-entry-get just in case all with the same result.
> (org-entry-get (point) property 'selective)
> (org-entry-get nil property t)
> (org-entry-get nil property 'selective)
>
> I'm using org-version 7.8.09 on Windows with emacs "GNU Emacs 23.3.1 
> (i386-mingw-nt6.1.7601) of
> 2011-03-10 on 3249CTO".
>
> Any pointers about what I'm doing wrong would be great.
>
> Thanks,
> ~>Bill
> 
> 
> 
> Al

Re: [O] Flexible plain list bullets

2012-04-19 Thread Mark E. Shoulson
I guess.  I spoke with someone on the IRC channel about this too, the 
basic idea being that the Org format should be stable, so the same file 
won't parse or behave differently on different installations.  There's 
something to be said for that, but there are a fair number of 
customizable options that conflict with that ideal already.  Some maybe 
should be there anyway, some might be better being made constants (or 
else reconsider my patch  :) ).  Examples:


 + org-emphasis-regexp-components and org-emphasis-alist are probably 
top candidates.  These affect the parsing of Org in a pretty basic way: 
if you can change what characters to use for emphasis, and worse, 
exactly how they extend (what characters can interfere, etc), it's 
probably at least as potentially disruptive as alternate bullets.  You 
might consider making these defconst instead of defcustom, if at all 
possible.


 + org-edit-src-region-extra is also a good example of exactly what 
you're saying shouldn't be there.  First code blocks came in different 
ad-hoc flavors like #+ascii or  or whatever.  Then the #+begin_src 
format came in order to unify them all and keep them from proliferating 
as new languages come up.  And so all of those are quite appropriately 
hardcoded, just as you say they should be, in the 
org-edit-src-find-region-and-lang function.  But that function also 
looks at org-edit-src-region-extra, which throws open exactly the same 
kind of problem you're objecting to.


 + org-drawers is a customization that affects structure and parsing.  
Notably it is also settable in-file, which anything like this really 
needs to be, so a file can carry its special needs with it.  This is 
actually probably a deeper structural change than bullets, but drawers 
can do great things, and so may be powerful enough to be worth it.


 + TODO keywords and the like also affect parsing and export and 
cursor-movement (about the same stuff bullets would) and are settable, 
but again are really important and useful.  The COMMENT keyword less 
critical, but since it's a word, it's only reasonable that people should 
be able to have it in the appropriate language for their file.


Which does bring up one point: it isn't fair to imply that customizable 
bullets would not be "pure plain text."  Apart from the fact that they 
might well be used to make pure ASCII bullets (characters like @ or ! 
seem like possibilities), the fact is that Unicode *IS* plain text, 
that's what it's for.  TODO keywords and such can and should be able to 
take on values that use non-ascii letters for users of other languages, 
and Org files written in Hindi or Hebrew remain "pure plain text".


(I wonder if it would matter if the customization could only ADD 
possibilities, like the org-edit-src-region-extra variable does, and not 
replace or take away the basic ones.)


~mark

On 04/19/2012 06:01 AM, Carsten Dominik wrote:

On Apr 19, 2012, at 11:40 AM, suvayu ali wrote:
I think this is very well put.  Org must remain parsable,
and all basic syntactic elements should be pure plain text
and not configurable.

- Carsten


However, Nicolas' suggestion about a minor mode to add overlays sounds
like a great idea to me.

--
Suvayu

Open source is the future. It sets us free.


- Carsten







Re: [O] Flexible plain list bullets

2012-04-19 Thread Jambunathan K
"Mark E. Shoulson"  writes:

> else reconsider my patch

Contributions to Org/Emacs requires copyright assignments.  Search for
FSF in the following page: http://orgmode.org/worg/org-contribute.html

I am wondering:

Why a overlay solution will not work for you?  Why do you need Unicode
characters right in the file.  Export engines can replace the ASCII
bullets with Unicode bullets.  

For the sake of argument, if the Org parser fails to parse and export a
non-canonical Org file will that upset you in anyways.

You need to offer a reason that goes beyond mere aesthetics to build a
much stronger case.

We should leave aside what is already there.  Your argument parallels
the below social situation. (Replace broken windows => Customizable
options, Vandalism => Feature creep)

Maintainers are trying to make sure that more customization aren't added
until a very strong case is made in support of them.

, http://en.wikipedia.org/wiki/Broken_windows_theory
| Consider a building with a few broken windows. If the windows are not
| repaired, the tendency is for vandals to break a few more
| windows. Eventually, they may even break into the building, and if
| it's unoccupied, perhaps become squatters or light fires inside. Or
| consider a sidewalk. Some litter accumulates. Soon, more litter
| accumulates. Eventually, people even start leaving bags of trash from
| take-out restaurants there or breaking into cars.
`

That said, it is just a customizable option.  People use Org for diverse
needs.  If one is willing to pay the penalty of having a non-standard
Org file - broken export being one - then she is well within her rights
to shoot herself in the foot.

Btw, your proposal has received 3 downvotes already and not even a
single upvote yet.
--