ORG-NEWS 54.6 KB
Newer Older
1 2 3 4 5 6 7
ORG NEWS -- history of user-visible changes.           -*- org -*-

Copyright (C) 2012  Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Org bug reports to emacs-orgmode@gnu.org.

8
* Version 7.9.2
9

10
** New ELPA repository for Org packages
11

12
You can now add the Org ELPA repository like this:
13

14 15 16
#+BEGIN_SRC emacs-lisp
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
#+END_SRC
17

18 19 20 21
It contains both the =org-*.tar= package (the core Org distribution, also
available through http://elpa.gnu.org) and the =org-plus*.tar= package (the
extended Org distribution, with non-GNU packages from the =contrib/=
directory.)
22

23
See http://orgmode.org/elpa/
24

25
** Overview of the new keybindings
26

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
   | Keybinding      | Speedy | Command                     |
   |-----------------+--------+-----------------------------|
   | =C-c C-x C-z=   |        | [[doc::org-clock-resolve][org-clock-resolve]]           |
   | =C-c C-x C-q=   |        | [[doc::org-clock-cancel][org-clock-cancel]]            |
   | =C-c C-x C-x=   |        | [[doc::org-clock-in-last][org-clock-in-last]]           |
   | =M-h=           |        | [[doc::org-mark-element][org-mark-element]]            |
   | =*=             |        | [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]]    |
   | =C-c C-M-l=     |        | [[doc::org-insert-all-links][org-insert-all-links]]        |
   | =C-c C-x C-M-v= |        | [[doc::org-redisplay-inline-images][org-redisplay-inline-images]] |
   | =C-c C-x E=     | =E=    | [[doc::org-inc-effort][org-inc-effort]]              |
   |                 | =#=    | [[doc::org-toggle-comment][org-toggle-comment]]          |
   |                 | =:=    | [[doc::org-columns][org-columns]]                 |
   |                 | =W=    | Set =APPT_WARNTIME=         |
   | =k=             |        | [[doc::org-agenda-capture][org-agenda-capture]]          |
   | C-c ,           | ,      | [[doc::org-priority][org-priority]]                |
42

43
** New package and Babel langage
44

45
*** =org-eshell.el= by Konrad Hinsen is now in Org
46

