Feature request: Radio button option for lists of checkboxes

2019-11-03 Thread Phil Sainty
(Where "radio button" means that for a list of checkboxes, only
one may be selected at any given time -- selecting a different
checkbox automatically de-selects the previous one.)

Hello org-mode,

John Kitchin posted this blog a few years back:

http://kitchingroup.cheme.cmu.edu/blog/2015/10/05/A-checkbox-list-in-org-mode-with-one-value/

Subsequently Matúš Goljer adapted that code here:

https://github.com/Fuco1/org-radiobutton

I'm slow in following this up, but I contacted both John and Matúš
last year suggesting that this facility would make a nice addition
to the core org-mode features.  Both of them were happy for me to
submit the feature request, and both confirmed that they have
signed FSF copyright assignment, and so their code may be safely
adapted.  I have CC'd them both to this message.

Matúš's github project has subsequently merged a branch from one
other contributor, so I have pushed a fork which excludes that
particular change, as I am not aware of the copyright status for
that.  This FSF-safe fork is:

https://github.com/phil-s/org-radiobutton

(n.b. I've assigned FSF copyright for Emacs too, but none of the
code on this fork was written by me.)


John also independently made some later changes to his original
code, and the current version of that can be found here:

https://github.com/jkitchin/scimax/blob/740591268a868b4944193e0600bf71b6f2553f2b/scimax-org.el#L1426


Both implementations depend upon the dash library, so I expect
the relevant bits of code would need rewriting.  I suspect that a
standard implementation would be able to approach things a bit
differently in any case; but the existing code would surely
provide at minimum a valuable reference for a core implementation,
and I imagine at least some of the code could be used verbatim.

I'm not familiar with org-mode internals, so I've not attempted
to provide a patch for this, but I'm hoping there's enough here
that someone with existing knowledge could run with it, as it
seems like a nice feature to include.


-Phil



Re: exporting ics files with broken link

2019-11-03 Thread Thomas Plass
Hello,

Prof. Dr. Johanna May wrote at 23:46 on November 1, 2019:
: Any hints on how to repair that? Any hints in which file
: that strange link may sit?  And: how can I make sure my files stay
: exportable?

