Commit | Line | Data |
---|---|---|
2a12997c BG |
1 | ORG NEWS -- history of user-visible changes. -*- org -*- |
2 | ||
3 | Copyright (C) 2012 Free Software Foundation, Inc. | |
4 | See the end of the file for license conditions. | |
5 | ||
6 | Please send Org bug reports to emacs-orgmode@gnu.org. | |
7 | ||
8 | * Incompatible changes | |
9 | ||
2a12997c BG |
10 | ** New keys for TODO sparse trees |
11 | :PROPERTIES: | |
12 | :OrgVersion: 7.01 | |
13 | :END: | |
14 | ||
15 | The key =C-c C-v= is now reserved for Org Babel action. TODO sparse | |
16 | trees can still be made with =C-c / t= (all not-done states) and =C-c / | |
17 | T= (specific states). | |
18 | ||
19 | ** The Agenda =org-agenda-ndays= is now obsolete | |
20 | :PROPERTIES: | |
21 | :OrgVersion: 7.4 | |
22 | :END: | |
c846da43 | 23 | |
2a12997c BG |
24 | The variable =org-agenda-ndays= is obsolete - please use |
25 | =org-agenda-span= instead. | |
26 | ||
27 | Thanks to Julien Danjou for this. | |
28 | ||
29 | ** Changes to the intended use of =org-export-latex-classes= | |
30 | :PROPERTIES: | |
31 | :OrgVersion: 6.35 | |
32 | :END: | |
33 | ||
34 | So far this variable has been used to specify the complete header of the | |
35 | LaTeX document, including all the =\usepackage= calls necessary for the | |
36 | document. This setup makes it difficult to maintain the list of | |
37 | packages that Org itself would like to call, for example for the special | |
38 | symbol support it needs. | |
39 | ||
40 | First of all, you can *opt out of this change* in the following way: You | |
41 | can say: /I want to have full control over headers, and I will take | |
42 | responsibility to include the packages Org needs/. If that is what you | |
43 | want, add this to your configuration and skip the rest of this section | |
44 | (except maybe for the description of the =[EXTRA]= place holder): | |
45 | ||
46 | #+begin_src emacs-lisp | |
47 | (setq org-export-latex-default-packages-alist nil | |
48 | org-export-latex-packages-alist nil) | |
49 | #+end_src | |
50 | ||
51 | /Continue to read here if you want to go along with the modified setup./ | |
52 | ||
53 | There are now two variables that should be used to list the LaTeX | |
54 | packages that need to be included in all classes. The header definition | |
55 | in =org-export-latex-classes= should then not contain the corresponding | |
56 | =\usepackage= calls (see below). | |
57 | ||
58 | The two new variables are: | |
59 | ||
60 | 1. =org-export-latex-default-packages-alist= :: This is the variable | |
61 | where Org-mode itself puts the packages it needs. Normally you | |
62 | should not change this variable. The only reason to change it | |
63 | anyway is when one of these packages causes a conflict with another | |
64 | package you want to use. Then you can remove that packages and | |
65 | hope that you are not using Org-mode functionality that needs it. | |
66 | ||
67 | 2. =org-export-latex-packages-alist= :: This is the variable where you | |
68 | can put the packages that you'd like to use across all classes. | |
69 | ||
70 | The sequence how these customizations will show up in the LaTeX | |
71 | document are: | |
72 | ||
73 | 1. Header from =org-export-latex-classes= | |
74 | 2. =org-export-latex-default-packages-alist= | |
75 | 3. =org-export-latex-packages-alist= | |
76 | 4. Buffer-specific things set with =#+LaTeX_HEADER:= | |
77 | ||
78 | If you want more control about which segment is placed where, or if you | |
79 | want, for a specific class, have full control over the header and | |
80 | exclude some of the automatic building blocks, you can put the following | |
81 | macro-like place holders into the header: | |
82 | ||
83 | #+begin_example | |
84 | [DEFAULT-PACKAGES] \usepackage statements for default packages | |
85 | [NO-DEFAULT-PACKAGES] do not include any of the default packages | |
86 | [PACKAGES] \usepackage statements for packages | |
87 | [NO-PACKAGES] do not include the packages | |
88 | [EXTRA] the stuff from #+LaTeX_HEADER | |
89 | [NO-EXTRA] do not include #+LaTeX_HEADER stuff | |
90 | #+end_example | |
91 | ||
92 | If you have currently customized =org-export-latex-classes=, you should | |
93 | revise that customization and remove any package calls that are covered | |
94 | by =org-export-latex-default-packages-alist=. This applies to the | |
95 | following packages: | |
96 | ||
97 | - inputenc | |
98 | - fontenc | |
99 | - fixltx2e | |
100 | - graphicx | |
101 | - longtable | |
102 | - float | |
103 | - wrapfig | |
104 | - soul | |
105 | - t1enc | |
106 | - textcomp | |
107 | - marvosym | |
108 | - wasysym | |
109 | - latexsym | |
110 | - amssymb | |
111 | - hyperref | |
112 | ||
113 | If one of these packages creates a conflict with another package you are | |
114 | using, you can remove it from =org-export-latex-default-packages-alist=. | |
115 | But then you risk that some of the advertised export features of Org | |
116 | will not work properly. | |
117 | ||
118 | You can also consider moving packages that you use in all classes to | |
119 | =org-export-latex-packages-alist=. If necessary, put the place holders | |
120 | so that the packages get loaded in the right sequence. As said above, | |
121 | for backward compatibility, if you omit the place holders, all the | |
122 | variables will dump their content at the end of the header. | |
123 | ||
124 | ** The constant =org-html-entities= is obsolete | |
125 | :PROPERTIES: | |
126 | :OrgVersion: 6.35 | |
127 | :END: | |
128 | ||
129 | Its content is now part of the new constant =org-entities=, which is | |
130 | defined in the file org-entities.el. =org-html-entities= was an internal | |
131 | variable, but it is possible that some users did write code using it. | |
132 | ||
133 | ** `org-bbdb-anniversary-format-alist' has changed | |
134 | :PROPERTIES: | |
135 | :OrgVersion: 7.5 | |
136 | :END: | |
137 | ||
138 | Please check the docstring and update your settings accordingly. | |
139 | ||
140 | ** Deleted =org-mode-p= | |
141 | :PROPERTIES: | |
142 | :OrgVersion: 7.8 | |
143 | :END: | |
144 | ||
145 | This function has been deleted: please update your code. | |
146 | ||
147 | * Important new features | |
148 | ||
149 | ** New Org to ODT exporter | |
150 | :PROPERTIES: | |
151 | :OrgVersion: 7.8 | |
152 | :END: | |
153 | ||
154 | Jambunathan's Org to ODT exporter is now part of Org. | |
155 | ||
156 | To use it, it `C-c C-e o' in an Org file. See the documentation for more | |
157 | information on how to customize it. | |
158 | ||
159 | ** org-capture.el is now the default capture system | |
160 | :PROPERTIES: | |
161 | :OrgVersion: 7.01 | |
162 | :END: | |
163 | ||
164 | This replaces the earlier system org-remember. The manual only describes | |
165 | org-capture, but for people who prefer to continue to use org-remember, | |
166 | we keep a static copy of the former manual section [[http://orgmode.org/org-remember.pdf][chapter about | |
167 | remember]]. | |
168 | ||
169 | The new system has a technically cleaner implementation and more | |
170 | possibilities for capturing different types of data. See [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's | |
171 | announcement]] for more details. | |
172 | ||
173 | To switch over to the new system: | |
174 | ||
175 | 1. Run | |
176 | ||
177 | : M-x org-capture-import-remember-templates RET | |
178 | ||
179 | to get a translated version of your remember templates into the | |
180 | new variable =org-capture-templates=. This will "mostly" work, | |
181 | but maybe not for all cases. At least it will give you a good | |
182 | place to modify your templates. After running this command, | |
183 | enter the customize buffer for this variable with | |
184 | ||
185 | : M-x customize-variable RET org-capture-templates RET | |
186 | ||
187 | and convince yourself that everything is OK. Then save the | |
188 | customization. | |
189 | ||
190 | 2. Bind the command =org-capture= to a key, similar to what you did | |
191 | with org-remember: | |
192 | ||
193 | : (define-key global-map "\C-cc" 'org-capture) | |
194 | ||
195 | If your fingers prefer =C-c r=, you can also use this key once | |
196 | you have decided to move over completely to the new | |
197 | implementation. During a test time, there is nothing wrong | |
198 | with using both system in parallel. | |
199 | ||
200 | * New libraries | |
201 | ||
202 | ** New Org libraries | |
203 | *** org-eshell.el (Konrad Hinsen) | |
204 | :PROPERTIES: | |
205 | :OrgVersion: 7.8 | |
206 | :END: | |
207 | ||
208 | Implement links to eshell buffers. | |
209 | ||
210 | *** org-special-blocks (Carsten Dominik) | |
211 | :PROPERTIES: | |
212 | :OrgVersion: 7.8 | |
213 | :END: | |
214 | ||
215 | This package generalizes the #+begin_foo and #+end_foo tokens. | |
216 | ||
217 | To use, put the following in your init file: | |
218 | ||
219 | #+BEGIN_EXAMPLE | |
220 | (require 'org-special-blocks) | |
221 | #+END_EXAMPLE | |
222 | ||
223 | The tokens #+begin_center, #+begin_verse, etc. existed previously. This | |
224 | package generalizes them (at least for the LaTeX and html exporters). When | |
225 | a #+begin_foo token is encountered by the LaTeX exporter, it is expanded | |
226 | into \begin{foo}. The text inside the environment is not protected, as | |
227 | text inside environments generally is. When #+begin_foo is encountered by | |
228 | the html exporter, a div with class foo is inserted into the HTML file. It | |
229 | is up to the user to add this class to his or her stylesheet if this div is | |
230 | to mean anything. | |
231 | ||
232 | *** org-taskjuggler.el (Christian Egli) | |
233 | :PROPERTIES: | |
234 | :OrgVersion: 7.01 | |
235 | :END: | |
236 | ||
237 | Christian Egli's /org-taskjuggler.el/ module is now part of Org. He | |
238 | also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it. | |
239 | ||
240 | *** org-ctags.el (Paul Sexton) | |
241 | :PROPERTIES: | |
242 | :OrgVersion: 6.34 | |
243 | :END: | |
244 | ||
245 | Targets like =<<my target>>= can now be found by Emacs' etag | |
246 | functionality, and Org-mode links can be used to to link to etags, also | |
247 | in non-Org-mode files. For details, see the file /org-ctags.el/. | |
248 | ||
249 | This feature uses a new hook =org-open-link-functions= which will call | |
250 | function to do something special with text links. | |
251 | ||
252 | Thanks to Paul Sexton for this contribution. | |
253 | ||
254 | *** org-docview.el (Jan Böcker) | |
255 | :PROPERTIES: | |
256 | :OrgVersion: 6.34 | |
257 | :END: | |
258 | ||
259 | This new module allows links to various file types using docview, where | |
260 | Emacs displays images of document pages. Docview link types can point | |
261 | to a specific page in a document, for example to page 131 of the | |
262 | Org-mode manual: | |
263 | ||
264 | : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]] | |
265 | ||
266 | Thanks to Jan Böcker for this contribution. | |
267 | ||
268 | ** New Babel libraries | |
269 | ||
270 | - ob-picolisp.el (Thorsten Jolitz) | |
271 | - ob-fortran.el (Sergey Litvinov) | |
272 | - ob-shen.el (Eric Schulte) | |
273 | - ob-maxima.el (Eric S Fraga) | |
274 | - ob-java.el (Eric Schulte) | |
275 | - ob-lilypond.el (Martyn Jago) | |
276 | - ob-awk.el (Eric Schulte) | |
277 | ||
278 | * Other new features and various enhancements | |
279 | ||
280 | ** Hyperlinks | |
281 | ||
282 | *** Org-Bibtex -- major improvements | |
283 | :PROPERTIES: | |
284 | :OrgVersion: 7.6 | |
285 | :END: | |
286 | ||
287 | Provides support for managing bibtex bibliographical references | |
288 | data in headline properties. Each headline corresponds to a | |
289 | single reference and the relevant bibliographic meta-data is | |
290 | stored in headline properties, leaving the body of the headline | |
291 | free to hold notes and comments. Org-bibtex is aware of all | |
292 | standard bibtex reference types and fields. | |
293 | ||
294 | The key new functions are | |
295 | ||
296 | - org-bibtex-check :: queries the user to flesh out all required | |
297 | (and with prefix argument optional) bibtex fields available | |
298 | for the specific reference =type= of the current headline. | |
299 | ||
300 | - org-bibtex-create :: Create a new entry at the given level, | |
301 | using org-bibtex-check to flesh out the relevant fields. | |
302 | ||
303 | - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a | |
304 | formatted Org-mode headline into the current buffer | |
305 | ||
306 | - org-bibtex-export-to-kill-ring :: Export the current headline | |
307 | to the kill ring as a formatted bibtex entry. | |
308 | ||
309 | ||
310 | ||
311 | *** org-gnus.el now allows link creation from messages | |
312 | :PROPERTIES: | |
313 | :OrgVersion: 7.5 | |
314 | :END: | |
315 | ||
c846da43 | 316 | You can now create links from messages. This is particularly |
2a12997c BG |
317 | useful when the user wants to stored messages that he sends, for |
318 | later check. Thanks to Ulf Stegemann for the patch. | |
319 | ||
320 | ||
321 | ||
322 | *** Modified link escaping | |
323 | :PROPERTIES: | |
324 | :OrgVersion: 7.5 | |
325 | :END: | |
326 | ||
327 | David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]: | |
328 | ||
329 | : Percent escaping is used in Org mode to escape certain characters | |
330 | : in links that would either break the parser (e.g. square brackets | |
c846da43 | 331 | : in link target or description) or are not allowed to appear in |
2a12997c BG |
332 | : a particular link type (e.g. non-ascii characters in a http: |
333 | : link). | |
334 | : | |
335 | : With this change in place Org will apply percent escaping and | |
336 | : unescaping more consistently especially for non-ascii characters. | |
337 | : Additionally some of the outstanding bugs or glitches concerning | |
338 | : percent escaped links are solved. | |
339 | ||
340 | Thanks a lot to David for this work. | |
341 | ||
342 | ||
343 | ||
344 | *** Make =org-store-link= point to directory in a dired buffer | |
345 | :PROPERTIES: | |
346 | :OrgVersion: 6.35 | |
347 | :END: | |
348 | ||
349 | When, in a dired buffer, the cursor is not in a line listing a | |
350 | file, `org-store-link' will store a link to the directory. | |
351 | ||
352 | Patch by Stephen Eglen. | |
353 | ||
354 | ||
355 | ||
356 | *** Allow regexps in =org-file-apps= to capture link parameters | |
357 | :PROPERTIES: | |
358 | :OrgVersion: 6.35 | |
359 | :END: | |
360 | ||
361 | The way extension regexps in =org-file-apps= are handled has | |
362 | changed. Instead of matching against the file name, the regexps | |
363 | are now matched against the whole link, and you can use grouping | |
364 | to extract link parameters which you can then use in a command | |
365 | string to be executed. | |
366 | ||
367 | For example, to allow linking to PDF files using the syntax | |
368 | =file:/doc.pdf::<page number>=, you can add the following entry to | |
369 | org-file-apps: | |
370 | ||
371 | #+begin_example | |
372 | Extension: \.pdf::\([0-9]+\)\' | |
373 | Command: evince "%s" -p %1 | |
374 | #+end_example | |
375 | ||
376 | Thanks to Jan Böcker for a patch to this effect. | |
377 | ||
378 | ** Dates and time | |
379 | ||
380 | *** Allow relative time when scheduling/adding a deadline | |
381 | :PROPERTIES: | |
382 | :OrgVersion: 7.7 | |
383 | :END: | |
384 | ||
385 | You can now use relative duration strings like "-2d" or "++3w" | |
386 | when calling =org-schedule= or =org-deadline=: it will schedule | |
387 | (or set the deadline for) the item respectively two days before | |
388 | today and three weeks after the current timestamp, if any. | |
389 | ||
390 | You can use this programmatically: =(org-schedule nil "+2d")= | |
391 | will work on the current entry. | |
392 | ||
393 | You can also use this while (bulk-)rescheduling and | |
394 | (bulk-)resetting the deadline of (several) items from the agenda. | |
395 | ||
396 | Thanks to Memnon Anon for a heads up about this! | |
397 | ||
398 | ||
399 | ||
400 | ||
401 | *** American-style dates are now understood by =org-read-date= | |
402 | :PROPERTIES: | |
403 | :OrgVersion: 6.35 | |
404 | :END: | |
405 | ||
406 | So when you are prompted for a date, you can now answer like this | |
407 | ||
408 | #+begin_example | |
409 | 2/5/3 --> 2003-02-05 | |
410 | 2/5 --> <CURRENT-YEAR>-02-05 | |
411 | #+end_example | |
412 | ||
413 | ** Agenda | |
414 | ||
415 | *** =org-agenda-custom-commands= has a default value | |
416 | :PROPERTIES: | |
417 | :OrgVersion: 7.8 | |
418 | :END: | |
419 | ||
420 | This option used to be `nil' by default. This now has a default | |
421 | value, displaying an agenda and all TODOs. See the docstring for | |
422 | details. Thanks to Carsten for this. | |
423 | ||
424 | ||
425 | *** Improved filtering through =org-agenda-to-appt= | |
426 | :PROPERTIES: | |
427 | :OrgVersion: 7.8 | |
428 | :END: | |
429 | ||
430 | The new function allows the user to refine the scope of entries | |
431 | to pass to =org-agenda-get-day-entries= and allows to filter out | |
432 | entries using a function. | |
433 | ||
434 | Thanks to Peter MĂĽnster for raising a related issue and to | |
435 | Tassilo Horn for this idea. Also thanks to Peter MĂĽnster for | |
436 | [[git:68ffb7a7][fixing a small bug]] in the final implementation. | |
437 | ||
438 | ||
439 | ||
440 | *** Allow ap/pm times in agenda time grid | |
441 | :PROPERTIES: | |
442 | :OrgVersion: 7.4 | |
443 | :END: | |
444 | ||
445 | Times in the agenda can now be displayed in am/pm format. See the new | |
446 | variable =org-agenda-timegrid-use-ampm=. Thanks to C. A. Webber for | |
447 | a patch to this effect. | |
448 | ||
449 | ||
450 | ||
451 | *** Agenda: Added a bulk "scattering" command | |
452 | :PROPERTIES: | |
453 | :OrgVersion: 7.4 | |
454 | :END: | |
455 | ||
456 | =B S= in the agenda buffer will cause tasks to be rescheduled a random | |
457 | number of days into the future, with 7 as the default. This is useful | |
458 | if you've got a ton of tasks scheduled for today, you realize you'll | |
459 | never deal with them all, and you just want them to be distributed | |
460 | across the next N days. When called with a prefix arg, rescheduling | |
461 | will avoid weekend days. | |
462 | ||
463 | Thanks to John Wiegley for this. | |
464 | ||
465 | ** Exporting | |
466 | ||
467 | *** Simplification of org-export-html-preamble/postamble | |
468 | :PROPERTIES: | |
469 | :OrgVersion: 7.5 | |
470 | :END: | |
471 | ||
472 | When set to `t', export the preamble/postamble as usual, honoring the | |
473 | =org-export-email/author/creator-info= variables. | |
474 | ||
475 | When set to a formatting string, insert this string. See the docstring | |
476 | of these variable for details about available %-sequences. | |
477 | ||
478 | You can set =:html-preamble= in publishing project in the same way: `t' | |
479 | means to honor =:email/creator/author-info=, and a formatting string | |
480 | will insert a string. | |
481 | ||
482 | *** New exporters to Latin-1 and UTF-8 | |
483 | :PROPERTIES: | |
484 | :OrgVersion: 6.35 | |
485 | :END: | |
486 | ||
487 | While Ulf Stegemann was going through the entities list to improve the | |
488 | LaTeX export, he had the great idea to provide representations for many | |
489 | of the entities in Latin-1, and for all of them in UTF-8. This means | |
490 | that we can now export files rich in special symbols to Latin-1 and to | |
491 | UTF-8 files. These new exporters can be reached with the commands =C-c | |
492 | C-e n= and =C-c C-e u=, respectively. | |
493 | ||
494 | When there is no representation for a given symbol in the targeted | |
495 | coding system, you can choose to keep the TeX-macro-like | |
496 | representation, or to get an "explanatory" representation. For | |
497 | example, =\simeq= could be represented as "[approx. equal to]". Please | |
498 | use the variable =org-entities-ascii-explanatory= to state your | |
499 | preference. | |
500 | ||
501 | *** HTML export: Add class to outline containers using property | |
502 | :PROPERTIES: | |
503 | :OrgVersion: 6.35 | |
504 | :END: | |
505 | ||
506 | The =HTML_CONTAINER_CLASS= property can now be used to add a class name | |
507 | to the outline container of a node in HTML export. | |
508 | ||
509 | *** Throw an error when creating an image from a LaTeX snippet fails | |
510 | :PROPERTIES: | |
511 | :OrgVersion: 6.35 | |
512 | :END: | |
513 | ||
514 | This behavior can be configured with the new option variable | |
515 | =org-format-latex-signal-error=. | |
516 | ||
517 | *** Support for creating BEAMER presentations from Org-mode documents | |
518 | :PROPERTIES: | |
519 | :OrgVersion: 6.34 | |
520 | :END: | |
521 | ||
522 | Org-mode documents or subtrees can now be converted directly in to | |
523 | BEAMER presentation. Turning a tree into a simple presentations is | |
524 | straight forward, and there is also quite some support to make richer | |
525 | presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER section]] in the manual for more | |
526 | details. | |
527 | ||
528 | Thanks to everyone who has contributed to the discussion about BEAMER | |
529 | support and how it should work. This was a great example for how this | |
530 | community can achieve a much better result than any individual could. | |
531 | ||
532 | ** Refiling | |
533 | ||
534 | *** Refile targets can now be cached | |
535 | :PROPERTIES: | |
536 | :OrgVersion: 7.01 | |
537 | :END: | |
538 | ||
539 | You can turn on caching of refile targets by setting the variable | |
540 | =org-refile-use-cache=. This should speed up refiling if you have many | |
541 | eligible targets in many files. If you need to update the cache | |
542 | because Org misses a newly created entry or still offers a deleted one, | |
543 | press =C-0 C-c C-w=. | |
544 | ||
545 | *** New logging support for refiling | |
546 | :PROPERTIES: | |
547 | :OrgVersion: 6.35 | |
548 | :END: | |
549 | ||
550 | Whenever you refile an item, a time stamp and even a note can be added | |
551 | to this entry. For details, see the new option =org-log-refile=. | |
552 | ||
553 | Thanks to Charles Cave for this idea. | |
554 | ||
555 | ** Completion | |
556 | ||
48d1354e | 557 | *** In-buffer completion is now done using John Wiegley's pcomplete.el |
2a12997c BG |
558 | :PROPERTIES: |
559 | :OrgVersion: 7.4 | |
560 | :END: | |
561 | ||
562 | Thanks to John Wiegley for much of this code. | |
563 | ||
564 | ** Tables | |
565 | ||
566 | *** New command =org-table-transpose-table-at-point= | |
567 | :PROPERTIES: | |
568 | :OrgVersion: 7.8 | |
569 | :END: | |
570 | ||
571 | See the docstring. This hack from Juan Pechiar is now part of Org's | |
572 | core. Thanks to Juan! | |
573 | ||
574 | *** Display field's coordinates when editing it with =C-c `= | |
575 | :PROPERTIES: | |
576 | :OrgVersion: 7.7 | |
577 | :END: | |
578 | ||
579 | When editing a field with =C-c `=, the field's coordinate will the | |
580 | displayed in the buffer. | |
581 | ||
582 | Thanks to Michael Brand for a patch to this effect. | |
583 | ||
584 | *** Spreadsheet computation of durations and time values | |
585 | :PROPERTIES: | |
586 | :OrgVersion: 7.6 | |
587 | :END: | |
588 | ||
589 | If you want to compute time values use the =T= flag, either in Calc | |
590 | formulas or Elisp formulas: | |
591 | ||
592 | | Task 1 | Task 2 | Total | | |
593 | |--------+--------+---------| | |
594 | | 35:00 | 35:00 | 1:10:00 | | |
595 | #+TBLFM: @2$3=$1+$2;T | |
596 | ||
597 | Values must be of the form =[HH:]MM:SS=, where hours are optional. | |
598 | ||
599 | Thanks to Martin Halder, Eric Schulte and Carsten for code and feedback | |
600 | on this. | |
601 | ||
602 | *** Implement formulas applying to field ranges | |
603 | :PROPERTIES: | |
604 | :OrgVersion: 7.5 | |
605 | :END: | |
606 | ||
607 | Carsten implemented this field-ranges formulas. | |
608 | ||
609 | : A frequently requested feature for tables has been to be able to define | |
610 | : row formulas in a way similar to column formulas. The patch below allows | |
611 | : things like | |
612 | : | |
613 | : @3= | |
614 | : @2$2..@5$7= | |
615 | : @I$2..@II$4= | |
616 | : | |
617 | : as the left hand side for table formulas in order to write a formula that | |
618 | : is valid for an entire column or for a rectangular section in a | |
619 | : table. | |
620 | ||
621 | Thanks a lot to Carsten for this. | |
622 | ||
623 | *** Sending radio tables from org buffers is now allowed | |
624 | :PROPERTIES: | |
625 | :OrgVersion: 7.4 | |
626 | :END: | |
627 | ||
628 | Org radio tables can no also be sent inside Org buffers. Also, there | |
629 | is a new hook which get called after a table has been sent. | |
630 | ||
631 | Thanks to Seweryn Kokot. | |
632 | ||
633 | ** Lists | |
634 | ||
635 | *** Improved handling of lists | |
636 | :PROPERTIES: | |
637 | :OrgVersion: 7.5 | |
638 | :END: | |
639 | ||
640 | Nicolas Goaziou extended and improved the way Org handles lists. | |
641 | ||
642 | 1. Indentation of text determines again end of items in lists. So, some | |
643 | text less indented than the previous item doesn't close the whole | |
644 | list anymore, only all items more indented than it. | |
645 | ||
646 | 2. Alphabetical bullets are implemented, through the use of the | |
647 | variable `org-alphabetical-lists'. This also adds alphabetical | |
648 | counters like [@c] or [@W]. | |
649 | ||
650 | 3. Lists can now safely contain drawers, inline tasks, or various | |
651 | blocks, themselves containing lists. Two variables are controlling | |
652 | this: `org-list-forbidden-blocks', and `org-list-export-context'. | |
653 | ||
654 | 4. Improve `newline-and-indent' (C-j): used in an item, it will keep | |
655 | text from moving at column 0. This allows to split text and make | |
656 | paragraphs and still not break the list. | |
657 | ||
658 | 5. Improve `org-toggle-item' (C-c -): used on a region with standard | |
659 | text, it will change the region into one item. With a prefix | |
660 | argument, it will fallback to the previous behavior and make every | |
661 | line in region an item. It permits to easily integrate paragraphs | |
662 | inside a list. | |
663 | ||
664 | 6. `fill-paragraph' (M-q) now understands lists. It can freely be used | |
665 | inside items, or on text just after a list, even with no blank line | |
666 | around, without breaking list structure. | |
667 | ||
668 | Thanks a lot to Nicolas for all this! | |
669 | ||
670 | ** Inline display of linked images | |
671 | :PROPERTIES: | |
672 | :OrgVersion: 6.36 | |
673 | :END: | |
674 | ||
675 | Images can now be displayed inline. The key C-c C-x C-v does toggle the | |
676 | display of such images. Note that only image links that have no | |
677 | description part will be inlined. | |
678 | ||
679 | ** Implement offsets for ordered lists | |
680 | :PROPERTIES: | |
681 | :OrgVersion: 6.36 | |
682 | :END: | |
683 | ||
684 | If you want to start an ordered plain list with a number different from | |
685 | 1, you can now do it like this: | |
686 | ||
687 | : 1. [@start:12] will star a lit a number 12 | |
688 | ||
689 | ** Babel: code block body expansion for table and preview | |
690 | :PROPERTIES: | |
691 | :OrgVersion: 6.36 | |
692 | :END: | |
693 | ||
694 | In org-babel, code is "expanded" prior to evaluation. I.e. the code that | |
695 | is actually evaluated comprises the code block contents, augmented with | |
696 | the extra code which assigns the referenced data to variables. It is now | |
697 | possible to preview expanded contents, and also to expand code during | |
698 | during tangling. This expansion takes into account all header arguments, | |
699 | and variables. | |
700 | ||
701 | A new key-binding `C-c M-b p' bound to `org-babel-expand-src-block' can | |
702 | be used from inside of a source code block to preview its expanded | |
703 | contents (which can be very useful for debugging). tangling | |
704 | ||
705 | The expanded body can now be tangled, this includes variable values | |
706 | which may be the results of other source-code blocks, or stored in | |
707 | headline properties or tables. One possible use for this is to allow | |
708 | those using org-babel for their emacs initialization to store values | |
709 | (e.g. usernames, passwords, etc...) in headline properties or in tables. | |
710 | ||
711 | Org-babel now supports three new header arguments, and new default | |
712 | behavior for handling horizontal lines in tables (hlines), column names, | |
713 | and rownames across all languages. | |
714 | ||
715 | ** Editing Convenience and Appearance | |
716 | ||
717 | *** New command =org-copy-visible= (=C-c C-x v=) | |
718 | :PROPERTIES: | |
719 | :OrgVersion: 7.7 | |
720 | :END: | |
721 | ||
722 | This command will copy the visible text in the region into the kill | |
723 | ring. Thanks to Florian Beck for this function and to Carsten for | |
724 | adding it to org.el and documenting it! | |
725 | ||
726 | *** Make it possible to protect hidden subtrees from being killed by =C-k= | |
727 | :PROPERTIES: | |
728 | :OrgVersion: 7.01 | |
729 | :END: | |
730 | ||
731 | See the new variable =org-ctrl-k-protect-subtree=. This was a request | |
732 | by Scott Otterson. | |
733 | ||
734 | *** Implement pretty display of entities, sub-, and superscripts. | |
735 | :PROPERTIES: | |
736 | :OrgVersion: 7.01 | |
737 | :END: | |
738 | ||
739 | The command =C-c C-x \= toggles the display of Org's special entities | |
740 | like =\alpha= as pretty unicode characters. Also, sub and superscripts | |
741 | are displayed in a pretty way (raised/lower display, in a smaller | |
742 | font). If you want to exclude sub- and superscripts, see the variable | |
743 | =org-pretty-entities-include-sub-superscripts=. | |
744 | ||
745 | Thanks to Eric Schulte and Ulf Stegeman for making this possible. | |
746 | ||
747 | *** New faces for title, date, author and email address lines | |
748 | :PROPERTIES: | |
749 | :OrgVersion: 6.35 | |
750 | :END: | |
751 | ||
752 | The keywords in these lines are now dimmed out, and the title is | |
753 | displayed in a larger font, and a special font is also used for author, | |
754 | date, and email information. This is implemented by the following new | |
755 | faces: | |
756 | ||
757 | =org-document-title= | |
758 | =org-document-info= | |
759 | =org-document-info-keyword= | |
760 | ||
761 | In addition, the variable =org-hidden-keywords= can be used to make the | |
762 | corresponding keywords disappear. | |
763 | ||
764 | Thanks to Dan Davison for this feature. | |
765 | ||
766 | *** Simpler way to specify faces for tags and todo keywords | |
767 | :PROPERTIES: | |
768 | :OrgVersion: 6.35 | |
769 | :END: | |
770 | ||
771 | The variables =org-todo-keyword-faces=, =org-tag-faces=, and | |
772 | =org-priority-faces= now accept simple color names as specifications. | |
773 | The colors will be used as either foreground or background color for | |
774 | the corresponding keyword. See also the variable | |
775 | =org-faces-easy-properties=, which governs which face property is | |
776 | affected by this setting. | |
777 | ||
778 | This is really a great simplification for setting keyword faces. The | |
779 | change is based on an idea and patch by Ryan Thompson. | |
780 | ||
781 | *** <N> in tables now means fixed width, not maximum width | |
782 | :PROPERTIES: | |
783 | :OrgVersion: 6.35 | |
784 | :END: | |
785 | ||
786 | Requested by Michael Brand. | |
787 | ||
788 | *** Better level cycling function | |
789 | :PROPERTIES: | |
790 | :OrgVersion: 6.35 | |
791 | :END: | |
792 | ||
793 | =TAB= in an empty headline cycles the level of that headline through | |
794 | likely states. Ryan Thompson implemented an improved version of this | |
795 | function, which does not depend upon when exactly this command is used. | |
796 | Thanks to Ryan for this improvement. | |
797 | ||
798 | *** Adaptive filling | |
799 | :PROPERTIES: | |
800 | :OrgVersion: 6.35 | |
801 | :END: | |
802 | ||
803 | For paragraph text, =org-adaptive-fill-function= did not handle the | |
804 | base case of regular text which needed to be filled. This is now | |
805 | fixed. Among other things, it allows email-style ">" comments to be | |
806 | filled correctly. | |
807 | ||
808 | Thanks to Dan Hackney for this patch. | |
809 | ||
810 | *** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el) | |
811 | :PROPERTIES: | |
812 | :OrgVersion: 6.35 | |
813 | :END: | |
814 | ||
815 | Thanks to Richard Riley for triggering this change. | |
816 | ||
817 | *** Better automatic letter selection for TODO keywords | |
818 | :PROPERTIES: | |
819 | :OrgVersion: 6.35 | |
820 | :END: | |
821 | ||
822 | When all first letters of keywords have been used, Org now assigns more | |
823 | meaningful characters based on the keywords. | |
824 | ||
825 | Thanks to Mikael Fornius for this patch. | |
826 | ||
827 | ** Clocking | |
828 | ||
829 | *** Clock: Allow synchronous update of timestamps in CLOCK log | |
830 | :PROPERTIES: | |
831 | :OrgVersion: 7.7 | |
832 | :END: | |
833 | ||
834 | Using =S-M-<up/down>= on CLOCK log timestamps will increase/decrease | |
835 | the two timestamps on this line so that duration will keep the same. | |
836 | Note that duration can still be slightly modified in case a timestamp | |
837 | needs some rounding. | |
838 | ||
839 | Thanks to Rainer Stengele for this idea. | |
840 | ||
841 | *** Localized clock tables | |
842 | :PROPERTIES: | |
843 | :OrgVersion: 7.5 | |
844 | :END: | |
845 | ||
846 | Clock tables now support a new new =:lang= parameter, allowing the user | |
847 | to customize the localization of the table headers. See the variable | |
848 | =org-clock-clocktable-language-setup= which controls available | |
849 | translated strings. | |
850 | ||
851 | *** Show clock overruns in mode line | |
852 | :PROPERTIES: | |
853 | :OrgVersion: 6.35 | |
854 | :END: | |
855 | ||
856 | When clocking an item with a planned effort, overrunning the planned | |
857 | time is now made visible in the mode line, for example using the new | |
858 | face =org-mode-line-clock-overrun=, or by adding an extra string given | |
859 | by =org-task-overrun-text=. | |
860 | ||
861 | Thanks to Richard Riley for a patch to this effect. | |
862 | ||
863 | *** Clock reports can now include the running, incomplete clock | |
864 | :PROPERTIES: | |
865 | :OrgVersion: 6.35 | |
866 | :END: | |
867 | ||
868 | If you have a clock running, and the entry being clocked falls into the | |
869 | scope when creating a clock table, the time so far spent can be added | |
870 | to the total. This behavior depends on the setting of | |
871 | =org-clock-report-include-clocking-task=. The default is =nil=. | |
872 | ||
873 | Thanks to Bernt Hansen for this useful addition. | |
874 | ||
875 | ** Misc | |
876 | ||
877 | *** Improvements with inline tasks and indentation | |
878 | :PROPERTIES: | |
879 | :OrgVersion: 7.4 | |
880 | :END: | |
881 | ||
882 | There is now a configurable way on how to export inline tasks. See the | |
883 | new variable =org-inlinetask-export-templates=. | |
884 | ||
885 | Thanks to Nicolas Goaziou for coding these changes. | |
886 | ||
887 | *** A property value of "nil" now means to unset a property | |
888 | :PROPERTIES: | |
889 | :OrgVersion: 7.01 | |
890 | :END: | |
891 | ||
892 | This can be useful in particular with property inheritance, if some | |
893 | upper level has the property, and some grandchild of it would like to | |
894 | have the default settings (i.e. not overruled by a property) back. | |
895 | ||
896 | Thanks to Robert Goldman and Bernt Hansen for suggesting this change. | |
897 | ||
898 | *** New helper functions in org-table.el | |
899 | :PROPERTIES: | |
900 | :OrgVersion: 6.35 | |
901 | :END: | |
902 | ||
903 | There are new functions to access and write to a specific table field. | |
904 | This is for hackers, and maybe for the org-babel people. | |
905 | ||
906 | #+begin_example | |
907 | org-table-get | |
908 | org-table-put | |
909 | org-table-current-line | |
910 | org-table-goto-line | |
911 | #+end_example | |
912 | ||
913 | *** Archiving: Allow to reverse order in target node | |
914 | :PROPERTIES: | |
915 | :OrgVersion: 6.35 | |
916 | :END: | |
917 | ||
918 | The new option =org-archive-reversed-order= allows to have archived | |
919 | entries inserted in a last-on-top fashion in the target node. | |
920 | ||
921 | This was requested by Tom. | |
922 | ||
923 | *** Org-reveal: Double prefix arg shows the entire subtree of the parent | |
924 | :PROPERTIES: | |
925 | :OrgVersion: 6.35 | |
926 | :END: | |
927 | ||
928 | This can help to get out of an inconsistent state produced for example | |
929 | by viewing from the agenda. | |
930 | ||
931 | This was a request by Matt Lundin. | |
f2c3a9eb | 932 | |
2a12997c BG |
933 | * License |
934 | ||
935 | This file is part of GNU Emacs. | |
936 | ||
937 | GNU Emacs is free software: you can redistribute it and/or modify | |
938 | it under the terms of the GNU General Public License as published by | |
939 | the Free Software Foundation, either version 3 of the License, or | |
940 | (at your option) any later version. | |
941 | ||
942 | GNU Emacs is distributed in the hope that it will be useful, | |
943 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
944 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
945 | GNU General Public License for more details. | |
946 | ||
947 | You should have received a copy of the GNU General Public License | |
948 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |