[O] Release 9.2

2018-12-27 Thread Bastien
Hi all,

Org 9.2 is out: https://orgmode.org

Below are the release notes.

I'm just the "release manager" here, all the kudos for this hard work
should go to Nicolas and the list of contributors.  Let's continue to
have fun by hacking this nice piece of software together!

Best,



Incompatible changes


Change in behavior on exit from an Org edit buffer
~~

  Org will no longer attempt to restore the window configuration in the
  frame to which the user returns after editing a source block with
  `org-edit-src-code'.  Instead, the window configuration will remain as
  it is.


Change default value for `org-email-link-description-format'


  When linking from a mail buffer, Org used to truncate the subject of
  the message to 30 characters in order to build the description of the
  link.  This behavior was considered as too surprising.  As a
  consequence, Org no longer truncates subjects.

  You can get the old behaviour back with the following:

  ,
  | (setq org-email-link-description-format "Email %c: %.30s")
  `


`:file' header argument no longer assume "file" `:results'
~~

  The "file" `:results' value is now mandatory for a code block
  returning a link to a file.  The `:file' or `:file-ext' header
  arguments no longer imply a "file" result is expected.


Plain numbers are hours in Column View mode
~~~

  See for details.


New features


Babel
~

Add LaTeX output support in PlantUML



New property `HTML_HEADLINE_CLASS' in HTML export
~

  The new property `HTML_HEADLINE_CLASS' assigns a class attribute to a
  headline.


Allow LaTeX attributes and captions for "table.el" tables
~

  Supported LaTeX attributes are `:float', `:center', `:font' and
  `:caption'.


Attach buffer contents to headline
~~

  With `' key from attachment dispatcher (`'), it is now
  possible to write the contents of a buffer to a file in the headline
  attachement directory.


iCalendar export respects a `CLASS' property


  Set the `CLASS' property on an entry to specify a visibility class for
  that entry only during iCalendar export. The property can be set to
  anything the calendar server supports. The iCalendar standard defines
  the values `PUBLIC', `CONFIDENTIAL', `PRIVATE', which can be
  interpreted as publicly visable, accessible to a specific group, and
  private respectively.

  This property can be inherited during iCalendar export, depending on
  the value of `org-use-property-inheritance'.


New parameter for `INCLUDE' keyword
~~~

  Add `:coding CODING-SYSTEM' to include files using a different coding
  system than the main Org document.  For example:

  ,
  | #+INCLUDE: "myfile.cmd" src cmd :coding cp850-dos
  `


New values in clock tables' step: `month' and `year'



ODT export handles numbers cookies in lists
~~~


New cell movement functions in tables
~

  `S-', `S-', `S-', and `S-' now move cells in
  the corresponding direction by swapping with the adjacent cell.


New functions
=

`org-table-cell-up'
~~~


`org-table-cell-down'
~


`org-table-cell-left'
~


`org-table-cell-right'
~~


Removed functions
=

`org-babel-set-current-result-hash'
~~~

  It was unused throughout the code base.


Miscellaneous
=

Org Table reads numbers starting with 0 as strings
~~

-- 
 Bastien




Re: [O] [Feature Request] Add an dispatcher command (keybinding) for inserting dynamic blocks

2018-12-27 Thread Nicolas Goaziou
Hello,

stardiviner  writes:

> The re-generated patch is in attachment.

Thank you!

> ---
>  doc/org-manual.org  |  9 ++---
>  etc/ORG-NEWS| 14 ++
>  lisp/org-clock.el   |  5 +
>  lisp/org-colview.el |  6 +-
>  lisp/org-keys.el|  6 ++
>  lisp/org.el | 46 +

You forgot to mark removed functions, e.g., `org-clock-report', as
obsolete in "org-compat.el".

>  Org supports /dynamic blocks/ in Org documents.  They are inserted
>  with begin and end markers like any other code block, but the contents
> -are updated automatically by a user function.  For example, {{{kbd(C-c
> -C-x C-r)}}} inserts a dynamic table that updates the work time (see
> -[[*Clocking Work Time]]).
> +are updated automatically by a user function.  You can use dispatch
> +command ~org-dynamic-block-insert-dispatch~, which is bind to
> +keybinding {{{kbd(C-c C-x i)}}} by default.