I guess an answer to the last question would be to set the variable
`org-export-with-broken-links' to either t (== ignore) or 'mark (==
export a [BROKEN LINK: path]).  Call up the Export section in the Org
Customization to do so.  This sould work in Org 9.

The exported .ics might give hints for answering the first two
questions.

Regards

Thomas



solved partly: exporting ics files with broken link

2019-11-03 Thread Prof. Dr. Johanna May


Hey there,

in the end I did find that link in my file. Probably I was using the
wrong search function (C-s) which did not show text inside links
whereas console grep did the job in the end. And then exporting via C-c c f 
exported one
file for me. 

Cheers,

J

Prof. Dr. Johanna May writes:

> Hey there,
>
> using https://orgmode.org/manual/iCalendar-export.html I wanted to
> export my agenda files. I tried exporting just one file, or combining
> the agenda files. But I always get an error message about an unresolved
> link to "selfhosted.libhunt.com". - This link is not in any of my agenda
> files or .org files. So it must be sitting somewhere else but I cannot
> find out where. Any hints on how to repair that? Any hints in which file
> that strange link may sit? And: how can I make sure my files stay
> exportable?
>
> Thanks,
>
> Cheers,
>
> J


-- 
Prof. Dr. Johanna May
Stellvertretende Institutsleiterin CIRE
Fakultät für Informations-, Medien- und Elektrotechnik (F07)
Institut für Elektrische Energietechnik (IET)
Cologne Institute for Renewable Energy (CIRE)
Lehrgebiete: Energieeffizienz und Grundlagen Elektrotechnik

T: +49 221-8275-2697
M: +49 174 891 9002
E: johanna@th-koeln.de

Technische Hochschule Köln
Campus Deutz
Betzdorfer Str. 2
50679 Köln
Raum: HW2-40

www.th-koeln.de



[PATCH] ox.el: Fix extra character deleted in org-export--update-included-link

2019-11-03 Thread Christoffer Stjernlöf
* ox.el (org-export--update-included-link): Fix bug.
(org-export--update-included-link): Delete region only until one less
than (org-element-property :end link).

The old behaviour meant that e.g. the following headline could fail to
parse correctly after inclusion:

[[file:something.org][Title]] :tags:following:immediately

because it would be converted to

[[file:path/to/something.org][Title]]:tags:following:immediately
where the whitespace was necessary for Org to understand that the tags
indeed were tags.

TINYCHANGE
---
 lisp/ox.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ox.el b/lisp/ox.el
index 5b4134ecc..6c1d1b455 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -3468,7 +3468,7 @@ Move point after the link."
(org-element-property :contents-end link)
(org-element-put-property new-link :path new-path)
(delete-region (org-element-property :begin link)
-  (org-element-property :end link))
+  (1- (org-element-property :end link)))
(insert (org-element-link-interpreter new-link contents))
 
 (defun org-export--prepare-file-contents
-- 


signature.asc
Description: PGP signature


Re: Continued lists

2019-11-03 Thread Fraga, Eric
Jarmo,

John has already given you some elisp code that can help.  The other
possibility could be to use the counter macro.

See the info manual: (org) Macro Replacement

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-552-g8c5a78



Re: included text

2019-11-03 Thread Fraga, Eric
I use macros generally for this.  For longer bits of text, I reword and,
instead of repeating the text inline, I use internal links.  These links
can be inserted automatically if you use radio targets/links.

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-552-g8c5a78



Re: How to move from inline tasks to drawers? [was: How to change the width of a latex exported inlinetask?]

2019-11-03 Thread Fraga, Eric
On Saturday,  2 Nov 2019 at 14:01, alain.coch...@unistra.fr wrote:
> You also said that you had "already moved to using drawers for a large
> number of [your] inline task use cases, the ones that weren't really
> tasks!".  Is this consistent with your "almost completely" above?
> This leads me to the question of what precisely _defines_ a "task";

Good question!  I guess, for me, a task is one that will appear in my
agenda so has a TODO state (possibly) and/or scheduling/deadline
information.  But the distinction is rather blurry.

So, in fact, when I am working on a long document, I have tasks of the
"must improve this section" type which are not tasks for scheduling (the
whole document is itself a task) or "notes" for processing later (by
myself or by others involved in the same document).  I use drawers for
these types of activities.  I then use the export formatting options to
make the pseudo-tasks and notes appear differently in the exported
output, whether for sharing or for printing/display.  So, for instance,
I look for ":todo:" and ":note:" drawers.

If the document I am working on is a coursework or test, I use drawers
for storing the solutions, e.g. a drawer called ":solution:"!  For this,
for instance, I have the following elisp in the document that is invoked
when I open the document:

#+begin_src emacs-lisp
  (setq-local org-latex-format-drawer-function
  (lambda (name contents)
(cond ((string= name "solution")
   (format "\\begin{mdframed}\\paragraph{Solution.} 
%s\\end{mdframed}" contents))
  (t (format "\\textbf{%s}: %s" name contents))
  )))
#+end_src 

together with

#+latex_header: \usepackage[backgroundcolor=yellow!10!white]{mdframed}

to make the solution stand out clearly.

The nice thing about drawers is I can turn them on or off for exporting
via the "d:" document option:

HTH,
eric

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-552-g8c5a78



Re: included text

2019-11-03 Thread Samuel Wales
can you give an example of using an internal link?  this would work
for me.  but i am not getting what you mean.

* text to be included
<>
* blog post 1
twinkle star [syntactic magic]

?

On 11/3/19, Fraga, Eric  wrote:
> I use macros generally for this.  For longer bits of text, I reword and,
> instead of repeating the text inline, I use internal links.  These links
> can be inserted automatically if you use radio targets/links.
>
> --
> Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-552-g8c5a78
>


-- 
The Kafka Pandemic

What is misopathy?
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html

The disease DOES progress. MANY people have died from it. And ANYBODY
can get it at any time.



Re: included text

2019-11-03 Thread Samuel Wales
ah, or do you mean you refer the reader to the text by a regular link
instaed of including?  that's not what i am lokoing for here as these
are separate posts.

On 11/3/19, Samuel Wales  wrote:
> can you give an example of using an internal link?  this would work
> for me.  but i am not getting what you mean.
>
> * text to be included
> <>
> * blog post 1
> twinkle star [syntactic magic]
>
> ?
>
> On 11/3/19, Fraga, Eric  wrote:
>> I use macros generally for this.  For longer bits of text, I reword and,
>> instead of repeating the text inline, I use internal links.  These links
>> can be inserted automatically if you use radio targets/links.
>>
>> --
>> Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-552-g8c5a78
>>
>
>
> --
> The Kafka Pandemic
>
> What is misopathy?
> https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html
>
> The disease DOES progress. MANY people have died from it. And ANYBODY
> can get it at any time.
>


-- 
The Kafka Pandemic

What is misopathy?
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html

The disease DOES progress. MANY people have died from it. And ANYBODY
can get it at any time.



latex preview parallel processes

2019-11-03 Thread Matt Huszagh
Hello. I have an org document with many latex snippets for which I use
the org latex preview facility. As the document has gotten bigger, any
changes requiring a rebuild of all images (e.g. changing
`org-format-latex-header') takes longer and longer to the point where
it now takes me over an hour to generate all images. Since all images
are mutually independent, I was wondering if it's possible to run
these tasks in parallel to make use of my multiple CPU cores. If this
is not currently possible, what would it take to get this working and
how could I help?