47
    =org-eshell.el= allows you to create links from [[http://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]].
48

49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
*** Support for execution of Scala code blocks (see ob-scala.el)
*** Support for execution of IO code blocks (see ob-io.el)

** Incompatible changes

   - If your code relies on =org-write-agenda=, please use
     [[doc::org-agenda-write][org-agenda-write]] from now on.

   - If your code relies on =org-make-link=, please use =concat=
     instead.

   - =org-link-to-org-use-id= has been renamed to
     =org-id-link-to-org-use-id= and its default value is nil.  The
     previous default was =create-if-interactive-and-no-custom-id=.

** New features and user-visible changes

*** Org Element

Paul Eggert's avatar
Paul Eggert committed
68
    =org-element.el= is a toolbox for parsing and analyzing "elements"
69 70 71 72
    in an Org-mode buffer.  This has been written by Nicolas Goaziou
    and has been tested for quite some time.  It is now part of Org's
    core and many core functions rely on this package.

Paul Eggert's avatar
Paul Eggert committed
73
    Two functions might be particularly handy for users:
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
    =org-element-at-point= and =org-element-context=.

    See the docstrings for more details.

    Below is a list of editing and navigating commands that now rely
    on =org-element.el=.

**** [[doc::org-fill-paragraph][org-fill-paragraph]] has been completely rewritten

     The filling mechanisms now rely on org-element, trying to do the
     right thing on each element in various contexts.  E.g. filling in
     a list item will preserve indentation; filling in message-mode
     will fall back on the relevant filling functions; etc.

**** [[doc::org-metaup][org-metaup]] and [[doc::org-metadown][org-metadown]] will drag the element backward/forward

     If you want to get the old behavior (i.e. moving a line up and
     down), you can first select the line as an active region, then
     =org-metaup= or =org-metadown= to move the region backward or
     forward.  This also works with regions bigger than just one line.

**** [[doc::org-up-element][org-up-element]] and [[doc::org-down-element][org-down-element]] (respectively =C-c C-^= and =C-c C-_=)

     This will move the point up/down in the hierarchy of elements.

**** [[doc::org-backward-element][org-backward-element]] and [[doc::org-forward-element][org-forward-element]] (respectively =M-{= and =M-}=)

     This will move the point backward/forward in the hierarchy of
     elements.

**** [[doc::org-narrow-to-element][org-narrow-to-element]] will narrow to the element at point
**** [[doc::org-mark-element][org-mark-element]] will mark the element at point

     This command is bound to =M-h= and will mark the element at
     point.  If the point is at a paragraph, it will mark the
     paragraph.  If the point is at a list item, it will mark the list
     item.  Etc.

     Note that if point is at the beginning of a list, it will mark
     the whole list.

     To mark a subtree, you can either use =M-h= on the headline
     (since there is no ambiguity about the element you're at) or
     [[doc::org-mark-subtree][org-mark-subtree]] (=C-c @=) anywhere in the subtree.

     Invoking [[doc::org-mark-element][org-mark-element]] repeatedly will try to mark the next
     element on top of the previous one(s).  E.g. hitting =M-h= twice
     on a headline will mark the current subtree and the next one on
     the same level.

*** Org Agenda

**** New option [[doc::org-agenda-sticky][org-agenda-sticky]]

     There is a new option =org-agenda-sticky= which enables "sticky"
     agendas.  Sticky agendas remain opened in the background so that
     you don't need to regenerate them each time you hit the
     corresponding keystroke.  This is a big time saver.

     When [[doc::org-agenda-sticky][org-agenda-sticky]] is =non-nil=, the agenda buffer will be
     named using the agenda key and its description.  In sticky
     agendas, the =q= key will just bury the agenda buffers and
     further agenda commands will show existing buffer instead of
     generating new ones.

     If [[doc::org-agenda-sticky][org-agenda-sticky]] is set to =nil=, =q= will kill the single
     agenda buffer.

**** New option [[doc::org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]

     Setting this option allows you to define specific context where
     agenda commands should be available from.  For example, when set
     to this value

     #+BEGIN_SRC emacs-lisp
  (setq org-agenda-custom-commands-contexts
        '(("p" (in-file . "\\.txt"))))
#+END_SRC

     then the =p= agenda command will only be available from buffers
     visiting *.txt files.  See the docstring and the manual for more
     details on how to use this.

**** Changes in bulk actions

     The set of commands starting with =k ...= as been deleted and the
     features have been merged into the "bulk action" feature.

     After you marked some entries in the agenda, if you call =B s=,
     the agenda entries will be rescheduled using the date at point if
     on a date header.  If you are on an entry with a timestamp, you
     will be prompted for a date to reschedule your marked entries to,
     using the timestamp at point as the default prompt.

     You can now use =k= to capture the marked entry and use the date
     at point as an overriding date for the capture template.

     To bind this behavior to =M-x org-capture RET= (or its
     keybinding), set the new option [[doc::org-capture-use-agenda-date][org-capture-use-agenda-date]] to
     =t=.

**** =N= and =P= in the agenda will move to the next/previous item

**** New command [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] to mark all items

     This new command is bound to =*= in agenda mode.

     There is also a new option [[doc::org-agenda-bulk-mark-char][org-agenda-bulk-mark-char]] to set the
     character to use as a mark for bulk actions.

**** New option [[doc::org-agenda-persistent-marks][org-agenda-persistent-marks]]

     When set to =non-nil=, marks will remain visible after a bulk
     action.  You can temporarily toggle this by pressing =p= when
     invoking [[doc::org-agenda-bulk-action][org-agenda-bulk-action]].  Marks are deleted if your
     rebuild the agenda buffer or move to another date/span (e.g. with
     =f= or =w=).

**** New option [[doc::org-agenda-skip-timestamp-if-deadline-is-shown][org-agenda-skip-timestamp-if-deadline-is-shown]]

     =Non-nil= means skip timestamp line if same entry shows because
     of deadline.

     In the agenda of today, an entry can show up multiple times
     because it has both a plain timestamp and has a nearby deadline.
     When this variable is t, then only the deadline is shown and the
     fact that the entry has a timestamp for or including today is not
     shown.  When this variable is =nil=, the entry will be shown
     several times.

**** New =todo-unblocked= and =nottodo-unblocked= skip conditions

     See the [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3Df426da][git commit]] for more explanations.

**** Allow category filtering in the agenda

     You can now filter the agenda by category.  Pressing "<" will
     filter by the category of the item on the current line, and
     pressing "<" again will remove the filter.  You can combine tag
     filters and category filters.

     You can use =org-agenda-category-filter= in your custom agenda
     views and =org-agenda-category-filter-preset= in your main
     configuration.

     See also the new command [[doc::org-agenda-filter-by-top-category][org-agenda-filter-by-top-category]]:
     hitting =^= will filter by "Top" category: only show entries that
     are of the same category than the Top category of the entry at
     point.

*** Org Links

**** Inserting links

     When inserting links through [[doc::org-insert-link][org-insert-link]], the description is
     now displayed first, followed by the literal link, as the
     description is often more useful when you look for the link you
     want to insert.

     Completion now complete both literal links and description.  If
     you complete a description, the literal link and its description
     will be inserted directly, whereas when you complete the literal
     link, you will be prompted for a description (as with Org 7.8.)

     In the completion buffer, links to the current buffer are now
     highlighted.

**** New templates =%h= and =%(sexp)= for abbreviated links

     On top of =%s= template, which is replaced by the link tag in
     abbreviated links, you can now use =%h= (which does the same than =%s=
     but does not hexify the tag) and =%(sexp)= (which can run a function
     that takes the tag as its own argument.)

**** New link type =help=

     You can now create links from =help= buffers.

     For example, if you request help for the command [[doc::org-agenda][org-agenda]] with
     =C-h f org-agenda RET=, creating a link from this buffer will let
     you go back to the same buffer.

**** New command [[doc::org-insert-all-links][org-insert-all-links]]

     This will insert all links as list items.  With a universal
     prefix argument, links will not be deleted from the variable
     =org-stored-links=.

     This new command is bound to =C-c C-M-l=.

**** New option [[doc::org-url-hexify-p][org-url-hexify-p]]

     When set to =nil=, the =URL= part of a link will not be hexified.

**** Org can now open multiple shell links

**** New option [[doc::org-doi-server-url][org-doi-server-url]] to specify an alternate DOI server

**** RET now follows time stamps links

*** Org Editing

**** [[doc::org-todo][org-todo]] and =org-archive-*= can now loop in the active region

     When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, using
     [[doc::org-todo][org-todo]] or =org-archive-*= commands in the active region will
     loop over headlines.  This is handy if you want to set the TODO
     keyword for several items, or archive them quickly.

**** You can now set tags for headlines in a region

     If [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, then
     selecting the region and hitting =C-c C-q= will set the tags for
     all headlines in the region.

**** New command [[doc::org-insert-drawer][org-insert-drawer]] to insert a drawer interactively

**** Comments start with "^[ \t]*# " anywhere on a line

     Note that the space after the hashtag is mandatory.  Comments
     with "^#+" are not supported anymore.

**** New speed key =#= to toggle the COMMENT cookie on a headline

**** =indent-region-function= is now set to [[doc::org-indent-region][org-indent-region]]

     =C-M-\= should now produce useful results.

     You can unindent the buffer with [[doc::org-unindent-buffer][org-unindent-buffer]].

**** New option [[doc::org-allow-promoting-top-level-subtree][org-allow-promoting-top-level-subtree]]

     When =non-nil=, =S-M-<left>= will promote level-1 subtrees
     containing other subtrees.  The level-1 headline will be
     commented out.  You can revert to the previous state with =M-x
     undo RET=.

*** Org Clock

**** New keybinding =C-c C-x C-z= for [[doc::org-clock-resolve][org-clock-resolve]]

**** New keybinding =C-c C-x C-q= for [[doc::org-clock-cancel][org-clock-cancel]]

**** New command [[doc::org-clock-in-last][org-clock-in-last]] to clock in the last clocked item

     This command is bound to =C-c C-x C-x= and will clock in the last
     clocked entry, if any.

**** =C-u M-x= [[doc::org-clock-out][org-clock-out]] =RET= now prompts for a state to switch to

**** =S-M-<up/down>= on a clock timestamps adjusts the previous/next clock

**** New option [[doc::org-clock-continuously][org-clock-continuously]]

     When set to =nil=, clocking in a task will first try to find the
     last clocked out task and restart from when that task was clocked
     out.

     You can temporarily activate continuous clocking with =C-u C-u
     C-u M-x= [[doc::org-clock-in][org-clock-in]] =RET= (three universal prefix arguments)
     and =C-u C-u M-x= [[org-clock-in-last][org-clock-in-last]] =RET= (two universal prefix
     arguments).


**** New option [[doc::org-clock-frame-title-format][org-clock-frame-title-format]]

     This option sets the value of =frame-title-format= when clocking
     in.

**** New options for controlling the clockreport display

     [[doc::org-clock-file-time-cell-format][org-clock-file-time-cell-format]]: Format string for the file time
     cells in clockreport.

     [[doc::org-clock-total-time-cell-format][org-clock-total-time-cell-format]]: Format string for the total
     time cells in clockreport.


**** New options for controlling the clock/timer display

     [[doc::org-clock-clocked-in-display][org-clock-clocked-in-display]]: control whether the current clock
     is displayed in the mode line and/or frame title.

     [[doc::org-timer-display][org-timer-display]]: control whether the current timer is displayed
     in the mode line and/or frame title.

     This allows the clock and timer to be displayed in the frame
     title instead of, or as well as, the mode line.  This is useful
     for people with limited space in the mode line but with ample
     space in the frame title.

*** Org Appearance

**** New option [[doc::org-custom-properties][org-custom-properties]]

     The visibility of properties listed in this options can be turn
     on/off with [[doc::org-toggle-custom-properties-visibility][org-toggle-custom-properties-visibility]].  This might
     be useful for properties used by third-part tools or that you
     don't want to see temporarily.

**** New command [[doc::org-redisplay-inline-images][org-redisplay-inline-images]]

     This will redisplay all images.  It is bound to =C-c C-x C-M-v=.

**** New entities in =org-entities.el=

     There are these new entities:

     : ("tilde" "\\~{}" nil "&tilde;" "~" "~" "~")
     : ("slash" "/" nil "/" "/" "/" "/")
     : ("plus" "+" nil "+" "+" "+" "+")
     : ("under" "\\_" nil "_" "_" "_" "_")
     : ("equal" "=" nil "=" "=" "=" "=")
     : ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")

**** New face =org-list-dt= for definition terms
**** New face =org-date-selected= for the selected calendar day
**** New face value for =org-document-title=

     The face is back to a normal height.

*** Org Columns

**** New speed command =:= to activate the column view
**** New special property =CLOCKSUM_T= to display today's clocked time

     You can use =CLOCKSUM_T= the same way you use =CLOCKSUM=.  It
     will display the time spent on tasks for today only.

**** Use the =:COLUMNS:= property in columnview dynamic blocks

     If the =:COLUMNS:= is set in a subtree, the columnview dynamic
     block will use its value as the column format.

**** Consider inline tasks when computing a sum

*** Org Dates and Time Stamps

**** Enhanced [[doc::org-sparse-tree][org-sparse-tree]]

     =C-c /= can now check for time ranges.

     When checking for dates with =C-c /= it is useful to change the
     type of dates that you are interested in.  You can now do this
     interactively with =c= after =C-c /= and/or by setting
     [[doc::org-sparse-tree-default-date-type][org-sparse-tree-default-date-type]] to the default value you want.

**** Support for hourly repeat cookies

     You can now use

     : SCHEDULED: <2012-08-20 lun. 08:00 +1h>

     if you want to add an hourly repeater to an entry.

**** =C-u C-u C-c .= inserts a time-stamp with no prompt

**** When (setq [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] 'time), accept days in the prompt

     "8am Wed" and "Wed 8am" are now acceptable values when entering a
     date from the prompt.  If [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] is set to
     =time=, this will produce the expected prompt indication.

**** New option [[doc::org-datetree-add-timestamp][org-datetree-add-timestamp]]

     When set to =non-nil=, datetree entries will also have a
     timestamp.  This is useful if you want to see these entries in a
     sparse tree with =C-c /=.

*** Org Capture

**** New command [[doc::org-capture-string][org-capture-string]]

     M-x [[doc::org-capture-string][org-capture-string]] RET will prompt for a string and a capture
     template.  The string will be used as an annotation for the
     template.  This is useful when capturing in batch mode as it lets
     you define the content of the template without being in Emacs.

**** New option [[doc::org-capture-templates-contexts][org-capture-templates-contexts]]

     Setting this option allows you to define specific context where
     capture templates should be available from.  For example, when
     set to this value

     #+BEGIN_SRC emacs-lisp
  (setq org-capture-templates-contexts
        '(("c" (in-mode . "message-mode"))))
#+END_SRC

     then the =c= capture template will only be available from
     =message-mode= buffers.  See the docstring and the manual for
     more details on how to use this.

**** New =%l= template to insert the literal link
**** New option [[doc::org-capture-bookmark][org-capture-bookmark]]

     Org used to automatically add a bookmark with capture a note.
     You can now turn this on by setting [[doc::org-capture-bookmark][org-capture-bookmark]] to
     =nil=.

**** Expand =%<num>= escape sequences into text entered for <num>'th =%^{PROMPT}= escape

     See the manual for more explanations.

**** More control over empty lines

     You can use =:empty-lines-before= and =:empty-lines-after= to
     control the insertion of empty lines.  Check the manual for more
     explanations.

**** New hook [[doc::org-capture-prepare-finalize-hook][org-capture-prepare-finalize-hook]]

     This new hook runs before the finalization process starts.

*** Org Export

**** New functions =orgtbl-to-table.el= and =orgtbl-to-unicode=

     =orgtbl-to-table.el= convert the table to a =table.el= table, and
     =orgtbl-to-unicode= will use =ascii-art-to-unicode.el= (when
     available) to print beautiful tables.

**** [[doc::org-table-export][org-table-export]] now a bit clever about the target format

     When you specify a file name like =table.csv=, [[doc::org-table-export][org-table-export]]
     will now suggest =orgtbl-to-csv= the default method for exporting
     the table.

**** New option [[doc::org-export-date-timestamp-format][org-export-date-timestamp-format]]

     The option allows to set a time string format for Org timestamps
     in the #+DATE option.

**** LaTeX: New options for exporting table rules :tstart, :hline and :tend

     See [[doc::org-export-latex-tables-hline][org-export-latex-tables-hline]] and [[doc::org-export-latex-tables-tend][org-export-latex-tables-tend]].

**** LaTeX: You can now set =:hfmt= from =#+ATTR_LaTeX=
**** Beamer: Add support and keybinding for the =exampleblock= environment

     Add support for these languages in [[doc::org-export-language-setup][org-export-language-setup]].
     More languages are always welcome.

**** Beamer: New option [[doc::org-beamer-inherited-properties][org-beamer-inherited-properties]]

     This option allows Beamer export to inherit some properties.
     Thanks to Carsten for implementing this.

**** ODT: Add support for ODT export in org-bbdb.el
**** ODT: Add support for indented tables (see [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3De9fd33][this commit]] for details)
**** ODT: Improve the conversion from ODT to other formats
**** ASCII: Swap the level-1/level-2 characters to underline the headlines
**** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
**** HTML: New option [[doc::org-export-html-date-format-string][org-export-html-date-format-string]]

     Format string to format the date and time in HTML export.  Thanks
     to Sébastien Vauban for this patch.

*** Org Babel

**** New =:results drawer= parameter

=:results drawer= replaces =:results wrap=, which is deprecated but still
supported.

**** =:results org= now put results in a =#+BEGIN_SRC org= block

=:results org= used to put results in a =#+BEGIN_ORG= block but it now puts
Paul Eggert's avatar
Paul Eggert committed
542
results in a =#+BEGIN_SRC org= block, with comma-escaped lines.
543 544 545 546 547 548 549 550 551 552 553 554

=#+BEGIN_ORG= blocks are obsolete.

**** Exporting =#+BEGIN_SRC org= blocks exports the code

It used to exports the results of the code.

*** Miscellaneous

**** New menu entry for [[doc::org-refile][org-refile]]
**** Allow capturing to encrypted entries

Paul Eggert's avatar
Paul Eggert committed
555
If you capture to an encrypted entry, it will be decrypted before
556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852
inserting the template then re-encrypted after finalizing the capture.

**** Inactive timestamps are now handled in tables

Calc can do computation on active time-stamps like <2012-09-29 sat.>.
Inactive time-stamps in a table's cell are now internally deactivated so
that Calc formulas can operate on them.

**** [[doc::org-table-number-regexp][org-table-number-regexp]] can now accept comma as decimal mark
**** Org allows a new property =APPT_WARNTIME=

     You can set it with the =W= speedy key or set it manually.  When
     set, exporting to iCalendar and [[doc::org-agenda-to-appt][org-agenda-to-appt]] will use the
     value of this property as the number of minutes for the warning
     alarm.

**** New command [[doc::org-inc-effort][org-inc-effort]]

     This will increment the effort value.

     It is bound to =C-c C-x E= and to =E= as a speedy command.

**** Attach: Add support for creating symbolic links

     =org-attach-method= now supports a new method =lns=, allowing to
     attach symbolic links.

**** Archive: you can now archive to a datetree

**** New option [[doc::org-inlinetask-show-first-star][org-inlinetask-show-first-star]]

     =Non-nil= means display the first star of an inline task as
     additional marker.  When =nil=, the first star is not shown.

**** New option [[doc::org-latex-preview-ltxpng-directory][org-latex-preview-ltxpng-directory]]

     This lets you define the path for the =ltxpng/= directory.

**** You can now use imagemagick instead of dvipng to preview LaTeX fragments
**** You can now turn off [[doc::orgstruct++-mode][orgstruct++-mode]] safely
**** =C-u C-c C-c= on list items to add check boxes

     =C-u C-c C-c= will add an empty check box on a list item.

     When hit from the top of the list, it will add check boxes for
     all top level list items.

**** =org-list-ending-method= and =org-list-end-regexp= are now obsolete

     Fall back on using =org-list-end-re= only, which see.

**** org-feed.el now expands =%(sexp)= templates
**** New option [[doc::org-protocol-data-separator][org-protocol-data-separator]]

**** New option [[doc::org-ditaa-jar-option][org-ditaa-jar-option]] to specify the ditaa jar file

**** New possible value for [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]]

     When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is set to
     =start-level=, the command will loop over the active region but
     will only act upon entries that are of the same level than the
     first headline in the region.

**** New option [[doc::org-habit-show-all-today][org-habit-show-all-today]]

     When set to =t=, show all (even unscheduled) habits on today's
     agenda.

** Important bug fixes

*** M-TAB on options keywords perform completion correctly again

    If you hit =M-TAB= on keywords like =#+TITLE=, Org will try to
    perform completion with meaningful values.

*** Add licenses to javascript embedded and external code snippets

    Embedded javascript code produced when exporting an Org file to
    HTML is now licensed under GPLv3 (or later), and the copyright is
    owned by the Free Software Foundation, Inc.

    The javascript code for embedding MathJax in the browser mentions
    the MathJax copyright and the Apache 2.0 license.

    The javascript code for embedding =org-injo.js= in the browser
    mentions the copyright of Sebastian Rose and the GPLv3 (or later)
    license.

    =org-export-html-scripts= is now a variable, so that you can adapt
    the code and the license to your needs.

    See http://www.gnu.org/philosophy/javascript-trap.html for
    explanations on why these changes were necessary.

* Version 7.8.11

** Incompatible changes

*** Emacs 21 support has been dropped

    Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.

*** XEmacs support requires the XEmacs development version

    To use Org mode 7.xx with XEmacs, you need to run the developer
    version of XEmacs.  We were about to drop XEmacs support entirely,
    but Michael Sperber stepped in and made changes to XEmacs that
    made it easier to keep the support.  Thanks to Michael for this
    last-minute save.

*** New keys for TODO sparse trees

    The key =C-c C-v= is now reserved for Org Babel action.  TODO
    sparse trees can still be made with =C-c / t= (all not-done
    states) and =C-c / T= (specific states).

*** The Agenda =org-agenda-ndays= is now obsolete

    The variable =org-agenda-ndays= is obsolete - please use
    =org-agenda-span= instead.

    Thanks to Julien Danjou for this.

*** Changes to the intended use of =org-export-latex-classes=

    So far this variable has been used to specify the complete header
    of the LaTeX document, including all the =\usepackage= calls
    necessary for the document.  This setup makes it difficult to
    maintain the list of packages that Org itself would like to call,
    for example for the special symbol support it needs.

    First of all, you can *opt out of this change* in the following
    way: You can say: /I want to have full control over headers, and I
    will take responsibility to include the packages Org needs/.  If
    that is what you want, add this to your configuration and skip the
    rest of this section (except maybe for the description of the
    =[EXTRA]= place holder):

    #+begin_src emacs-lisp
   (setq org-export-latex-default-packages-alist nil
         org-export-latex-packages-alist nil)
    #+end_src

    /Continue to read here if you want to go along with the modified
    setup./

    There are now two variables that should be used to list the LaTeX
    packages that need to be included in all classes.  The header
    definition in =org-export-latex-classes= should then not contain
    the corresponding =\usepackage= calls (see below).

    The two new variables are:

    1. =org-export-latex-default-packages-alist= :: This is the
         variable where Org-mode itself puts the packages it needs.
         Normally you should not change this variable.  The only
         reason to change it anyway is when one of these packages
         causes a conflict with another package you want to use.  Then
         you can remove that packages and hope that you are not using
         Org-mode functionality that needs it.

    2. =org-export-latex-packages-alist= :: This is the variable where
         you can put the packages that you'd like to use across all
         classes.

    The sequence how these customizations will show up in the LaTeX
    document are:

    1. Header from =org-export-latex-classes=
    2. =org-export-latex-default-packages-alist=
    3. =org-export-latex-packages-alist=
    4. Buffer-specific things set with =#+LaTeX_HEADER:=

    If you want more control about which segment is placed where, or
    if you want, for a specific class, have full control over the
    header and exclude some of the automatic building blocks, you can
    put the following macro-like place holders into the header:

    #+begin_example
    [DEFAULT-PACKAGES]      \usepackage statements for default packages
    [NO-DEFAULT-PACKAGES]   do not include any of the default packages
    [PACKAGES]              \usepackage statements for packages
    [NO-PACKAGES]           do not include the packages
    [EXTRA]                 the stuff from #+LaTeX_HEADER
    [NO-EXTRA]              do not include #+LaTeX_HEADER stuff
    #+end_example

    If you have currently customized =org-export-latex-classes=, you
    should revise that customization and remove any package calls that
    are covered by =org-export-latex-default-packages-alist=.  This
    applies to the following packages:

    - inputenc
    - fontenc
    - fixltx2e
    - graphicx
    - longtable
    - float
    - wrapfig
    - soul
    - t1enc
    - textcomp
    - marvosym
    - wasysym
    - latexsym
    - amssymb
    - hyperref

    If one of these packages creates a conflict with another package
    you are using, you can remove it from
    =org-export-latex-default-packages-alist=.  But then you risk that
    some of the advertised export features of Org will not work
    properly.

    You can also consider moving packages that you use in all classes
    to =org-export-latex-packages-alist=.  If necessary, put the place
    holders so that the packages get loaded in the right sequence.  As
    said above, for backward compatibility, if you omit the place
    holders, all the variables will dump their content at the end of
    the header.

*** The constant =org-html-entities= is obsolete

    Its content is now part of the new constant =org-entities=, which
    is defined in the file org-entities.el.  =org-html-entities= was
    an internal variable, but it is possible that some users did write
    code using it.

*** =org-bbdb-anniversary-format-alist= has changed

    Please check the docstring and update your settings accordingly.

*** Deleted =org-mode-p=

    This function has been deleted: please update your code.

** Important new features

*** New Org to ODT exporter

    Jambunathan's Org to ODT exporter is now part of Org.

    To use it, it `C-c C-e o' in an Org file.  See the documentation
    for more information on how to customize it.

*** org-capture.el is now the default capture system

    This replaces the earlier system org-remember.  The manual only
    describes org-capture, but for people who prefer to continue to
    use org-remember, we keep a static copy of the former manual
    section [[http://orgmode.org/org-remember.pdf][chapter about remember]].

    The new system has a technically cleaner implementation and more
    possibilities for capturing different types of data.  See
    [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.

    To switch over to the new system:

    1. Run

     : M-x org-capture-import-remember-templates RET

       to get a translated version of your remember templates into the
       new variable =org-capture-templates=.  This will "mostly" work,
       but maybe not for all cases.  At least it will give you a good
       place to modify your templates.  After running this command,
       enter the customize buffer for this variable with

     : M-x customize-variable RET org-capture-templates RET

       and convince yourself that everything is OK.  Then save the
       customization.

    2. Bind the command =org-capture= to a key, similar to what you did
       with org-remember:

     : (define-key global-map "\C-cc" 'org-capture)

       If your fingers prefer =C-c r=, you can also use this key once
       you have decided to move over completely to the new
       implementation.  During a test time, there is nothing wrong
       with using both system in parallel.

** New libraries

*** New Org libraries
**** org-eshell.el (Konrad Hinsen)

     Implement links to eshell buffers.

**** org-special-blocks (Carsten Dominik)

     This package generalizes the #+begin_foo and #+end_foo tokens.

     To use, put the following in your init file:

     #+BEGIN_EXAMPLE
853 854 855
(require 'org-special-blocks)
#+END_EXAMPLE

856 857 858 859 860 861 862 863 864 865
     The tokens #+begin_center, #+begin_verse, etc. existed
     previously.  This package generalizes them (at least for the
     LaTeX and html exporters).  When a #+begin_foo token is
     encountered by the LaTeX exporter, it is expanded
     into \begin{foo}.  The text inside the environment is not
     protected, as text inside environments generally is.
     When #+begin_foo is encountered by the html exporter, a div with
     class foo is inserted into the HTML file.  It is up to the user
     to add this class to his or her stylesheet if this div is to mean
     anything.
866

867
**** org-taskjuggler.el (Christian Egli)
868

869 870
     Christian Egli's /org-taskjuggler.el/ module is now part of Org.
     He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
871

872
**** org-ctags.el (Paul Sexton)
873

874 875 876 877
     Targets like =<<my target>>= can now be found by Emacs' etag
     functionality, and Org-mode links can be used to to link to
     etags, also in non-Org-mode files.  For details, see the file
     /org-ctags.el/.
878

879 880
     This feature uses a new hook =org-open-link-functions= which will
     call function to do something special with text links.
881

882
     Thanks to Paul Sexton for this contribution.
883

884
**** org-docview.el (Jan Böcker)
885

886 887 888 889
     This new module allows links to various file types using docview, where
     Emacs displays images of document pages.  Docview link types can point
     to a specific page in a document, for example to page 131 of the
     Org-mode manual:
890

891
     : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
892

893
     Thanks to Jan Böcker for this contribution.
894

895
*** New Babel libraries
896 897 898 899 900 901 902 903 904

- ob-picolisp.el (Thorsten Jolitz)
- ob-fortran.el (Sergey Litvinov)
- ob-shen.el (Eric Schulte)
- ob-maxima.el (Eric S Fraga)
- ob-java.el (Eric Schulte)
- ob-lilypond.el (Martyn Jago)
- ob-awk.el (Eric Schulte)

905
** Other new features and various enhancements
906

907
*** Hyperlinks
908

909
**** Org-Bibtex -- major improvements
910

911 912 913 914 915 916
     Provides support for managing bibtex bibliographical references
     data in headline properties.  Each headline corresponds to a
     single reference and the relevant bibliographic meta-data is
     stored in headline properties, leaving the body of the headline
     free to hold notes and comments.  Org-bibtex is aware of all
     standard bibtex reference types and fields.
917

918
     The key new functions are
919

920 921 922
     - org-bibtex-check :: queries the user to flesh out all required
          (and with prefix argument optional) bibtex fields available
          for the specific reference =type= of the current headline.
923

924 925
     - org-bibtex-create :: Create a new entry at the given level,
          using org-bibtex-check to flesh out the relevant fields.
926

927 928
     - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a
          formatted Org-mode headline into the current buffer
929

930 931
     - org-bibtex-export-to-kill-ring :: Export the current headline
          to the kill ring as a formatted bibtex entry.
932

933
**** org-gnus.el now allows link creation from messages
934

Paul Eggert's avatar
Paul Eggert committed
935
     You can now create links from messages.  This is particularly
936 937
     useful when the user wants to stored messages that he sends, for
     later check.  Thanks to Ulf Stegemann for the patch.
938

939
**** Modified link escaping
940

941
     David Maus worked on `org-link-escape'.  See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]:
942

943 944 945 946 947 948 949 950 951 952
     : Percent escaping is used in Org mode to escape certain characters
     : in links that would either break the parser (e.g. square brackets
     : in link target oder description) or are not allowed to appear in
     : a particular link type (e.g. non-ascii characters in a http:
     : link).
     :
     : With this change in place Org will apply percent escaping and
     : unescaping more consistently especially for non-ascii characters.
     : Additionally some of the outstanding bugs or glitches concerning
     : percent escaped links are solved.
953

954
     Thanks a lot to David for this work.
955

956
**** Make =org-store-link= point to directory in a dired buffer
957

958 959
     When, in a dired buffer, the cursor is not in a line listing a
     file, `org-store-link' will store a link to the directory.
960

961
     Patch by Stephen Eglen.
962

963
**** Allow regexps in =org-file-apps= to capture link parameters
964

965 966 967 968 969
     The way extension regexps in =org-file-apps= are handled has
     changed.  Instead of matching against the file name, the regexps
     are now matched against the whole link, and you can use grouping
     to extract link parameters which you can then use in a command
     string to be executed.
970

971 972 973
     For example, to allow linking to PDF files using the syntax
     =file:/doc.pdf::<page number>=, you can add the following entry
     to org-file-apps:
974

975 976 977 978
     #+begin_example
     Extension: \.pdf::\([0-9]+\)\'
     Command:   evince "%s" -p %1
     #+end_example
979

980
     Thanks to Jan Böcker for a patch to this effect.
981

982
*** Dates and time
983

984
**** Allow relative time when scheduling/adding a deadline
985

986 987 988 989
     You can now use relative duration strings like "-2d" or "++3w"
     when calling =org-schedule= or =org-deadline=: it will schedule
     (or set the deadline for) the item respectively two days before
     today and three weeks after the current timestamp, if any.
990

991 992
     You can use this programmatically: =(org-schedule nil "+2d")=
     will work on the current entry.
993

994 995
     You can also use this while (bulk-)rescheduling and
     (bulk-)resetting the deadline of (several) items from the agenda.
996

997
     Thanks to Memnon Anon for a heads up about this!
998

999
**** American-style dates are now understood by =org-read-date=
1000

1001
     So when you are prompted for a date, you can now answer like this
1002

1003 1004 1005 1006
     #+begin_example
     2/5/3         --> 2003-02-05
     2/5           --> <CURRENT-YEAR>-02-05
     #+end_example
1007

1008
*** Agenda
1009

1010
**** =org-agenda-custom-commands= has a default value
1011

1012 1013 1014
     This option used to be `nil' by default.  This now has a default
     value, displaying an agenda and all TODOs.  See the docstring for
     details.  Thanks to Carsten for this.
1015

1016
**** Improved filtering through =org-agenda-to-appt=
1017

1018 1019 1020
     The new function allows the user to refine the scope of entries
     to pass to =org-agenda-get-day-entries= and allows to filter out
     entries using a function.
1021

1022 1023 1024
     Thanks to Peter Münster for raising a related issue and to
     Tassilo Horn for this idea.  Also thanks to Peter Münster for
     [[git:68ffb7a7][fixing a small bug]] in the final implementation.
1025

1026
**** Allow ap/pm times in agenda time grid
1027

1028 1029 1030
     Times in the agenda can now be displayed in am/pm format.  See
     the new variable =org-agenda-timegrid-use-ampm=.  Thanks to
     C. A. Webber for a patch to this effect.
1031

1032
**** Agenda: Added a bulk "scattering" command
1033

1034 1035 1036 1037 1038 1039
     =B S= in the agenda buffer will cause tasks to be rescheduled a
     random number of days into the future, with 7 as the default.
     This is useful if you've got a ton of tasks scheduled for today,
     you realize you'll never deal with them all, and you just want
     them to be distributed across the next N days.  When called with
     a prefix arg, rescheduling will avoid weekend days.
1040

1041
     Thanks to John Wiegley for this.
1042

1043
*** Exporting
1044

1045
**** Simplification of org-export-html-preamble/postamble
1046

1047 1048
     When set to `t', export the preamble/postamble as usual, honoring
     the =org-export-email/author/creator-info= variables.
1049

1050 1051 1052
     When set to a formatting string, insert this string.  See the
     docstring of these variable for details about available
     %-sequences.
1053

1054 1055 1056
     You can set =:html-preamble= in publishing project in the same
     way: `t' means to honor =:email/creator/author-info=, and a
     formatting string will insert a string.
1057

1058
**** New exporters to Latin-1 and UTF-8
1059

1060 1061 1062 1063 1064 1065 1066
     While Ulf Stegemann was going through the entities list to
     improve the LaTeX export, he had the great idea to provide
     representations for many of the entities in Latin-1, and for all
     of them in UTF-8.  This means that we can now export files rich
     in special symbols to Latin-1 and to UTF-8 files.  These new
     exporters can be reached with the commands =C-c C-e n= and =C-c
     C-e u=, respectively.
1067

1068 1069 1070 1071 1072 1073
     When there is no representation for a given symbol in the
     targeted coding system, you can choose to keep the TeX-macro-like
     representation, or to get an "explanatory" representation.  For
     example, =\simeq= could be represented as "[approx. equal to]".
     Please use the variable =org-entities-ascii-explanatory= to state
     your preference.
1074

1075
**** HTML export: Add class to outline containers using property
1076

1077 1078
     The =HTML_CONTAINER_CLASS= property can now be used to add a
     class name to the outline container of a node in HTML export.
1079

1080
**** Throw an error when creating an image from a LaTeX snippet fails
1081

1082 1083
     This behavior can be configured with the new option variable
     =org-format-latex-signal-error=.
1084

1085
**** Support for creating BEAMER presentations from Org-mode documents
1086

1087 1088 1089 1090 1091
     Org-mode documents or subtrees can now be converted directly in
     to BEAMER presentation.  Turning a tree into a simple
     presentations is straight forward, and there is also quite some
     support to make richer presentations as well.  See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
     section]] in the manual for more details.
1092

1093 1094 1095 1096
     Thanks to everyone who has contributed to the discussion about
     BEAMER support and how it should work.  This was a great example
     for how this community can achieve a much better result than any
     individual could.
1097

1098
*** Refiling
1099

1100
**** Refile targets can now be cached
1101

1102 1103 1104 1105 1106
     You can turn on caching of refile targets by setting the variable
     =org-refile-use-cache=.  This should speed up refiling if you
     have many eligible targets in many files.  If you need to update
     the cache because Org misses a newly created entry or still
     offers a deleted one, press =C-0 C-c C-w=.
1107

1108
**** New logging support for refiling
1109

1110 1111 1112
     Whenever you refile an item, a time stamp and even a note can be
     added to this entry.  For details, see the new option
     =org-log-refile=.
1113

1114
     Thanks to Charles Cave for this idea.
1115

1116
*** Completion
1117

Paul Eggert's avatar
Paul Eggert committed
1118
**** In-buffer completion is now done using John Wiegley's pcomplete.el
1119

1120
     Thanks to John Wiegley for much of this code.
1121

1122
*** Tables
1123

1124
**** New command =org-table-transpose-table-at-point=
1125

1126 1127
     See the docstring.  This hack from Juan Pechiar is now part of
     Org's core.  Thanks to Juan!
1128

1129
**** Display field's coordinates when editing it with =C-c `=
1130

1131 1132
     When editing a field with =C-c `=, the field's coordinate will
     the displayed in the buffer.
1133

1134
     Thanks to Michael Brand for a patch to this effect.
1135

1136
**** Spreadsheet computation of durations and time values
1137

1138 1139
     If you want to compute time values use the =T= flag, either in
     Calc formulas or Elisp formulas:
1140

1141 1142 1143 1144
     | Task 1 | Task 2 |   Total |
     |--------+--------+---------|
     |  35:00 |  35:00 | 1:10:00 |
     #+TBLFM: @2$3=$1+$2;T
1145

1146 1147
     Values must be of the form =[HH:]MM:SS=, where hours are
     optional.
1148

1149 1150
     Thanks to Martin Halder, Eric Schulte and Carsten for code and
     feedback on this.
1151

1152
**** Implement formulas applying to field ranges
1153

1154
     Carsten implemented this field-ranges formulas.
1155

1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166
     : A frequently requested feature for tables has been to be able to define
     : row formulas in a way similar to column formulas.  The patch below allows
     : things like
     :
     : @3=
     : @2$2..@5$7=
     : @I$2..@II$4=
     :
     : as the left hand side for table formulas in order to write a formula that
     : is valid for an entire column or for a rectangular section in a
     : table.
1167

1168
     Thanks a lot to Carsten for this.
1169

1170
**** Sending radio tables from org buffers is now allowed
1171

1172 1173
     Org radio tables can no also be sent inside Org buffers.  Also,
     there is a new hook which get called after a table has been sent.
1174

1175
     Thanks to Seweryn Kokot.
1176

1177
*** Lists
1178

1179
**** Improved handling of lists
1180

1181
     Nicolas Goaziou extended and improved the way Org handles lists.
1182

1183 1184 1185 1186
     1. Indentation of text determines again end of items in
        lists. So, some text less indented than the previous item
        doesn't close the whole list anymore, only all items more
        indented than it.
1187

1188 1189 1190
     2. Alphabetical bullets are implemented, through the use of the
        variable `org-alphabetical-lists'. This also adds alphabetical
        counters like [@c] or [@W].
1191

1192 1193 1194 1195
     3. Lists can now safely contain drawers, inline tasks, or various
        blocks, themselves containing lists. Two variables are
        controlling this: `org-list-forbidden-blocks', and
        `org-list-export-context'.
1196

1197 1198 1199
     4. Improve `newline-and-indent' (C-j): used in an item, it will
        keep text from moving at column 0. This allows to split text
        and make paragraphs and still not break the list.
1200

1201 1202 1203 1204 1205
     5. Improve `org-toggle-item' (C-c -): used on a region with
        standard text, it will change the region into one item. With a
        prefix argument, it will fallback to the previous behavior and
        make every line in region an item. It permits to easily
        integrate paragraphs inside a list.
1206

1207 1208 1209
     6. `fill-paragraph' (M-q) now understands lists. It can freely be
        used inside items, or on text just after a list, even with no
        blank line around, without breaking list structure.
1210

1211
     Thanks a lot to Nicolas for all this!
1212

1213
*** Inline display of linked images
1214

1215 1216 1217
    Images can now be displayed inline.  The key C-c C-x C-v does
    toggle the display of such images.  Note that only image links
    that have no description part will be inlined.
1218

1219
*** Implement offsets for ordered lists
1220

1221 1222
    If you want to start an ordered plain list with a number different
    from 1, you can now do it like this:
1223

1224
    : 1. [@start:12] will star a lit a number 12
1225

1226
*** Babel: code block body expansion for table and preview
1227

1228 1229 1230 1231 1232 1233
    In org-babel, code is "expanded" prior to evaluation. I.e. the
    code that is actually evaluated comprises the code block contents,
    augmented with the extra code which assigns the referenced data to
    variables. It is now possible to preview expanded contents, and
    also to expand code during during tangling. This expansion takes
    into account all header arguments, and variables.
1234

1235 1236 1237 1238
    A new keybinding `C-c M-b p' bound to `org-babel-expand-src-block'
    can be used from inside of a source code block to preview its
    expanded contents (which can be very useful for debugging).
    tangling
1239

1240 1241 1242 1243 1244 1245
    The expanded body can now be tangled, this includes variable
    values which may be the results of other source-code blocks, or
    stored in headline properties or tables. One possible use for this
    is to allow those using org-babel for their emacs initialization
    to store values (e.g. usernames, passwords, etc...) in headline
    properties or in tables.
1246

1247 1248 1249
    Org-babel now supports three new header arguments, and new default
    behavior for handling horizontal lines in tables (hlines), column
    names, and rownames across all languages.
1250

1251
*** Editing Convenience and Appearance
1252

1253
**** New command =org-copy-visible= (=C-c C-x v=)
1254

1255 1256 1257
     This command will copy the visible text in the region into the
     kill ring.  Thanks to Florian Beck for this function and to
     Carsten for adding it to org.el and documenting it!
1258

1259
**** Make it possible to protect hidden subtrees from being killed by =C-k=
1260

1261 1262
     See the new variable =org-ctrl-k-protect-subtree=.  This was a
     request by Scott Otterson.
1263

1264
**** Implement pretty display of entities, sub-, and superscripts.
1265

1266 1267 1268 1269 1270 1271
     The command =C-c C-x \= toggles the display of Org's special
     entities like =\alpha= as pretty unicode characters.  Also, sub
     and superscripts are displayed in a pretty way (raised/lower
     display, in a smaller font).  If you want to exclude sub- and
     superscripts, see the variable
     =org-pretty-entities-include-sub-superscripts=.
1272

1273
     Thanks to Eric Schulte and Ulf Stegeman for making this possible.
1274

1275
**** New faces for title, date, author and email address lines
1276

1277 1278 1279 1280
     The keywords in these lines are now dimmed out, and the title is
     displayed in a larger font, and a special font is also used for
     author, date, and email information.  This is implemented by the
     following new faces:
1281

1282 1283 1284
     =org-document-title=
     =org-document-info=
     =org-document-info-keyword=
1285

1286 1287
     In addition, the variable =org-hidden-keywords= can be used to
     make the corresponding keywords disappear.
1288

1289
     Thanks to Dan Davison for this feature.
1290

1291
**** Simpler way to specify faces for tags and todo keywords
1292

1293 1294 1295 1296 1297 1298
     The variables =org-todo-keyword-faces=, =org-tag-faces=, and
     =org-priority-faces= now accept simple color names as
     specifications.  The colors will be used as either foreground or
     background color for the corresponding keyword.  See also the
     variable =org-faces-easy-properties=, which governs which face
     property is affected by this setting.
1299

1300 1301
     This is really a great simplification for setting keyword faces.
     The change is based on an idea and patch by Ryan Thompson.
1302

1303
**** <N> in tables now means fixed width, not maximum width
1304

1305
     Requested by Michael Brand.
1306

1307
**** Better level cycling function
1308

1309 1310 1311 1312
     =TAB= in an empty headline cycles the level of that headline
     through likely states.  Ryan Thompson implemented an improved
     version of this function, which does not depend upon when exactly
     this command is used.  Thanks to Ryan for this improvement.
1313

1314
**** Adaptive filling
1315

1316 1317 1318 1319
     For paragraph text, =org-adaptive-fill-function= did not handle
     the base case of regular text which needed to be filled.  This is
     now fixed.  Among other things, it allows email-style ">"
     comments to be filled correctly.
1320