which is bound to {{{kbd(C-c C-x i)}}} by default.

Don't forget the #+kindex and #+findex entries above.

> +(defcustom org-dynamic-block-parameters nil
> +  "An alist of properties that defines all the Org dynamic blocks."

What is the key of the alist? The possible keywords for the plist? This
should appear in the docstring.

So far, only :function is supported. If there is no plan for extending
that, maybe a plain alist, e.g., ("type" . function) should suffice?
I.e., isn't mimicking `org-link-set-parameters' a bit too much? WDYT?

> +(defun org-dynamic-block-insert-dblock (dblock-type)
> +  "Select and insert an Org type dynamic block DBLOCK-TYPE.

Insert a dynamic block of type DBLOCK-TYPE.

> +This is a dispatching function which prompts for the type of
> +dynamic block to insert."

When used interactively, select the dynamic block types among defined
types, per `org-dynamic-block-set-parameters'.

Also, once we agree on the design, would you mind writing some tests?

Regards,

-- 
Nicolas Goaziou



Re: [O] Release 9.2

2018-12-27 Thread Josiah Schwab
> Below are the release notes.

These look like the in-progress notes for 9.3 rather than those
associated with 9.2.  The website (https://orgmode.org/Changes.html)
seems correct.

Josiah



[O] Bug: C-u M-x org-footnote-action sort deletes footnotes used in #+include:’d files [8.2.10 (release_8.2.10 @ /usr/share/emacs/25.3/lisp/org/)]

2018-12-27 Thread Arne Babenhauserheide


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 http://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org-mode mailing list.


When a file uses #+include: X.org to structure an org-file and the
included files use footnotes defined in the master file, export works
without problems, but sorting the footnotes by reference with
: C-u M-x org-footnote-action s
removes the footnotes used in the included files.

Tested with org-footnote-section set to nil to move footnotes to the end
of the section where they are used.

Expected: Either
- leave the footnotes only referenced in included files untouched, or
- move them into the included files, or
- move them to the end of the section where the referencing file is included.

My current workaround is to manually use M-x insert-file to temporarily
inline the files and then to call =C-u M-x org-footnote-action s= , but
that is not really satisfying.

Best wishes,
Arne


Emacs  : GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.16)
 of 2018-04-28
Package: Org-mode version 8.2.10 (release_8.2.10 @ 
/usr/share/emacs/25.3/lisp/org/)

current state:
==
(setq
 org-tab-first-hook '(org-hide-block-toggle-maybe 
org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe
  org-babel-header-arg-expand)
 outline-minor-mode-hook '(#[nil "\300\301!\207" [require outline-magic] 2]
   #[nil "\301\302!\210\303\304\305#\207"
 [outline-minor-mode-map require outline-magic 
define-key [(f10)] outline-cycle] 4]
   )
 org-latex-classes '(("copernicus_discussions"
  "\\documentclass{copernicus_discussions}\n
 [NO-DEFAULT-PACKAGES]\n [PACKAGES]\n [EXTRA]"
  ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" 
. "\\subsection*{%s}")
  ("\\subsubsection{%s}" . "\\subsubsection*{%s}") 
("\\paragraph{%s}" . "\\paragraph*{%s}")
  ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
 ("copernicus"
  "\\documentclass{copernicus}\n 
[NO-DEFAULT-PACKAGES]\n [PACKAGES]\n [EXTRA]"
  ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" 
"\\newpage" "\\subsection*{%s}" "\\newpage")
  ("\\subsubsection{%s}" . "\\subsubsection*{%s}") 
("\\paragraph{%s}" . "\\paragraph*{%s}")
  ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
 ("copernicus_discussions"
  "\\documentclass{copernicus_discussions}\n 
[NO-DEFAULT-PACKAGES]\n [PACKAGES]\n [EXTRA]"
  ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" 
"\\newpage" "\\subsection*{%s}" "\\newpage")
  ("\\subsubsection{%s}" . "\\subsubsection*{%s}") 
("\\paragraph{%s}" . "\\paragraph*{%s}")
  ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
 ("brief"
  
"\\documentclass{scrlttr2}\n\\usepackage[ngerman]{babel}\n\\setlength{\\parindent}{0cm}\n\\KOMAoptions{paper=a4}"
  
("\n\\vspace{3mm}\\hspace*{10mm}\\textbf{%s}\n\\vspace{3mm}" .
   
"\n\\vspace{3mm}\\hspace*{10mm}\\textbf{%s}\n\\vspace{3mm}")
  
("\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}" .
   
"\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}")
  
("\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}" .
   
"\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}")
  
("\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}" .
   
"\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}")
  
("\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}" .
   
"\n\\vspace{3mm}\\hspace*{5mm}\\textit{%s}\n\\vspace{3mm}")
  )
 ("leaflet" 
"\\documentclass{leaflet}\n\\setlength{\\parindent}{0cm}" ("\\section{%s}" . 
"\\section*{%s}")
  ("\\subsection{%s}" "\\newpage" "\\subsection*{%s}" 
"\\newpage")
  ("\\subsubsection{%s}" . "\\subsubsection*{%s}") 
("\\paragraph{%s}" . "\\paragraph*{%s}")
  ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
 ("protokoll" 
"\\documentclass{scrartcl}\n\\setlength{\\parindent}{0cm}"
  ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" 
"\\newpage" "\\subsection*{%s}" "\\newpage")
  ("\\subsubsection{%s}" . "\\subsubsection*{%s}") 
("

Re: [O] Release 9.2

2018-12-27 Thread Scott Randby
On 12/27/18 4:41 AM, Bastien wrote:
> Hi all,
> 
> Org 9.2 is out: https://orgmode.org

The link https://orgmode.org/org-9.2.tar.gz gives a 404 Not Found page. Can 
someone please fix this?

Scott Randby



Re: [O] [Feature Request] Add an dispatcher command (keybinding) for inserting dynamic blocks

2018-12-27 Thread stardiviner

Nicolas Goaziou  writes:

> Hello,
>
> stardiviner  writes:
>
>> The re-generated patch is in attachment.
>
> Thank you!

:)

>
>> ---
>>  doc/org-manual.org  |  9 ++---
>>  etc/ORG-NEWS| 14 ++
>>  lisp/org-clock.el   |  5 +
>>  lisp/org-colview.el |  6 +-
>>  lisp/org-keys.el|  6 ++
>>  lisp/org.el | 46 +
>
> You forgot to mark removed functions, e.g., `org-clock-report', as
> obsolete in "org-compat.el".
>
>>  Org supports /dynamic blocks/ in Org documents.  They are inserted
>>  with begin and end markers like any other code block, but the contents
>> -are updated automatically by a user function.  For example, {{{kbd(C-c
>> -C-x C-r)}}} inserts a dynamic table that updates the work time (see
>> -[[*Clocking Work Time]]).
>> +are updated automatically by a user function.  You can use dispatch
>> +command ~org-dynamic-block-insert-dispatch~, which is bind to
>> +keybinding {{{kbd(C-c C-x i)}}} by default.
>
> which is bound to {{{kbd(C-c C-x i)}}} by default.
>
> Don't forget the #+kindex and #+findex entries above.

Done, I have not really looked the "doc/org-manual.org" seriously. So
have not realized need to add #+kindex and #findex. Added now.

>
>> +(defcustom org-dynamic-block-parameters nil
>> +  "An alist of properties that defines all the Org dynamic blocks."
>
> What is the key of the alist? The possible keywords for the plist? This
> should appear in the docstring.

I improved the docstring. It should be clear now.

>
> So far, only :function is supported. If there is no plan for extending
> that, maybe a plain alist, e.g., ("type" . function) should suffice?
> I.e., isn't mimicking `org-link-set-parameters' a bit too much? WDYT?
>

Indeed, I mimicked `org-link-set-parameters' almost all. About this, I
originally just lazy, now I have a thought about this alist of plist
design, I think adding snippet-like text template string. This idea is
still coarse. I will update this idea in my org agenda todo list.

And I have another reason, I think use same structure can make user feel
comfortable, because it is same as `org-link-set-parameters`. It's a
good reason. If you this is acceptable, I think I would like to keep
this.

>> +(defun org-dynamic-block-insert-dblock (dblock-type)
>> +  "Select and insert an Org type dynamic block DBLOCK-TYPE.
>
> Insert a dynamic block of type DBLOCK-TYPE.

Modified.

>
>> +This is a dispatching function which prompts for the type of
>> +dynamic block to insert."
>
> When used interactively, select the dynamic block types among defined
> types, per `org-dynamic-block-set-parameters'.

Dito

>
> Also, once we agree on the design, would you mind writing some tests?

About test, would you allow me to write it later? I remember I watched
the org clock dynamic block test once, the literal string is complex,
and I remember I used to wrote a test about similar thing. Make me feel
hard. Give me a little time. I will add it. I promise. Can you merge
this at first? (Keep this commit behind, to merge all new commits, might
need to solve conflicts, Huu.) WDYT?

>
> Regards,

:) I found you're kind than I think. If I'm wrong, don't tell me.

At last, present my updated patch. Merry Christmas.

>From e3397a665261bb2c9f9396b16e0100132a3275d5 Mon Sep 17 00:00:00 2001
From: stardiviner 
Date: Sun, 23 Dec 2018 13:35:38 +0800
Subject: [PATCH] * lisp/org.el (org-dynamic-block-insert-dblock): New
 function.

  (org-dynamic-block-parameters, org-dynamic-block-functions,
  org-dynamic-block-types, org-dynamic-block-set-parameters,
  org-dynamic-block-get-parameter): New variables, New functions.

* lisp/org-keys.el: (org-dynamic-block-insert-dblock) New
  functions. (org-clock-report, org-columns-insert-dblock) Remove
  functions.

* doc/org-manual.org: Add manual for dispatch command
  ~org-dynamic-block-insert-dblock~.
---
 doc/org-manual.org  | 13 +---
 etc/ORG-NEWS| 14 +
 lisp/org-clock.el   |  5 +
 lisp/org-colview.el |  6 +-
 lisp/org-keys.el|  6 ++
 lisp/org.el | 50 +
 6 files changed, 86 insertions(+), 8 deletions(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index aad190b3b..817b0ac25 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -19926,9 +19926,16 @@ users mailing list, at mailto:emacs-orgmode@gnu.org.
 
 Org supports /dynamic blocks/ in Org documents.  They are inserted
 with begin and end markers like any other code block, but the contents
-are updated automatically by a user function.  For example, {{{kbd(C-c
-C-x C-r)}}} inserts a dynamic table that updates the work time (see
-[[*Clocking Work Time]]).
+are updated automatically by a user function.  You can use dispatch
+command ~org-dynamic-block-insert-dblock~, which is bound to
+keybinding {{{kbd(C-c C-x i)}}} by default.
+
+#+kindex: C-c C-x i
+#+findex: org-dynamic-block-insert-dblock
+Select one type of 

Re: [O] Org-drill edit feature request

2018-12-27 Thread stardiviner


Leu Zhe  writes:

I want org-drill can add a feature to auto pronounce the word. That's
standard functionality in word-drill Apps.

> Hi,
>
> Making drill editing seems be very painful by the current way
> org-drill offers.
> I make a lot of notes on most of the drilled entries, as for now,
> 1). press e (or other key to reveal the collapsed headlines) , e
> twice to go back to the original buffer.
> 2) add notes. (Even more keys pressing: if i collapsed the headlines
> before calling org-drill, i need to press tab to show all the
> contents at current headline.)
> 3) call org-drill-resume to go back.
>
> I would like to consider more intuitive ways to edit the drill
> entries. How do you think the workflow below?
> 1) press e to switch to edit mode like "helm-swoop", which keeps
> exactly same narrow, child headline showing as before.
> 2) add the notes.
> 3) Ctrl-c Ctrl-s to resume.
>
> Do you think my workflow is more reasonable?
> And i would like to hear more advices about the idea above. Thanks.
>
> LLCC


--
[ stardiviner ]
   I try to make every word tell the meaning what I want to express.

   Blog: https://stardiviner.github.io/
   IRC(freenode): stardiviner, Matrix: stardiviner
   GPG: F09F650D7D674819892591401B5DF1C95AE89AC3