]> code.delx.au - gnu-emacs/blob - etc/ORG-NEWS
Merge Org 7.9.3 (commit 31c1aea)
[gnu-emacs] / etc / ORG-NEWS
1 ORG NEWS -- history of user-visible changes. -*- org -*-
2
3 #+LINK: doc http://orgmode.org/worg/doc.html#%s
4
5 Copyright (C) 2012-2013 Free Software Foundation, Inc.
6 See the end of the file for license conditions.
7
8 Please send Org bug reports to emacs-orgmode@gnu.org.
9
10 * Version 7.9.3
11
12 ** New option [[doc::org-agenda-use-tag-inheritance][org-agenda-use-tag-inheritance]]
13
14 [[doc::org-use-tag-inheritance][org-use-tag-inheritance]] controls whether tags are inherited when
15 org-tags-view is called (either in =tags=, =tags-tree= or =tags-todo=
16 agenda views.)
17
18 When generating other agenda types such as =agenda=, =todo= and
19 =todo-tree=, tags inheritance is not used when selecting the entries
20 to display. Still, you might want to have all tag information correct
21 in the agenda buffer, e.g. for tag filtering. In that case, add the
22 agenda type to this variable.
23
24 Setting this variable to nil should considerably speeds up the agenda
25 generation.
26
27 Note that the default was to display inherited tags in the agenda
28 lines even if `org-use-tag-inheritance' was nil. The default is now
29 to *never* display inherited tags in agenda lines, but to /know/ about
30 them when the agenda type is listed in [[doc::org-agenda-use-tag-inheritance][org-agenda-use-tag-inheritance]].
31
32 ** New default value nil for [[doc::org-agenda-dim-blocked-tasks][org-agenda-dim-blocked-tasks]]
33
34 Using `nil' as the default value speeds up the agenda generation. You
35 can hit `#' (or `C-u #') in agenda buffers to temporarily dim (or turn
36 invisible) blocked tasks.
37
38 ** New speedy keys for [[doc::org-speed-commands-default][org-speed-commands-default]]
39
40 You can now use `:' (instead of `;') for setting tags---this is
41 consistent with using the `:' key in agenda view.
42
43 You can now use `=' for [[doc::org-columns][org-columns]].
44
45 ** =org-float= is now obsolete, use =diary-float= instead
46 ** No GPL manual anymore
47
48 There used to be a GPL version of the Org manual, but this is not the
49 case anymore, the Free Software Foundation does not permit this.
50
51 The GNU FDL license is now included in the manual directly.
52
53 ** Enhanced compatibility with Emacs 22 and XEmacs
54
55 Thanks to Achim for his work on enhancing Org's compatibility with
56 various Emacsen. Things may not be perfect, but Org should work okay
57 in most environments.
58
59 * Version 7.9.2
60
61 ** New ELPA repository for Org packages
62
63 You can now add the Org ELPA repository like this:
64
65 #+BEGIN_SRC emacs-lisp
66 (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
67 #+END_SRC
68
69 It contains both the =org-*.tar= package (the core Org distribution, also
70 available through http://elpa.gnu.org) and the =org-plus*.tar= package (the
71 extended Org distribution, with non-GNU packages from the =contrib/=
72 directory.)
73
74 See http://orgmode.org/elpa/
75
76 ** Overview of the new keybindings
77
78 | Keybinding | Speedy | Command |
79 |-----------------+--------+-----------------------------|
80 | =C-c C-x C-z= | | [[doc::org-clock-resolve][org-clock-resolve]] |
81 | =C-c C-x C-q= | | [[doc::org-clock-cancel][org-clock-cancel]] |
82 | =C-c C-x C-x= | | [[doc::org-clock-in-last][org-clock-in-last]] |
83 | =M-h= | | [[doc::org-mark-element][org-mark-element]] |
84 | =*= | | [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] |
85 | =C-c C-M-l= | | [[doc::org-insert-all-links][org-insert-all-links]] |
86 | =C-c C-x C-M-v= | | [[doc::org-redisplay-inline-images][org-redisplay-inline-images]] |
87 | =C-c C-x E= | =E= | [[doc::org-inc-effort][org-inc-effort]] |
88 | | =#= | [[doc::org-toggle-comment][org-toggle-comment]] |
89 | | =:= | [[doc::org-columns][org-columns]] |
90 | | =W= | Set =APPT_WARNTIME= |
91 | =k= | | [[doc::org-agenda-capture][org-agenda-capture]] |
92 | C-c , | , | [[doc::org-priority][org-priority]] |
93
94 ** New package and Babel langage
95
96 *** =org-eshell.el= by Konrad Hinsen is now in Org
97
98 =org-eshell.el= allows you to create links from [[http://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]].
99
100 *** Support for execution of Scala code blocks (see ob-scala.el)
101 *** Support for execution of IO code blocks (see ob-io.el)
102
103 ** Incompatible changes
104
105 - If your code relies on =org-write-agenda=, please use
106 [[doc::org-agenda-write][org-agenda-write]] from now on.
107
108 - If your code relies on =org-make-link=, please use =concat=
109 instead.
110
111 - =org-link-to-org-use-id= has been renamed to
112 =org-id-link-to-org-use-id= and its default value is nil. The
113 previous default was =create-if-interactive-and-no-custom-id=.
114
115 ** New features and user-visible changes
116
117 *** Org Element
118
119 =org-element.el= is a toolbox for parsing and analyzing "elements"
120 in an Org-mode buffer. This has been written by Nicolas Goaziou
121 and has been tested for quite some time. It is now part of Org's
122 core and many core functions rely on this package.
123
124 Two functions might be particularly handy for users:
125 =org-element-at-point= and =org-element-context=.
126
127 See the docstrings for more details.
128
129 Below is a list of editing and navigating commands that now rely
130 on =org-element.el=.
131
132 **** [[doc::org-fill-paragraph][org-fill-paragraph]] has been completely rewritten
133
134 The filling mechanisms now rely on org-element, trying to do the
135 right thing on each element in various contexts. E.g. filling in
136 a list item will preserve indentation; filling in message-mode
137 will fall back on the relevant filling functions; etc.
138
139 **** [[doc::org-metaup][org-metaup]] and [[doc::org-metadown][org-metadown]] will drag the element backward/forward
140
141 If you want to get the old behavior (i.e. moving a line up and
142 down), you can first select the line as an active region, then
143 =org-metaup= or =org-metadown= to move the region backward or
144 forward. This also works with regions bigger than just one line.
145
146 **** [[doc::org-up-element][org-up-element]] and [[doc::org-down-element][org-down-element]] (respectively =C-c C-^= and =C-c C-_=)
147
148 This will move the point up/down in the hierarchy of elements.
149
150 **** [[doc::org-backward-element][org-backward-element]] and [[doc::org-forward-element][org-forward-element]] (respectively =M-{= and =M-}=)
151
152 This will move the point backward/forward in the hierarchy of
153 elements.
154
155 **** [[doc::org-narrow-to-element][org-narrow-to-element]] will narrow to the element at point
156 **** [[doc::org-mark-element][org-mark-element]] will mark the element at point
157
158 This command is bound to =M-h= and will mark the element at
159 point. If the point is at a paragraph, it will mark the
160 paragraph. If the point is at a list item, it will mark the list
161 item. Etc.
162
163 Note that if point is at the beginning of a list, it will mark
164 the whole list.
165
166 To mark a subtree, you can either use =M-h= on the headline
167 (since there is no ambiguity about the element you're at) or
168 [[doc::org-mark-subtree][org-mark-subtree]] (=C-c @=) anywhere in the subtree.
169
170 Invoking [[doc::org-mark-element][org-mark-element]] repeatedly will try to mark the next
171 element on top of the previous one(s). E.g. hitting =M-h= twice
172 on a headline will mark the current subtree and the next one on
173 the same level.
174
175 *** Org Agenda
176
177 **** New option [[doc::org-agenda-sticky][org-agenda-sticky]]
178
179 There is a new option =org-agenda-sticky= which enables "sticky"
180 agendas. Sticky agendas remain opened in the background so that
181 you don't need to regenerate them each time you hit the
182 corresponding keystroke. This is a big time saver.
183
184 When [[doc::org-agenda-sticky][org-agenda-sticky]] is =non-nil=, the agenda buffer will be
185 named using the agenda key and its description. In sticky
186 agendas, the =q= key will just bury the agenda buffers and
187 further agenda commands will show existing buffer instead of
188 generating new ones.
189
190 If [[doc::org-agenda-sticky][org-agenda-sticky]] is set to =nil=, =q= will kill the single
191 agenda buffer.
192
193 **** New option [[doc::org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]
194
195 Setting this option allows you to define specific context where
196 agenda commands should be available from. For example, when set
197 to this value
198
199 #+BEGIN_SRC emacs-lisp
200 (setq org-agenda-custom-commands-contexts
201 '(("p" (in-file . "\\.txt"))))
202 #+END_SRC
203
204 then the =p= agenda command will only be available from buffers
205 visiting *.txt files. See the docstring and the manual for more
206 details on how to use this.
207
208 **** Changes in bulk actions
209
210 The set of commands starting with =k ...= as been deleted and the
211 features have been merged into the "bulk action" feature.
212
213 After you marked some entries in the agenda, if you call =B s=,
214 the agenda entries will be rescheduled using the date at point if
215 on a date header. If you are on an entry with a timestamp, you
216 will be prompted for a date to reschedule your marked entries to,
217 using the timestamp at point as the default prompt.
218
219 You can now use =k= to capture the marked entry and use the date
220 at point as an overriding date for the capture template.
221
222 To bind this behavior to =M-x org-capture RET= (or its
223 keybinding), set the new option [[doc::org-capture-use-agenda-date][org-capture-use-agenda-date]] to
224 =t=.
225
226 **** =N= and =P= in the agenda will move to the next/previous item
227
228 **** New command [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] to mark all items
229
230 This new command is bound to =*= in agenda mode.
231
232 There is also a new option [[doc::org-agenda-bulk-mark-char][org-agenda-bulk-mark-char]] to set the
233 character to use as a mark for bulk actions.
234
235 **** New option [[doc::org-agenda-persistent-marks][org-agenda-persistent-marks]]
236
237 When set to =non-nil=, marks will remain visible after a bulk
238 action. You can temporarily toggle this by pressing =p= when
239 invoking [[doc::org-agenda-bulk-action][org-agenda-bulk-action]]. Marks are deleted if your
240 rebuild the agenda buffer or move to another date/span (e.g. with
241 =f= or =w=).
242
243 **** New option [[doc::org-agenda-skip-timestamp-if-deadline-is-shown][org-agenda-skip-timestamp-if-deadline-is-shown]]
244
245 =Non-nil= means skip timestamp line if same entry shows because
246 of deadline.
247
248 In the agenda of today, an entry can show up multiple times
249 because it has both a plain timestamp and has a nearby deadline.
250 When this variable is t, then only the deadline is shown and the
251 fact that the entry has a timestamp for or including today is not
252 shown. When this variable is =nil=, the entry will be shown
253 several times.
254
255 **** New =todo-unblocked= and =nottodo-unblocked= skip conditions
256
257 See the [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3Df426da][git commit]] for more explanations.
258
259 **** Allow category filtering in the agenda
260
261 You can now filter the agenda by category. Pressing "<" will
262 filter by the category of the item on the current line, and
263 pressing "<" again will remove the filter. You can combine tag
264 filters and category filters.
265
266 You can use =org-agenda-category-filter= in your custom agenda
267 views and =org-agenda-category-filter-preset= in your main
268 configuration.
269
270 See also the new command [[doc::org-agenda-filter-by-top-category][org-agenda-filter-by-top-category]]:
271 hitting =^= will filter by "Top" category: only show entries that
272 are of the same category than the Top category of the entry at
273 point.
274
275 *** Org Links
276
277 **** Inserting links
278
279 When inserting links through [[doc::org-insert-link][org-insert-link]], the description is
280 now displayed first, followed by the literal link, as the
281 description is often more useful when you look for the link you
282 want to insert.
283
284 Completion now complete both literal links and description. If
285 you complete a description, the literal link and its description
286 will be inserted directly, whereas when you complete the literal
287 link, you will be prompted for a description (as with Org 7.8.)
288
289 In the completion buffer, links to the current buffer are now
290 highlighted.
291
292 **** New templates =%h= and =%(sexp)= for abbreviated links
293
294 On top of =%s= template, which is replaced by the link tag in
295 abbreviated links, you can now use =%h= (which does the same than =%s=
296 but does not hexify the tag) and =%(sexp)= (which can run a function
297 that takes the tag as its own argument.)
298
299 **** New link type =help=
300
301 You can now create links from =help= buffers.
302
303 For example, if you request help for the command [[doc::org-agenda][org-agenda]] with
304 =C-h f org-agenda RET=, creating a link from this buffer will let
305 you go back to the same buffer.
306
307 **** New command [[doc::org-insert-all-links][org-insert-all-links]]
308
309 This will insert all links as list items. With a universal
310 prefix argument, links will not be deleted from the variable
311 =org-stored-links=.
312
313 This new command is bound to =C-c C-M-l=.
314
315 **** New option [[doc::org-url-hexify-p][org-url-hexify-p]]
316
317 When set to =nil=, the =URL= part of a link will not be hexified.
318
319 **** Org can now open multiple shell links
320
321 **** New option [[doc::org-doi-server-url][org-doi-server-url]] to specify an alternate DOI server
322
323 **** RET now follows time stamps links
324
325 *** Org Editing
326
327 **** [[doc::org-todo][org-todo]] and =org-archive-*= can now loop in the active region
328
329 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, using
330 [[doc::org-todo][org-todo]] or =org-archive-*= commands in the active region will
331 loop over headlines. This is handy if you want to set the TODO
332 keyword for several items, or archive them quickly.
333
334 **** You can now set tags for headlines in a region
335
336 If [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, then
337 selecting the region and hitting =C-c C-q= will set the tags for
338 all headlines in the region.
339
340 **** New command [[doc::org-insert-drawer][org-insert-drawer]] to insert a drawer interactively
341
342 **** Comments start with "^[ \t]*# " anywhere on a line
343
344 Note that the space after the hashtag is mandatory. Comments
345 with "^#+" are not supported anymore.
346
347 **** New speed key =#= to toggle the COMMENT cookie on a headline
348
349 **** =indent-region-function= is now set to [[doc::org-indent-region][org-indent-region]]
350
351 =C-M-\= should now produce useful results.
352
353 You can unindent the buffer with [[doc::org-unindent-buffer][org-unindent-buffer]].
354
355 **** New option [[doc::org-allow-promoting-top-level-subtree][org-allow-promoting-top-level-subtree]]
356
357 When =non-nil=, =S-M-<left>= will promote level-1 subtrees
358 containing other subtrees. The level-1 headline will be
359 commented out. You can revert to the previous state with =M-x
360 undo RET=.
361
362 *** Org Clock
363
364 **** New keybinding =C-c C-x C-z= for [[doc::org-clock-resolve][org-clock-resolve]]
365
366 **** New keybinding =C-c C-x C-q= for [[doc::org-clock-cancel][org-clock-cancel]]
367
368 **** New command [[doc::org-clock-in-last][org-clock-in-last]] to clock in the last clocked item
369
370 This command is bound to =C-c C-x C-x= and will clock in the last
371 clocked entry, if any.
372
373 **** =C-u M-x= [[doc::org-clock-out][org-clock-out]] =RET= now prompts for a state to switch to
374
375 **** =S-M-<up/down>= on a clock timestamps adjusts the previous/next clock
376
377 **** New option [[doc::org-clock-continuously][org-clock-continuously]]
378
379 When set to =nil=, clocking in a task will first try to find the
380 last clocked out task and restart from when that task was clocked
381 out.
382
383 You can temporarily activate continuous clocking with =C-u C-u
384 C-u M-x= [[doc::org-clock-in][org-clock-in]] =RET= (three universal prefix arguments)
385 and =C-u C-u M-x= [[org-clock-in-last][org-clock-in-last]] =RET= (two universal prefix
386 arguments).
387
388
389 **** New option [[doc::org-clock-frame-title-format][org-clock-frame-title-format]]
390
391 This option sets the value of =frame-title-format= when clocking
392 in.
393
394 **** New options for controlling the clockreport display
395
396 [[doc::org-clock-file-time-cell-format][org-clock-file-time-cell-format]]: Format string for the file time
397 cells in clockreport.
398
399 [[doc::org-clock-total-time-cell-format][org-clock-total-time-cell-format]]: Format string for the total
400 time cells in clockreport.
401
402
403 **** New options for controlling the clock/timer display
404
405 [[doc::org-clock-clocked-in-display][org-clock-clocked-in-display]]: control whether the current clock
406 is displayed in the mode line and/or frame title.
407
408 [[doc::org-timer-display][org-timer-display]]: control whether the current timer is displayed
409 in the mode line and/or frame title.
410
411 This allows the clock and timer to be displayed in the frame
412 title instead of, or as well as, the mode line. This is useful
413 for people with limited space in the mode line but with ample
414 space in the frame title.
415
416 *** Org Appearance
417
418 **** New option [[doc::org-custom-properties][org-custom-properties]]
419
420 The visibility of properties listed in this options can be turn
421 on/off with [[doc::org-toggle-custom-properties-visibility][org-toggle-custom-properties-visibility]]. This might
422 be useful for properties used by third-part tools or that you
423 don't want to see temporarily.
424
425 **** New command [[doc::org-redisplay-inline-images][org-redisplay-inline-images]]
426
427 This will redisplay all images. It is bound to =C-c C-x C-M-v=.
428
429 **** New entities in =org-entities.el=
430
431 There are these new entities:
432
433 : ("tilde" "\\~{}" nil "&tilde;" "~" "~" "~")
434 : ("slash" "/" nil "/" "/" "/" "/")
435 : ("plus" "+" nil "+" "+" "+" "+")
436 : ("under" "\\_" nil "_" "_" "_" "_")
437 : ("equal" "=" nil "=" "=" "=" "=")
438 : ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
439
440 **** New face =org-list-dt= for definition terms
441 **** New face =org-date-selected= for the selected calendar day
442 **** New face value for =org-document-title=
443
444 The face is back to a normal height.
445
446 *** Org Columns
447
448 **** New speed command =:= to activate the column view
449 **** New special property =CLOCKSUM_T= to display today's clocked time
450
451 You can use =CLOCKSUM_T= the same way you use =CLOCKSUM=. It
452 will display the time spent on tasks for today only.
453
454 **** Use the =:COLUMNS:= property in columnview dynamic blocks
455
456 If the =:COLUMNS:= is set in a subtree, the columnview dynamic
457 block will use its value as the column format.
458
459 **** Consider inline tasks when computing a sum
460
461 *** Org Dates and Time Stamps
462
463 **** Enhanced [[doc::org-sparse-tree][org-sparse-tree]]
464
465 =C-c /= can now check for time ranges.
466
467 When checking for dates with =C-c /= it is useful to change the
468 type of dates that you are interested in. You can now do this
469 interactively with =c= after =C-c /= and/or by setting
470 [[doc::org-sparse-tree-default-date-type][org-sparse-tree-default-date-type]] to the default value you want.
471
472 **** Support for hourly repeat cookies
473
474 You can now use
475
476 : SCHEDULED: <2012-08-20 lun. 08:00 +1h>
477
478 if you want to add an hourly repeater to an entry.
479
480 **** =C-u C-u C-c .= inserts a time-stamp with no prompt
481
482 **** When (setq [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] 'time), accept days in the prompt
483
484 "8am Wed" and "Wed 8am" are now acceptable values when entering a
485 date from the prompt. If [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] is set to
486 =time=, this will produce the expected prompt indication.
487
488 **** New option [[doc::org-datetree-add-timestamp][org-datetree-add-timestamp]]
489
490 When set to =non-nil=, datetree entries will also have a
491 timestamp. This is useful if you want to see these entries in a
492 sparse tree with =C-c /=.
493
494 *** Org Capture
495
496 **** New command [[doc::org-capture-string][org-capture-string]]
497
498 M-x [[doc::org-capture-string][org-capture-string]] RET will prompt for a string and a capture
499 template. The string will be used as an annotation for the
500 template. This is useful when capturing in batch mode as it lets
501 you define the content of the template without being in Emacs.
502
503 **** New option [[doc::org-capture-templates-contexts][org-capture-templates-contexts]]
504
505 Setting this option allows you to define specific context where
506 capture templates should be available from. For example, when
507 set to this value
508
509 #+BEGIN_SRC emacs-lisp
510 (setq org-capture-templates-contexts
511 '(("c" (in-mode . "message-mode"))))
512 #+END_SRC
513
514 then the =c= capture template will only be available from
515 =message-mode= buffers. See the docstring and the manual for
516 more details on how to use this.
517
518 **** New =%l= template to insert the literal link
519 **** New option [[doc::org-capture-bookmark][org-capture-bookmark]]
520
521 Org used to automatically add a bookmark with capture a note.
522 You can now turn this on by setting [[doc::org-capture-bookmark][org-capture-bookmark]] to
523 =nil=.
524
525 **** Expand =%<num>= escape sequences into text entered for <num>'th =%^{PROMPT}= escape
526
527 See the manual for more explanations.
528
529 **** More control over empty lines
530
531 You can use =:empty-lines-before= and =:empty-lines-after= to
532 control the insertion of empty lines. Check the manual for more
533 explanations.
534
535 **** New hook [[doc::org-capture-prepare-finalize-hook][org-capture-prepare-finalize-hook]]
536
537 This new hook runs before the finalization process starts.
538
539 *** Org Export
540
541 **** New functions =orgtbl-to-table.el= and =orgtbl-to-unicode=
542
543 =orgtbl-to-table.el= convert the table to a =table.el= table, and
544 =orgtbl-to-unicode= will use =ascii-art-to-unicode.el= (when
545 available) to print beautiful tables.
546
547 **** [[doc::org-table-export][org-table-export]] now a bit clever about the target format
548
549 When you specify a file name like =table.csv=, [[doc::org-table-export][org-table-export]]
550 will now suggest =orgtbl-to-csv= the default method for exporting
551 the table.
552
553 **** New option [[doc::org-export-date-timestamp-format][org-export-date-timestamp-format]]
554
555 The option allows to set a time string format for Org timestamps
556 in the #+DATE option.
557
558 **** LaTeX: New options for exporting table rules :tstart, :hline and :tend
559
560 See [[doc::org-export-latex-tables-hline][org-export-latex-tables-hline]] and [[doc::org-export-latex-tables-tend][org-export-latex-tables-tend]].
561
562 **** LaTeX: You can now set =:hfmt= from =#+ATTR_LaTeX=
563 **** Beamer: Add support and keybinding for the =exampleblock= environment
564
565 Add support for these languages in [[doc::org-export-language-setup][org-export-language-setup]].
566 More languages are always welcome.
567
568 **** Beamer: New option [[doc::org-beamer-inherited-properties][org-beamer-inherited-properties]]
569
570 This option allows Beamer export to inherit some properties.
571 Thanks to Carsten for implementing this.
572
573 **** ODT: Add support for ODT export in org-bbdb.el
574 **** ODT: Add support for indented tables (see [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3De9fd33][this commit]] for details)
575 **** ODT: Improve the conversion from ODT to other formats
576 **** ASCII: Swap the level-1/level-2 characters to underline the headlines
577 **** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
578 **** HTML: New option [[doc::org-export-html-date-format-string][org-export-html-date-format-string]]
579
580 Format string to format the date and time in HTML export. Thanks
581 to Sébastien Vauban for this patch.
582
583 *** Org Babel
584
585 **** New =:results drawer= parameter
586
587 =:results drawer= replaces =:results wrap=, which is deprecated but still
588 supported.
589
590 **** =:results org= now put results in a =#+BEGIN_SRC org= block
591
592 =:results org= used to put results in a =#+BEGIN_ORG= block but it now puts
593 results in a =#+BEGIN_SRC org= block, with comma-escaped lines.
594
595 =#+BEGIN_ORG= blocks are obsolete.
596
597 **** Exporting =#+BEGIN_SRC org= blocks exports the code
598
599 It used to exports the results of the code.
600
601 *** Miscellaneous
602
603 **** New menu entry for [[doc::org-refile][org-refile]]
604 **** Allow capturing to encrypted entries
605
606 If you capture to an encrypted entry, it will be decrypted before
607 inserting the template then re-encrypted after finalizing the capture.
608
609 **** Inactive timestamps are now handled in tables
610
611 Calc can do computation on active time-stamps like <2012-09-29 sat.>.
612 Inactive time-stamps in a table's cell are now internally deactivated so
613 that Calc formulas can operate on them.
614
615 **** [[doc::org-table-number-regexp][org-table-number-regexp]] can now accept comma as decimal mark
616 **** Org allows a new property =APPT_WARNTIME=
617
618 You can set it with the =W= speedy key or set it manually. When
619 set, exporting to iCalendar and [[doc::org-agenda-to-appt][org-agenda-to-appt]] will use the
620 value of this property as the number of minutes for the warning
621 alarm.
622
623 **** New command [[doc::org-inc-effort][org-inc-effort]]
624
625 This will increment the effort value.
626
627 It is bound to =C-c C-x E= and to =E= as a speedy command.
628
629 **** Attach: Add support for creating symbolic links
630
631 =org-attach-method= now supports a new method =lns=, allowing to
632 attach symbolic links.
633
634 **** Archive: you can now archive to a datetree
635
636 **** New option [[doc::org-inlinetask-show-first-star][org-inlinetask-show-first-star]]
637
638 =Non-nil= means display the first star of an inline task as
639 additional marker. When =nil=, the first star is not shown.
640
641 **** New option [[doc::org-latex-preview-ltxpng-directory][org-latex-preview-ltxpng-directory]]
642
643 This lets you define the path for the =ltxpng/= directory.
644
645 **** You can now use imagemagick instead of dvipng to preview LaTeX fragments
646 **** You can now turn off [[doc::orgstruct++-mode][orgstruct++-mode]] safely
647 **** =C-u C-c C-c= on list items to add check boxes
648
649 =C-u C-c C-c= will add an empty check box on a list item.
650
651 When hit from the top of the list, it will add check boxes for
652 all top level list items.
653
654 **** =org-list-ending-method= and =org-list-end-regexp= are now obsolete
655
656 Fall back on using =org-list-end-re= only, which see.
657
658 **** org-feed.el now expands =%(sexp)= templates
659 **** New option [[doc::org-protocol-data-separator][org-protocol-data-separator]]
660
661 **** New option [[doc::org-ditaa-jar-option][org-ditaa-jar-option]] to specify the ditaa jar file
662
663 **** New possible value for [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]]
664
665 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is set to
666 =start-level=, the command will loop over the active region but
667 will only act upon entries that are of the same level than the
668 first headline in the region.
669
670 **** New option [[doc::org-habit-show-all-today][org-habit-show-all-today]]
671
672 When set to =t=, show all (even unscheduled) habits on today's
673 agenda.
674
675 ** Important bug fixes
676
677 *** M-TAB on options keywords perform completion correctly again
678
679 If you hit =M-TAB= on keywords like =#+TITLE=, Org will try to
680 perform completion with meaningful values.
681
682 *** Add licenses to javascript embedded and external code snippets
683
684 Embedded javascript code produced when exporting an Org file to
685 HTML is now licensed under GPLv3 (or later), and the copyright is
686 owned by the Free Software Foundation, Inc.
687
688 The javascript code for embedding MathJax in the browser mentions
689 the MathJax copyright and the Apache 2.0 license.
690
691 The javascript code for embedding =org-injo.js= in the browser
692 mentions the copyright of Sebastian Rose and the GPLv3 (or later)
693 license.
694
695 =org-export-html-scripts= is now a variable, so that you can adapt
696 the code and the license to your needs.
697
698 See http://www.gnu.org/philosophy/javascript-trap.html for
699 explanations on why these changes were necessary.
700
701 * Version 7.8.11
702
703 ** Incompatible changes
704
705 *** Emacs 21 support has been dropped
706
707 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
708
709 *** XEmacs support requires the XEmacs development version
710
711 To use Org mode 7.xx with XEmacs, you need to run the developer
712 version of XEmacs. We were about to drop XEmacs support entirely,
713 but Michael Sperber stepped in and made changes to XEmacs that
714 made it easier to keep the support. Thanks to Michael for this
715 last-minute save.
716
717 *** New keys for TODO sparse trees
718
719 The key =C-c C-v= is now reserved for Org Babel action. TODO
720 sparse trees can still be made with =C-c / t= (all not-done
721 states) and =C-c / T= (specific states).
722
723 *** The Agenda =org-agenda-ndays= is now obsolete
724
725 The variable =org-agenda-ndays= is obsolete - please use
726 =org-agenda-span= instead.
727
728 Thanks to Julien Danjou for this.
729
730 *** Changes to the intended use of =org-export-latex-classes=
731
732 So far this variable has been used to specify the complete header
733 of the LaTeX document, including all the =\usepackage= calls
734 necessary for the document. This setup makes it difficult to
735 maintain the list of packages that Org itself would like to call,
736 for example for the special symbol support it needs.
737
738 First of all, you can *opt out of this change* in the following
739 way: You can say: /I want to have full control over headers, and I
740 will take responsibility to include the packages Org needs/. If
741 that is what you want, add this to your configuration and skip the
742 rest of this section (except maybe for the description of the
743 =[EXTRA]= place holder):
744
745 #+begin_src emacs-lisp
746 (setq org-export-latex-default-packages-alist nil
747 org-export-latex-packages-alist nil)
748 #+end_src
749
750 /Continue to read here if you want to go along with the modified
751 setup./
752
753 There are now two variables that should be used to list the LaTeX
754 packages that need to be included in all classes. The header
755 definition in =org-export-latex-classes= should then not contain
756 the corresponding =\usepackage= calls (see below).
757
758 The two new variables are:
759
760 1. =org-export-latex-default-packages-alist= :: This is the
761 variable where Org-mode itself puts the packages it needs.
762 Normally you should not change this variable. The only
763 reason to change it anyway is when one of these packages
764 causes a conflict with another package you want to use. Then
765 you can remove that packages and hope that you are not using
766 Org-mode functionality that needs it.
767
768 2. =org-export-latex-packages-alist= :: This is the variable where
769 you can put the packages that you'd like to use across all
770 classes.
771
772 The sequence how these customizations will show up in the LaTeX
773 document are:
774
775 1. Header from =org-export-latex-classes=
776 2. =org-export-latex-default-packages-alist=
777 3. =org-export-latex-packages-alist=
778 4. Buffer-specific things set with =#+LaTeX_HEADER:=
779
780 If you want more control about which segment is placed where, or
781 if you want, for a specific class, have full control over the
782 header and exclude some of the automatic building blocks, you can
783 put the following macro-like place holders into the header:
784
785 #+begin_example
786 [DEFAULT-PACKAGES] \usepackage statements for default packages
787 [NO-DEFAULT-PACKAGES] do not include any of the default packages
788 [PACKAGES] \usepackage statements for packages
789 [NO-PACKAGES] do not include the packages
790 [EXTRA] the stuff from #+LaTeX_HEADER
791 [NO-EXTRA] do not include #+LaTeX_HEADER stuff
792 #+end_example
793
794 If you have currently customized =org-export-latex-classes=, you
795 should revise that customization and remove any package calls that
796 are covered by =org-export-latex-default-packages-alist=. This
797 applies to the following packages:
798
799 - inputenc
800 - fontenc
801 - fixltx2e
802 - graphicx
803 - longtable
804 - float
805 - wrapfig
806 - soul
807 - t1enc
808 - textcomp
809 - marvosym
810 - wasysym
811 - latexsym
812 - amssymb
813 - hyperref
814
815 If one of these packages creates a conflict with another package
816 you are using, you can remove it from
817 =org-export-latex-default-packages-alist=. But then you risk that
818 some of the advertised export features of Org will not work
819 properly.
820
821 You can also consider moving packages that you use in all classes
822 to =org-export-latex-packages-alist=. If necessary, put the place
823 holders so that the packages get loaded in the right sequence. As
824 said above, for backward compatibility, if you omit the place
825 holders, all the variables will dump their content at the end of
826 the header.
827
828 *** The constant =org-html-entities= is obsolete
829
830 Its content is now part of the new constant =org-entities=, which
831 is defined in the file org-entities.el. =org-html-entities= was
832 an internal variable, but it is possible that some users did write
833 code using it.
834
835 *** =org-bbdb-anniversary-format-alist= has changed
836
837 Please check the docstring and update your settings accordingly.
838
839 *** Deleted =org-mode-p=
840
841 This function has been deleted: please update your code.
842
843 ** Important new features
844
845 *** New Org to ODT exporter
846
847 Jambunathan's Org to ODT exporter is now part of Org.
848
849 To use it, it `C-c C-e o' in an Org file. See the documentation
850 for more information on how to customize it.
851
852 *** org-capture.el is now the default capture system
853
854 This replaces the earlier system org-remember. The manual only
855 describes org-capture, but for people who prefer to continue to
856 use org-remember, we keep a static copy of the former manual
857 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
858
859 The new system has a technically cleaner implementation and more
860 possibilities for capturing different types of data. See
861 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
862
863 To switch over to the new system:
864
865 1. Run
866
867 : M-x org-capture-import-remember-templates RET
868
869 to get a translated version of your remember templates into the
870 new variable =org-capture-templates=. This will "mostly" work,
871 but maybe not for all cases. At least it will give you a good
872 place to modify your templates. After running this command,
873 enter the customize buffer for this variable with
874
875 : M-x customize-variable RET org-capture-templates RET
876
877 and convince yourself that everything is OK. Then save the
878 customization.
879
880 2. Bind the command =org-capture= to a key, similar to what you did
881 with org-remember:
882
883 : (define-key global-map "\C-cc" 'org-capture)
884
885 If your fingers prefer =C-c r=, you can also use this key once
886 you have decided to move over completely to the new
887 implementation. During a test time, there is nothing wrong
888 with using both system in parallel.
889
890 ** New libraries
891
892 *** New Org libraries
893 **** org-eshell.el (Konrad Hinsen)
894
895 Implement links to eshell buffers.
896
897 **** org-special-blocks (Carsten Dominik)
898
899 This package generalizes the #+begin_foo and #+end_foo tokens.
900
901 To use, put the following in your init file:
902
903 #+BEGIN_EXAMPLE
904 (require 'org-special-blocks)
905 #+END_EXAMPLE
906
907 The tokens #+begin_center, #+begin_verse, etc. existed
908 previously. This package generalizes them (at least for the
909 LaTeX and html exporters). When a #+begin_foo token is
910 encountered by the LaTeX exporter, it is expanded
911 into \begin{foo}. The text inside the environment is not
912 protected, as text inside environments generally is.
913 When #+begin_foo is encountered by the html exporter, a div with
914 class foo is inserted into the HTML file. It is up to the user
915 to add this class to his or her stylesheet if this div is to mean
916 anything.
917
918 **** org-taskjuggler.el (Christian Egli)
919
920 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
921 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
922
923 **** org-ctags.el (Paul Sexton)
924
925 Targets like =<<my target>>= can now be found by Emacs' etag
926 functionality, and Org-mode links can be used to to link to
927 etags, also in non-Org-mode files. For details, see the file
928 /org-ctags.el/.
929
930 This feature uses a new hook =org-open-link-functions= which will
931 call function to do something special with text links.
932
933 Thanks to Paul Sexton for this contribution.
934
935 **** org-docview.el (Jan Böcker)
936
937 This new module allows links to various file types using docview, where
938 Emacs displays images of document pages. Docview link types can point
939 to a specific page in a document, for example to page 131 of the
940 Org-mode manual:
941
942 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
943
944 Thanks to Jan Böcker for this contribution.
945
946 *** New Babel libraries
947
948 - ob-picolisp.el (Thorsten Jolitz)
949 - ob-fortran.el (Sergey Litvinov)
950 - ob-shen.el (Eric Schulte)
951 - ob-maxima.el (Eric S Fraga)
952 - ob-java.el (Eric Schulte)
953 - ob-lilypond.el (Martyn Jago)
954 - ob-awk.el (Eric Schulte)
955
956 ** Other new features and various enhancements
957
958 *** Hyperlinks
959
960 **** Org-Bibtex -- major improvements
961
962 Provides support for managing bibtex bibliographical references
963 data in headline properties. Each headline corresponds to a
964 single reference and the relevant bibliographic meta-data is
965 stored in headline properties, leaving the body of the headline
966 free to hold notes and comments. Org-bibtex is aware of all
967 standard bibtex reference types and fields.
968
969 The key new functions are
970
971 - org-bibtex-check :: queries the user to flesh out all required
972 (and with prefix argument optional) bibtex fields available
973 for the specific reference =type= of the current headline.
974
975 - org-bibtex-create :: Create a new entry at the given level,
976 using org-bibtex-check to flesh out the relevant fields.
977
978 - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a
979 formatted Org-mode headline into the current buffer
980
981 - org-bibtex-export-to-kill-ring :: Export the current headline
982 to the kill ring as a formatted bibtex entry.
983
984 **** org-gnus.el now allows link creation from messages
985
986 You can now create links from messages. This is particularly
987 useful when the user wants to stored messages that he sends, for
988 later check. Thanks to Ulf Stegemann for the patch.
989
990 **** Modified link escaping
991
992 David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]:
993
994 : Percent escaping is used in Org mode to escape certain characters
995 : in links that would either break the parser (e.g. square brackets
996 : in link target oder description) or are not allowed to appear in
997 : a particular link type (e.g. non-ascii characters in a http:
998 : link).
999 :
1000 : With this change in place Org will apply percent escaping and
1001 : unescaping more consistently especially for non-ascii characters.
1002 : Additionally some of the outstanding bugs or glitches concerning
1003 : percent escaped links are solved.
1004
1005 Thanks a lot to David for this work.
1006
1007 **** Make =org-store-link= point to directory in a dired buffer
1008
1009 When, in a dired buffer, the cursor is not in a line listing a
1010 file, `org-store-link' will store a link to the directory.
1011
1012 Patch by Stephen Eglen.
1013
1014 **** Allow regexps in =org-file-apps= to capture link parameters
1015
1016 The way extension regexps in =org-file-apps= are handled has
1017 changed. Instead of matching against the file name, the regexps
1018 are now matched against the whole link, and you can use grouping
1019 to extract link parameters which you can then use in a command
1020 string to be executed.
1021
1022 For example, to allow linking to PDF files using the syntax
1023 =file:/doc.pdf::<page number>=, you can add the following entry
1024 to org-file-apps:
1025
1026 #+begin_example
1027 Extension: \.pdf::\([0-9]+\)\'
1028 Command: evince "%s" -p %1
1029 #+end_example
1030
1031 Thanks to Jan Böcker for a patch to this effect.
1032
1033 *** Dates and time
1034
1035 **** Allow relative time when scheduling/adding a deadline
1036
1037 You can now use relative duration strings like "-2d" or "++3w"
1038 when calling =org-schedule= or =org-deadline=: it will schedule
1039 (or set the deadline for) the item respectively two days before
1040 today and three weeks after the current timestamp, if any.
1041
1042 You can use this programmatically: =(org-schedule nil "+2d")=
1043 will work on the current entry.
1044
1045 You can also use this while (bulk-)rescheduling and
1046 (bulk-)resetting the deadline of (several) items from the agenda.
1047
1048 Thanks to Memnon Anon for a heads up about this!
1049
1050 **** American-style dates are now understood by =org-read-date=
1051
1052 So when you are prompted for a date, you can now answer like this
1053
1054 #+begin_example
1055 2/5/3 --> 2003-02-05
1056 2/5 --> <CURRENT-YEAR>-02-05
1057 #+end_example
1058
1059 *** Agenda
1060
1061 **** =org-agenda-custom-commands= has a default value
1062
1063 This option used to be `nil' by default. This now has a default
1064 value, displaying an agenda and all TODOs. See the docstring for
1065 details. Thanks to Carsten for this.
1066
1067 **** Improved filtering through =org-agenda-to-appt=
1068
1069 The new function allows the user to refine the scope of entries
1070 to pass to =org-agenda-get-day-entries= and allows to filter out
1071 entries using a function.
1072
1073 Thanks to Peter Münster for raising a related issue and to
1074 Tassilo Horn for this idea. Also thanks to Peter Münster for
1075 [[git:68ffb7a7][fixing a small bug]] in the final implementation.
1076
1077 **** Allow ap/pm times in agenda time grid
1078
1079 Times in the agenda can now be displayed in am/pm format. See
1080 the new variable =org-agenda-timegrid-use-ampm=. Thanks to
1081 C. A. Webber for a patch to this effect.
1082
1083 **** Agenda: Added a bulk "scattering" command
1084
1085 =B S= in the agenda buffer will cause tasks to be rescheduled a
1086 random number of days into the future, with 7 as the default.
1087 This is useful if you've got a ton of tasks scheduled for today,
1088 you realize you'll never deal with them all, and you just want
1089 them to be distributed across the next N days. When called with
1090 a prefix arg, rescheduling will avoid weekend days.
1091
1092 Thanks to John Wiegley for this.
1093
1094 *** Exporting
1095
1096 **** Simplification of org-export-html-preamble/postamble
1097
1098 When set to `t', export the preamble/postamble as usual, honoring
1099 the =org-export-email/author/creator-info= variables.
1100
1101 When set to a formatting string, insert this string. See the
1102 docstring of these variable for details about available
1103 %-sequences.
1104
1105 You can set =:html-preamble= in publishing project in the same
1106 way: `t' means to honor =:email/creator/author-info=, and a
1107 formatting string will insert a string.
1108
1109 **** New exporters to Latin-1 and UTF-8
1110
1111 While Ulf Stegemann was going through the entities list to
1112 improve the LaTeX export, he had the great idea to provide
1113 representations for many of the entities in Latin-1, and for all
1114 of them in UTF-8. This means that we can now export files rich
1115 in special symbols to Latin-1 and to UTF-8 files. These new
1116 exporters can be reached with the commands =C-c C-e n= and =C-c
1117 C-e u=, respectively.
1118
1119 When there is no representation for a given symbol in the
1120 targeted coding system, you can choose to keep the TeX-macro-like
1121 representation, or to get an "explanatory" representation. For
1122 example, =\simeq= could be represented as "[approx. equal to]".
1123 Please use the variable =org-entities-ascii-explanatory= to state
1124 your preference.
1125
1126 **** HTML export: Add class to outline containers using property
1127
1128 The =HTML_CONTAINER_CLASS= property can now be used to add a
1129 class name to the outline container of a node in HTML export.
1130
1131 **** Throw an error when creating an image from a LaTeX snippet fails
1132
1133 This behavior can be configured with the new option variable
1134 =org-format-latex-signal-error=.
1135
1136 **** Support for creating BEAMER presentations from Org-mode documents
1137
1138 Org-mode documents or subtrees can now be converted directly in
1139 to BEAMER presentation. Turning a tree into a simple
1140 presentations is straight forward, and there is also quite some
1141 support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
1142 section]] in the manual for more details.
1143
1144 Thanks to everyone who has contributed to the discussion about
1145 BEAMER support and how it should work. This was a great example
1146 for how this community can achieve a much better result than any
1147 individual could.
1148
1149 *** Refiling
1150
1151 **** Refile targets can now be cached
1152
1153 You can turn on caching of refile targets by setting the variable
1154 =org-refile-use-cache=. This should speed up refiling if you
1155 have many eligible targets in many files. If you need to update
1156 the cache because Org misses a newly created entry or still
1157 offers a deleted one, press =C-0 C-c C-w=.
1158
1159 **** New logging support for refiling
1160
1161 Whenever you refile an item, a time stamp and even a note can be
1162 added to this entry. For details, see the new option
1163 =org-log-refile=.
1164
1165 Thanks to Charles Cave for this idea.
1166
1167 *** Completion
1168
1169 **** In-buffer completion is now done using John Wiegley's pcomplete.el
1170
1171 Thanks to John Wiegley for much of this code.
1172
1173 *** Tables
1174
1175 **** New command =org-table-transpose-table-at-point=
1176
1177 See the docstring. This hack from Juan Pechiar is now part of
1178 Org's core. Thanks to Juan!
1179
1180 **** Display field's coordinates when editing it with =C-c `=
1181
1182 When editing a field with =C-c `=, the field's coordinate will
1183 the displayed in the buffer.
1184
1185 Thanks to Michael Brand for a patch to this effect.
1186
1187 **** Spreadsheet computation of durations and time values
1188
1189 If you want to compute time values use the =T= flag, either in
1190 Calc formulas or Elisp formulas:
1191
1192 | Task 1 | Task 2 | Total |
1193 |--------+--------+---------|
1194 | 35:00 | 35:00 | 1:10:00 |
1195 #+TBLFM: @2$3=$1+$2;T
1196
1197 Values must be of the form =[HH:]MM:SS=, where hours are
1198 optional.
1199
1200 Thanks to Martin Halder, Eric Schulte and Carsten for code and
1201 feedback on this.
1202
1203 **** Implement formulas applying to field ranges
1204
1205 Carsten implemented this field-ranges formulas.
1206
1207 : A frequently requested feature for tables has been to be able to define
1208 : row formulas in a way similar to column formulas. The patch below allows
1209 : things like
1210 :
1211 : @3=
1212 : @2$2..@5$7=
1213 : @I$2..@II$4=
1214 :
1215 : as the left hand side for table formulas in order to write a formula that
1216 : is valid for an entire column or for a rectangular section in a
1217 : table.
1218
1219 Thanks a lot to Carsten for this.
1220
1221 **** Sending radio tables from org buffers is now allowed
1222
1223 Org radio tables can no also be sent inside Org buffers. Also,
1224 there is a new hook which get called after a table has been sent.
1225
1226 Thanks to Seweryn Kokot.
1227
1228 *** Lists
1229
1230 **** Improved handling of lists
1231
1232 Nicolas Goaziou extended and improved the way Org handles lists.
1233
1234 1. Indentation of text determines again end of items in
1235 lists. So, some text less indented than the previous item
1236 doesn't close the whole list anymore, only all items more
1237 indented than it.
1238
1239 2. Alphabetical bullets are implemented, through the use of the
1240 variable `org-alphabetical-lists'. This also adds alphabetical
1241 counters like [@c] or [@W].
1242
1243 3. Lists can now safely contain drawers, inline tasks, or various
1244 blocks, themselves containing lists. Two variables are
1245 controlling this: `org-list-forbidden-blocks', and
1246 `org-list-export-context'.
1247
1248 4. Improve `newline-and-indent' (C-j): used in an item, it will
1249 keep text from moving at column 0. This allows to split text
1250 and make paragraphs and still not break the list.
1251
1252 5. Improve `org-toggle-item' (C-c -): used on a region with
1253 standard text, it will change the region into one item. With a
1254 prefix argument, it will fallback to the previous behavior and
1255 make every line in region an item. It permits to easily
1256 integrate paragraphs inside a list.
1257
1258 6. `fill-paragraph' (M-q) now understands lists. It can freely be
1259 used inside items, or on text just after a list, even with no
1260 blank line around, without breaking list structure.
1261
1262 Thanks a lot to Nicolas for all this!
1263
1264 *** Inline display of linked images
1265
1266 Images can now be displayed inline. The key C-c C-x C-v does
1267 toggle the display of such images. Note that only image links
1268 that have no description part will be inlined.
1269
1270 *** Implement offsets for ordered lists
1271
1272 If you want to start an ordered plain list with a number different
1273 from 1, you can now do it like this:
1274
1275 : 1. [@start:12] will star a lit a number 12
1276
1277 *** Babel: code block body expansion for table and preview
1278
1279 In org-babel, code is "expanded" prior to evaluation. I.e. the
1280 code that is actually evaluated comprises the code block contents,
1281 augmented with the extra code which assigns the referenced data to
1282 variables. It is now possible to preview expanded contents, and
1283 also to expand code during during tangling. This expansion takes
1284 into account all header arguments, and variables.
1285
1286 A new keybinding `C-c M-b p' bound to `org-babel-expand-src-block'
1287 can be used from inside of a source code block to preview its
1288 expanded contents (which can be very useful for debugging).
1289 tangling
1290
1291 The expanded body can now be tangled, this includes variable
1292 values which may be the results of other source-code blocks, or
1293 stored in headline properties or tables. One possible use for this
1294 is to allow those using org-babel for their emacs initialization
1295 to store values (e.g. usernames, passwords, etc...) in headline
1296 properties or in tables.
1297
1298 Org-babel now supports three new header arguments, and new default
1299 behavior for handling horizontal lines in tables (hlines), column
1300 names, and rownames across all languages.
1301
1302 *** Editing Convenience and Appearance
1303
1304 **** New command =org-copy-visible= (=C-c C-x v=)
1305
1306 This command will copy the visible text in the region into the
1307 kill ring. Thanks to Florian Beck for this function and to
1308 Carsten for adding it to org.el and documenting it!
1309
1310 **** Make it possible to protect hidden subtrees from being killed by =C-k=
1311
1312 See the new variable =org-ctrl-k-protect-subtree=. This was a
1313 request by Scott Otterson.
1314
1315 **** Implement pretty display of entities, sub-, and superscripts.
1316
1317 The command =C-c C-x \= toggles the display of Org's special
1318 entities like =\alpha= as pretty unicode characters. Also, sub
1319 and superscripts are displayed in a pretty way (raised/lower
1320 display, in a smaller font). If you want to exclude sub- and
1321 superscripts, see the variable
1322 =org-pretty-entities-include-sub-superscripts=.
1323
1324 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
1325
1326 **** New faces for title, date, author and email address lines
1327
1328 The keywords in these lines are now dimmed out, and the title is
1329 displayed in a larger font, and a special font is also used for
1330 author, date, and email information. This is implemented by the
1331 following new faces:
1332
1333 =org-document-title=
1334 =org-document-info=
1335 =org-document-info-keyword=
1336
1337 In addition, the variable =org-hidden-keywords= can be used to
1338 make the corresponding keywords disappear.
1339
1340 Thanks to Dan Davison for this feature.
1341
1342 **** Simpler way to specify faces for tags and todo keywords
1343
1344 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
1345 =org-priority-faces= now accept simple color names as
1346 specifications. The colors will be used as either foreground or
1347 background color for the corresponding keyword. See also the
1348 variable =org-faces-easy-properties=, which governs which face
1349 property is affected by this setting.
1350
1351 This is really a great simplification for setting keyword faces.
1352 The change is based on an idea and patch by Ryan Thompson.
1353
1354 **** <N> in tables now means fixed width, not maximum width
1355
1356 Requested by Michael Brand.
1357
1358 **** Better level cycling function
1359
1360 =TAB= in an empty headline cycles the level of that headline
1361 through likely states. Ryan Thompson implemented an improved
1362 version of this function, which does not depend upon when exactly
1363 this command is used. Thanks to Ryan for this improvement.
1364
1365 **** Adaptive filling
1366
1367 For paragraph text, =org-adaptive-fill-function= did not handle
1368 the base case of regular text which needed to be filled. This is
1369 now fixed. Among other things, it allows email-style ">"
1370 comments to be filled correctly.
1371
1372 Thanks to Dan Hackney for this patch.
1373
1374 **** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
1375
1376 Thanks to Richard Riley for triggering this change.
1377
1378 **** Better automatic letter selection for TODO keywords
1379
1380 When all first letters of keywords have been used, Org now
1381 assigns more meaningful characters based on the keywords.
1382
1383 Thanks to Mikael Fornius for this patch.
1384
1385 *** Clocking
1386
1387 **** Clock: Allow synchronous update of timestamps in CLOCK log
1388
1389 Using =S-M-<up/down>= on CLOCK log timestamps will
1390 increase/decrease the two timestamps on this line so that
1391 duration will keep the same. Note that duration can still be
1392 slightly modified in case a timestamp needs some rounding.
1393
1394 Thanks to Rainer Stengele for this idea.
1395
1396 **** Localized clock tables
1397
1398 Clock tables now support a new new =:lang= parameter, allowing
1399 the user to customize the localization of the table headers. See
1400 the variable =org-clock-clocktable-language-setup= which controls
1401 available translated strings.
1402
1403 **** Show clock overruns in mode line
1404
1405 When clocking an item with a planned effort, overrunning the
1406 planned time is now made visible in the mode line, for example
1407 using the new face =org-mode-line-clock-overrun=, or by adding an
1408 extra string given by =org-task-overrun-text=.
1409
1410 Thanks to Richard Riley for a patch to this effect.
1411
1412 **** Clock reports can now include the running, incomplete clock
1413
1414 If you have a clock running, and the entry being clocked falls
1415 into the scope when creating a clock table, the time so far spent
1416 can be added to the total. This behavior depends on the setting
1417 of =org-clock-report-include-clocking-task=. The default is
1418 =nil=.
1419
1420 Thanks to Bernt Hansen for this useful addition.
1421
1422 *** Misc
1423
1424 **** Improvements with inline tasks and indentation
1425
1426 There is now a configurable way on how to export inline tasks.
1427 See the new variable =org-inlinetask-export-templates=.
1428
1429 Thanks to Nicolas Goaziou for coding these changes.
1430
1431 **** A property value of "nil" now means to unset a property
1432
1433 This can be useful in particular with property inheritance, if
1434 some upper level has the property, and some grandchild of it
1435 would like to have the default settings (i.e. not overruled by a
1436 property) back.
1437
1438 Thanks to Robert Goldman and Bernt Hansen for suggesting this
1439 change.
1440
1441 **** New helper functions in org-table.el
1442
1443 There are new functions to access and write to a specific table field.
1444 This is for hackers, and maybe for the org-babel people.
1445
1446 #+begin_example
1447 org-table-get
1448 org-table-put
1449 org-table-current-line
1450 org-table-goto-line
1451 #+end_example
1452
1453 **** Archiving: Allow to reverse order in target node
1454
1455 The new option =org-archive-reversed-order= allows to have
1456 archived entries inserted in a last-on-top fashion in the target
1457 node.
1458
1459 This was requested by Tom.
1460
1461 **** Org-reveal: Double prefix arg shows the entire subtree of the parent
1462
1463 This can help to get out of an inconsistent state produced for
1464 example by viewing from the agenda.
1465
1466 This was a request by Matt Lundin.
1467
1468 * License
1469
1470 This file is part of GNU Emacs.
1471
1472 GNU Emacs is free software: you can redistribute it and/or modify
1473 it under the terms of the GNU General Public License as published by
1474 the Free Software Foundation, either version 3 of the License, or
1475 (at your option) any later version.
1476
1477 GNU Emacs is distributed in the hope that it will be useful,
1478 but WITHOUT ANY WARRANTY; without even the implied warranty of
1479 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1480 GNU General Public License for more details.
1481
1482 You should have received a copy of the GNU General Public License
1483 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.