Thanks
Matt


lazyblorg (was: blogging wih org-mode)

2019-11-03 Thread Karl Voit
Hi Joseph,

* Joseph Vidal-Rosset  wrote:
>
> (I met  difficulties with lazyblorg, for example. I did not succeed to
> understand how it works.)

I wrote lazyblorg because I could not find any existing tool that,
for example, let me put blog entries wherever I want:
https://github.com/novoid/lazyblorg#why-lazyblorg

Of all published Org->blog methods, lazyblorg might have the fewest
number of users.

If my Readme failed to explain how it works, this needs to be my
fault. May I ask what your issues were?

-- 
get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode:
   > get Memacs from https://github.com/novoid/Memacs <
Personal Information Management > http://Karl-Voit.at/tags/pim/
Emacs-related > http://Karl-Voit.at/tags/emacs/




@name-tags instead of TODO keywords to assign people (was: Org mode for meeting minutes)

2019-11-03 Thread Karl Voit
* Christian Egli  wrote:
> 
> The idea is that you use type todos using the people involved at the
> meeting. Below is an example how this could look:
>
> ``` org
> #+title: Meeting minutes
>
> #+TYP_TODO: Fred Sara Lucy Mike | DONE

I'd challenge the decisions on using TODO keywords for people
although the Org manual also suggests to do so.

TODO keywords are single classification. This means that you are not
able to assign more than one person to a task. I'm using @tags for
the same purpose which allows me to assign tasks to more than one
person and keep TODO keywords independent to the person. For
example, when you resolve a task, you lose the information who was
assigned to the task.

Therefore, I'd use:

* Meeting

** TODO Prepare the demo :@Fred:
** STARTED Contact customer  :@Sara:
** TODO Work on the document :@Fred:@Lucy:@Mike:

More on that on
https://karl-voit.at/2019/09/25/categories-versus-tags/ including an
elisp snippet I'm using to filter according to @name-tags.

YMMV. HTH.

-- 
get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode:
   > get Memacs from https://github.com/novoid/Memacs <
Personal Information Management > http://Karl-Voit.at/tags/pim/
Emacs-related > http://Karl-Voit.at/tags/emacs/




Re: Dates with repeaters, times and range

2019-11-03 Thread Karl Voit
* Nathan Neff  wrote:
>
> I have a question that's probably FAQ material but I was wondering
> what the "best" way to do something like this would be:
>
> I have a meeting that's scheduled from 10:00 - 11:00 for the next three
> days.

org-clone-subtree-with-time-shift was already mentioned. Here is an
article that explains this in detail:
https://karl-voit.at/2017/01/15/org-clone-subtree-with-time-shift/

-- 
get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode:
   > get Memacs from https://github.com/novoid/Memacs <
Personal Information Management > http://Karl-Voit.at/tags/pim/
Emacs-related > http://Karl-Voit.at/tags/emacs/




Re: @name-tags instead of TODO keywords to assign people (was: Org mode for meeting minutes)

2019-11-03 Thread Tim Cross
+1. This is how I do it as well. This approach makes it easier to not
only see what tasks have been assigned to what people, it also provides
a way to generate a custom agenda (report) showing what tasks each has
and what the state is for each task.

Tim
Karl Voit  writes:

> * Christian Egli  wrote:
>> 
>> The idea is that you use type todos using the people involved at the
>> meeting. Below is an example how this could look:
>>
>> ``` org
>> #+title: Meeting minutes
>>
>> #+TYP_TODO: Fred Sara Lucy Mike | DONE
>
> I'd challenge the decisions on using TODO keywords for people
> although the Org manual also suggests to do so.
>
> TODO keywords are single classification. This means that you are not
> able to assign more than one person to a task. I'm using @tags for
> the same purpose which allows me to assign tasks to more than one
> person and keep TODO keywords independent to the person. For
> example, when you resolve a task, you lose the information who was
> assigned to the task.
>
> Therefore, I'd use:
>
> * Meeting
>
> ** TODO Prepare the demo :@Fred:
> ** STARTED Contact customer  :@Sara:
> ** TODO Work on the document :@Fred:@Lucy:@Mike:
>
> More on that on
> https://karl-voit.at/2019/09/25/categories-versus-tags/ including an
> elisp snippet I'm using to filter according to @name-tags.
>
> YMMV. HTH.


