babel: Interpret string results as file links with :results file
[org-mode/org-mode-NeilSmithlineMods.git] / ORGWEBPAGE / Changes.org
blobc88d879d9ea25ca867cc8a578087e7b28ae149af
1 #   -*- mode: org; fill-column: 65 -*-
3 #+begin_html
4 <a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
5 #+end_html
7 #+STARTUP: indent hidestars
9 * Version 7.4
10 :PROPERTIES:
11 :VISIBILITY: content
12 :CUSTOM_ID: v7.4
13 :END:
16 ** Incompatible changes
18 *** Agenda: rework ndays and span handling
19     
20 The variable =org-agenda-ndays= is obsolete - please use
21 =org-agenda-span= instead.
23 Thanks to Julien Danjou for this.
25 ** Details
27 *** Improvements with inline tasks and indentation
29 There is now a configurable way on how to export inline tasks.  See
30 the new variable =org-inlinetask-export-templates=.
32 Thanks to Nicolas Goaziou for coding these changes.
34 *** Agenda: Added a bulk "scattering" command
35     
36 =B S= in the agenda buffer will cause tasks to be rescheduled a random
37 number of days into the future, with 7 as the default.  This is useful
38 if you've got a ton of tasks scheduled for today, you realize you'll
39 never deal with them all, and you just want them to be distributed
40 across the next N days.  When called with a prefix arg, rescheduling
41 will avoid weekend days.
43 Thanks to John Wiegley for this.
45 *** In-buffer completion is now done using John Wiegleys pcomplete.el
47 Thanks to John Wiegley for much of this code.
49 *** Sending radio tables from org buffers is now allowed
51 Org radio tables can no also be sent inside Org buffers.  Also,
52 there is a new hook which get called after a table has been sent.
54 Thanks to Seweryn Kokot.
56 *** Command names shown in manual
58 The reference manual now lists command names for most commands.
59 Thanks to Andreas Röhler who started this project.
61 *** Allow ap/pm times in agenda time grid
63 Times in the agenda can now be displayed in am/pm format.  See the new
64 variable =org-agenda-timegrid-use-ampm=.  Thanks to C. A. Webber for
65 a patch to this effect.
67 *** Rewriten clock table code 
69 The entire clocktable code has been rewritten to add more options and
70 to make hacking time reports easier.
72 Thanks to Erwin Vrolijk for a patch introducing clock tables for
73 quarters.
75 *** Babel
76 **** Add =msosql= engine to sql code blocks
77 SQL code blocks can now be executed using the =myosql= engine on
78 Windows systems.
80 Thanks to S√©bastien Vauban for this contribution.
82 **** Python code blocks now accept a =preamble= header argument
83 This allows specification of coding declarations and library imports
84 which must take place in the beginning of a file of executed python
85 code (note this header argument is used during code block evaluation
86 unlike the =shebang= header argument which is used during tangling).
87 For example
89 #+begin_src org
90   ,#+begin_src python :preamble # -*- coding: utf-8 -*- :return s
91   ,s = "√©"
92   ,#+end_src
93 #+end_src
95 Thanks to Vincent Beffara for this idea.
97 **** Code block name is shown during evaluation query
98 When the user is queried about the evaluation of a named code block
99 the name of the code block is now displayed.
101 Thanks to Tom Dye for this suggestion.
103 **** Clojure code blocks results insertion
104 The results of Clojure code blocks have been improved in two ways.
105 1. lazy sequences are now expanded for insertion into the Org-mode
106    buffer
107 2. pretty printing of results is now possible with both "code" and
108    "data" pretty print formats
110 Thanks to Rick Moynihan for suggesting these changes.
112 **** Python code blocks now accept a =:return= header argument
113 This alleviates the need to explicitly insert return statements into
114 the bode of Python code blocks.  This change both
115 - allows the same python code blocks to be run both in sessions and
116   externally
117 - removes the floating =return= statements which violated python
118   syntax
120 Thanks to Darlan Cavalcante for proposing this feature.
122 **** =:results wrap= header argument wraps code block results
123 The new =:results wrap= wraps code blocks results in a custom
124 environment making it possible to offset their contents during
125 export.  For example
127 #+begin_src org
128   ,#+begin_src emacs-lisp :results wrap
129   ,  "code block results"
130   ,#+end_src
131   
132   ,#+results:
133   ,#+BEGIN_RESULT
134   ,: code block results
135   ,#+END_RESULT
136 #+end_src
138 Thanks to S√©bastien Vauban for persistently suggesting this enhancement.
140 **** Code block error buffer wiped clean between executions
141 Previously the code block error buffer accumulated errors making it
142 difficult to distinguish between previous and current errors.  This
143 buffer is now cleaned before every interactive code block evaluation.
145 **** Lists now recognized by code blocks
146 It is now possible for code blocks to both read and write list
147 contents from and to Org-mode buffers.  For example
149 #+begin_src org
150   ,#+results: a-list
151   ,- babel
152   ,- and
153   ,- org-mode
154   
155   ,#+source: a-list
156   ,#+begin_src emacs-lisp :var lst=a-list :results list
157   ,  (reverse lst)
158   ,#+end_src
159 #+end_src
161 **** Calc added as a supported code block language
162 The Emacs Calc package can be used through =calc= code blocks allowing
163 both regular arithmetic operations as well as stack based
164 calculation.  For example
166 #+begin_src org
167   ,#+source: calc-stack
168   ,#+begin_src calc
169   ,  8
170   ,  1
171   ,  '+
172   ,  9
173   ,  '*
174   ,#+end_src
175   
176   ,#+results: calc-stack
177   ,: 81
178   
179   ,#+source: calc-arithmetic
180   ,#+begin_src calc :var in=calc-stack
181   ,  in / 9
182   ,#+end_src
183   
184   ,#+results: calc-arithmetic
185   ,: 9
186 #+end_src
188 **** "org-babel-detangle" propagates change to source code files into code blocks
189 `org-babel-detangle' can be used to propagate changes to pure source
190 code files tangled from embedded code blocks in Org-mode files back to
191 the original code blocks in the Org-mode file.  This can be used on
192 collaborative projects to keep embedded code blocks up to date with
193 edits made in pure source code files.
202 * Version 7.02
204 :PROPERTIES:
205 :CUSTOM_ID: v7.02
206 :END:
208 ** Incompatible Changes
209 *** Code block hashes
210 Due to changes in the code resolving code block header arguments
211 hashing of code block results should now re-run a code block when
212 an argument to the code block has changed.  As a result of this
213 change *all* code blocks with cached results will be re-run after
214 upgrading to the latest version.
216 *** Testing update
217 Anyone using the org-mode test suite will need to update the jump
218 repository for test navigation by executing the following from
219 the root of the org-mode repository.
220 : git submodule update
221 Failure to update this repository will cause loading of
222 org-test.el to throw errors.
223 ** Details
224 *** Org-babel speed commands
225 All Org-babel commands (behind the C-c C-v key prefix) are now
226 available as speed commands when the point is on the first line of a
227 code block.  This uses the existing Org-mode speed key mechanisms.
229 Thanks to Jambunathan K for implementation this new feature.
231 *** Fontify code in code blocks.
233 Source code in code blocks can now be fontified.  Please customize the
234 varable =org-src-fontify-natively=. For very large blocks (several
235 hundreds of lines) there can be delays in editing such fontified
236 blocks, in which case C-c ' should be used to bring up a dedicated
237 edit buffer.
239 Thanks to Dan Davison for this.
241 *** Language-mode commands are available in the Org-buffer
242     The most general machinery for doing this is the macro
243     `org-babel-do-in-edit-buffer'. There is also the convenience
244     function `org-babel-do-key-sequence-in-edit-buffer' which makes
245     use of this macro, and is bound to C-c C-v C-x and C-c C-v x. If
246     there is an active region contained within the code block, then
247     this is inherited by the edit buffer. Some examples of the sorts
248     of usage this permits are
250 C-c C-v C-x M-;       comment region according to language
251 C-c C-v C-x C-M-\     indent region according to language
253 Users can make these more convenient, e.g.
255 (defun my/org-comment-dwim (&optional arg)
256     (interactive "P")
257     (or (org-babel-do-key-sequence-in-edit-buffer "\M-;")
258         (comment-dwim arg)))
260 (define-key org-mode-map "\M-;" 'my/org-comment-dwim)
262 A common instance of this general pattern is built in to Org-mode,
263 controlled by the variable `org-src-tab-acts-natively': if this
264 variable is set, then TAB in a code block has the effect that it would
265 have in the language major mode buffer.
267 *** Org-babel commands are available in language-mode edit buffer
268     Mirroring the language-native commands in Org buffers above, a new
269     macro `org-src-do-at-code-block' and convenience function
270     `org-src-do-key-sequence-at-code-block' provide the converse. When
271     used in a language major-mode edit buffer (i.e. a buffer generated
272     by C-c '), `org-src-do-key-sequence-at-code-block' executes a key
273     sequence at the code block in the source Org buffer.  The command
274     bound to the key sequence in the Org-babel key map is executed
275     remotely with point temporarily at the start of the code block in
276     the Org buffer.
278     The command is not bound to a key by default, to avoid conflicts
279     with language major mode bindings. To bind it to C-c @ in all
280     language major modes, you could use
282   (add-hook 'org-src-mode-hook
283             (lambda () (define-key org-src-mode-map "\C-c@"
284                     'org-src-do-key-sequence-at-code-block)))
286     In that case, for example, C-c @ t issued in code edit buffers
287     would tangle the current Org code block, C-c @ e would execute
288     the block and C-c @ h would display the other available
289     Org-babel commands.
291 *** Multi-line header arguments to code blocks
292 Code block header arguments can now span multiple lines using the
293 new =#+header:= or =#+headers:= lines preceding a code block or
294 nested in between the name and body of a named code block.
295 Examples are given below.
297 - multi-line header arguments on an un-named code block
298   : #+headers: :var data1=1
299   : #+begin_src emacs-lisp :var data2=2
300   :   (message "data1:%S, data2:%S" data1 data2)
301   : #+end_src
302   : 
303   : #+results:
304   : : data1:1, data2:2
306 - multi-line header arguments on a named code block
307   :   #+source: named-block
308   :   #+header: :var data=2
309   :   #+begin_src emacs-lisp
310   :     (message "data:%S" data)
311   :   #+end_src
312   : 
313   :   #+results: named-block
314   :   : data:2
316 *** Unified handling of variable expansion for code blocks
317 The code used to resolve variable references in code block header
318 arguments has now been consolidated.  This both simplifies the
319 code base (especially the language-specific files), and ensures
320 that the arguments to a code block will not be evaluated multiple
321 times.  This change should not be externally visible to the
322 Org-mode user.
323 *** Improved Caching
324 Code block caches now notice if the value of a variable argument
325 to the code block has changed, if this is the case the cache is
326 invalidated and the code block is re-run.  The following example
327 can provide intuition for the new behavior.
328 #+begin_src org :exports code
329   ,#+srcname: random
330   ,#+begin_src R :cache yes
331   ,runif(1)
332   ,#+end_src
333   
334   ,#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
335   ,: 0.4659510825295
336   
337   ,#+srcname: caller
338   ,#+begin_src emacs-lisp :var x=random :cache yes
339   ,x
340   ,#+end_src
341   
342   ,#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
343   ,: 0.254227238707244
344 #+end_src
346 *** Added :headers header argument for LaTeX code blocks
347 This makes it possible to set LaTeX options which must take place in
348 the document pre-amble for LaTeX code blocks.  This header argument
349 accepts either a single string or a list, e.g.
351 #+begin_src org
352   ,#+begin_src latex :headers \usepackage{lmodern} :file name1.pdf
353   ,  latex body
354   ,#+end_src
355   
356   ,#+begin_src latex :headers '("\\usepackage{mathpazo}" "\\usepackage{fullpage}") :file name2.pdf
357   ,  latex body
358   ,#+end_src
359 #+end_src
361 *** New function `org-export-string'
362 Allows exporting directly from a string to the specified export format.
363 *** Code block header argument ":noweb tangle"
364 Only expands <<noweb>> syntax references when tangling, not during
365 export (weaving).
366 *** New function `org-babel-switch-to-session-with-code'
367 C-c C-v z (`org-babel-switch-to-session-with-code') is a variant of
368 C-c C-v C-z (`org-babel-switch-to-session'): instead of switching to
369 the session buffer, it splits the window between (a) the session
370 buffer and (b) a language major-mode edit buffer for the code block in
371 question. This can be convenient for using language major mode for
372 interacting with the session buffer.
374 *** Improvements to R sessions
375     R now uses standard ESS code evaluation machinery in the :results
376     value case, which avoids unnecessary output to the comint
377     buffer. In addition, the R command responsible for writing the
378     result to file is hidden from the user.  Finally, the R code edit
379     buffer generated by C-c ' is automatically linked to the ESS
380     session if the current code block is using :session.
382 *** Temporary file directory
383 All babel temporary files are now kept in a single sub-directory in
384 the /tmp directory and are cleaned up when Emacs exits.
386 *** Function for demarcating blocks `org-babel-demarcate-block'
387 Can be called to wrap the region in a block, or to split the block
388 around point, bound to (C-c C-v d).
390 *** Function for marking code block contents `org-babel-mark-block'
391     Bound to C-M-h in the babel key map (i.e. C-c C-v C-M-h by
392     default).  This can be useful in conjunction with
393     `org-babel-do-in-edit-buffer', for example for language-native
394     commenting or indenting of the whole block.
395 *** Lists of anniversaries are now handeled better
397 When several anniversaries are defined in the bbdb anniversaries
398 field (separated by semicolon), this is now handled nicely by the
399 agenda.
401 Thanks to Łukasz Stelmach for a patch to this effect.
403 *** Table fields are now aligned better, new <c> cookie.
405 In HTML export, table fields are now properly aligned in accord
406 with automatic alignment in org, or as set by the =<r>=, =<l>=, and
407 =<c>= cookies.  The =<c>= cookie is new and has no effect in
408 Org, but it does do the right thing in HTML export.  A LaTeX export
409 implementation will follow, but is currently still missing.
411 *** Update freemind converter to include body text
413 The freemind exporter now incorporates body text into the mind
414 map. 
416 Thanks to Lennard Borgman for this patch.
417     
418 *** Make footnotes work correctly in message-mode
419 The footnotes code now searches for =message-signature-separator=
420 (which is "-- " by default) in order to place footnotes before the
421 signature.  Thanks to Tassilo Horn for this patch.
423 *** Improve XEmacs compatibility
425 Org-mode 7.02 now runs again in 21.4.22 if the new XEmacs base
426 package is installed.
428 Thanks to Uwe Bauer, Volker Ziegler, Michael Sperber and others
429 for a discussion that lead to this nice result.
430     
431 *** Make it configurable wether agenda jumping prefers the future
433 When jumping to a date from the agenda using the =j= key, you may
434 or may not like the property of Org's date reader to prefer the
435 future when you enter incomplete dates.   This can now be
436 configured using the variable =org-agenda-jump-prefer-future'.
438 *** Add publishing functions for ASCII, Latin-1 and UTF-8
440 There are now publishing functions =org-publish-org-to-ascii=,
441 =org-publish-org-to-latin1=, and =org-publish-org-to-utf8=. 
443 Thanks to Matthias Danzl for showing how to do this.
445 *** Indentation and headline insertion after inline tasks
447 Indentation in inline tasks, and headline insertion after inline
448 tasks now behave as expected.
450 *** Encryption in MobileOrg finally works
452 As soon as MobilOrg 1.5 hits the Apple's AppStore, you can
453 encrypt your org files on public servers.  Please see the
454 documentation of MobileOrg and Appendix B of the manual for more
455 details.
456     
457 *** MobileOrg: Do not force to insert IDs
459 If you dislike the property of MobileOrg to insert ID properties
460 for in all entries being part of an agenda view, you can now turn
461 this off using the variable
462 =org-mobile-force-id-on-agenda-items=.  When this variable is set
463 to =nil=, MobileOrg will use outline paths to identify entries.
464 Note that this may fail if several entries have identical outline
465 paths.
467 *** LaTeX minted package for fontified source code export
468 Patch by Dan Davison.
470 A non-nil value of `org-export-latex-minted' means to export source
471 code using the minted package, which will fontify source code
472 with color.  If you want to use this, you need to make LaTeX use the
473 minted package. Add minted to `org-export-latex-packages-alist', for
474 example using customize, or with something like
476   (require 'org-latex)
477   (add-to-list 'org-export-latex-packages-alist '("" "minted"))
479 In addition, it is neccessary to install
480 pygments (http://pygments.org), and to configure
481 `org-latex-to-pdf-process' so that the -shell-escape option is
482 passed to pdflatex.
484 *** Allow to use texi2dvi or rubber for processing LaTeX to pdf
486 Please see the variable =org-export-latex-to-pdf-process= for
487 more information.
489 Thanks to Olivier Schwander for the rubber part.
491 *** New STARTUP keywords to turn on inline images
493 If you want to inline images whenever you visit an Org file, use
495 : #+STARTUP: inlineimages
497 *** Support for user-extensible speed commands.
499 There is a new hook =org-speed-command-hook=.  Thanks to
500 Jambunathan for a patch to this effect.
502 *** Add macro to insert property values into exported text
504 you can use {{{property{NAME}}}} to insert the value of a
505 property upon export.
507 Thanks to David Maus for a patch to this effect.
509 *** LaTeX package fixes
511 We updated the list of default packages loaded by LaTeX exported
512 files.
514 *** Allow "#" and "%" in tags
516 Tags can now also contain the characters =#= and =%=, in addition
517 to =@= and letters.
519 *** Show command names in manual
521 Andreas Röhler is adding command names to keys in the manual.
522 This will take a while to complete, but a start has been made.
524 *** Make backslash escape "-" in property matches
526 When entering a tags/property query, "-" is a logical operator.
527 However, "-" is also allowed in property names.  So you can now
528 write "SOME\-NAME" to work around this issue.
530 This was a request by Ilya Shlyakhter.
531     
532 *** Document quick insertion of empty structural elements
534 Org-mode has a built-in template mechanism for inserting block
535 templates.  This was undocumented until now.
537 Thanks to Jambunathan K for the patch.
539 *** Implement MathJax support
541 Org-mode now uses MathJax to display math on web pages.  We serve
542 MathJax from the orgmode.org server, at least for the time being
543 (thanks Bastien!).  If you are going to use this for pages which
544 are viewed often, please install MathJax on your own webserver.
546 To return to the old way of creating images and inserting them
547 into web pages, you would have to set
549 : (setq org-export-with-LaTeX-fragments 'dvipng)
551 or on a per-file basis
553 : #+OPTIONS: LaTeX:dvipng
554     
555 *** Agenda: Allow compact two-column display in agenda dispatcher
557 If you have many custom agenda commands, you can have the display
558 in the dispatcher use two columns with the following settings
560 : (setq org-agenda-menu-show-match nil
561 :       org-agenda-menu-two-column t)
563 This was a request by John Wiegley.
565 *** Add org-wikinodes.el as a contributed package
567 One frequent request has been to be able to use CamelCase words
568 for automatic cross links in a Wiki created by Org.  THis is now
569 possible with org-wikinodes.el, which is available in the contrib
570 directory.  We also have some [[http://orgmode.org/worg/org-contrib/org-wikinodes.php][documentation]] for this feature up
571 on Worg.
573 *** Timer/clock enhancements
575 =org-timer-set-timer= displays a countdown timer in the modeline.
576 From the agenda, `J' invokes =org-agenda-clock-goto=.
578 * Version 7.01
579 :PROPERTIES:
580 :CUSTOM_ID: v7.01
581 :END:
583 ** Incompatible Changes
585 *** Emacs 21 support has been dropped
587 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
589 *** XEmacs support requires the XEmacs development version
591 To use Org mode 7.xx with XEmacs, you need to run the developer
592 version of XEmacs.   I was about to drop XEmacs support entirely,
593 but Michael Sperber stepped in and made changes to XEmacs that
594 made it easier to keep the support.  Thanks to Michael for this
595 last-minute save.  I had hoped to be able to remove
596 xemacs/noutline.el from release 7 by moving it into XEmacs, but
597 this is not yet done.
599 *** Org-babel configuration changes
600 :PROPERTIES:
601 :CUSTOM_ID: ob-configuration-changes
602 :END:
604 Babel took the integration into Org-mode as an opportunity to do
605 some much needed house cleaning.  Most importantly we have
606 simplified the enabling of language support, and cleared out
607 unnecessary configuration variables -- which is great unless you
608 already have a working configuration under the old model.
610 The most important changes regard the /location/ and /enabling/
611 of Babel (both core functionality and language specific support).
613 - Babel :: Babel is now part of the core of Org-mode, so it is
614      now loaded along with the rest of Org-mode.  That means that
615      there is /no configuration/ required to enable the main
616      Babel functionality.  For current users, this means that
617      statements like
618      #+begin_src emacs-lisp
619        (require 'org-babel)
620      #+end_src
621      or
622      #+begin_src emacs-lisp
623        (require 'org-babel-init)
624      #+end_src
625      that may by lying around in your configuration must now be
626      removed.
627 - load path :: Babel (including all language specific files --
628      aside from those which are located in the =contrib/=
629      directory for reasons of licencing) now lives in the base of
630      the Org-mode lisp directory, so /no additional directories/
631      need to be added to your load path to use babel.  For Babel
632      users this means that statements adding babel-specific
633      directories to your load-path should now be removed from
634      your config.
635 - language support :: It is no longer necessary to require
636      language specific support on a language-by-language basis.
637      Specific language support should now be managed through the
638      `org-babel-load-languages' variable.  This variable can be
639      customized using the Emacs customization interface, or
640      through the addition of something like the following to your
641      configuration (note: any language not mentioned will /not/
642      be enabled, aside from =emacs-lisp= which is enabled by
643      default)
644      #+begin_src emacs-lisp
645        (org-babel-do-load-languages
646         'org-babel-load-languages
647         '((R . t)
648           (ditaa . t)
649           (dot . t)
650           (emacs-lisp . t)
651           (gnuplot . t)
652           (haskell . nil)
653           (ocaml . nil)
654           (python . t)
655           (ruby . t)
656           (screen . nil)
657           (sh . t)
658           (sql . nil)
659           (sqlite . t)))
660      #+end_src
661      
662            Despite this change it is still possible to add
663            language support through the use of =require=
664            statements, however to conform to Emacs file-name
665            regulations all Babel language files have changed
666            prefix from =org-babel-*= to =ob-*=, so the require
667            lines must also change e.g.
668            #+begin_src emacs-lisp
669        (require 'org-babel-R)
670            #+end_src
671            should be changed to
672            #+begin_src emacs-lisp
673        (require 'ob-R)
674            #+end_src
676 We have eliminated the =org-babel-tangle-w-comments= variable as
677 well as the two main internal lists of languages, namely
678 - =org-babel-interpreters= and
679 - =org-babel-tangle-langs= 
681 so any config lines which mention those variables, can/should be
682 stripped out in their entirety.  This includes any calls to the
683 =org-babel-add-interpreter= function, whose sole purpose was to
684 add languages to the =org-babel-interpreters= variable.
686 With those calls stripped out, we may still in some cases want to
687 associate a file name extension with certain languages, for
688 example we want all of our emacs-lisp files to end in a =.el=, we
689 can do this will the =org-babel-tangle-lang-exts= variable.  In
690 general you shouldn't need to touch this as it already has
691 defaults for most common languages, and if a language is not
692 present in org-babel-tangle-langs, then babel will just use the
693 language name, so for example a file of =c= code will have a =.c=
694 extension by default, shell-scripts (identified with =sh=) will
695 have a =.sh= extension etc...
697 The configuration of /shebang/ lines now lives in header
698 arguments.  So the shebang for a single file can be set at the
699 code block level, e.g.
701 #+begin_src org
702   ,#+begin_src clojure :shebang #!/usr/bin/env clj
703   ,  (println "with a shebang line, I can be run as a script!")
704   ,#+end_src  
705 #+end_src
707 Note that whenever a file is tangled which includes a /shebang/
708 line, Babel will make the file executable, so there is good
709 reason to only add /shebangs/ at the source-code block level.
710 However if you're sure that you want all of your code in some
711 language (say shell scripts) to tangle out with shebang lines,
712 then you can customize the default header arguments for that
713 language, e.g.
715 #+begin_src emacs-lisp
716   ;; ensure this variable is defined defined
717   (unless (boundp 'org-babel-default-header-args:sh)
718     (setq org-babel-default-header-args:sh '()))
719   
720   ;; add a default shebang header argument
721   (add-to-list 'org-babel-default-header-args:sh
722                '(:shebang . "#!/bin/bash"))  
723 #+end_src
725 The final important change included in this release is the
726 addition of new security measures into Babel.  These measures are
727 in place to protect users from the accidental or uninformed
728 execution of code.  Along these lines /every/ execution of a code
729 block will now require an explicit confirmation from the user.
730 These confirmations can be stifled through customization of the
731 `org-confirm-babel-evaluate' variable, e.g.
732 #+begin_src emacs-lisp
733   ;; I don't want to be prompted on every code block evaluation
734   (setq org-confirm-babel-evaluate nil)
735 #+end_src
737 In addition, it is now possible to remove code block evaluation
738 form the =C-c C-c= keybinding.  This can be done by setting the
739 =org-babel-no-eval-on-ctrl-c-ctrl-c= variable to a non-nil value,
740 e.g.
741 #+begin_src emacs-lisp
742   ;; I don't want to execute code blocks with C-c C-c
743   (setq org-babel-no-eval-on-ctrl-c-ctrl-c t)
744 #+end_src
746 An additional keybinding has been added for code block
747 evaluation, namely =C-c C-v e=.
749 Whew! that seems like a lot of effort for a /simplification/ of
750 configuration.
752 *** New keys for TODO sparse trees
754 The key =C-c C-v= is now reserved for Org Babel action.  TODO
755 sparse trees can still be made with =C-c / t= (all not-done
756 states) and =C-c / T= (specific states).
758 *** Customizable variable changes for DocBook exporter
760 To make it more flexible for users to provide DocBook exporter
761 related commands, we start to use format-spec to format the
762 commands in this release.  If you use DocBook exporter and use it
763 to export Org files to PDF and/or FO format, the settings of the
764 following two customizable variables need to be changed:
766 - =org-export-docbook-xslt-proc-command=
767 - =org-export-docbook-xsl-fo-proc-command=
769 Instead of using =%s= in the format control string for all
770 arguments, now we use /three/ different format spec characters:
772 - =%i=: input file argument
773 - =%o=: output file argument
774 - =%s=: XSLT stylesheet argument
776 For example, if you set =org-export-docbook-xslt-proc-command= to
778 : java com.icl.saxon.StyleSheet -o %s %s /path/to/docbook.xsl
780 in the past, now you need to change it to
782 : java com.icl.saxon.StyleSheet -o %o %i %s
784 and set a new customizable variable called
785 =org-export-docbook-xslt-stylesheet= to =/path/to/docbook.xsl=.
787 Please check the documentation of these two variables for more
788 details and other examples.
790 Along with the introduction of variable
791 =org-export-docbook-xslt-stylesheet=, we also added a new
792 in-buffer setting called =#+XSLT:=.  You can use this setting to
793 specify the XSLT stylesheet that you want to use on a per-file
794 basis.  This setting overrides
795 =org-export-docbook-xslt-stylesheet=.
797 ** Details
799 *** Org Babel is now part of the Org core
800 See [[#ob-configuration-changes][Org-babel configuration changes]] for instructions on how to
801 update your babel configuration.
803 The most significant result of this change is that Babel now has
804 documentation!  It is part of Org-mode's documentation, see
805 Chapter 14 [[http://orgmode.org/manual/Working-with-source-code.html#Working-with-source-code][Working With Source Code]].  The Babel keybindings
806 are now listed in the refcard, and can be viewed from any
807 Org-mode buffer by pressing =C-c C-v h=.  In addition this
808 integration has included a number of bug fixes, and a significant
809 amount of internal code cleanup.
811 *** The default capture system for Org mode is now called org-capture
813 This replaces the earlier system org-remember.  The manual only
814 describes org-capture, but for people who prefer to continue to
815 use org-remember, we keep a static copy of the former manual
816 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
818 The new system has a technically cleaner implementation and more
819 possibilities for capturing different types of data.  See
820 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
822 To switch over to the new system:
824 1. Run 
826    : M-x org-capture-import-remember-templates RET
828    to get a translated version of your remember templates into the
829    new variable =org-capture-templates=.  This will "mostly" work,
830    but maybe not for all cases.  At least it will give you a good
831    place to modify your templates.  After running this command,
832    enter the customize buffer for this variable with 
834    : M-x customize-variable RET org-capture-templates RET
836    and convince yourself that everything is OK.  Then save the
837    customization.
838    
839 2. Bind the command =org-capture= to a key, similar to what you did
840    with org-remember:
842    : (define-key global-map "\C-cc" 'org-capture)
844    If your fingers prefer =C-c r=, you can also use this key once
845    you have decided to move over completely to the new
846    implementation.  During a test time, there is nothing wrong
847    with using both system in parallel.
849 *** Implement pretty display of entities, sub-, and superscripts.
851 The command =C-c C-x \= toggles the display of Org's special
852 entities like =\alpha= as pretty unicode characters.  Also, sub
853 and superscripts are displayed in a pretty way (raised/lower
854 display, in a smaller font).  If you want to exclude sub- and
855 superscripts, see the variable
856 =org-pretty-entities-include-sub-superscripts=.
858 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
860 *** Help system for finding entities
862 The new command =M-x org-entities-help= creates a structured
863 buffer that lists all entities available in Org.  Thanks to Ulf
864 Stegeman for adding the necessary structure to the internal
865 entity list.
867 *** New module to create Gantt charts
869 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
870 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
872 *** Refile targets can now be cached
874 You can turn on caching of refile targets by setting the variable
875 =org-refile-use-cache=.  This should speed up refiling if you
876 have many eligible targets in many files.  If you need to update
877 the cache because Org misses a newly created entry or still
878 offers a deleted one, press =C-0 C-c C-w=.
880 *** Enhanced functionality of the clock resolver
882 Here are the new options for the clock resolver:
883     
884 : i/q/C-g  Ignore this question; the same as keeping all the idle time.
886 : k/K      Keep X minutes of the idle time (default is all).  If this
887 :          amount is less than the default, you will be clocked out
888 :          that many minutes after the time that idling began, and then
889 :          clocked back in at the present time.
890 : g/G      Indicate that you \"got back\" X minutes ago.  This is quite
891 :          different from 'k': it clocks you out from the beginning of
892 :          the idle period and clock you back in X minutes ago.
893 : s/S      Subtract the idle time from the current clock.  This is the
894 :          same as keeping 0 minutes.
895 : C        Cancel the open timer altogether.  It will be as though you
896 :          never clocked in.
897 : j/J      Jump to the current clock, to make manual adjustments.
898     
899 For all these options, using uppercase makes your final state
900 to be CLOCKED OUT.  Thanks to John Wiegley for making these
901 changes.
903 *** A property value of "nil" now means to unset a property
905 This can be useful in particular with property inheritance, if
906 some upper level has the property, and some grandchild of it
907 would like to have the default settings (i.e. not overruled by a
908 property) back.
910 Thanks to Robert Goldman and Bernt Hansen for suggesting this
911 change.
913 *** The problem with comment syntax has finally been fixed
915 Thanks to Leo who has been on a year-long quest to get this fixed
916 and finally found the right way to do it.
918 *** Make it possible to protect hidden subtrees from being killed by =C-k=
919     
920 This was a request by Scott Otterson.
921 See the new variable =org-ctrl-k-protect-subtree=.
922     
923 *** New module org-mac-link-grabber.el
925 This module allows to grab links to all kinds of applications on
926 a mac.  It is available in the contrib directory.
928 Thanks to Anthony Lander for this contribution.
930 *** LaTeX export: Implement table* environment for wide tables
931     
932 Thanks to Chris Gray for a patch to this effect.
934 *** When cloning entries, remove or renew ID property
936 Thanks to David Maus for this change.
938 * Version 6.36
940  :PROPERTIES:
941  :CUSTOM_ID: v6.36
942  :END:
944 ** Details
945 *** Inline display of linked images
947 Images can now be displayed inline.  The key C-c C-x C-v does
948 toggle the display of such images.  Note that only image links
949 that have no description part will be inlined.
951 *** Implement offsets for ordered lists
953 If you want to start an ordered plain list with a number
954 different from 1, you can now do it like this:
955     
956 : 1. [@start:12] will star a lit a number 12
958 *** Extensions to storing and opening links to Wanderlust messages
959     
960 - Remove filter conditions for messages in a filter folder
961     
962   If customization variable `org-wl-link-remove-filter' is non-nil,
963   filter conditions are stripped of the folder name.
964     
965 - Create web links for messages in a Shimbun folder
967   If customization variable `org-wl-shimbun-prefer-web-links' is
968   non-nil, calling `org-store-link' on a Shimbun message creates a
969   web link to the messages source, indicated in the Xref: header
970   field.
972 - Create web links for messages in a nntp folder
974   If customization variable `org-wl-nntp-prefer-web-links' is
975   non-nil, calling `org-store-link' on a nntp message creates a web
976   link either to gmane.org if the group can be read trough gmane or
977   to googlegroups otherwise. In both cases the message-id is used as
978   reference.
980 - Open links in namazu search folder
982   If `org-wl-open' is called with one prefix, WL opens a namazu
983   search folder for message's message-id using
984   `org-wl-namazu-default-index' as search index.  If this variable is
985   nil or `org-wl-open' is called with two prefixes Org asks for the
986   search index to use.
988 Thanks to David Maus for these changes.
990 *** Org-babel: code block body expansion for table and preview
992 In org-babel, code is "expanded" prior to evaluation. I.e. the
993 code that is actually evaluated comprises the code block
994 contents, augmented with the extra code which assigns the
995 referenced data to variables. It is now possible to preview
996 expanded contents, and also to expand code during during
997 tangling. This expansion takes into account all header arguments,
998 and variables.
1000 A new key-binding C-c M-b p bound to
1001 `org-babel-expand-src-block' can be used from inside of a
1002 source code block to preview its expanded contents (which can
1003 be very useful for debugging).  tangling
1005 The expanded body can now be tangled, this includes variable
1006 values which may be the results of other source-code blocks, or
1007 stored in headline properties or tables. One possible use for
1008 this is to allow those using org-babel for their emacs
1009 initialization to store values (e.g. usernames, passwords,
1010 etc…) in headline properties or in tables.
1012 Org-babel now supports three new header arguments, and new
1013 default behavior for handling horizontal lines in tables
1014 (hlines), column names, and rownames across all languages.
1016 * Version 6.35
1017  :PROPERTIES:
1018  :CUSTOM_ID: v6.35
1019  :END:
1021 ** Incompatible Changes
1023 *** Changes to the intended use of =org-export-latex-classes=
1025 So far this variable has been used to specify the complete header
1026 of the LaTeX document, including all the =\usepackage= calls
1027 necessary for the document.  This setup makes it difficult to
1028 maintain the list of packages that Org itself would like to call,
1029 for example for the special symbol support it needs.  Each time I
1030 have to add a package, I have to ask people to revise the
1031 configuration of this variable.  In this release, I have tried to
1032 fix this.
1034 First of all, you can *opt out of this change* in the following
1035 way: You can say: /I want to have full control over headers, and
1036 I will take responsibility to include the packages Org needs/.
1037 If that is what you want, add this to your configuration and skip
1038 the rest of this section (except maybe for the description of the
1039 =[EXTRA]= place holder):
1041 #+begin_src emacs-lisp
1042   (setq org-export-latex-default-packages-alist nil
1043         org-export-latex-packages-alist nil)
1044 #+end_src
1046 /Continue to read here if you want to go along with the modified
1047 setup./
1049 There are now two variables that should be used to list the LaTeX
1050 packages that need to be included in all classes.  The header
1051 definition in =org-export-latex-classes= should then not contain
1052 the corresponding =\usepackage= calls (see below).
1054 The two new variables are:
1056 1. =org-export-latex-default-packages-alist= :: This is the
1057      variable where Org-mode itself puts the packages it needs.
1058      Normally you should not change this variable.  The only
1059      reason to change it anyway is when one of these packages
1060      causes a conflict with another package you want to use.
1061      Then you can remove that packages and hope that you are not
1062      using Org-mode functionality that needs it.
1064 2. =org-export-latex-packages-alist= :: This is the variable
1065      where you can put the packages that you'd like to use across
1066      all classes.  For example, I am putting =amsmath= and =tikz=
1067      here, because I always want to have them.
1069 The sequence how these customizations will show up in the LaTeX
1070 document are:
1071 1. Header from =org-export-latex-classes=
1072 2. =org-export-latex-default-packages-alist=
1073 3. =org-export-latex-packages-alist=
1074 4. Buffer-specific things set with =#+LaTeX_HEADER:=
1076 If you want more control about which segment is placed where, or
1077 if you want, for a specific class, have full control over the
1078 header and exclude some of the automatic building blocks, you can
1079 put the following macro-like place holders into the header:
1081 #+begin_example
1082 [DEFAULT-PACKAGES]      \usepackage statements for default packages
1083 [NO-DEFAULT-PACKAGES]   do not include any of the default packages
1084 [PACKAGES]              \usepackage statements for packages 
1085 [NO-PACKAGES]           do not include the packages
1086 [EXTRA]                 the stuff from #+LaTeX_HEADER
1087 [NO-EXTRA]              do not include #+LaTeX_HEADER stuff
1088 #+end_example
1090 If you have currently customized =org-export-latex-classes=, you
1091 should revise that customization and remove any package calls that
1092 are covered by =org-export-latex-default-packages-alist=.  This
1093 applies to the following packages:
1095 - inputenc
1096 - fontenc
1097 - fixltx2e
1098 - graphicx
1099 - longtable
1100 - float
1101 - wrapfig
1102 - soul
1103 - t1enc
1104 - textcomp
1105 - marvosym
1106 - wasysym
1107 - latexsym
1108 - amssymb
1109 - hyperref
1111 If one of these packages creates a conflict with another package
1112 you are using, you can remove it from
1113 =org-export-latex-default-packages-alist=.  But then you risk
1114 that some of the advertised export features of Org will not work
1115 properly.
1117 You can also consider moving packages that you use in all classes
1118 to =org-export-latex-packages-alist=.  If necessary, put the
1119 place holders so that the packages get loaded in the right
1120 sequence.  As said above, for backward compatibility, if you omit
1121 the place holders, all the variables will dump their content at
1122 the end of the header.
1124 Damn, this has become more complex than I wanted it to be.  I
1125 hope that in practice, this will not be complicated at all.
1127 *** The constant =org-html-entities= is obsolete
1129 Its content is now part of the new constant =org-entities=, which
1130 is defined in the file org-entities.el.  =org-html-entities= was
1131 an internal variable, but it is possible that some users did
1132 write code using it - this is why I am mentioning it here.
1134 ** Editing Convenience and Appearance
1136 *** New faces for title, date, author and email address lines.
1137     
1138 The keywords in these lines are now dimmed out, and the title is
1139 displayed in a larger font, and a special font is also used for
1140 author, date, and email information.  This is implemented by the
1141 following new faces:
1142     
1143 org-document-title
1144 org-document-info
1145 org-document-info-keyword
1146     
1147 In addition, the variable =org-hidden-keywords= can be used to
1148 make the corresponding keywords disappear.
1150 Thanks to Dan Davison for this feature.
1152 *** Simpler way to specify faces for tags and todo keywords
1153     
1154 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
1155 =org-priority-faces= now accept simple color names as
1156 specifications.  The colors will be used as either foreground or
1157 background color for the corresponding keyword.  See also the
1158 variable =org-faces-easy-properties=, which governs which face
1159 property is affected by this setting.
1161 This is really a great simplification for setting keyword faces.
1162 The change is based on an idea and patch by Ryan Thompson.
1164 *** <N> in tables now means fixed width, not maximum width
1165     
1166 Requested by Michael Brand.
1168 *** Better level cycling function
1170 =TAB= in an empty headline cycles the level of that headline
1171 through likely states.  Ryan Thompson implemented an improved
1172 version of this function, which does not depend upon when exactly
1173 this command is used.  Thanks to Ryan for this improvement.
1175 *** Adaptive filling
1176     
1177 For paragraph text, =org-adaptive-fill-function= did not handle the
1178 base case of regular text which needed to be filled.  This is now
1179 fixed.  Among other things, it allows email-style ">" comments
1180 to be filled correctly.
1182 Thanks to Dan Hackney for this patch.    
1184 *** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
1185     
1186 Thanks to Richard Riley for triggering this change.
1188 *** Better automatic letter selection for TODO keywords
1189     
1190 When all first letters of keywords have been used, Org now assigns
1191 more meaningful characters based on the keywords.
1193 Thanks to Mikael Fornius for this patch.
1195 ** Export
1197 *** Much better handling of entities for LaTeX export
1199 Special entities like =\therefore= and =\alpha= now know if
1200 they need to be in LaTeX math mode and are formatted accordingly.
1202 Thanks to Ulf Stegemann for the tedious work to make this
1203 possible.
1204     
1205 *** LaTeX export: Set coding system automatically
1207 The coding system of the LaTeX class will now be set to the value
1208 corresponding to the buffer's file coding system.  This happens
1209 if your setup sets up the file to have a line
1210 =\usepackage[AUTO]{inputenc}= (the default setup does this).
1212 *** New exporters to Latin-1 and UTF-8
1214 While Ulf Stegemann was going through the entities list to
1215 improve the LaTeX export, he had the great idea to provide
1216 representations for many of the entities in Latin-1, and for all
1217 of them in UTF-8.  This means that we can now export files rich
1218 in special symbols to Latin-1 and to UTF-8 files.  These new
1219 exporters can be reached with the commands =C-c C-e n= and =C-c
1220 C-e u=, respectively.
1222 When there is no representation for a given symbol in the
1223 targeted coding system, you can choose to keep the TeX-macro-like
1224 representation, or to get an "explanatory" representation.  For
1225 example, =\simeq= could be represented as "[approx. equal to]".
1226 Please use the variable =org-entities-ascii-explanatory= to state
1227 your preference.
1229 *** Full label/reference support in HTML, Docbook, and LaTeX backends
1231 =#+LABEL= definitions for tables and figures are now fully
1232 implemented in the LaTeX, Docbook, and HTML interfaces.
1233 =\ref{xxx}= is expanded to a valid link in all backends.
1235 *** BEAMER export: Title of the outline frame is now customizable
1236     
1237 The new option =org-outline-frame-title= allows to set the 
1238 title for outline frames in Beamer presentations.
1240 Patch by Łukasz Stelmach.
1241     
1242 *** BEAMER export: fragile frames are better recognized
1244 A =lstlisting= environment now also triggers the fragile option in
1245 a beamer frame, just like =verbatim= environments do.
1247 Thanks to Eric Schulte for this patch.
1249 *** BEAMER export: Protect <...> macro arguments
1251 Macros for the BEAMER package can have arguments in angular
1252 brackets.  These are now protected just like normal arguments.
1254 Requested by Bill Jackson.
1256 *** HTML export: Add class to outline containers using property
1257     
1258 The =HTML_CONTAINER_CLASS= property can now be used to add a
1259 class name to the outline container of a node in HTML export.
1261 *** New option =org-export-email-info= to turn off export of the email address
1262     
1263 Default is actually off now.
1265 *** Throw an error when creating an image from a LaTeX snippet fails
1267 This behavior can be configured with the new option variable
1268 =org-format-latex-signal-error=.
1270 ** Index generation
1271     
1272 Org-mode can now produce a 2-level subject index spanning an
1273 entire publishing project.  Write index entries in your files as
1275 #+begin_src org
1276 ,* What is org-mode?
1277 #+index: Org-mode
1278 #+index: Definitions!Org-mode
1279 #+end_src
1281 where the first line will produce an index entry /Org-mode/,
1282 while the second line will create /Definitions/ with a sub-item
1283 /Org-mode/.  Three-level entries are not supported.
1285 To produce the index, set
1287 #+begin_src emacs-lisp
1288 :makeindex t
1289 #+end_src
1291 in the project definition in =org-publish-project-alist=.  You
1292 may have to force re-export of all files to get the index by
1293 using a =C-u= prefix to the publishing command:
1295 #+begin_example
1296 C-u M-x org-publish-all
1297 #+end_example
1299 Whenever an Org file is published in this project, a new file
1300 with the extension "orgx" will be written.  It contains the index
1301 entries and corresponding jump target names.  When all project
1302 files are published, Org will produce a new file "theindex.inc"
1303 containing the index as a to-level tree.  This file can be
1304 included into any project file using
1306 #+begin_src org
1307   ,#+include: "theindex.inc"
1308 #+end_src
1310 Org-mode will also create a file "theindex.org" with this include
1311 statement, and you can build a more complex structure (for
1312 example style definitions, top and home links, etc) around this
1313 statement.  When this file already exists, it will not be
1314 overwritten by Org.
1316 Thanks to Stefan Vollmar for initiating and driving this feature.
1318 *** TODO Still need to do the LaTeX portion
1320 ** MobileOrg
1322 *** Encrypting stage files for MobileOrg
1324 Since the use of (often pubic) servers is needed for MobileOrg,
1325 it is now possible to encrypt the files to be staged for
1326 MobileOrg.  Version 1.2 of MobileOrg will be needed for this
1327 feature, and Richard Moreland will show instructions on his
1328 website once that is available.  Basically, on the Org-side this
1329 will require the following settings:
1331 #+begin_src emacs-lisp
1332   (setq org-mobile-use-encryption t
1333         org-mobile-encryption-password "My_MobileOrg_Password")
1334 #+end_src
1336 So the password will be visible in your local setup, but since
1337 the encryption is only for the public server, this seems
1338 acceptable.
1340 ** Agenda
1342 *** Specify entry types as an option
1343     
1344 Custom Agenda commands can now limit the sets of entry types
1345 considered for this command by binding =org-agenda-entry-types=
1346 temporarily in the options section of the command.  This can lead
1347 to significant speedups, because instead of laboriously finding
1348 entries and then rejecting them, a whole search cycle is skipped.
1349 For more information see the new section in
1350 [[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php#sec-5][Matt Lundin's agenda custom command tutorial]].
1352 Thanks to Matt Lundin for this feature.
1354 *** Speed up multiple calls to org-diary by only doing buffer prep once
1355     
1356 Also a patch by Matt Lundin.
1358 *** Show and hide deadlines in the agenda
1360 You can now hide all deadline entries in the agenda by pressing
1361 =!=.
1363 Thanks to John Wiegley for this feature.
1365 *** Agenda: Allow to suppress deadline warnings for entries also scheduled
1367 The the docstring of the variable
1368 =org-agenda-skip-deadline-prewarning-if-scheduled=.
1370 *** Expand file names in org-agenda-files (external file case)
1371     
1372 If you are using a file to manage the list of agenda files, the
1373 names in this file can now contain environment variables and "~"
1374 to write them more compactly and portable.
1376 Thanks to Mikael Fornius for a patch to this effect.
1378 *** Agenda: Allow TODO conditions in the skip functions
1380 The agenda skip function has now special support for skipping
1381 based on the TODO state.  Here are just two examples, see the
1382 manual for more information.
1384 #+begin_src emacs-lisp
1385 (org-agenda-skip-entry-if 'todo '(\"TODO\" \"WAITING\"))
1386 (org-agenda-skip-entry-if 'nottodo 'done)
1387 #+end_src
1389 Thanks to Łukasz Stelmach for this patch.
1391 *** Extracting the time-of-day when adding diary entries
1393 The time of day can now be extracted from new diary entries made
1394 from the agenda with (for example) =i d=.  When
1395 =org-agenda-insert-diary-extract-time= is set, this is done, and
1396 the time is moved into the time stamp.
1398 Thanks to Stephen Eglen for this feature.
1400 *** The customization group org-font-lock has been renamed
1402 The new name is `org-appearance'.
1404 Thanks to Dan Davison for a patch to this effect.
1406 *** The TODO list: Allow skipping scheduled or deadlined entries
1408 Skipping TODO entries in the global TODO list based on whether
1409 they are scheduled or have a deadline can now be controlled in
1410 more detail.  Please see the docstrings of
1411 =org-agenda-todo-ignore-scheduled= and
1412 =org-agenda-todo-ignore-deadline=.
1414 Thanks to Łukasz Stelmach for patches to this effect.
1416 ** Hyperlinks
1418 *** Make =org-store-link= point to directory in a dired buffer
1419     
1420 When, in a dired buffer, the cursor is not in a line listing a
1421 file, `org-store-link' will store a link to the directory.
1423 Patch by Stephen Eglen.
1425 *** Allow regexps in =org-file-apps= to capture link parameters
1426     
1427 The way extension regexps in =org-file-apps= are handled has
1428 changed.  Instead of matching against the file name, the regexps
1429 are now matched against the whole link, and you can use grouping
1430 to extract link parameters which you can then use in a command
1431 string to be executed.
1433 For example, to allow linking to PDF files using the syntax
1434 =file:/doc.pdf::<page number>=, you can add the following entry to
1435 org-file-apps:
1437 #+begin_example
1438 Extension: \.pdf::\([0-9]+\)\'
1439 Command:   evince "%s" -p %1
1440 #+end_example
1442 Thanks to Jan Böcker for a patch to this effect.
1444 ** Clocking
1446 *** Show clock overruns in mode line
1448 When clocking an item with a planned effort, overrunning the
1449 planned time is now made visible in the mode line, for example
1450 using the new face =org-mode-line-clock-overrun=, or by adding an
1451 extra string given by =org-task-overrun-text=.
1453 Thanks to Richard Riley for a patch to this effect.
1455 ** Tables
1457 *** Repair the broken support for table.el tables again.
1458     
1459 Tables created with the table.el package now finally work again
1460 in Org-mode.  While you cannot edit the table directly in the
1461 buffer, you can use  =C-c '= to edit it nicely in a temporary
1462 buffer.
1464 Export of these tables to HTML seem to work without problems.
1465 Export to LaTeX is imperfect.  If fails if the table contains
1466 special characters that will be replaced by the exporter before
1467 formatting the table.  The replacement operation changes the
1468 length of some lines, breaking the alignment of the table fields.
1469 Unfortunately this is not easy to fix.  It is also not an option
1470 to not do these replacements.  The table.el LaTeX exporter will
1471 for example not escape "&" in table fields, causing the exported
1472 tables to be broken.
1474 ** Misc
1476 *** New logging support for refiling
1478 Whenever you refile an item, a time stamp and even a note can be
1479 added to this entry.  For details, see the new option
1480 =org-log-refile=.
1481     
1482 Thanks to Charles Cave for this idea.
1484 *** New helper functions in org-table.el
1486 There are new functions to access and write to a specific table
1487 field.  This is for hackers, and maybe for the org-babel people.
1489 #+begin_example
1490 org-table-get
1491 org-table-put
1492 org-table-current-line
1493 org-table-goto-line
1494 #+end_example
1496 *** Tables: Field coordinates for formulas, and improved docs
1497     
1498 Calc and Emacs-Lisp formulas for tables can access the current
1499 field coordinates with =@#= and =$#= for row and column,
1500 respectively.  These can be useful in some formulas.  For
1501 example, to sequentially number the fields in a column, use
1502 ~=@#~ as column equation.
1504 One application is to copy a column from a different table.  See
1505 the manual for details.
1507 Thanks to Michael Brand for this feature.
1509 *** Archiving: Allow to reverse order in target node
1510     
1511 The new option =org-archive-reversed-order= allows to have
1512 archived entries inserted in a last-on-top fashion in the target
1513 node.
1514     
1515 Requested by Tom.
1517 *** Better documentation on calc accuracy in tables
1518     
1519 Thanks to Michael Brand for this fix.
1521 *** Clock reports can now include the running, incomplete clock
1523 If you have a clock running, and the entry being clocked falls
1524 into the scope when creating a clock table, the time so far spent
1525 can be added to the total.  This behavior depends on the setting
1526 of =org-clock-report-include-clocking-task=.  The default is
1527 =nil=.
1528     
1529 Thanks to Bernt Hansen for this useful addition.
1531 *** American-style dates are now understood by =org-read-date=
1533 So when you are prompted for a date, you can now answer like this
1535 #+begin_example
1536 2/5/3         --> 2003-02-05
1537 2/5           --> <CURRENT-YEAR>-02-05
1538 #+end_example    
1540 *** org-timer.el now allows just one timer
1542 There is now only a single free timer supported by org-timer.el.
1543 Thanks to Bastien for cleaning this up, after a bug report in
1544 this area by Frédéric Couchet.
1546 *** Remember: Allow to file as sibling of current clock
1547     
1548 =C-3 C-c C-c= will file the remember entry as a sibling of the
1549 last filed entry.
1551 Patch by Łukasz Stelmach.
1553 *** Org-reveal: Double prefix arg shows the entire subtree of the parent
1554     
1555 This can help to get out of an inconsistent state produced for
1556 example by viewing from the agenda.
1558 This was a request by Matt Lundin.
1560 *** Add org-secretary.el by Juan Reyero to the contrib directory
1562 org-secretary.el is a possible setup for group work using
1563 Org-mode.
1565 Thanks to Juan Reyero for this contribution.
1567 ** Babel
1569 Eric and Dan have compiled the following list of changes in and
1570 around org-babel.
1572 - Added support for Matlab and Octave.
1573 - Added support for C and C++ code blocks.
1574 - Added support for the Oz programming language.
1575   Thanks to Torsten Anders for this contribution
1576 - Can now force literal interpretation of table cell contents
1577   with extra "$" in table formula.
1578   Thanks to Maurizio Vitale for this suggestion.
1579 - Variable references which look like lisp forms are now
1580   evaluated.
1581 - No longer adding extension during tangling when filename is
1582   provided.
1583   Thanks to Martin G. Skjæveland and Nicolas Girard for prompting this.
1584 - Added `org-babel-execute-hook' which runs after code block
1585   execution.
1586 - Working directories and remote execution
1588   This introduces a new header argument :dir. For the duration of
1589   source block execution, default-directory is set to the value
1590   of this header argument. Consequences include:
1592   - external interpreter processes run in that directory
1593   - new session processes run in that directory (but existing
1594     ones are unaffected)
1595   - relative paths for file output are relative to that directory
1597   The name of a directory on a remote machine may be specified
1598   with tramp syntax (/user@host:path), in which case the
1599   interpreter executable will be sought in tramp-remote-path, and
1600   if found will execute on the remote machine in the specified
1601   remote directory.
1602 - Tramp syntax can be used to tangle to remote files.
1603   Thanks to Maurizio Vitale and Rémi Vanicat.
1604 - org-R removed from contrib.
1605 - gnuplot can now return it's string output -- when session is
1606   set to "none".
1607 - Now including source code block arguments w/source name on
1608   export.
1609 - Now able to reference file links as results.
1610 - Allow pdf/png generation directly from latex source blocks
1611   with :file header argument.
1613 * Version 6.34
1614  :PROPERTIES:
1615  :CUSTOM_ID: v6.34
1616  :END:
1618 ** Incompatible changes
1620 *** Tags in org-agenda-auto-exclude-function must be lower case.
1622 When defining an =org-agenda-auto-exclude-function=, you need to
1623 be aware that tag that is being passed into the function is
1624 always lower case - even if it was defined in upper case
1625 originally.
1627 ** Details
1629 *** Support for creating BEAMER presentations from Org-mode documents
1631 Org-mode documents or subtrees can now be converted directly in
1632 to BEAMER presentation.  Turning a tree into a simple
1633 presentations is straight forward, and there is also quite some
1634 support to make richer presentations as well.  See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
1635 section]] in the manual for more details.
1637 Thanks to everyone who has contributed to the discussion about
1638 BEAMER support and how it should work.  This was a great example
1639 for how this community can achieve a much better result than any
1640 individual could.
1642 *** Hyperlinks
1644 **** Add Paul Sexton's org-ctags.el
1646 Targets like =<<my target>>= can now be found by Emacs' etag
1647 functionality, and Org-mode links can be used to to link to
1648 etags, also in non-Org-mode files.  For details, see the file
1649 /org-ctags.el/.
1651 This feature uses a new hook =org-open-link-functions= which will
1652 call function to do something special with text links.
1654 Thanks to Paul Sexton for this contribution.
1656 **** Add Jan Böcker's org-docview.el
1658 This new module allows links to various file types using docview,
1659 where Emacs displays images of document pages.  Docview link
1660 types can point to a specific page in a document, for example to
1661 page 131 of the Org-mode manual:
1663 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
1665 Thanks to Jan Böcker for this contribution.
1666     
1667 **** New link types that force special ways of opening the file
1668     
1669 - =file+sys:/path/to/file=  will use the system to open the file,
1670   like double-clicking would.
1671 - file+emacs:/path/to/file will force opening the linked file
1672   with Emacs.
1674 This was a request by John Wiegley.
1676 **** Open all links in a node
1678 When using =C-c C-o= on a headline to get a list of links in the
1679 entry, pressing =RET= will open *all* links.  This allows
1680 something like projects to be defined, with a number of files
1681 that have to be opened by different applications.
1683 This was a request by John Wiegley.
1685 *** Agenda Views
1687 **** Improve the logic of the search view.
1689 The logic of search views is changed a bit.  See the docstring of
1690 the function =or-search-view=.
1692 These changes resulted from a discussion with Matt Lundin.
1694 **** New face for entries from the Emacs diary
1696 Entries that enter the Agenda through the Emacs diary now get the
1697 face =org-agenda-diary=.
1699 This was a request by Thierry Volpiatto.
1701 **** New function `org-diary-class' to schedule classes with skipped weeks.
1703 This was a request by Daniel Martins.
1705 **** Empty matcher means prompt in agenda custom commands
1706     
1707 When an agenda custom command has an empty string as MATCH
1708 element, so far this would lead to a meaningless search using an
1709 empty matcher.  Now an empty (or white) string will be
1710 interpreted just like a nil matcher, i.e. the user will be
1711 prompted for the match.
1713 **** Agenda: Selectively remove some tags from agenda display
1715 If you use tags very extensively, you might want to exclude some
1716 from being displayed in the agenda, in order to keep the display
1717 compact.  See the new option =org-agenda-hide-tags-regexp= for
1718 details.
1719     
1720 This was largely a patch by Martin Pohlack.
1722 *** Export
1724 **** Direct export of only the current subtree
1726 Pressing =1= after =C-c C-e= and before the key that selects the
1727 export backend, only the current subtree will be exported,
1728 exactly as it you had selected it first with =C-c @=.  So for
1729 example, =C-c C-e 1 b= will export the current subtree to HTML
1730 and open the result in the browser.
1732 **** Direct export of enclosing node
1734 Pressing =SPC= after =C-c C-e= and before the key that selects
1735 the export backend, the enclosing subree that is set up for
1736 subtree export will be exported, exactly as it you had selected
1737 it first with =C-c @=.  So for example, =C-c C-e SPC d= will find
1738 the enclosing node with a LaTeX_CLASS property or an
1739 EXPORT_FILE_NAME property and export that.
1741 **** Caching export images
1743 Images that are created for example using LaTeX or ditaa for
1744 inclusion into exported files are now cached.  This works by
1745 adding a hash to the image name, that reflects the source code
1746 and all relevant settings.  So as long as the hash does not
1747 change, the image does not have to be made again.  His can lead
1748 to a substantial reduction in export/publishing times.
1750 Thanks to Eric Schulte for a patch to this effect.
1752 **** Preserving line breaks for export no longer works
1753     
1754 ASCII export always preserves them - no other export format
1755 does.  We had attempted to use =\obeylines= for this in LaTeX,
1756 but that does create too many problems.
1758 **** New symbols =\EUR= and =\checkmark=
1760 =\EUR= symbols from Marvosym package, and =\checkmark= are now
1761 supported symbols in Org-mode, i.e. they will be exported
1762 properly to the various backends.
1764 **** Allow LaTeX_CLASS_OPTIONS to set options, also from a property
1766 You can set the options to the =\documentclass= command on a
1767 per-file basis, using
1769 : #+LaTeX_CLASS_OPTIONS: [11pt]
1771 or on a per-tree basis using the corresponding property.  The
1772 defined string will replace the default options entirely.
1774 **** The encoding of LaTeX files is now handled property
1776 Org now makes sure that the encoding used by the file created
1777 through the export mechanism is reflected correctly in the
1779 : \usepackage[CODINGSYSTEM]{inputenc}
1781 command.  So as long as the =org-export-latex-classes= definition
1782 contains an =\usepackage[utf8]{inputenc}= statement, that
1783 statement will be modified so that the correct option is used.
1785 If you wan to use special encodings, for example =utf8x= instead
1786 of =utf8=, see the variable =org-export-latex-inputenc-alist=.
1788 This was a request by Francesco Pizzolante.
1790 *** Property API enhancements
1791     
1792 **** Make a new special property BLOCKED, indicating if entry is blocked
1794 A new special property BLOCKED returns "t" when the entry is
1795 blocked from switching the TODO state to a DONE state.
1797 This was a request by John Wiegley.
1799 **** New hooks for external support for allowed property values
1801 It is now possible to hook into Org in order to provide the
1802 allowed values for any property with a lisp function.  See the
1803 docstring of the variable =org-property-allowed-value-functions=
1805 **** Allow unrestricted completion on properties
1807 When listing the allowed values for a property, for example with
1808 a =:name_ALL:= property, completion on these values enforces that
1809 one of the values will be chosen.  Now, if you add ":ETC" to the
1810 list of allowed values, it will be interpreted as a switch, and
1811 the completion will be non-restrictive, so you can also choose to
1812 type a new value.
1814 *** Changes to Org-babel
1816 - The documentation for Org-babel has been drastically improved
1817   and is available on Worg at
1818   http://orgmode.org/worg/org-contrib/babel/
1819 - Source-code block names are now exported to HTML and LaTeX
1820 - Org-babel functions are now bound to keys behind a common key
1821   prefix (see
1822   http://orgmode.org/worg/org-contrib/babel/reference.php#sec-5)
1823 - Results are now foldable with TAB
1824 - Header argument values can now be lisp forms
1825 - Readable aliases for #+srcname: and #+resname:
1826 - Sha1 hash based caching of results in buffer
1827 - Can now index into variable values
1828 - org-babel-clojure now supports multiple named sessions
1830 *** Miscellaneous changes
1832 **** Make =C-c r C= customize remember templates
1834 =C-c r C= is now a shortcut for
1836 :  M-x customize-variable RET org-remember-templates RET
1838 This was a proposal by Adam Spiers.
1840 **** Use John Gruber's regular expression for URL's
1842 We now use a better regexp to spot plain links in text.  This
1843 regexp is adopted from [[http://daringfireball.net/2009/11/liberal_regex_for_matching_urls][John Gruber's blogpost]].
1845 Thanks to William Henney for the pointer.
1847 **** Implement tag completion of all tags in all agenda files
1848     
1849 The new option =org-complete-tags-always-offer-all-agenda-tags=
1850 makes Org complete all tags from all agenda files if non-nil.
1851 Usually, setting it locally to t in org-remember buffers is the
1852 most useful application of this new feature.
1854 Thanks to Tassilo Horn for a patch to this effect.
1856 * Version 6.33
1857  :PROPERTIES:
1858  :CUSTOM_ID: v6.33
1859  :END:
1861 ** Incompatible changes
1863 *** Reorganize key bindings for archiving
1864     
1865 The following keys now do archiving
1867 - C-c C-x C-a :: archive using the command specified in
1868      =org-archive-default-command=.  This variable is by default
1869      set to =org-archive-subtree=, which means arching to the
1870      archive file.
1871     
1872 The three specific archiving commands are available through
1874 - C-c C-x C-s ::    archive to archive file
1875 - C-c C-x a ::     toggle the archive tag
1876 - C-c C-x A ::   move to archive sibling
1878 These bindings work the same in an Org file, and in the agenda.
1880 In addition:
1881     
1882 - In the agenda you can also use =a= to call the default archiving
1883   command, but you need to confirm the command with =y= so that this
1884   cannot easily happen by accident.
1885   
1886 - For backward compatibility, =C-c $= in an org-mode file, and
1887   =$= in the agenda buffer continue to archive to archive file.
1890 ** Details
1892 *** Level indentation cycling new empty entries and plain list items
1893 :PROPERTIES:
1894 :ID: 1CBF16C9-031C-4A03-A5EE-09B6AAB6209C
1895 :END:
1897 To speed up data entry, TAB now behaves special in an empty
1898 headline, i.e. if the current line only contains the headline
1899 starter stars, maybe a TOD keyword, but no further content.  This
1900 is usually the situation just after creating a new headline with
1901 =M-RET= or =M-S-RET=.
1903 Then, TAB will first make the current entry a child of the
1904 entry above, then a parent, then a grand parent etc until it
1905 reaches top level.  Yet another TAB and you will be back at the
1906 initial level at which the headline was created.
1908 New plain list items behave in just the same way.
1910 Sounds strange?  Try it, it is insanely fast when entering data.
1911 If you still don't like it, turn it off by customizing
1912 =org-cycle-level-after-item/entry-creation=.
1914 Thanks to [[http://thread.gmane.org/gmane.emacs.orgmode/18236][Samuel Wales]] and [[http://thread.gmane.org/gmane.emacs.orgmode/18447/focus%3D19015][John Wiegley]] for ideas that
1915 contributed to this new feature.
1917 *** Speed commands at the start of a headline
1919 If you set the variable =org-use-speed-commands=, the cursor
1920 position at the beginning of a headline (i.e. before the first
1921 star) becomes special.  Single keys execute special commands in
1922 this place, for example outline navigation with =f=, =b=, =n=,
1923 and =p=, equivalent to the corresponding =C-c C-f=, =C-c C-b=,
1924 =C-c C-n=, and =C-c C-f= commands.  The full list of commands can
1925 be seen by pressing =?= at the special location.  More commands
1926 can be added and existing ones modified by configuring the
1927 variable =org-speed-commands-user=.
1929 This was a request by John Wiegley, based on similar speed
1930 navigation in /allout.el/.
1932 *** Logging changes in scheduling and deadline time stamps
1934 Setting the variables =org-log-reschedule= and
1935 =org-log-redeadline= to either =time= or =note= will arrange for
1936 recording a logbook entry whenever a scheduling date or deadline
1937 is changed.
1939 This was a request by Rick Moynihan.
1941 *** File remember notes into a date tree
1943 Remember notes can now be filed to a location in a date tree.  A
1944 date tree is an outline tree with years as top levels, months as
1945 level 2 headings, and days as level three headings.  These are
1946 great for journals and for recording appointments and other loose
1947 dates because it will be easy to find all entries referencing a
1948 particular date, and it will be easy to archive all such entry
1949 from last year, for example.
1951 To select date tree filing, set the HEADLINE part of the remember
1952 template to the symbol =date-tree=.  The date tree will be build
1953 in the file on top level.  However, if the file contains an entry
1954 with a non-nil =DATE_TREE= property, then the tree will be build
1955 under that headline.
1957 *** New commands to create entries from agenda and calendar
1959 If you make the variable =org-agenda-diary-file= point to an
1960 org-mode file, the =i= key in both the agenda buffer and in the
1961 Emacs calendar will be made to insert entries into that Org file.
1962 The dates at the cursor and the mark are being used when making
1963 entries for specific dates or blocks.  In the new file,
1964 anniversaries will be collected under a special headline, and
1965 day/block entries will be filed into a date tree (see previous
1966 section).
1968 This was a request by Stephen Eglen.
1970 *** A new freemind exporter has been integrated with Org-mode
1972 org-freemind.el has a number of entry points (for details, see
1973 the source code), but you can also use Org's =C-c C-e m= to
1974 export a file or a selected subtree.
1976 Thanks to Lennart Borgman for this contribution.  An earlier
1977 version of this file was part of the nxhtml package, under the
1978 name /freemind.el/.
1980 *** Drawers are now exported properly
1982 Drawers are now exported when the configuration requires it,
1983 i.e. if the variable `org-export-with-drawers' is t or a list
1984 containing the drawers to export.
1986 *** Min/Max/Mean age operators in Column View.
1987     
1988 This lets you see how much time has passed since the specified
1989 timestamp property each entry. The three operators (=@min=,
1990 =@max=, =@mean=) show either the age of the youngest or oldest
1991 entry or the average age of the children.
1993 Thanks to James TD Smith for a patch to this effect.
1994     
1995 *** Allow source code block indentation to be preserved
1996     
1997 If =org-src-preserve-indentation= is non-nil, or if a block has a
1998 =-i= switch, then the behavior of org-exp-blocks is altered as
1999 follows:
2001 1. Indentation is not removed before passing the block contents
2002    to the block-transforming plugin.
2003    
2004 2. The result returned by the plugin is not re-indented.
2006 3. Editing the source code block with =C-c '= preserves it's
2007    indentation.
2009 Thanks to Dan Davison for this feature.
2011 *** Frame/window control when switching to source code edit buffer.
2012     
2013 When switching to a source code editing buffer with =C-c '=, you
2014 can now control the frame / window setup using the new variable
2015 =org-src-window-setup=.
2017 Thanks to Dan Davison for this feature.
2019 *** Refile an entry to the current clock
2021 You can now quickly refile an entry to become a child of the
2022 entry currently being clocked.  The keys for doing this are
2023 =C-2 C-c C-w=.
2025 This was a request by Bernt Hansen.
2027 *** Make =C-c C-o= open the attachment directory is there are no links
2029 If there is no link in an entry, =C-c C-o= will now open the
2030 attachment directory instead.
2032 This was a request/patch by John Wiegley.
2034 *** org-mac-iCal.el: work with calendar "groups"
2035     
2036 Some calendar systems (Google, Zimbra) handle subscriptions to
2037 multiple calendars (or to an account) by grouping them under a
2038 single caldav directory in the calendar tree.  org-mac-iCal used
2039 to assumes there is only one ics file created per caldav
2040 directory, so while it *creates* all of the needed merged ics
2041 files, it only copies one of them to ~/Library/Calendar before
2042 importing the contents into the diary.
2044 Thanks to Doug Hellmann for a patch to fix this.
2046 *** New module /org-learn.el/ in the contrib directory
2048 The file implements the learning algorithm described at
2049 http://supermemo.com/english/ol/sm5.htm, which is a system for reading
2050 material according to "spaced repetition".  See
2051 http://en.wikipedia.org/wiki/Spaced_repetition for more details.
2053 Thanks to John Wiegley for this contribution.
2055 *** New contributed package /org-git-link.el/
2057 /org-git-link.el/ defines two new link types. The =git= link type
2058 is meant to be used in the typical scenario and mimics the =file=
2059 link syntax as closely as possible.  The =gitbare= link type
2060 exists mostly for debugging reasons, but also allows e.g.
2061 linking to files in a bare git repository for the experts.
2063 Thanks to Raimar Finken for this contribution.
2065 *** /org-annotation-helper.el/ and /org-browser-url.e./ have been removed
2066 Please switch to /org-protocol.el/, into which contains the same
2067 functionality in a more general framework.
2068 *** The contributed /org-export-freemind/ package has been removed.
2069 Org now contains a new freemind exporter, /org-freemind.el/.
2071 ** Org-babel Changes
2072 - Clojure is supported [Thanks to Joel Boehland]
2073 - Perl is supported
2074 - Ruby and Python now respond to the :file header argument
2075 - Added :results_switches header argument for passing switches
2076   through to raw src blocks
2077 - Preserve indentation in source blocks on export and tangle
2078 - Possible to evaluate noweb reference on tangling or code block
2079   evaluation
2080 - Allowing multiple noweb references on a single line
2081 - Cleaned up the passing of parameter values from Org-babel to
2082   language specific functions
2084 * Version 6.32
2085  :PROPERTIES:
2086  :CUSTOM_ID: v6.32
2087  :END:
2089 ** Rewrite of org-mobile.org, for MobileOrg 1.0 (build 20)
2091 MobileOrg is currently under review at the iPhone App Store.  You
2092 will need Org-mode version 6.32 to interact with it.
2094 ** Added support for habit consistency tracking
2095     
2096 /org-habit.el/ contains new code to track habits.  Please
2097 configure the variable org-modules to activate it.  When active,
2098 habits (a special TODO entry) will be displayed in the agenda
2099 together with a "consistency graph".  Habit tracking is described
2100 in a new [[http://orgmode.org/manual/Tracking-your-habits.html][manual section]].
2102 Thanks to John Wiegley for this contribution.
2103     
2104 ** New context-aware tag auto-exclusion 
2106 After writing a function relating to location and context
2107 information, you will be able to press =/ RET= in the agenda to
2108 exclude tasks that cannot be done in the current context. 
2109 For details, see the information about filtering in the manual.
2111 Thanks to John Wiegley for a patch to this effect.
2113 ** New clock resolving tools
2115 When clocking into a new task while no clock is running, Org now
2116 checks for orphaned CLOCK lines and offers to repair these before
2117 starting the clock.  You can also configure this feature to check
2118 for idle time and prompt you to subtract that time from the
2119 running timer.
2120     
2121 See the new [[http://orgmode.org/manual/Resolving-idle-time.html][manual section]] for more details.
2122     
2123 Thanks to John Wiegley for a patch to this effect.
2125 ** Mutually exclusive tag groups can now have a name in the tags interface
2127 The customize interface allows to optionally add a string to the
2128 beginning or end of such a group.
2129     
2130 Thanks to James TD Smith for a patch to this effect.
2132 ** Agenda Search view: Search for substrings
2133     
2134 The default in search view (/C-c a s/)is now that the search
2135 expression is searched for as a /substring/, i.e. the different
2136 words must occur in direct sequence, and it may be only part of
2137 a word.  If you want to look for a number of separate keywords
2138 with Boolean logic, all words must be preceded by =+= or =-=.
2140 This was, more-or-less, requested by John Wiegley.
2142 ** Make space and backspace scroll the show window in the agenda
2144 Pressing SPC again after using it to show an agenda item in
2145 another window will make the entire subtree visible, and show
2146 scroll it.  Backspace and DEL will scroll back.
2148 This was a request by Eric Fraga.
2149     
2150 ** File tags are now offered for completion during a tag prompts
2152 Requested by Matt Lundin.
2154 ** Make `- SPC' an agenda filter that selects entries without any tags
2155     
2156 Request by John Wiegley.
2158 ** Better way to edit multi-line macro definitions
2160 The editing tool key =C-c '= now also edits =#+MACRO=
2161 definitions, including multiline macros.
2163 ** Restructured Manual
2165 The manual has been slightly reorganized.  The archiving stuff,
2166 which was - somewhat obscurely - hidden in the /Document
2167 Structure/ chapter, has been moved into the new chapter
2168 /Capture-Refile-Archive/.  Also, there is a new chapter /Markup/
2169 which contains both the markup rules (moved there from the Export
2170 chapter) and the documentation for embedded LaTeX.
2172 ** Improved figure placement in LaTeX and HTML export
2173     
2174 Text can now be wrapped around figures.  See the manual for
2175 details.
2177 ** Allow date to be shifted into the future if time given is earlier than now
2178     
2179 By setting
2181 :     (setq org-read-date-prefer-future 'time)
2183 you indicate to Org that, if you only give a time at the
2184 date/time prompt, and if this time is earlier then the current
2185 time, then the date of tomorrow will be assumed to be valid for
2186 this event.  A similar mechanism was already in place for dates,
2187 but now you can make it work for times as well.
2189 ** Collected changes in org-babel
2190 - Source blocks can now reference source-blocks in other files
2191   using =filepath:srcname= syntax.
2192 - Inline code blocks like =src_python{2+2}= are now exported
2193 - Remote source block calls using the =#+lob: srcname(arg=val)=
2194   syntax can now be exported.
2195 - When =:file= is supplied with an =R= block, graphics are
2196   automatically sent to file and linked from the org buffer, thus
2197   appearing on export.  The image format is obtained from the
2198   filename extension.  Possible values are =.png, .jpg, .jpeg,
2199   .tiff, .bmp, .pdf, .ps, .postscript=, defaulting to =png=.
2200 - Results can be returned as parseable code using =:results code=,
2201   and as pretty-printed code using =:results pp= (emacs-lisp,
2202   python, ruby).  Thanks to Benny Andresen for the idea and patch
2203   for emacs-lisp.
2204 - When =:file filename= is supplied, =:exports file= is unnecessary
2205 - Header args are taken from org-file-properties in addition to
2206   properties active in the subtree.
2207 - =:noweb= header argument now expands noweb references before
2208   source-block evaluation.
2209 - Tangling honours the new org variable
2210   org-src-preserve-indentation, so that correct code is output for
2211   a language like python that depends on indentation.
2213 ** Changes in org-exp-blocks.el
2214 - Interblocks export has been simplified.
2215 - Support for R code (=begin_R= blocks and inline =\R{}=) has been
2216   removed.  Please use org-babel instead.
2218 * Version 6.31
2219  :PROPERTIES:
2220  :CUSTOM_ID: v6.31
2221  :END:
2223 ** Org-babel is now part of the Org distribution
2225 Org-babel provides the ability to execute source code in many
2226 different languages within org-mode documents.  The results of
2227 code execution -- text, tables and graphics -- can be integrated
2228 into Org-mode documents and can be automatically updated during
2229 publishing.  Since Org-babel allows execution of arbitrary code,
2230 the range of tasks that can be addressed from within an Org mode
2231 file becomes very large.  Examples of ways in which Org-babel
2232 might be used include
2234 - Documenting a task that involves some programming so that it is
2235   automatically repeatable
2236 - Creating dynamic (executable) reports that respond to changes
2237   in the underlying data (Reproducible Research)
2238 - Exportation of code contained in an Org-mode document into
2239   regular source code files (Literate Programming)
2241 Additionally, Org-babel provides a programming environment within
2242 Org files, in which data can be transmitted between parameterised
2243 source code blocks in different languages, as well as between
2244 source code blocks and Org-mode tables.
2246 A simple API is defined so that users can add support for new
2247 "languages" (broadly construed).  Languages currently supported
2248 are:
2250 - asymptote
2251 - css
2252 - ditaa
2253 - dot
2254 - emacs-lisp
2255 - gnuplot
2256 - haskell
2257 - ocaml
2258 - python
2259 - R
2260 - ruby
2261 - sass
2262 - sh
2263 - sql
2265 Org-babel was designed and implemented Eric Schulte with continued
2266 significant help on both accounts from Dan Davison.
2268 ** MobileOrg support
2270 Richard Morelands iPhone/iPod Touch program [[http://mobileorg.ncogni.to/][MobileOrg]] can view
2271 Org files, mark entries as DONE, flag entries for later
2272 attention, and capture new entries on the road.  Org-mode has now
2273 support to produce a staging area where MobileOrg can download
2274 its files, and to integrate changes done on the phone in a half
2275 automatic, half interactive way.  See the new appendix B in the
2276 manual for more information.
2279 ** Indented lines starting with "#+ " are treated as comments
2281 To allow comments in plain lists without breaking the list
2282 structure, you can now have indented comment lines that start
2283 with "#+ ".
2285 ** New STARTUP keyword `showeverything'
2286     
2287 This will make even drawer contents visible upon startup.
2288 Requested by Jeff Kowalczyk.
2290 ** New contributed package org-invoice.el
2292 This package collects clocking information for billing
2293 customers.
2295 Thanks to Peter Jones for this contribution.
2297 ** Encrypting subtrees
2299 /org-crypt.el/ by John Wiegley and Peter Jones allows encryption
2300 of individual subtrees in Org-mode outlines.  Thanks to John and
2301 Peter for this contribution.
2303 ** Agenda: Support for including a link in the category string
2304     
2305 The category (as specified by an #+CATEGORY line or CATEGORY
2306 property can contain a bracket link.  While this sort-of worked
2307 in the past, it now is officially supported and should cause no
2308 problems in agenda display or update.  The link can be followed
2309 by clicking on it, or with =C-c C-o 0=.
2311 This was a request by Peter Westlake.
2313 * Version 6.30
2314  :PROPERTIES:
2315  :CUSTOM_ID: v6.30
2316  :END:
2318 ** Inconsistent changes
2320 *** Agenda now uses =f= and =b= to move through time
2322 Up to now, the Org-mode agenda used the cursor keys =left= and
2323 =right= to switch the agenda view forward an backward through
2324 time.  However, many people found this confusing, and others
2325 wanted to be able to do cursor motion in the agenda, for example
2326 to select text.  Therefore, after an extensive discussion on
2327 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
2328 =f= keys instead, and to let the cursor keys do cursor motion
2329 again.
2331 *** Agenda follow mode is now on the =F= key
2333 This was necessary to free up the =f= key, see above.
2335 ** Details
2337 *** Maintenance
2339 **** New command to submit a bug report
2341 There is now a special command =M-x org-submit-bug-report=.  This
2342 command will create a mail buffer with lots of useful details.
2343 In particular, it contains complete version information for Emacs
2344 and Org-mode.  It will also (if you agree to it) contain all
2345 non-standard settings of org-mode and outline-mode related
2346 variables.  Even if you do not sent your emails from within
2347 Emacs, please still use this command to generate the information
2348 and then copy it into your mail program.
2350 The command will not generate and include a =*Backtrace*= buffer,
2351 please do this yourself if you have hit an error.  For more
2352 information, see the [[http://orgmode.org/manual/Feedback.html#Feedback][feedback section]] of the manual.
2354 **** New contributed package org-track.el
2356 This package allows to keep up-to-date with current Org
2357 development, using only Emacs on-board means.  So if you don't
2358 want or cannot use =git=, but still want to run the latest and
2359 hottest Org-mode, this is for you.
2361 Thanks to Sebastian Rose for this contribution.
2363 *** Agenda
2365 **** Agenda now uses =f= and =b= to move through time
2367 Up to now, the Org-mode agenda used the cursor keys =left= and
2368 =right= to switch the agenda view forward an backward through
2369 time.  However, many people found this confusing, and others
2370 wanted to be able to do cursor motion in the agenda, for example
2371 to select text.  Therefore, after an extensive discussion on
2372 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
2373 =f= keys instead, and to let the cursor keys do cursor motion
2374 again.
2376 **** Agenda follow mode is now on the =F= key
2378 This was necessary to free up the =f= key, see above.
2380 **** The agenda can be put into a dedicated frame
2382 When the variable =org-agenda-window-setup= has the value
2383 =other-frame=, then the new frame created to show the agenda
2384 will now have the window marked as /dedicated/.  As a
2385 consequence, exiting the agenda while the agenda is the only
2386 window on the frame will kill that frame.
2388 This was a request by Henry Atting.
2390 **** New mode to show some entry body text in the agenda
2392 There is now a new agenda sub-mode called
2393 =org-agenda-entry-text-mode=.  It is toggled with the =E= key.
2394 When active, all entries in the agenda will be accompanied by a
2395 few lines from the outline entry.  The amount of text can be
2396 customized with the variable =org-agenda-entry-text-maxlines=.
2398 This was a request by Anthony Fairchild, Manish, and others.
2400 **** Improve following links from the agenda
2401     
2402 =C-c C-o= in the agenda will now offer all links in the headline
2403 and text of an entry.  If there is only a single link, it will be
2404 followed immediately.
2406 **** Avoid some duplicate entries
2408 There is a new variable that can be used to avoid some duplicate
2409 agenda entries: =org-agenda-skip-scheduled-if-deadline-is-shown=
2410 If that is set, it avoids that an entry shows up in the agenda for
2411 today for both a scheduling and a deadline entry.  See the
2412 docstring of the variables for more details.
2414 This partially addresses a request by Samuel Wales. 
2416 **** Mark the running clock in the agenda.
2418 If the entry currently being clocked is present in the agenda, it
2419 will be highlighted with the face =org-agenda-clocking=.
2421 This was a request by Rainer Stengele.
2424 *** Export
2426 **** Allow LaTeX export to use the listings package
2428 The LaTeX =listings= package can now be used for formatting
2429 fontified source code in many programming languages.  For more
2430 information, see
2431 http://thread.gmane.org/gmane.emacs.orgmode/16269 and
2432 http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex
2434 Thanks to Eric Schulte for this patch.
2436 **** Remove table rows that only contain width and alignment markers
2437     
2438 The width and alignment in table columns can be set with a cookie
2439 like "<10>" or "<r>" or "<r10>".  In order to keep Org from
2440 exporting such lines, the first column of a line should contain
2441 only "/".  However, for convenience, there is now a special case:
2442 If the entire row contains only such markers, the line will
2443 automatically be discarded during export, even is the first
2444 column is not "/".
2446 **** Allow Macro calls to span several lines.
2448 Macro calls may now span several lines, to write several
2449 arguments in a cleaner way.  The result of a macro call can also
2450 span several lines, by inserting the string "\n" (backslash
2451 followed by n) into the value in the macro definition.
2453 These were requests by Stefan Vollmar.
2455 *** Misc
2457 **** Quick access to all links in an entry
2459 If =C-c C-o= is called while the cursor is in a headline, but not
2460 directly on a link, then all links in the entry will be offered
2461 in a small menu.  If there is only a single link, it will be
2462 followed without a prompt.
2464 **** Visibility Cycling: Allow to show all empty lines after a headline
2465     
2466 =org-cycle-separator-lines= can now be set to a negative value,
2467 to indicate that, if the number of empty lines before a visible
2468 entry is greater than the specified number, then *all* empty
2469 lines should be shown.
2471 This was a request by "PT" whatever this means.
2473 **** Allow language names to replace some strange major mode names
2475 Sometimes a language uses a major mode which can't be guessed
2476 from it's name.  There is now a new variable =org-src-lang-modes=
2477 which can be used to map language names to major modes when this
2478 is the case.  This is used when editing a source-code 
2479 block, or when exporting fontified source-code with htmlize.
2481 Thanks to Eric Schulte for a patch to this effect.
2483 **** iswitchb support for many completion prompts
2484     
2485 This is enabled using =org-completion-use-iswitchb=, and follows
2486 the same model of usage as for ido users.
2488 Thanks to John Wiegley for a patch to this effect.
2490 **** New commands to set the effort property of an entry
2492 There is now a special command, =C-c C-x e= to set the =Effort=
2493 property of an entry.  From the agenda you can even use =e=.
2494 If you have set up allowed values for the =Effort= property, then
2495 using a prefix argument will directly select the nth allowed
2496 value.  For example, in the agenda, =5 e= will select the 5th
2497 allowed value.
2499 This was a request by Michael Gilbert
2501 **** Edit src works now better with killing buffer
2503 Thanks to Dan Davison for a patch to this effect
2506 * Older changes
2508   For older Changes, see [[file:Changes_old.org]]
2512 * COMMENT Setup
2514 #+STARTUP: showstars
2516 #+TITLE: Org-mode list of user-visible changes
2517 #+AUTHOR:  Carsten Dominik
2518 #+EMAIL:  carsten at orgmode dot org
2519 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
2520 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
2521 #+LINK_UP: index.html
2522 #+LINK_HOME: http://orgmode.org