[O] Release 9.2
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
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
> 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/)]
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
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
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
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