-- 
Tim Cross



":COOKIE_DATA: todo recursive" as elisp for everything

2019-11-03 Thread Karl Voit
Hi!

I plan to use the following property for all of my projects:

:COOKIE_DATA: todo recursive

You can find details on this about this on [3].

In order to get this behavior for all of my headings that are using
progress cookies, I'd prefer the possibility to define this in my
init.el instead of hundreds of scattered drawers.

On [1] I found the file-based method of "#+PROPERTY: COOKIE_DATA
recursive" which is a start but I still need to test it in order to
confirm that this is working with "todo" and "recursive".

I'm not an elisp expert but [2] doesn't seem to respect any elisp
variable that controls "todo recursive" as well.

Is there a way of defining this in my general setup?

Thanks!


[1]
https://lists.gnu.org/archive/html/emacs-orgmode/2009-05/msg00534.html

[2] https://github.com/bzg/org-mode/blob/master/lisp/org.el#L10389

[3] https://karl-voit.at/2019/11/03/org-projects/

-- 
get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode:
   > get Memacs from https://github.com/novoid/Memacs <
Personal Information Management > http://Karl-Voit.at/tags/pim/
Emacs-related > http://Karl-Voit.at/tags/emacs/




Re: Bug: ox-html report stringp nil and fails [N/A (N/A !!check installation!! @ /Users/stone/.emacs.d/elpa/org-20191027.1255/)]

2019-11-03 Thread Nicolas Goaziou
Hello,

jingnan si  writes:

> when do org-html-export-to-html, it fails with stringp, nil
> after toggole-debug-on-error, looks like the org-html-final-funciton
> failed with set-auto-mode t
>

I do not encounter this.

