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