> Emacs  : GNU Emacs 26.3 (build 1, x86_64-apple-darwin18.2.0, NS
> appkit-1671.20 Version 10.14.3 (Build 18D109))
>  of 2019-09-02
> Package: Org mode version N/A (N/A !!check installation!! @

You may want to check your Org installation, according to the advice
above.

Regards,

-- 
Nicolas Goaziou



Re: Bug: javascript license not recognized by librejs [9.2.6 (9.2.6-elpa @ /home/arne/.guix-profile/share/emacs/site-lisp/guix.d/org-9.2.6/)]

2019-11-03 Thread Nicolas Goaziou
Hello,

Arne Babenhauserheide  writes:

> The javascript license notice by org-mode is not recognized by
> librejs.

Would you want to provide a patch for that?

Thank you.

Regards,

-- 
Nicolas Goaziou



Re: [PATCH] Respect buffer-local value of `org-edit-src-content-indentation'

2019-11-03 Thread Nicolas Goaziou
Hello,

Sebastian Miele  writes:

> Subject: [PATCH] Respect buffer-local value of
>  `org-edit-src-content-indentation'
>
> * lisp/org-src.el (org-src--contents-for-write-back): Use the
> potentially buffer-local value of `org-edit-src-content-indentation'
> from the source buffer instead of that from the editing buffer.

Thank you.

Would you mind explaining your use case?

Regards,

-- 
Nicolas Goaziou



Re: Bug: error: (invalid-function org-table-with-shrunk-field) [9.2.6 (9.2.6-4-ge30905-elpaplus @ /home/minshall/.emacs.d/elpa/org-plus-contrib-20191014/)]

2019-11-03 Thread Nicolas Goaziou
Hello,

Greg Minshall  writes:

> using elpa org-mode, with org-plus-contrib, typing a character, or
> deleting a character, in an existing column in a table gives the error
> : (invalid-function org-table-with-shrunk-field)
>
> to reproduce, first
> : (setq debug-on-error t)
>
> then, open a (presumably empty) file, foo.org, say, and type
> 
> | this | is | a | test |
> 
> then, at the end of the line, hit , and type, e.g., "t" (or
> ) and the error appears.

FWIW, I cannot reproduce it.

Regards,

-- 
Nicolas Goaziou



Re: [PATCH] Respect buffer-local value of `org-edit-src-content-indentation'

2019-11-03 Thread Sebastian Miele
Hi Nicolas,

Nicolas Goaziou  writes:

> Sebastian Miele  writes:
>
>> Subject: [PATCH] Respect buffer-local value of
>>  `org-edit-src-content-indentation'
>>
>> * lisp/org-src.el (org-src--contents-for-write-back): Use the
>> potentially buffer-local value of `org-edit-src-content-indentation'
>> from the source buffer instead of that from the editing buffer.
>
> Thank you.
>
> Would you mind explaining your use case?

The Org default of org-edit-src-content-indentation is 2. I like that
value and leave it that way. Worg's root .dir-locals sets it to 0
buffer-locally in at least many Worg's Org files. Hence, when I edit an
src block in a Worg file, the value of org-edit-src-content-indentation
in the edit buffer is 2. But the correct value in that case is 0.

Best wishes
Sebastian



Re: Bug: error: (invalid-function org-table-with-shrunk-field) [9.2.6 (9.2.6-4-ge30905-elpaplus @ /home/minshall/.emacs.d/elpa/org-plus-contrib-20191014/)]

2019-11-03 Thread Greg Minshall
Nicholas,

thanks for trying.  i am also unable to reproduce it.  i notice there
appears to be a new org-plus-contrib, and i suppose that might be a
factor.  (or, i messed up somehow.)  presumably, this is a dead bug.

in case it's *not* dead: i notice in my notes i had found this

https://emacs.stackexchange.com/questions/46923/orgmode-table-error-shrunk-field

that seemed to (10 months ago) describe my issue.

and, the stack trace was:

Debugger entered--Lisp error: (invalid-function org-table-with-shrunk-field)
  org-table-with-shrunk-field(nil)
  org-self-insert-command(1)
  funcall-interactively(org-self-insert-command 1)
  call-interactively(org-self-insert-command nil nil)
  command-execute(org-self-insert-command)


cheers, Greg