1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232 |
- ORG NEWS -*- org -*-
- * Version 7.8
- ** Summary
- - Jambunathan's ODT exporter is now part of Org's core.
- - Nicolas' new export engine is now part of =contrib/=
- - Standard code block keywords
- - 10 new committers
- - Many bugfixes
- See below for details.
- ** New committers who signed the FSF copyright assigment
- Here is the list of new contributors who signed the FSF papers
- since Org 7.7 - welcome, and thanks for your contributions!
- - Andreas Leha
- - Christian Moe
- - Julian Gehring
- - Max Mikhanosha
- - Michael Brand
- - Niels Giessen
- - Pieter Praet
- - Sergey Litvinov
- - Thomas Holst
- - Thorsten Jolitz
- ** The ODT exporter is now part of Org's core
- - Full refresh of the OpenDocument Text section in the
- manual. All new features listed below are fully-documented.
- - Associate custom styles on per-file basis using
- =#+ODT_STYLES_FILE:= directive.
- - Fontify code listings using an enhanced version of
- =htmlfontify.el= and generate line numbers natively.
- - Embed MathML and OpenDocument formula files.
- - Use LaTeX to MathML converter -- say MathToWeb
- (http://www.mathtoweb.com/) -- for handling LaTeX Math
- fragments.
- - In tables, use column width cookies to control relative width
- of columns.
- - Also for tables, you can specify custom styles using
- =#+ATTR_ODT:= lines.
- - Lots of bug fixes.
- *Experimental*
- The following features are /experimental/. These features are
- specific to the ODT export engine and their implementation and
- usage could change considerably in future versions.
- - Support for list tables -- see this [[http://lists.gnu.org/archive/html/emacs-orgmode/2011-09/msg00017.html][message on the list]].
- - Support for annotation blocks -- see this [[http://lists.gnu.org/archive/html/emacs-orgmode/2011-10/msg01251.html][message on the list]].
- Special thanks to Jambunathan for his work and his patience
- through the process of integrating this vital contribution into
- Org's core.
- ** New export engine by Nicolas
- See the comment sections in org-element.el and in org-export.el
- (in =contrib/lisp/=). Also check the experimental LaTeX exporter
- using in =EXPERIMENTAL/org-e-latex.el=.
- Check Nicolas' announcement [[http://comments.gmane.org/gmane.emacs.orgmode/49416][on the list]] and hack around!
- Thanks a lot to Nicolas for this great and promising achievement.
- ** Incompatible changes
- *** Standardized code block keywords
- Following a round of on-list discussion, many code block synonyms
- have been removed. You can safely move forward the following
- syntax:
- - call lines are specified with #+call:
- - code blocks are named with #+name:
- - results are named with #+name:, however results generated by a
- code block may still be labeled with #+results:, and tables
- named with #+tblname: will be considered to be named results
- The following function may be used to update an existing Org-mode
- buffer to the new syntax:
- #+begin_src emacs-lisp
- (defun update-org-buffer ()
- "Update an Org-mode buffer to the new data, code block and call line syntax."
- (interactive)
- (save-excursion
- (flet ((to-re (lst) (concat "^[ \t]*#\\+" (regexp-opt lst t)
- "\\(\\[\\([[:alnum:]]+\\)\\]\\)?\\:[ \t]*"))
- (update (re new)
- (goto-char (point-min))
- (while (re-search-forward re nil t)
- (replace-match new nil nil nil 1))))
- (let ((old-re (to-re '("RESULTS" "DATA" "SRCNAME" "SOURCE")))
- (lob-re (to-re '("LOB")))
- (case-fold-search t))
- (update old-re "name")
- (update lob-re "call")))))
- #+end_src
- *Note*: If an old version of Org-mode (e.g., the one shipped with
- Emacs) is installed on your system, many of the important
- variables will be pre-defined with a =defvar= and *will not* have
- their values automatically updated -- these include the
- following:
- - =org-babel-data-names=
- - =org-babel-result-regexp=
- - =org-babel-src-block-regexp=
- - =org-babel-src-name-regexp=
- - =org-babel-src-name-w-name-regexp=
- It may be necessary to either remove the source code of older
- versions of Org-mode or to explicitly evaluate the ob.el file.
- *** Removed the =#+BABEL:= keyword
- Code block header arguments may now be specified using the
- standard =#+Property:= keyword. See [[#accumulating-property-keywords][Property names ending in =+=
- accumulate]] for more information on the extended property syntax.
- *** Deleted =org-mode-p=
- This function has been deleted: please update your hacks if you
- relied on it.
- ** New features and user-visible improvements
- *** Day names are optional when you type timestamps manually
- You can type "<2011-12-12>" or [2011-12-12] and modify this timestamps with
- S-<right> like other timestamps. Thanks to Carsten for implementing this.
- *** Improved filtering through =org-agenda-to-appt=
- The new function allows the user to refine the scope of entries
- to pass to =org-agenda-get-day-entries= and allows to filter out
- entries using a function.
- Thanks to Peter Münster for raising a related issue and to
- Tassilo Horn for this idea. Also thanks to Peter Münster for
- [[git:68ffb7a7][fixing a small bug]] in the final implementation.
- *** =org-agenda-date-later= jumps to today when modifying past date
- The command =org-agenda-date-later= (<S-right> in the Agenda
- Mode) directly jumps to today. Thanks to Carsten for
- implementing this.
- *** Use prefix arg 0 to inhibit note taking for TODO change
- See Carsten's comment: "Sometimes I want to quickly make a few TODOs done
- in the agenda and I want to bypass the note taking I have normally set
- up. With this change, I can press `0 t d' in the agenda to do this."
- Thanks to Carsten for implementing this.
- *** Various improvements to =org-indent.el=
- Nicolas Goaziou worked on refactoring and improving
- =org-indent.el=, which should now be faster. It also better
- combines with =visual-line-mode=.
- *** Property names ending in =+= accumulate
- This results in the following behavior.
- #+begin_src org
- ,#+property: var foo=1
- ,#+property: var+ bar=2
- ,#+begin_src emacs-lisp
- , (+ foo bar)
- ,#+end_src
- ,#+results:
- ,: 3
- ,#+begin_src emacs-lisp
- , (org-entry-get (point) "var" t)
- ,#+end_src
- ,#+results:
- ,: foo=1 bar=2
- ,* overwriting a file-wide property
- , :PROPERTIES:
- , :var: foo=7
- , :END:
- ,#+begin_src emacs-lisp
- , foo
- ,#+end_src
- ,#+results:
- ,: 7
- ,#+begin_src emacs-lisp
- , (org-entry-get (point) "var" t)
- ,#+end_src
- ,#+results:
- ,: foo=7
- ,* appending to a file-wide property
- , :PROPERTIES:
- , :var+: baz=3
- , :END:
- ,#+begin_src emacs-lisp
- , (+ foo bar baz)
- ,#+end_src
- ,#+results:
- ,: 6
- ,#+begin_src emacs-lisp
- , (org-entry-get (point) "var" t)
- ,#+end_src
- ,#+results:
- ,: foo=1 bar=2 baz=3
- #+end_src
- *** =org-agenda-custom-commands= has a default value
- This option used to be `nil' by default. This now has a default
- value, displaying an agenda and all TODOs. See the docstring for
- details. Thanks to Carsten for this.
- *** =outline-demote/promote= points to =org-demote/promote-subtree=
- Users who use this outline commands in =outline-mode= will want
- them to behave the Org way in Org. Thanks to Michael Brand for
- the suggestion.
- *** New escape characters for =org-log-note-headings=
- The option =org-log-note-headings= now supports %d and %D for
- inactive and active timestamps. This affect the behavior of the
- command =org-store-log-note=. Thanks to John J Foerch for a
- patch for this.
- *** New command =org-table-transpose-table-at-point=
- See the docstring. This hack from Juan Pechiar is now part of
- Org's core. Thanks to Juan!
- *** Allow recursive edit of minibuffer
- You can now use the command =C-c != (=org-time-stamp-inactive=)
- when prompted e.g. for a link name. This is because the central
- function =org-completing-read= now support recursive edit. Only
- =C-c != is available at the moment, but if you can think of a
- useful command to use, please let me know.
- Thanks to Skip Collins for the idea and to Nick Dokos for the
- implementation.
- *** Allow dynamic construction of the publishing destination
- Thanks to Kai Tetzlaff for adding this.
- *** Set the capture default time to the prompt time
- In the file+datetree+promt target type, the user is being asked
- for a date, where to file an entry. In the template, he can use
- the escape placeholders for active and inactive time stamps. So
- far, these were filled with todays date. This behavior changed
- so that, also at %t and %u, the date to use is the one entered at
- the prompt.
- Reported by Erik Hetzner and fixed by Carsten.
- *** =org-agenda-skip-additional-timestamps-same-entry= defaults to `nil'
- *** org-sudoku.el -- small sudoku solver
- Carsten wrote org-sudoku.el, a little sudoku solver, which lives
- in the contrib/ directory.
- From [[http://permalink.gmane.org/gmane.emacs.orgmode/45474][his message]]: "my daughter got stuck with a couple of SUDOKU
- puzzles during the vacation (where wh had no internet
- connection), so I hacked a small SUDOKU solver that reads a 9x9
- Org table and solves it as a sudoku puzzle. A little silly, but
- maybe fun for someone - I have pushed it into the contrib/lisp
- directory."
- ** Code Block related features and improvements
- *** Added [[http://cran.r-project.org/web/packages/tikzDevice/index.html][tikzDevice]] support to ob-R.el
- *** Support for Pico Lisp code blocks
- Thanks to Thorsten Jolitz Pico Lisp code blocks are now
- supported. See =ob-picolisp.el= for more information.
- *** Extension to the =eval= code block header argument
- The =eval= code block header argument now accepts four (six)
- possible values the meaning of which is shown in the table below.
- | never or no | The code block will not be evaluated under any |
- | | circumstances. |
- | query | Evaluation of the code block will require a query. |
- | never-export or no-export | The code block will not be evaluated during export |
- | | but may still be called |
- | query-export | Evaluation of the code block during export will |
- | | require a query. |
- *** Update of intermediate results during code block evaluation
- When set to t, the new =org-babel-update-intermediate= variable
- will update in-buffer results for code blocks which are evaluated
- in the resolution of a variable reference. This can be used to
- ensure that the latest returned results are always shown in
- buffer.
- *** Support for Fortran code block is now in the core
- Thanks to Sergey Litvinov for contributing this support.
- *** The =sbe= function allows header argument specification
- If first variable is a string and not a cons cell, then interpret
- it as a string of header arguments to be passed to the code
- block.
- *** Support for Shen code blocks
- See http://www.shenlanguage.org/ for information on Shen.
- A major mode for shen code blocks is available through the GNU
- ELPA.
- ** New options and faces
- *** New option =org-export-html-headline-anchor-format=
- Format for anchors in HTML headlines.
- It requires to %s: both will be replaced by the anchor referring
- to the headline (e.g. "sec-2"). When set to `nil', don't insert
- HTML anchors in headlines.
- This was requested by Alan L Tyree.
- *** New option =org-table-formula-field-format=
- Format for fields which contain the result of a formula.
- For example, using \"~%s~\" will display the result within tilde
- characters. Beware that modifying the display can prevent the
- field from being used in another formula.
- Thanks to Dov Grobgeld for this idea.
- *** New option =org-loop-over-headlines-in-active-region=
- When set to `t', some commands will loop over the active
- region. Currently, =org-schedule= and =org-deadline= uses this
- option: pressing =C-c C-s= or =C-c C-d= when the region is active
- will let you schedule/deadline all the visible headlines in the
- region.
- Thanks a lot to David Maus for implementing this.
- *** New option =org-catch-invisible-edits=
- This option makes it possible to check what is the right thing to do before
- editing invisible regions. Here are the possible values of this option:
- : +nil Do not check, so just do invisible edits.
- : +error Throw an error and do nothing.
- : +show Make point visible, and do the requested edit.
- : +show-and-error Make point visible, then throw an error and abort the edit.
- : +smart Make point visible, and do insertion/deletion if it is
- : adjacent to visible text and the change feels predictable.
- See the docstring for more details.
- Thanks to Carsten for implementing this.
- *** New option =org-export-latex-table-caption-above=
- Let the user place a caption above its table in LaTeX.
- Thanks to Thomas Dye for a patch to this effect.
- *** New option =org-agenda-follow-indirect=
- By setting `org-agenda-follow-indirect' to a non-nil value,
- `org-agenda-follow-mode' will use an indirect buffer to display
- only the current item, rather than the whole agenda file in which
- it lives.
- Thanks to Dave Abrahams for implementing this.
- *** New option =org-refile-active-region-within-subtree=
- Non-nil means also refile active region within a subtree.
- By default =org-refile= doesn't allow refiling regions if they
- don't contain a set of subtrees, but it might be convenient to do
- so sometimes: in that case, the first line of the region is
- converted to a headline before refiling.
- Thanks to Jeff Horn for raising the issue of refiling a list
- item, and to Nicolas Goaziou, Nick Dokos and Suvayu Ali for
- discussing them patiently.
- *** New option =org-latex-to-mathml-convert-command=
- This option lets you specify a way to convert LaTeX fragments to
- MathML. See also =org-latex-to-mathml-jar-file= and the
- docstring of =org-create-math-formula=.
- Thanks to Jambunathan K for implementing this.
- *** New option =org-properties-postprocess-alist=
- See its docstring:
- : Alist of properties and functions to adjust inserted values.
- : Elements of this alist must be of the form
- :
- : ([string] [function])
- :
- : where [string] must be a property name and [function] must be a
- : lambda expression: this lambda expression must take one argument,
- : the value to adjust, and return the new value as a string.
- :
- : For example, this element will allow the property "Remaining"
- : to be updated wrt the relation between the "Effort" property
- : and the clock summary:
- :
- : (("Remaining"
- : (lambda(value)
- : (let ((clocksum (org-clock-sum-current-item))
- : (effort (org-duration-string-to-minutes
- : (org-entry-get (point) "Effort"))))
- : (org-minutes-to-hh:mm-string (- effort clocksum))))))
- This is inspired by a request from Pascal Mattia.
- *** New options =org-habit-today-glyph= and =org-habit-completed-glyph=
- This gives you control over the character used for displaying
- today (default is `!') and days on which a task has been
- completed (default is `*'). Thanks to John Wiegley for this.
- *** New option =org-bibtex-type-property-name=
- Configurable property name for bibtex entry types. Thanks to
- Eric Schulte for this.
- *** New face =org-agenda-filter-tags=
- This face is used for highlighting the tag(s) filter in the
- modeline. Thanks to Sébastien Vauban for this idea and its
- implementation.
- *** New faces =org-agenda-calendar-event= and =org-agenda-calendar-sexp=
- =org-agenda-calendar-event= is the face used to show events and
- appointments in the agenda, and =org-agenda-calendar-sexp= the
- one used to show events computed from a S-expression.
- Thanks to Sébastien Vauban for this addition.
- ** Important bugfixes
- *** Respect =org-export-with-tags= when exporting a subtree
- Thanks to Suvayu Ali for spotting this problem and fixing it.
- *** Fix XEmacs compatibility issue when creating an indirect buffer
- Thanks to Michael Sperber for this fix.
- ** Testing
- *** New test function =org-test-with-temp-text-in-file=
- * Version 7.7
- ** COMMENT Incompatible changes
- ** New features and user-visible improvements
- *** New command =org-copy-visible= (=C-c C-x v=)
- This command will copy the visible text in the region into the
- kill ring.
- Thanks to Florian Beck for this function and to Carsten for
- adding it to org.el and documenting it!
- *** New hook =org-ctrl-c-ctrl-c-final-hook=
- This hook will be called when nothing special can be performed by
- the busy =C-c C-c= key. Thanks to Paul Sexton for this idea!
- *** Allow relative time when scheduling/adding a deadline
- You can now use relative duration strings like "-2d" or "++3w"
- when calling =org-schedule= or =org-deadline=: it will schedule
- (or set the deadline for) the item respectively two days before
- today and three weeks after the current timestamp, if any.
- You can use this programmatically: =(org-schedule nil "+2d")=
- will work on the current entry.
- You can also use this while (bulk-)rescheduling and
- (bulk-)resetting the deadline of (several) items from the agenda.
- Thanks to Memnon Anon for a heads up about this!
- *** New functions: =org-todo-yesterday= and =org-agenda-todo-yesterday=
- This is useful when you need to mark things done yesterday.
- Thanks to Max Mikhanosha for this patch.
- *** =org-set-property= defaults to the last interactively modified property
- When setting a property with =C-c C-x p=, it will offered the
- last interactively modified property as a default choice. If
- this command is called on a property line, the property in this
- line will take precedence over the last set property.
- *** Clock: Allow synchronous update of timestamps in CLOCK log
- Using =S-M-<up/down>= on CLOCK log timestamps will
- increase/decrease the two timestamps on this line so that
- duration will keep the same. Note that duration can still be
- slightly modified in case a timestamp needs some rounding.
- Thanks to Rainer Stengele for this idea.
- *** Clock: New function =org-clock-remove-empty-clock-drawer=
- This function removes empty =CLOCK= drawers and has been added to
- =org-clock-out-hook=: when clocking out, if no CLOCK log has been
- inserted and the drawer is empty, the drawer will be removed.
- *** Capture: new escape sequence =%F= for templates
- Using =%F= in capture templates will insert the full path of the
- file or the directory the capture mechanism was called from
- (whereas =%f= only insert the filename.)
- Thanks to Nicolas Goaziou for this change.
- *** Agenda: new variable =org-agenda-bulk-custom-functions= for custom bulk functions
- When using =org-agenda-bulk-action= in agenda view, the user
- could already call custom functions by pressing =f= and entering
- the function's name.
- This variable lets the user add custom choices and reach them
- more quickly. Set the variable to an alist of keys (chars) and
- functions, and these keys will be accessible through the
- =org-agenda-bulk-action= interface.
- If there is a conflict between custom keys and hardcoded choices,
- the latter ones take precedence.
- Thanks to Julien Cubizolles for triggering this idea.
- *** Refile: exclude irrelevant headings
- When refiling from an org-mode buffer, the current heading and
- its subheadings will be excluded from the list of possible
- targets.
- This only works when =org-refile-use-cache= is =nil= and in
- org-mode buffers, not in agenda buffers.
- Thanks to Jason Dunsmore for this idea!
- *** Lists: new variable =org-list-use-circular-motion=
- This variable allows some commands to consider lists as cyclic
- structures. For example, when non-nil, moving past the last item
- of a list with S-down will bring you back to the first one.
- *** Lists: New variable =org-list-indent-offset=
- This variable helps improving readability of sub-items by
- increasing their indentation. E.g., if =org-list-indent-offset=
- is set to 2, you may see the following list:
- #+begin_example
- - First item
- - Sub-item 1
- - Sub-item 2
- - Second item
- #+end_example
- *** Table: New flag ";t" to tailor the display of computed durations
- See the new variable =org-table-duration-custom-format= and the
- updated example from the manual:
- | Task 1 | Task 2 | Total |
- |---------+----------+-------|
- | 3:02:20 | -2:07:00 | 0.92 |
- #+TBLFM: @2$3=$1+$2;t
- In this example, =0.92= is a fraction of hour, the default for
- =org-table-duration-custom-format=.
- Thanks to Daniel E. Doherty for discussions about this.
- *** Table: display field's coordinates when editing it with =C-c `=
- When editing a field with =C-c `=, the field's coordinate will
- the displayed in the buffer.
- Thanks to Michael Brand for a patch to this effect.
- *** Babel: support for =java= code blocks
- Evaluation of blocks of Java code is now possible. Currently
- only external evaluation of Java code is supported (i.e., no
- session evaluation) and only the =:results output= results are
- collected. Code blocks are compiled to a Java class file which
- are then evaluated and the values printed to STDOUT are returned.
- Java code blocks required a =:classname= header argument which is
- used by the compiler to name =.java= and =.class= files.
- Example Java code block:
- #+begin_src org
- ,#+begin_src java :classname myfirstjavaprog
- , class myfirstjavaprog
- , {
- , public static void main(String args[])
- , {
- , System.out.println("Hello World!");
- , }
- , }
- ,#+end_src
- ,#+results:
- ,: Hello World!
- #+end_src
- *** Babel: support for =fortran= code blocks by Sergey Litvinov
- The =contrib/babel/langs/= contains the new library
- =ob-fortran.el= by Sergey Litvinov.
- Thanks to him for this addition.
- *** Babel: support for the [[http://fomus.sourceforge.net/][fomus]] language by Torsten Anders
- =ob-fomus.el= has been added to =contrib/babel/langs/=.
- Thanks to Torsten Anders for contributing this functionality.
- *** Publish: hide .orgx files and use theindex.org directly
- When :makeindex is `non-nil' in the publishing options, Org will
- export an index. It populates the directory with .orgx files:
- those files are now hidden (.file.orgx). Also the index is
- directly stored in the file =theindex.org=, not in the file
- =theindex.inc= (which you can delete).
- Thanks to Nathan Neff and Carsten for pointing at the problems
- and solutions.
- *** Export: new variable =org-export-html-divs= to allow custom divs
- The default value of =org-export-html-divs= is =("preamble"
- "content" "postamble")= and is used to define the =<div "%s">=
- for the main structure of the exported HTML file.
- Note that modifying the default value will break compatibility
- with the =org-info.js= script.
- Also note that the variable =org-export-html-content-div= will
- still be checked for compatibility reasons but is not a custom
- variable anymore.
- Thanks to Sébastian Vauban for a preliminary version of this
- patch.
- *** Export: new variable =org-export-latex-quotes= to customize quotes in LaTeX export
- This allows users to define what quotes they want to use as a
- replacement of english double-quotes while exporting to LaTeX.
- In particular, if you use the csquote package, you can configure
- Org to output something like \endquote{some quoted text} instead
- of "some quoted text".
- Thanks to Frederik for bringing this issue up, and to Thomas S.
- Dye, Nick Dokos and Stefan Nobis for elaborating this solution.
- ** Important bugfixes
- *** Duration computations now work for complex ranges in tables
- Thanks to Christian Moe for signaling this problem.
- *** Handle recursive setup files correctly
- Thanks to Stefan Vollmar for mentioning this problem.
- ** Details
- *** =org-map-entries= can now have 'region as its scope
- Thanks to David Maus for suggesting related improvements to
- =org-map-entries=. This one prepares the possibility of letting
- some commands to loop over the active region.
- *** org-depend.el: new chain-find-next trigger option
- See the updated docstring of this file.
- Thanks a lot to Max Mikhanosha for this!
- *** Export: new experimental exporter to MoinMoin by Puneeth Chaganti.
- The =EXPERIMENTAL/= directory contains a new file org-mm.el that
- allows you to export an Org file to a MoinMoin file.
- Thanks to Puneeth Chaganti for this addition.
- *** Export: new default for =org-export-html-preamble=
- The default value included the title. It now defaults to the
- empty string, as the title is hardcoded and included in the
- "content" div. Including the title here is necessary to let
- =org-info.js= find it and display the page properly.
- *** Export: new variable =org-lparse-use-flashy-warning= defaulting to =nil=
- Flashy and verbose warnings while exporting to ODT have been
- disabled. Set this to =t= if you want it back.
- *** Export: new default value for =org-export-latex-image-default-option=
- This used to be =width=10em= and this is now width=.9\linewidth,
- which makes more sense.
- Thanks to Sebastien Vauban for this suggestion.
- *** Export: allow =org-export-latex-href-format= to have only one "%s"
- This is useful when you want to use \url{link} instead of the
- default \href{link}{path}.
- Thanks to Henri-Paul Indiogine for bringing this up.
- ** Known issues
- *** The ODT exporter will choke when using some Org-defined strings
- For example, using the hungarian version of the table of
- contents, as defined in =org-export-language-setup=, the ODT
- exporter will complain about a problem with the translated
- string.
- The workaround is to customize =org-export-language-setup=
- and to use accents directly.
- * Version 7.6
- ** Incompatible changes
- ** New features and user-visible improvements
- *** Integration of Jambunathan's OpenDocumentText Exporter
- **** Activation
- Org-mode 7.6 supports exporting to OpenDocument Text (=odt=)
- format using org-odt.el. Depending on how you installed Org,
- this module can be enabled in one of the following ways:
- 1. If you have downloaded the Org from the Web, either as a
- distribution =.zip= or =.tar.gz= file, or as a Git archive,
- enable the =odt= option in the variable =org-modules=.
- 2. If you are using Org-mode 7.6 that comes bundled with
- Emacs-24.0.50 (or future Emacs-24.1), then you can install the
- OpenDocumentText exporter using the package manager. Check
- the list of available packages with =M-x list-packages= and
- install the =org-odt= package.
- Thanks a lot to Jambunathan K for this great contribution.
- **** Keybindings
- The following interactive commands are provided:
- 1. =C-c C-e o= (=org-export-as-odt=): Export as an =odt= file.
- 2. =C-c C-e O= (=org-export-as-odt-and-open=): Export as an =odt=
- file and open the resulting file.
- See the =contrib/odt/README.org= file for further details; you
- may check in particular the commands =M-x org-lparse= and =M-x
- org-export-convert=.
- *** Ob-Lilypond -- new Babel language to allow score generation
- ob-lilypond - an org-babel language, provided to allow LilyPond
- music score generation, complete with optional auditioning via
- midi, whilst leveraging the full power of org mode, and literate
- programming. See https://github.com/mjago/ob-lilypond for more
- documentation.
- Thanks to Martyn Jago for this addition.
- *** Org-Bibtex -- major improvements
- Provides support for managing bibtex bibliographical references
- data in headline properties. Each headline corresponds to a
- single reference and the relevant bibliographic meta-data is
- stored in headline properties, leaving the body of the headline
- free to hold notes and comments. Org-bibtex is aware of all
- standard bibtex reference types and fields.
- The key new functions are
- - org-bibtex-check :: queries the user to flesh out all required
- (and with prefix argument optional) bibtex fields available
- for the specific reference =type= of the current headline.
- - org-bibtex-create :: Create a new entry at the given level,
- using org-bibtex-check to flesh out the relevant fields.
- - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a
- formatted Org-mode headline into the current buffer
- - org-bibtex-export-to-kill-ring :: Export the current headline
- to the kill ring as a formatted bibtex entry.
- *** Spreadsheet computation of durations and time values
- If you want to compute time values use the =T= flag, either in
- Calc formulas or Elisp formulas:
- | Task 1 | Task 2 | Total |
- |--------+--------+---------|
- | 35:00 | 35:00 | 1:10:00 |
- #+TBLFM: @2$3=$1+$2;T
- Values must be of the form =[HH:]MM:SS=, where hours are
- optional.
- Thanks to Martin Halder, Eric Schulte and Carsten for code and
- feedback on this.
- *** Links within inlined footnotes.
- It as also possible to have footnotes side-by-side correctly
- exported. New variables =org-export-latex-footnote-separator=,
- =org-export-html-footnote-separator= and
- =org-export-docbook-footnote-separator= are used to separate them
- in that case.
- Fontification of footnotes is also more accurate.
- *** New variable =org-export-with-tasks=
- Non-nil means include TODO items for export.
- This may have the following values:
- - t include tasks independent of state.
- - todo include only tasks that are not yet done.
- - done include only tasks that are already done.
- - nil remove all tasks before export
- - list of TODO kwds keep only tasks with these keywords
- Thanks to Carsten for implementing this!
- *** New variable =org-export-latex-timestamp-inactive-markup=
- This variable allows the user to define the LaTeX markup for
- inactive timestamps. It defaults to the same markup than active
- timestamps. Thanks to Eric S Fraga for this patch.
- *** New =org-default= face
- =M-x customize-face RET org-default RET= will let you define the
- default face for =org-mode= buffers.
- *** Babel improvements
- **** In line code block call syntax
- It is now possible to call code blocks from within blocks of
- prose.
- The new syntax is exactly analogous to the existing =#+call:=
- line syntax, only it may be present embedded in a block of prose
- for example =call_double(num=8)= would call the =double= code
- block assigning the =num= variable to the value =8=.
- **** Optional variable names in code block calls
- Variable names are now optional when passing variables to a code
- block reference. Un-named variables will be assigned in order as
- shown below.
- : #+source: minus
- : #+begin_src emacs-lisp :var a=0 :var b=0
- : (- a b)
- : #+end_src
- :
- : #+call: minus(a=8, b=4)
- :
- : #+call: minus(8,4)
- **** Sub-tree ID as valid code block variable reference
- It is now possible to assign the textual contents of an Org-mode
- subtree to a code block variable using the ID of the subtree.
- Both custom IDs and Org-mode IDs may be used. For example;
- #+begin_src org
- ,#+begin_src sh :var text=foo
- , echo "$text"|wc
- ,#+end_src
- ,#+results:
- ,: 8 58 415
- ,* example foo
- , :PROPERTIES:
- , :CUSTOM_ID: foo
- , :END:
- ,Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
- ,hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
- ,nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
- ,natoque penatibus et magnis dis parturient montes, nascetur ridiculus
- ,mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
- ,turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum
- ,accumsan nisl.
- #+end_src
- **** =org-babel-tangle-body-hook= for reprocessing code block bodies during tangling
- **** =padline= header argument controls newline padding during tangling
- **** Maxima code blocks are now supported
- Thanks to Eric Fraga for contributing this support.
- **** =awk= code blocks are now supported
- **** Added =xmpfilter= to Ruby code blocks for annotated code output
- **** New =noweb-ref= header argument
- This header argument may be used to concatenate the bodies of
- many code blocks into a single noweb reference. This brings
- Org-mode's tangling functionality in line with traditional noweb
- tangling.
- A no web reference like the following
- #+begin_src org
- ,#+begin_src sh
- , <<the-ref>>
- ,#+end_src
- #+end_src
- will now expand to include the bodies of all code blocks which
- are named =the-ref=, as well as all code blocks which have a
- =:noweb-ref= header argument set to the value =the-ref=.
- *** New tests
- The =tests/= directory has been extensively updated.
- ** Important bugfixes
- *** Org-exp-blocks --- proper handling of recursively nested blocks
- During export pre-processing org-exp-blocks will now ensure that
- all matched blocks contain a proper balanced number of
- recursively nested blocks.
- Before this fix nested blocks such as the following would break
- during export.
- #+begin_src org
- ,#+begin_src org
- , ,#+begin_example
- , , nested example
- , ,#+end_example
- ,#+end_src
- #+end_src
- *** List handling
- Fix an infinite loop when a list has an end of block string
- without the corresponding beginning.
- Auto-filling cannot happen at a location where it would otherwise
- insert a new item.
- ** Details
- *** Footnotes have gone through some bug-fixing:
- - properly ignore footnotes in comments,
- - export calls to previously defined footnotes in LaTeX using
- \footnotemark,
- - export footnotes before first heading (LaTeX),
- - export footnotes when selecting a subtree not holding their
- definition (LaTeX).
- *** Many small bug fixes have been applied to list handling
- - fix `org-timer-item',
- - fix insertion of a new item with a non-nil `indent-tabs-mode',
- - fix use of `fill-region' in an item,
- - correct export lists within footnotes and footnotes within lists,
- - correctly export lists containing macros,
- - don't ignore with-case specification when sorting a list,
- - better indentation handling when changing an item to an headline
- or the other way,
- - fix check-boxes' cookies updating.
- * Version 7.5
- ** Incompatible changes
- *** Code block variable initialized with Emacs Lisp code in tables and lists
- It is no longer possible to assign code block variables using
- executable Emacs Lisp statements contained in tables or lists.
- As per the following example.
- #+tblname: table
- | (a b c) |
- #+begin_src perl :var data=table[0,0]
- $data
- #+end_src
- #+results:
- : (a b c)
- Thanks to Vladimir Alexiev for raising this issue.
- *** `org-bbdb-anniversary-format-alist' has changed
- Please check the docstring and update your settings accordingly.
- ** New features and user-visible improvements
- *** Implement formulas applying to field ranges
- Carsten implemented this field-ranges formulas.
- : A frequently requested feature for tables has been to be able to define
- : row formulas in a way similar to column formulas. The patch below allows
- : things like
- :
- : @3=
- : @2$2..@5$7=
- : @I$2..@II$4=
- :
- : as the left hand side for table formulas in order to write a formula that
- : is valid for an entire column or for a rectangular section in a
- : table.
- Thanks a lot to Carsten for this.
- *** Improved handling of lists
- Nicolas Goaziou extended and improved the way Org handles lists.
- 1. Indentation of text determines again end of items in
- lists. So, some text less indented than the previous item
- doesn't close the whole list anymore, only all items more
- indented than it.
- 2. Alphabetical bullets are implemented, through the use of the
- variable `org-alphabetical-lists'. This also adds alphabetical
- counters like [@c] or [@W].
- 3. Lists can now safely contain drawers, inline tasks, or various
- blocks, themselves containing lists. Two variables are
- controlling this: `org-list-forbidden-blocks', and
- `org-list-export-context'.
- 4. Improve `newline-and-indent' (C-j): used in an item, it will
- keep text from moving at column 0. This allows to split text
- and make paragraphs and still not break the list.
- 5. Improve `org-toggle-item' (C-c -): used on a region with
- standard text, it will change the region into one item. With a
- prefix argument, it will fallback to the previous behavior and
- make every line in region an item. It permits to easily
- integrate paragraphs inside a list.
- 6. `fill-paragraph' (M-q) now understands lists. It can freely be
- used inside items, or on text just after a list, even with no
- blank line around, without breaking list structure.
- Thanks a lot to Nicolas for all this!
- *** Modified link escaping
- David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]:
- : Percent escaping is used in Org mode to escape certain characters
- : in links that would either break the parser (e.g. square brackets
- : in link target oder description) or are not allowed to appear in
- : a particular link type (e.g. non-ascii characters in a http:
- : link).
- :
- : With this change in place Org will apply percent escaping and
- : unescaping more consistently especially for non-ascii characters.
- : Additionally some of the outstanding bugs or glitches concerning
- : percent escaped links are solved.
- Thanks a lot to David for this work.
- *** Simplification of org-export-html-preamble/postamble
- When set to `t', export the preamble/postamble as usual, honoring
- the =org-export-email/author/creator-info= variables.
- When set to a formatting string, insert this string. See the
- docstring of these variable for details about available
- %-sequences.
- You can set =:html-preamble= in publishing project in the same
- way: `t' means to honor =:email/creator/author-info=, and a
- formatting string will insert a string.
- *** New command `org-agenda-append-agenda'
- You can now use `org-agenda-append-agenda' to dynamically add new
- agendas views to the current one. It is particularily useful to
- compare multiple small agendas.
- *** Localized clock tables
- Clock tables now support a new new =:lang= parameter, allowing
- the user to customize the localization of the table headers. See
- the variable =org-clock-clocktable-language-setup= which controls
- available translated strings.
- *** New sorting options when publishing projects
- The =:sitemap-sort-file= option now allows sorting the sitemap
- file (anti-)alphabetically and (anti-)chronogically. Thanks a
- lot to Manuel Giraud for a patch to this effet.
- *** Testing with ERT
- Martyn Jago added new tests to =testing/= - thanks to him!
- *** New file in contrib/: org-notmuch.el
- Org is now distributed with =org-notmuch.el=, by Matthieu
- Lemerre. See explanations in the header of =org-notmuch.el=:
- : =org-notmuch.el= implements links to notmuch messages and
- : "searchs". A search is a query to be performed by notmuch; it is
- : the equivalent to folders in other mail clients. Similarly, mails
- : are refered to by a query, so both a link can refer to several
- : mails.
- *** org-gnus.el now allows link creation from messages
- You can now create links from messages. This is particularily
- useful when the user wants to stored messages that he sends, for
- later check. Thanks to Ulf Stegemann for the patch.
- ** Important bug fixes
- *** Capturing to narrowed buffers
- You can now safely capture entries to narrowed buffers. Thanks a
- lot to Memnon Anon for bringing this up.
- *** Better handling of the new `org-agenda-span' variable
- Agendas were a bit confused by the introduction of this variable,
- in particular block agendas. This is now fixed.
- Thanks to Julien and Carsten for helping find the right fix for
- this issue, and to Michael Brand and Matt Lundin for their
- patient testing and reporting.
- *** Security warning: using org-crypt with auto-save
- To prevent Emacs from auto-saving encrypted entries in clear
- text, the user should not use auto-save with org-crypt.el. We
- now send a warning when users are both using auto-saving and
- org-crypt.el. Thanks to Peter Jones for bringing this up.
- ** Details
- *** Babel
- **** :file argument causes results to be written to file for all languages
- :file <filename> should be understood as saying "write the result
- to <filename> and return a link to <filename>".
- This works for all languages. For graphics languages (e.g. ditaa, dot,
- gnuplot) there is no change in behavior: "result" in the above is the
- graphics, and a link to the image is placed in the org buffer. For
- general-purpose languages (e.g. emacs-lisp, python, R, ruby, shell),
- the "result" written to file is the normal org-babel result (string,
- number, table).
- In order to return a file link from a src block without telling babel
- to save any results to that file, use :results <filename> and do not
- use :file. The code block can of course write arbitrary content to
- <filename>.
- Some examples:
- Save the output of ls -l as a .csv file (recall that :results value is
- the default):
- #+begin_src sh :file dirlisting.csv :sep ,
- ls -l
- #+end_src
- Send the text output of ls -l directly to file:
- #+begin_src sh :results output :file dirlisting.txt
- ls -l
- #+end_src
- **** R requires :results graphics :file filename when generating graphics
- ":results graphics" is now required in addition to ":file
- filename" in order for graphical output to be sent automatically
- to file. If :file is supplied, but not ":results graphics", then
- non-graphical, "value" or "output" results are written to file,
- depending on which of those options is in effect.
- **** Calc code blocks can now accept vectors
- For example;
- #+begin_src calc :var y=[1 2 3]
- 3 y
- #+end_src
- #+results:
- : [3, 6, 9]
- Thanks to Eric S. Fraga for raising this issue
- **** Code blocks with empty bodies are now acceptable
- Previously these caused errors on export. Thanks to Martyn Jago
- for this patch.
- **** Emacs Lisp variable assignments which don't eval cleanly passed literally
- This makes it possible to easily pass through non-elisp variable
- assignments which may initially look like valid elisp.
- **** Unified naming of =c++= functions to =C++=
- Thanks to Martyn Jago for this patch.
- **** `org-babel-execute-buffer' and `org-babel-execute-subtree' now eval inline code blocks as well
- **** New :mkdirp header argument creates parent dirs of tangle targets
- **** New ":comments noweb" option for wrapping noweb references in comment links
- This can be useful to allow backward linking from tangle code
- files to the original code block holding noweb-expanded content.
- **** Allow detangling of text containing '\'s -- Thanks to Seth Burleigh
- **** =:sep= specifies table separator when opening or writing tabular results
- **** `org-edit-src-content-indentation' can now be a buffer-local variable
- *** All export configuration variables can now be buffer-local variables
- *** org-complete.el has been renamed to org-pcomplete.el
- In case you were manually loading =org-complete.el= (which is
- *not* necessary anyway), please be aware that the name of this
- library was changed to =org-pcomplete.el=.
- *** New user options for LaTeX source code export via minted and listings packages
- New variables `org-export-latex-listings-options' and
- `org-export-latex-minted-options' allow package options to be
- controlled; `org-export-latex-custom-lang-environments' allows
- arbitrary configuration on a per-language basis.
- *** Effort durations now support 2d, 2m, etc.
- Effort duration can now be set as 2h (for 2 hours), etc. This
- will be converted to minutes automatically when clocking in an
- entry with an effort property. See the =org-effort-durations=
- variable.
- Thanks a lot to Lawrence Mitchell for this patch.
- *** New option :clock-keep for capture templates
- A capture template with =:clock-keep t= will prevent the refiling
- process from clocking out the entry. If =:clock-resume= is also
- `t', =:clock-keep= will take precedence and =:clock-resume= will
- be ignored.
- So now =:immediate-finish t :clock-in t :clock-keep t= makes
- sense: it will capture a new task and clock it.
- *** Misc
- **** New command `org-agenda-bulk-mark-regexp'
- =M-x org-agenda-bulk-mark-regexp RET= will mark agenda entries
- which headings match against a regular expression. You can call
- this command with the `%' key from an agenda buffer.
- **** New command `org-agenda-reset-view'
- Julien Danjou implemented this:
- : This new command lets you switch to day/week/month/year view.
- :
- : When switching to day or week view, this setting becomes the default for
- : subsequent agenda refreshes. Since month and year views are slow to
- : create, they do not become the default. A numeric prefix argument may be
- : used to jump directly to a specific day of the year, ISO week, month, or
- : year, respectively. For example, `32 d' jumps to February 1st, `9 w' to
- : ISO week number 9. When setting day, week, or month view, a year may be
- : encoded in the prefix argument as well. For example, `200712 w' will jump
- : to week 12 in 2007. If such a year specification has only one or two
- : digits, it will be mapped to the interval 1938-2037. `v SPC'' will reset to
- : what is set in `org-agenda-span'.
- Thanks a lot to Julien for this.
- **** New options for ignoring past or future items in the global todo list
- This patch gives users greater control over which past or future items
- they would like to ignore in the global todo list. By setting
- org-agenda-todo-ignore-scheduled to 7, for instance, a user can ignore all
- items scheduled 7 or more days in the future. Similarly, by setting
- org-agenda-todo-ignore-scheduled to -1, a user can ignore all items that
- are truly in the past (unlike the 'past setting, which ignores items
- scheduled today).
- See the docstrings of these variables:
- - org-agenda-todo-ignore-deadlines
- - org-agenda-todo-ignore-scheduled
- - org-agenda-todo-ignore-timestamp
- Thanks a lot to Matt Lundin for implementing this and to Paul
- Sexton for the idea.
- **** New variable `org-export-table-remove-empty-lines'
- When set to `nil', don't remove empty tables when exporting
- tables. This was requested by Eric S Fraga.
- **** New variable `org-table-fix-formulas-confirm'
- Sometime, editing the structure of a table should not edit the
- corresponding formulas. This new variable lets the user decide
- whether he wants to confirm formula fixes or not.
- **** New variable `org-export-initial-scope'
- This variable controls the initial scope when exporting with `org-export'.
- It can be set to 'buffer or 'subtree. If there is an active region, tell
- it when prompting the user for an export command.
- **** Show and use the default refile location
- M-x org-refile RET now shows the default refile location. Thanks to
- Tassilo Horn for a patch to this effect.
- **** New variable `org-archive-subtree-add-inherited-tags'
- Non-nil means append inherited tags when archiving a subtree.
- **** New variable `org-export-current-backend'
- This variable is dynamically set by exporters. You can check
- against its value anytime in your code to see if you are
- exporting to HTML, LaTeX, etc. Possible values are 'html,
- 'latex, 'ascii, 'docbook. Thanks to Eric Schulte and Dan Davison
- for ideas and patches in this area.
- **** New hook `org-clock-before-select-task-hook'
- Hook called in task selection just before prompting the user.
- Thanks to Benjamin Drieu for the patch.
- **** = = emphasis now uses \protectedtexttt
- **** Author's email now included in the LaTeX title
- When `org-export-email-info' is non-nil, the LaTeX title will
- also include the author's email. Thanks to Lawrence Mitchell for
- the patch.
- **** Update contrib/scripts/ditaa.jar to ditaa v0.9 of 2009-11-24
- **** New variable `org-mobile-files-exclude-regexp'
- This variable lets you exclude files that you don't want in
- org-mobile-files.
- **** New variable `org-confirm-elisp-link-not-regexp'
- Set this to a regexp if you want to skip the confirmation step for
- Elisp/Shell code matching this regexp.
- **** New variable `org-attach-store-link-p'
- When set to `t', store link to the attached file, at its original location.
- **** `org-table-use-standard-references' now defaults to 'from
- **** Better `org-agenda-repeating-timestamp-show-all'
- When this is set to a list of TODO keywords, the agenda will only show
- occurrences of repeating stamps for these TODO keywords.
- **** New command `org-narrow-to-block'
- This command (`C-x n b') will narrow the buffer to the current block.
- * Version 7.4
- ** Incompatible changes
- *** Agenda: rework ndays and span handling
- The variable =org-agenda-ndays= is obsolete - please use
- =org-agenda-span= instead.
- Thanks to Julien Danjou for this.
- ** Details
- *** Improvements with inline tasks and indentation
- There is now a configurable way on how to export inline tasks. See
- the new variable =org-inlinetask-export-templates=.
- Thanks to Nicolas Goaziou for coding these changes.
- *** Agenda: Added a bulk "scattering" command
- =B S= in the agenda buffer will cause tasks to be rescheduled a random
- number of days into the future, with 7 as the default. This is useful
- if you've got a ton of tasks scheduled for today, you realize you'll
- never deal with them all, and you just want them to be distributed
- across the next N days. When called with a prefix arg, rescheduling
- will avoid weekend days.
- Thanks to John Wiegley for this.
- *** In-buffer completion is now done using John Wiegleys pcomplete.el
- Thanks to John Wiegley for much of this code.
- *** Sending radio tables from org buffers is now allowed
- Org radio tables can no also be sent inside Org buffers. Also,
- there is a new hook which get called after a table has been sent.
- Thanks to Seweryn Kokot.
- *** Command names shown in manual
- The reference manual now lists command names for most commands.
- Thanks to Andreas Röhler who started this project.
- *** Allow ap/pm times in agenda time grid
- Times in the agenda can now be displayed in am/pm format. See the new
- variable =org-agenda-timegrid-use-ampm=. Thanks to C. A. Webber for
- a patch to this effect.
- *** Rewriten clock table code
- The entire clocktable code has been rewritten to add more options and
- to make hacking time reports easier.
- Thanks to Erwin Vrolijk for a patch introducing clock tables for
- quarters.
- *** Babel
- **** Add =msosql= engine to sql code blocks
- SQL code blocks can now be executed using the =myosql= engine
- using the osql command (from MS SQL Server) on Windows systems.
- Thanks to Sébastien Vauban for this contribution.
- **** Python code blocks now accept a =preamble= header argument
- This allows specification of coding declarations and library imports
- which must take place in the beginning of a file of executed python
- code (note this header argument is used during code block evaluation
- unlike the =shebang= header argument which is used during tangling).
- For example
- #+begin_src org
- ,#+begin_src python :preamble # -*- coding: utf-8 -*- :return s
- ,s = "é"
- ,#+end_src
- #+end_src
- Thanks to Vincent Beffara for this idea.
- **** Code block name is shown during evaluation query
- When the user is queried about the evaluation of a named code block
- the name of the code block is now displayed.
- Thanks to Tom Dye for this suggestion.
- **** Clojure code blocks results insertion
- The results of Clojure code blocks have been improved in two ways.
- 1. lazy sequences are now expanded for insertion into the Org-mode
- buffer
- 2. pretty printing of results is now possible with both "code" and
- "data" pretty print formats
- Thanks to Rick Moynihan for suggesting these changes.
- **** Python code blocks now accept a =:return= header argument
- This alleviates the need to explicitly insert return statements into
- the bode of Python code blocks. This change both
- - allows the same python code blocks to be run both in sessions and
- externally
- - removes the floating =return= statements which violated python
- syntax
- Thanks to Darlan Cavalcante for proposing this feature.
- **** =:results wrap= header argument wraps code block results
- The new =:results wrap= wraps code blocks results in a custom
- environment making it possible to offset their contents during
- export. For example
- #+begin_src org
- ,#+begin_src emacs-lisp :results wrap
- , "code block results"
- ,#+end_src
- ,#+results:
- ,#+BEGIN_RESULT
- ,: code block results
- ,#+END_RESULT
- #+end_src
- Thanks to Sébastien Vauban for persistently suggesting this enhancement.
- **** Code block error buffer wiped clean between executions
- Previously the code block error buffer accumulated errors making it
- difficult to distinguish between previous and current errors. This
- buffer is now cleaned before every interactive code block evaluation.
- **** Lists now recognized by code blocks
- It is now possible for code blocks to both read and write list
- contents from and to Org-mode buffers. For example
- #+begin_src org
- ,#+results: a-list
- ,- babel
- ,- and
- ,- org-mode
- ,#+source: a-list
- ,#+begin_src emacs-lisp :var lst=a-list :results list
- , (reverse lst)
- ,#+end_src
- #+end_src
- **** Calc added as a supported code block language
- The Emacs Calc package can be used through =calc= code blocks allowing
- both regular arithmetic operations as well as stack based
- calculation. For example
- #+begin_src org
- ,#+source: calc-stack
- ,#+begin_src calc
- , 8
- , 1
- , '+
- , 9
- , '*
- ,#+end_src
- ,#+results: calc-stack
- ,: 81
- ,#+source: calc-arithmetic
- ,#+begin_src calc :var in=calc-stack
- , in / 9
- ,#+end_src
- ,#+results: calc-arithmetic
- ,: 9
- #+end_src
- **** "org-babel-detangle" propagates change to source code files into code blocks
- `org-babel-detangle' can be used to propagate changes to pure source
- code files tangled from embedded code blocks in Org-mode files back to
- the original code blocks in the Org-mode file. This can be used on
- collaborative projects to keep embedded code blocks up to date with
- edits made in pure source code files.
- * Version 7.02
- ** Incompatible Changes
- *** Code block hashes
- Due to changes in the code resolving code block header arguments
- hashing of code block results should now re-run a code block when
- an argument to the code block has changed. As a result of this
- change *all* code blocks with cached results will be re-run after
- upgrading to the latest version.
- *** Testing update
- Anyone using the org-mode test suite will need to update the jump
- repository for test navigation by executing the following from
- the root of the org-mode repository.
- : git submodule update
- Failure to update this repository will cause loading of
- org-test.el to throw errors.
- ** Details
- *** Org-babel speed commands
- All Org-babel commands (behind the C-c C-v key prefix) are now
- available as speed commands when the point is on the first line of a
- code block. This uses the existing Org-mode speed key mechanisms.
- Thanks to Jambunathan K for implementation this new feature.
- *** Fontify code in code blocks.
- Source code in code blocks can now be fontified. Please customize the
- varable =org-src-fontify-natively=. For very large blocks (several
- hundreds of lines) there can be delays in editing such fontified
- blocks, in which case C-c ' should be used to bring up a dedicated
- edit buffer.
- Thanks to Dan Davison for this.
- *** Language-mode commands are available in the Org-buffer
- The most general machinery for doing this is the macro
- `org-babel-do-in-edit-buffer'. There is also the convenience
- function `org-babel-do-key-sequence-in-edit-buffer' which makes
- use of this macro, and is bound to C-c C-v C-x and C-c C-v x. If
- there is an active region contained within the code block, then
- this is inherited by the edit buffer. Some examples of the sorts
- of usage this permits are
- C-c C-v C-x M-; comment region according to language
- C-c C-v C-x C-M-\ indent region according to language
- Users can make these more convenient, e.g.
- (defun my/org-comment-dwim (&optional arg)
- (interactive "P")
- (or (org-babel-do-key-sequence-in-edit-buffer "\M-;")
- (comment-dwim arg)))
- (define-key org-mode-map "\M-;" 'my/org-comment-dwim)
- A common instance of this general pattern is built in to Org-mode,
- controlled by the variable `org-src-tab-acts-natively': if this
- variable is set, then TAB in a code block has the effect that it would
- have in the language major mode buffer.
- *** Org-babel commands are available in language-mode edit buffer
- Mirroring the language-native commands in Org buffers above, a new
- macro `org-src-do-at-code-block' and convenience function
- `org-src-do-key-sequence-at-code-block' provide the converse. When
- used in a language major-mode edit buffer (i.e. a buffer generated
- by C-c '), `org-src-do-key-sequence-at-code-block' executes a key
- sequence at the code block in the source Org buffer. The command
- bound to the key sequence in the Org-babel key map is executed
- remotely with point temporarily at the start of the code block in
- the Org buffer.
- The command is not bound to a key by default, to avoid conflicts
- with language major mode bindings. To bind it to C-c @ in all
- language major modes, you could use
- (add-hook 'org-src-mode-hook
- (lambda () (define-key org-src-mode-map "\C-c@"
- 'org-src-do-key-sequence-at-code-block)))
- In that case, for example, C-c @ t issued in code edit buffers
- would tangle the current Org code block, C-c @ e would execute
- the block and C-c @ h would display the other available
- Org-babel commands.
- *** Multi-line header arguments to code blocks
- Code block header arguments can now span multiple lines using the
- new =#+header:= or =#+headers:= lines preceding a code block or
- nested in between the name and body of a named code block.
- Examples are given below.
- - multi-line header arguments on an un-named code block
- : #+headers: :var data1=1
- : #+begin_src emacs-lisp :var data2=2
- : (message "data1:%S, data2:%S" data1 data2)
- : #+end_src
- :
- : #+results:
- : : data1:1, data2:2
- - multi-line header arguments on a named code block
- : #+source: named-block
- : #+header: :var data=2
- : #+begin_src emacs-lisp
- : (message "data:%S" data)
- : #+end_src
- :
- : #+results: named-block
- : : data:2
- *** Unified handling of variable expansion for code blocks
- The code used to resolve variable references in code block header
- arguments has now been consolidated. This both simplifies the
- code base (especially the language-specific files), and ensures
- that the arguments to a code block will not be evaluated multiple
- times. This change should not be externally visible to the
- Org-mode user.
- *** Improved Caching
- Code block caches now notice if the value of a variable argument
- to the code block has changed, if this is the case the cache is
- invalidated and the code block is re-run. The following example
- can provide intuition for the new behavior.
- #+begin_src org :exports code
- ,#+srcname: random
- ,#+begin_src R :cache yes
- ,runif(1)
- ,#+end_src
- ,#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
- ,: 0.4659510825295
- ,#+srcname: caller
- ,#+begin_src emacs-lisp :var x=random :cache yes
- ,x
- ,#+end_src
- ,#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
- ,: 0.254227238707244
- #+end_src
- *** Added :headers header argument for LaTeX code blocks
- This makes it possible to set LaTeX options which must take place in
- the document pre-amble for LaTeX code blocks. This header argument
- accepts either a single string or a list, e.g.
- #+begin_src org
- ,#+begin_src latex :headers \usepackage{lmodern} :file name1.pdf
- , latex body
- ,#+end_src
- ,#+begin_src latex :headers '("\\usepackage{mathpazo}" "\\usepackage{fullpage}") :file name2.pdf
- , latex body
- ,#+end_src
- #+end_src
- *** New function `org-export-string'
- Allows exporting directly from a string to the specified export format.
- *** Code block header argument ":noweb tangle"
- Only expands <<noweb>> syntax references when tangling, not during
- export (weaving).
- *** New function `org-babel-switch-to-session-with-code'
- C-c C-v z (`org-babel-switch-to-session-with-code') is a variant of
- C-c C-v C-z (`org-babel-switch-to-session'): instead of switching to
- the session buffer, it splits the window between (a) the session
- buffer and (b) a language major-mode edit buffer for the code block in
- question. This can be convenient for using language major mode for
- interacting with the session buffer.
- *** Improvements to R sessions
- R now uses standard ESS code evaluation machinery in the :results
- value case, which avoids unnecessary output to the comint
- buffer. In addition, the R command responsible for writing the
- result to file is hidden from the user. Finally, the R code edit
- buffer generated by C-c ' is automatically linked to the ESS
- session if the current code block is using :session.
- *** Temporary file directory
- All babel temporary files are now kept in a single sub-directory in
- the /tmp directory and are cleaned up when Emacs exits.
- *** Function for demarcating blocks `org-babel-demarcate-block'
- Can be called to wrap the region in a block, or to split the block
- around point, bound to (C-c C-v d).
- *** Function for marking code block contents `org-babel-mark-block'
- Bound to C-M-h in the babel key map (i.e. C-c C-v C-M-h by
- default). This can be useful in conjunction with
- `org-babel-do-in-edit-buffer', for example for language-native
- commenting or indenting of the whole block.
- *** Lists of anniversaries are now handeled better
- When several anniversaries are defined in the bbdb anniversaries
- field (separated by semicolon), this is now handled nicely by the
- agenda.
- Thanks to Łukasz Stelmach for a patch to this effect.
- *** Table fields are now aligned better, new <c> cookie.
- In HTML export, table fields are now properly aligned in accord
- with automatic alignment in org, or as set by the =<r>=, =<l>=, and
- =<c>= cookies. The =<c>= cookie is new and has no effect in
- Org, but it does do the right thing in HTML export. A LaTeX export
- implementation will follow, but is currently still missing.
- *** Update freemind converter to include body text
- The freemind exporter now incorporates body text into the mind
- map.
- Thanks to Lennard Borgman for this patch.
- *** Make footnotes work correctly in message-mode
- The footnotes code now searches for =message-signature-separator=
- (which is "-- " by default) in order to place footnotes before the
- signature. Thanks to Tassilo Horn for this patch.
- *** Improve XEmacs compatibility
- Org-mode 7.02 now runs again in 21.4.22 if the new XEmacs base
- package is installed.
- Thanks to Uwe Bauer, Volker Ziegler, Michael Sperber and others
- for a discussion that lead to this nice result.
- *** Make it configurable wether agenda jumping prefers the future
- When jumping to a date from the agenda using the =j= key, you may
- or may not like the property of Org's date reader to prefer the
- future when you enter incomplete dates. This can now be
- configured using the variable =org-agenda-jump-prefer-future'.
- *** Add publishing functions for ASCII, Latin-1 and UTF-8
- There are now publishing functions =org-publish-org-to-ascii=,
- =org-publish-org-to-latin1=, and =org-publish-org-to-utf8=.
- Thanks to Matthias Danzl for showing how to do this.
- *** Indentation and headline insertion after inline tasks
- Indentation in inline tasks, and headline insertion after inline
- tasks now behave as expected.
- *** Encryption in MobileOrg finally works
- As soon as MobilOrg 1.5 hits the Apple's AppStore, you can
- encrypt your org files on public servers. Please see the
- documentation of MobileOrg and Appendix B of the manual for more
- details.
- *** MobileOrg: Do not force to insert IDs
- If you dislike the property of MobileOrg to insert ID properties
- for in all entries being part of an agenda view, you can now turn
- this off using the variable
- =org-mobile-force-id-on-agenda-items=. When this variable is set
- to =nil=, MobileOrg will use outline paths to identify entries.
- Note that this may fail if several entries have identical outline
- paths.
- *** LaTeX minted package for fontified source code export
- Patch by Dan Davison.
- A non-nil value of `org-export-latex-minted' means to export source
- code using the minted package, which will fontify source code
- with color. If you want to use this, you need to make LaTeX use the
- minted package. Add minted to `org-export-latex-packages-alist', for
- example using customize, or with something like
- (require 'org-latex)
- (add-to-list 'org-export-latex-packages-alist '("" "minted"))
- In addition, it is neccessary to install
- pygments (http://pygments.org), and to configure
- `org-latex-to-pdf-process' so that the -shell-escape option is
- passed to pdflatex.
- *** Allow to use texi2dvi or rubber for processing LaTeX to pdf
- Please see the variable =org-export-latex-to-pdf-process= for
- more information.
- Thanks to Olivier Schwander for the rubber part.
- *** New STARTUP keywords to turn on inline images
- If you want to inline images whenever you visit an Org file, use
- : #+STARTUP: inlineimages
- *** Support for user-extensible speed commands.
- There is a new hook =org-speed-command-hook=. Thanks to
- Jambunathan for a patch to this effect.
- *** Add macro to insert property values into exported text
- you can use {{{property{NAME}}}} to insert the value of a
- property upon export.
- Thanks to David Maus for a patch to this effect.
- *** LaTeX package fixes
- We updated the list of default packages loaded by LaTeX exported
- files.
- *** Allow "#" and "%" in tags
- Tags can now also contain the characters =#= and =%=, in addition
- to =@= and letters.
- *** Show command names in manual
- Andreas Röhler is adding command names to keys in the manual.
- This will take a while to complete, but a start has been made.
- *** Make backslash escape "-" in property matches
- When entering a tags/property query, "-" is a logical operator.
- However, "-" is also allowed in property names. So you can now
- write "SOME\-NAME" to work around this issue.
- This was a request by Ilya Shlyakhter.
- *** Document quick insertion of empty structural elements
- Org-mode has a built-in template mechanism for inserting block
- templates. This was undocumented until now.
- Thanks to Jambunathan K for the patch.
- *** Implement MathJax support
- Org-mode now uses MathJax to display math on web pages. We serve
- MathJax from the orgmode.org server, at least for the time being
- (thanks Bastien!). If you are going to use this for pages which
- are viewed often, please install MathJax on your own webserver.
- To return to the old way of creating images and inserting them
- into web pages, you would have to set
- : (setq org-export-with-LaTeX-fragments 'dvipng)
- or on a per-file basis
- : #+OPTIONS: LaTeX:dvipng
- *** Agenda: Allow compact two-column display in agenda dispatcher
- If you have many custom agenda commands, you can have the display
- in the dispatcher use two columns with the following settings
- : (setq org-agenda-menu-show-match nil
- : org-agenda-menu-two-column t)
- This was a request by John Wiegley.
- *** Add org-wikinodes.el as a contributed package
- One frequent request has been to be able to use CamelCase words
- for automatic cross links in a Wiki created by Org. THis is now
- possible with org-wikinodes.el, which is available in the contrib
- directory. We also have some [[http://orgmode.org/worg/org-contrib/org-wikinodes.php][documentation]] for this feature up
- on Worg.
- *** Timer/clock enhancements
- =org-timer-set-timer= displays a countdown timer in the modeline.
- From the agenda, `J' invokes =org-agenda-clock-goto=.
- * Version 7.01
- ** Incompatible Changes
- *** Emacs 21 support has been dropped
- Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
- *** XEmacs support requires the XEmacs development version
- To use Org mode 7.xx with XEmacs, you need to run the developer
- version of XEmacs. I was about to drop XEmacs support entirely,
- but Michael Sperber stepped in and made changes to XEmacs that
- made it easier to keep the support. Thanks to Michael for this
- last-minute save. I had hoped to be able to remove
- xemacs/noutline.el from release 7 by moving it into XEmacs, but
- this is not yet done.
- *** Org-babel configuration changes
- Babel took the integration into Org-mode as an opportunity to do
- some much needed house cleaning. Most importantly we have
- simplified the enabling of language support, and cleared out
- unnecessary configuration variables -- which is great unless you
- already have a working configuration under the old model.
- The most important changes regard the /location/ and /enabling/
- of Babel (both core functionality and language specific support).
- - Babel :: Babel is now part of the core of Org-mode, so it is
- now loaded along with the rest of Org-mode. That means that
- there is /no configuration/ required to enable the main
- Babel functionality. For current users, this means that
- statements like
- #+begin_src emacs-lisp
- (require 'org-babel)
- #+end_src
- or
- #+begin_src emacs-lisp
- (require 'org-babel-init)
- #+end_src
- that may by lying around in your configuration must now be
- removed.
- - load path :: Babel (including all language specific files --
- aside from those which are located in the =contrib/=
- directory for reasons of licencing) now lives in the base of
- the Org-mode lisp directory, so /no additional directories/
- need to be added to your load path to use babel. For Babel
- users this means that statements adding babel-specific
- directories to your load-path should now be removed from
- your config.
- - language support :: It is no longer necessary to require
- language specific support on a language-by-language basis.
- Specific language support should now be managed through the
- `org-babel-load-languages' variable. This variable can be
- customized using the Emacs customization interface, or
- through the addition of something like the following to your
- configuration (note: any language not mentioned will /not/
- be enabled, aside from =emacs-lisp= which is enabled by
- default)
- #+begin_src emacs-lisp
- (org-babel-do-load-languages
- 'org-babel-load-languages
- '((R . t)
- (ditaa . t)
- (dot . t)
- (emacs-lisp . t)
- (gnuplot . t)
- (haskell . nil)
- (ocaml . nil)
- (python . t)
- (ruby . t)
- (screen . nil)
- (sh . t)
- (sql . nil)
- (sqlite . t)))
- #+end_src
- Despite this change it is still possible to add
- language support through the use of =require=
- statements, however to conform to Emacs file-name
- regulations all Babel language files have changed
- prefix from =org-babel-*= to =ob-*=, so the require
- lines must also change e.g.
- #+begin_src emacs-lisp
- (require 'org-babel-R)
- #+end_src
- should be changed to
- #+begin_src emacs-lisp
- (require 'ob-R)
- #+end_src
- We have eliminated the =org-babel-tangle-w-comments= variable as
- well as the two main internal lists of languages, namely
- - =org-babel-interpreters= and
- - =org-babel-tangle-langs=
- so any config lines which mention those variables, can/should be
- stripped out in their entirety. This includes any calls to the
- =org-babel-add-interpreter= function, whose sole purpose was to
- add languages to the =org-babel-interpreters= variable.
- With those calls stripped out, we may still in some cases want to
- associate a file name extension with certain languages, for
- example we want all of our emacs-lisp files to end in a =.el=, we
- can do this will the =org-babel-tangle-lang-exts= variable. In
- general you shouldn't need to touch this as it already has
- defaults for most common languages, and if a language is not
- present in org-babel-tangle-langs, then babel will just use the
- language name, so for example a file of =c= code will have a =.c=
- extension by default, shell-scripts (identified with =sh=) will
- have a =.sh= extension etc...
- The configuration of /shebang/ lines now lives in header
- arguments. So the shebang for a single file can be set at the
- code block level, e.g.
- #+begin_src org
- ,#+begin_src clojure :shebang #!/usr/bin/env clj
- , (println "with a shebang line, I can be run as a script!")
- ,#+end_src
- #+end_src
- Note that whenever a file is tangled which includes a /shebang/
- line, Babel will make the file executable, so there is good
- reason to only add /shebangs/ at the source-code block level.
- However if you're sure that you want all of your code in some
- language (say shell scripts) to tangle out with shebang lines,
- then you can customize the default header arguments for that
- language, e.g.
- #+begin_src emacs-lisp
- ;; ensure this variable is defined defined
- (unless (boundp 'org-babel-default-header-args:sh)
- (setq org-babel-default-header-args:sh '()))
- ;; add a default shebang header argument
- (add-to-list 'org-babel-default-header-args:sh
- '(:shebang . "#!/bin/bash"))
- #+end_src
- The final important change included in this release is the
- addition of new security measures into Babel. These measures are
- in place to protect users from the accidental or uninformed
- execution of code. Along these lines /every/ execution of a code
- block will now require an explicit confirmation from the user.
- These confirmations can be stifled through customization of the
- `org-confirm-babel-evaluate' variable, e.g.
- #+begin_src emacs-lisp
- ;; I don't want to be prompted on every code block evaluation
- (setq org-confirm-babel-evaluate nil)
- #+end_src
- In addition, it is now possible to remove code block evaluation
- form the =C-c C-c= keybinding. This can be done by setting the
- =org-babel-no-eval-on-ctrl-c-ctrl-c= variable to a non-nil value,
- e.g.
- #+begin_src emacs-lisp
- ;; I don't want to execute code blocks with C-c C-c
- (setq org-babel-no-eval-on-ctrl-c-ctrl-c t)
- #+end_src
- An additional keybinding has been added for code block
- evaluation, namely =C-c C-v e=.
- Whew! that seems like a lot of effort for a /simplification/ of
- configuration.
- *** New keys for TODO sparse trees
- The key =C-c C-v= is now reserved for Org Babel action. TODO
- sparse trees can still be made with =C-c / t= (all not-done
- states) and =C-c / T= (specific states).
- *** Customizable variable changes for DocBook exporter
- To make it more flexible for users to provide DocBook exporter
- related commands, we start to use format-spec to format the
- commands in this release. If you use DocBook exporter and use it
- to export Org files to PDF and/or FO format, the settings of the
- following two customizable variables need to be changed:
- - =org-export-docbook-xslt-proc-command=
- - =org-export-docbook-xsl-fo-proc-command=
- Instead of using =%s= in the format control string for all
- arguments, now we use /three/ different format spec characters:
- - =%i=: input file argument
- - =%o=: output file argument
- - =%s=: XSLT stylesheet argument
- For example, if you set =org-export-docbook-xslt-proc-command= to
- : java com.icl.saxon.StyleSheet -o %s %s /path/to/docbook.xsl
- in the past, now you need to change it to
- : java com.icl.saxon.StyleSheet -o %o %i %s
- and set a new customizable variable called
- =org-export-docbook-xslt-stylesheet= to =/path/to/docbook.xsl=.
- Please check the documentation of these two variables for more
- details and other examples.
- Along with the introduction of variable
- =org-export-docbook-xslt-stylesheet=, we also added a new
- in-buffer setting called =#+XSLT:=. You can use this setting to
- specify the XSLT stylesheet that you want to use on a per-file
- basis. This setting overrides
- =org-export-docbook-xslt-stylesheet=.
- ** Details
- *** Org Babel is now part of the Org core
- See [[#ob-configuration-changes][Org-babel configuration changes]] for instructions on how to
- update your babel configuration.
- The most significant result of this change is that Babel now has
- documentation! It is part of Org-mode's documentation, see
- Chapter 14 [[http://orgmode.org/manual/Working-with-source-code.html#Working-with-source-code][Working With Source Code]]. The Babel keybindings
- are now listed in the refcard, and can be viewed from any
- Org-mode buffer by pressing =C-c C-v h=. In addition this
- integration has included a number of bug fixes, and a significant
- amount of internal code cleanup.
- *** The default capture system for Org mode is now called org-capture
- This replaces the earlier system org-remember. The manual only
- describes org-capture, but for people who prefer to continue to
- use org-remember, we keep a static copy of the former manual
- section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
- The new system has a technically cleaner implementation and more
- possibilities for capturing different types of data. See
- [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
- To switch over to the new system:
- 1. Run
- : M-x org-capture-import-remember-templates RET
- to get a translated version of your remember templates into the
- new variable =org-capture-templates=. This will "mostly" work,
- but maybe not for all cases. At least it will give you a good
- place to modify your templates. After running this command,
- enter the customize buffer for this variable with
- : M-x customize-variable RET org-capture-templates RET
- and convince yourself that everything is OK. Then save the
- customization.
- 2. Bind the command =org-capture= to a key, similar to what you did
- with org-remember:
- : (define-key global-map "\C-cc" 'org-capture)
- If your fingers prefer =C-c r=, you can also use this key once
- you have decided to move over completely to the new
- implementation. During a test time, there is nothing wrong
- with using both system in parallel.
- *** Implement pretty display of entities, sub-, and superscripts.
- The command =C-c C-x \= toggles the display of Org's special
- entities like =\alpha= as pretty unicode characters. Also, sub
- and superscripts are displayed in a pretty way (raised/lower
- display, in a smaller font). If you want to exclude sub- and
- superscripts, see the variable
- =org-pretty-entities-include-sub-superscripts=.
- Thanks to Eric Schulte and Ulf Stegeman for making this possible.
- *** Help system for finding entities
- The new command =M-x org-entities-help= creates a structured
- buffer that lists all entities available in Org. Thanks to Ulf
- Stegeman for adding the necessary structure to the internal
- entity list.
- *** New module to create Gantt charts
- Christian Egli's /org-taskjuggler.el/ module is now part of Org.
- He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
- *** Refile targets can now be cached
- You can turn on caching of refile targets by setting the variable
- =org-refile-use-cache=. This should speed up refiling if you
- have many eligible targets in many files. If you need to update
- the cache because Org misses a newly created entry or still
- offers a deleted one, press =C-0 C-c C-w=.
- *** Enhanced functionality of the clock resolver
- Here are the new options for the clock resolver:
- : i/q/C-g Ignore this question; the same as keeping all the idle time.
- :
- : k/K Keep X minutes of the idle time (default is all). If this
- : amount is less than the default, you will be clocked out
- : that many minutes after the time that idling began, and then
- : clocked back in at the present time.
- : g/G Indicate that you \"got back\" X minutes ago. This is quite
- : different from 'k': it clocks you out from the beginning of
- : the idle period and clock you back in X minutes ago.
- : s/S Subtract the idle time from the current clock. This is the
- : same as keeping 0 minutes.
- : C Cancel the open timer altogether. It will be as though you
- : never clocked in.
- : j/J Jump to the current clock, to make manual adjustments.
- For all these options, using uppercase makes your final state
- to be CLOCKED OUT. Thanks to John Wiegley for making these
- changes.
- *** A property value of "nil" now means to unset a property
- This can be useful in particular with property inheritance, if
- some upper level has the property, and some grandchild of it
- would like to have the default settings (i.e. not overruled by a
- property) back.
- Thanks to Robert Goldman and Bernt Hansen for suggesting this
- change.
- *** The problem with comment syntax has finally been fixed
- Thanks to Leo who has been on a year-long quest to get this fixed
- and finally found the right way to do it.
- *** Make it possible to protect hidden subtrees from being killed by =C-k=
- This was a request by Scott Otterson.
- See the new variable =org-ctrl-k-protect-subtree=.
- *** New module org-mac-link-grabber.el
- This module allows to grab links to all kinds of applications on
- a mac. It is available in the contrib directory.
- Thanks to Anthony Lander for this contribution.
- *** LaTeX export: Implement table* environment for wide tables
- Thanks to Chris Gray for a patch to this effect.
- *** When cloning entries, remove or renew ID property
- Thanks to David Maus for this change.
- * Version 6.36
- ** Details
- *** Inline display of linked images
- Images can now be displayed inline. The key C-c C-x C-v does toggle the
- display of such images. Note that only image links that have no
- description part will be inlined.
- *** Implement offsets for ordered lists
- If you want to start an ordered plain list with a number different from 1,
- you can now do it like this:
- : 1. [@start:12] will star a lit a number 12
- *** Extensions to storing and opening links to Wanderlust messages
- - Remove filter conditions for messages in a filter folder
- If customization variable `org-wl-link-remove-filter' is non-nil, filter
- conditions are stripped of the folder name.
- - Create web links for messages in a Shimbun folder
- If customization variable `org-wl-shimbun-prefer-web-links' is non-nil,
- calling `org-store-link' on a Shimbun message creates a web link to the
- messages source, indicated in the Xref: header field.
- - Create web links for messages in a nntp folder
- If customization variable `org-wl-nntp-prefer-web-links' is non-nil,
- calling `org-store-link' on a nntp message creates a web link either to
- gmane.org if the group can be read trough gmane or to googlegroups
- otherwise. In both cases the message-id is used as reference.
- - Open links in namazu search folder
- If `org-wl-open' is called with one prefix, WL opens a namazu search
- folder for message's message-id using `org-wl-namazu-default-index' as
- search index. If this variable is nil or `org-wl-open' is called with
- two prefixes Org asks for the search index to use.
- Thanks to David Maus for these changes.
- *** Org-babel: code block body expansion for table and preview
- In org-babel, code is "expanded" prior to evaluation. I.e. the code that is
- actually evaluated comprises the code block contents, augmented with the
- extra code which assigns the referenced data to variables. It is now
- possible to preview expanded contents, and also to expand code during
- during tangling. This expansion takes into account all header arguments,
- and variables.
- A new key-binding C-c M-b p bound to `org-babel-expand-src-block' can be
- used from inside of a source code block to preview its expanded contents
- (which can be very useful for debugging). tangling
- The expanded body can now be tangled, this includes variable values which
- may be the results of other source-code blocks, or stored in headline
- properties or tables. One possible use for this is to allow those using
- org-babel for their emacs initialization to store values (e.g. usernames,
- passwords, etc…) in headline properties or in tables.
- Org-babel now supports three new header arguments, and new default behavior
- for handling horizontal lines in tables (hlines), column names, and
- rownames across all languages.
- * Version 6.35
- ** Incompatible Changes
- *** Changes to the intended use of =org-export-latex-classes=
- So far this variable has been used to specify the complete header of the
- LaTeX document, including all the =\usepackage= calls necessary for the
- document. This setup makes it difficult to maintain the list of packages
- that Org itself would like to call, for example for the special symbol
- support it needs. Each time I have to add a package, I have to ask people
- to revise the configuration of this variable. In this release, I have
- tried to fix this.
- First of all, you can *opt out of this change* in the following way: You
- can say: /I want to have full control over headers, and I will take
- responsibility to include the packages Org needs/. If that is what you
- want, add this to your configuration and skip the rest of this section
- (except maybe for the description of the =[EXTRA]= place holder):
- #+begin_src emacs-lisp
- (setq org-export-latex-default-packages-alist nil
- org-export-latex-packages-alist nil)
- #+end_src
- /Continue to read here if you want to go along with the modified
- setup./
- There are now two variables that should be used to list the LaTeX
- packages that need to be included in all classes. The header
- definition in =org-export-latex-classes= should then not contain
- the corresponding =\usepackage= calls (see below).
- The two new variables are:
- 1. =org-export-latex-default-packages-alist= :: This is the
- variable where Org-mode itself puts the packages it needs.
- Normally you should not change this variable. The only
- reason to change it anyway is when one of these packages
- causes a conflict with another package you want to use.
- Then you can remove that packages and hope that you are not
- using Org-mode functionality that needs it.
- 2. =org-export-latex-packages-alist= :: This is the variable
- where you can put the packages that you'd like to use across
- all classes. For example, I am putting =amsmath= and =tikz=
- here, because I always want to have them.
- The sequence how these customizations will show up in the LaTeX
- document are:
- 1. Header from =org-export-latex-classes=
- 2. =org-export-latex-default-packages-alist=
- 3. =org-export-latex-packages-alist=
- 4. Buffer-specific things set with =#+LaTeX_HEADER:=
- If you want more control about which segment is placed where, or
- if you want, for a specific class, have full control over the
- header and exclude some of the automatic building blocks, you can
- put the following macro-like place holders into the header:
- #+begin_example
- [DEFAULT-PACKAGES] \usepackage statements for default packages
- [NO-DEFAULT-PACKAGES] do not include any of the default packages
- [PACKAGES] \usepackage statements for packages
- [NO-PACKAGES] do not include the packages
- [EXTRA] the stuff from #+LaTeX_HEADER
- [NO-EXTRA] do not include #+LaTeX_HEADER stuff
- #+end_example
- If you have currently customized =org-export-latex-classes=, you
- should revise that customization and remove any package calls that
- are covered by =org-export-latex-default-packages-alist=. This
- applies to the following packages:
- - inputenc
- - fontenc
- - fixltx2e
- - graphicx
- - longtable
- - float
- - wrapfig
- - soul
- - t1enc
- - textcomp
- - marvosym
- - wasysym
- - latexsym
- - amssymb
- - hyperref
- If one of these packages creates a conflict with another package
- you are using, you can remove it from
- =org-export-latex-default-packages-alist=. But then you risk
- that some of the advertised export features of Org will not work
- properly.
- You can also consider moving packages that you use in all classes
- to =org-export-latex-packages-alist=. If necessary, put the
- place holders so that the packages get loaded in the right
- sequence. As said above, for backward compatibility, if you omit
- the place holders, all the variables will dump their content at
- the end of the header.
- Damn, this has become more complex than I wanted it to be. I
- hope that in practice, this will not be complicated at all.
- *** The constant =org-html-entities= is obsolete
- Its content is now part of the new constant =org-entities=, which
- is defined in the file org-entities.el. =org-html-entities= was
- an internal variable, but it is possible that some users did
- write code using it - this is why I am mentioning it here.
- ** Editing Convenience and Appearance
- *** New faces for title, date, author and email address lines.
- The keywords in these lines are now dimmed out, and the title is
- displayed in a larger font, and a special font is also used for
- author, date, and email information. This is implemented by the
- following new faces:
- org-document-title
- org-document-info
- org-document-info-keyword
- In addition, the variable =org-hidden-keywords= can be used to
- make the corresponding keywords disappear.
- Thanks to Dan Davison for this feature.
- *** Simpler way to specify faces for tags and todo keywords
- The variables =org-todo-keyword-faces=, =org-tag-faces=, and
- =org-priority-faces= now accept simple color names as
- specifications. The colors will be used as either foreground or
- background color for the corresponding keyword. See also the
- variable =org-faces-easy-properties=, which governs which face
- property is affected by this setting.
- This is really a great simplification for setting keyword faces.
- The change is based on an idea and patch by Ryan Thompson.
- *** <N> in tables now means fixed width, not maximum width
- Requested by Michael Brand.
- *** Better level cycling function
- =TAB= in an empty headline cycles the level of that headline
- through likely states. Ryan Thompson implemented an improved
- version of this function, which does not depend upon when exactly
- this command is used. Thanks to Ryan for this improvement.
- *** Adaptive filling
- For paragraph text, =org-adaptive-fill-function= did not handle the
- base case of regular text which needed to be filled. This is now
- fixed. Among other things, it allows email-style ">" comments
- to be filled correctly.
- Thanks to Dan Hackney for this patch.
- *** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
- Thanks to Richard Riley for triggering this change.
- *** Better automatic letter selection for TODO keywords
- When all first letters of keywords have been used, Org now assigns
- more meaningful characters based on the keywords.
- Thanks to Mikael Fornius for this patch.
- ** Export
- *** Much better handling of entities for LaTeX export
- Special entities like =\therefore= and =\alpha= now know if
- they need to be in LaTeX math mode and are formatted accordingly.
- Thanks to Ulf Stegemann for the tedious work to make this
- possible.
- *** LaTeX export: Set coding system automatically
- The coding system of the LaTeX class will now be set to the value
- corresponding to the buffer's file coding system. This happens
- if your setup sets up the file to have a line
- =\usepackage[AUTO]{inputenc}= (the default setup does this).
- *** New exporters to Latin-1 and UTF-8
- While Ulf Stegemann was going through the entities list to
- improve the LaTeX export, he had the great idea to provide
- representations for many of the entities in Latin-1, and for all
- of them in UTF-8. This means that we can now export files rich
- in special symbols to Latin-1 and to UTF-8 files. These new
- exporters can be reached with the commands =C-c C-e n= and =C-c
- C-e u=, respectively.
- When there is no representation for a given symbol in the
- targeted coding system, you can choose to keep the TeX-macro-like
- representation, or to get an "explanatory" representation. For
- example, =\simeq= could be represented as "[approx. equal to]".
- Please use the variable =org-entities-ascii-explanatory= to state
- your preference.
- *** Full label/reference support in HTML, Docbook, and LaTeX backends
- =#+LABEL= definitions for tables and figures are now fully
- implemented in the LaTeX, Docbook, and HTML interfaces.
- =\ref{xxx}= is expanded to a valid link in all backends.
- *** BEAMER export: Title of the outline frame is now customizable
- The new option =org-outline-frame-title= allows to set the
- title for outline frames in Beamer presentations.
- Patch by Łukasz Stelmach.
- *** BEAMER export: fragile frames are better recognized
- A =lstlisting= environment now also triggers the fragile option in
- a beamer frame, just like =verbatim= environments do.
- Thanks to Eric Schulte for this patch.
- *** BEAMER export: Protect <...> macro arguments
- Macros for the BEAMER package can have arguments in angular
- brackets. These are now protected just like normal arguments.
- Requested by Bill Jackson.
- *** HTML export: Add class to outline containers using property
- The =HTML_CONTAINER_CLASS= property can now be used to add a
- class name to the outline container of a node in HTML export.
- *** New option =org-export-email-info= to turn off export of the email address
- Default is actually off now.
- *** Throw an error when creating an image from a LaTeX snippet fails
- This behavior can be configured with the new option variable
- =org-format-latex-signal-error=.
- ** Index generation
- Org-mode can now produce a 2-level subject index spanning an
- entire publishing project. Write index entries in your files as
- #+begin_src org
- ,* What is org-mode?
- #+index: Org-mode
- #+index: Definitions!Org-mode
- #+end_src
- where the first line will produce an index entry /Org-mode/,
- while the second line will create /Definitions/ with a sub-item
- /Org-mode/. Three-level entries are not supported.
- To produce the index, set
- #+begin_src emacs-lisp
- :makeindex t
- #+end_src
- in the project definition in =org-publish-project-alist=. You
- may have to force re-export of all files to get the index by
- using a =C-u= prefix to the publishing command:
- #+begin_example
- C-u M-x org-publish-all
- #+end_example
- Whenever an Org file is published in this project, a new file
- with the extension "orgx" will be written. It contains the index
- entries and corresponding jump target names. When all project
- files are published, Org will produce a new file "theindex.inc"
- containing the index as a to-level tree. This file can be
- included into any project file using
- #+begin_src org
- ,#+include: "theindex.inc"
- #+end_src
- Org-mode will also create a file "theindex.org" with this include
- statement, and you can build a more complex structure (for
- example style definitions, top and home links, etc) around this
- statement. When this file already exists, it will not be
- overwritten by Org.
- Thanks to Stefan Vollmar for initiating and driving this feature.
- *** TODO Still need to do the LaTeX portion
- ** MobileOrg
- *** Encrypting stage files for MobileOrg
- Since the use of (often pubic) servers is needed for MobileOrg,
- it is now possible to encrypt the files to be staged for
- MobileOrg. Version 1.2 of MobileOrg will be needed for this
- feature, and Richard Moreland will show instructions on his
- website once that is available. Basically, on the Org-side this
- will require the following settings:
- #+begin_src emacs-lisp
- (setq org-mobile-use-encryption t
- org-mobile-encryption-password "My_MobileOrg_Password")
- #+end_src
- So the password will be visible in your local setup, but since
- the encryption is only for the public server, this seems
- acceptable.
- ** Agenda
- *** Specify entry types as an option
- Custom Agenda commands can now limit the sets of entry types
- considered for this command by binding =org-agenda-entry-types=
- temporarily in the options section of the command. This can lead
- to significant speedups, because instead of laboriously finding
- entries and then rejecting them, a whole search cycle is skipped.
- For more information see the new section in
- [[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php#sec-5][Matt Lundin's agenda custom command tutorial]].
- Thanks to Matt Lundin for this feature.
- *** Speed up multiple calls to org-diary by only doing buffer prep once
- Also a patch by Matt Lundin.
- *** Show and hide deadlines in the agenda
- You can now hide all deadline entries in the agenda by pressing
- =!=.
- Thanks to John Wiegley for this feature.
- *** Agenda: Allow to suppress deadline warnings for entries also scheduled
- The the docstring of the variable
- =org-agenda-skip-deadline-prewarning-if-scheduled=.
- *** Expand file names in org-agenda-files (external file case)
- If you are using a file to manage the list of agenda files, the
- names in this file can now contain environment variables and "~"
- to write them more compactly and portable.
- Thanks to Mikael Fornius for a patch to this effect.
- *** Agenda: Allow TODO conditions in the skip functions
- The agenda skip function has now special support for skipping
- based on the TODO state. Here are just two examples, see the
- manual for more information.
- #+begin_src emacs-lisp
- (org-agenda-skip-entry-if 'todo '(\"TODO\" \"WAITING\"))
- (org-agenda-skip-entry-if 'nottodo 'done)
- #+end_src
- Thanks to Łukasz Stelmach for this patch.
- *** Extracting the time-of-day when adding diary entries
- The time of day can now be extracted from new diary entries made
- from the agenda with (for example) =i d=. When
- =org-agenda-insert-diary-extract-time= is set, this is done, and
- the time is moved into the time stamp.
- Thanks to Stephen Eglen for this feature.
- *** The customization group org-font-lock has been renamed
- The new name is `org-appearance'.
- Thanks to Dan Davison for a patch to this effect.
- *** The TODO list: Allow skipping scheduled or deadlined entries
- Skipping TODO entries in the global TODO list based on whether
- they are scheduled or have a deadline can now be controlled in
- more detail. Please see the docstrings of
- =org-agenda-todo-ignore-scheduled= and
- =org-agenda-todo-ignore-deadline=.
- Thanks to Łukasz Stelmach for patches to this effect.
- ** Hyperlinks
- *** Make =org-store-link= point to directory in a dired buffer
- When, in a dired buffer, the cursor is not in a line listing a
- file, `org-store-link' will store a link to the directory.
- Patch by Stephen Eglen.
- *** Allow regexps in =org-file-apps= to capture link parameters
- The way extension regexps in =org-file-apps= are handled has
- changed. Instead of matching against the file name, the regexps
- are now matched against the whole link, and you can use grouping
- to extract link parameters which you can then use in a command
- string to be executed.
- For example, to allow linking to PDF files using the syntax
- =file:/doc.pdf::<page number>=, you can add the following entry to
- org-file-apps:
- #+begin_example
- Extension: \.pdf::\([0-9]+\)\'
- Command: evince "%s" -p %1
- #+end_example
- Thanks to Jan Böcker for a patch to this effect.
- ** Clocking
- *** Show clock overruns in mode line
- When clocking an item with a planned effort, overrunning the
- planned time is now made visible in the mode line, for example
- using the new face =org-mode-line-clock-overrun=, or by adding an
- extra string given by =org-task-overrun-text=.
- Thanks to Richard Riley for a patch to this effect.
- ** Tables
- *** Repair the broken support for table.el tables again.
- Tables created with the table.el package now finally work again
- in Org-mode. While you cannot edit the table directly in the
- buffer, you can use =C-c '= to edit it nicely in a temporary
- buffer.
- Export of these tables to HTML seem to work without problems.
- Export to LaTeX is imperfect. If fails if the table contains
- special characters that will be replaced by the exporter before
- formatting the table. The replacement operation changes the
- length of some lines, breaking the alignment of the table fields.
- Unfortunately this is not easy to fix. It is also not an option
- to not do these replacements. The table.el LaTeX exporter will
- for example not escape "&" in table fields, causing the exported
- tables to be broken.
- ** Misc
- *** New logging support for refiling
- Whenever you refile an item, a time stamp and even a note can be
- added to this entry. For details, see the new option
- =org-log-refile=.
- Thanks to Charles Cave for this idea.
- *** New helper functions in org-table.el
- There are new functions to access and write to a specific table
- field. This is for hackers, and maybe for the org-babel people.
- #+begin_example
- org-table-get
- org-table-put
- org-table-current-line
- org-table-goto-line
- #+end_example
- *** Tables: Field coordinates for formulas, and improved docs
- Calc and Emacs-Lisp formulas for tables can access the current
- field coordinates with =@#= and =$#= for row and column,
- respectively. These can be useful in some formulas. For
- example, to sequentially number the fields in a column, use
- ~=@#~ as column equation.
- One application is to copy a column from a different table. See
- the manual for details.
- Thanks to Michael Brand for this feature.
- *** Archiving: Allow to reverse order in target node
- The new option =org-archive-reversed-order= allows to have
- archived entries inserted in a last-on-top fashion in the target
- node.
- Requested by Tom.
- *** Better documentation on calc accuracy in tables
- Thanks to Michael Brand for this fix.
- *** Clock reports can now include the running, incomplete clock
- If you have a clock running, and the entry being clocked falls
- into the scope when creating a clock table, the time so far spent
- can be added to the total. This behavior depends on the setting
- of =org-clock-report-include-clocking-task=. The default is
- =nil=.
- Thanks to Bernt Hansen for this useful addition.
- *** American-style dates are now understood by =org-read-date=
- So when you are prompted for a date, you can now answer like this
- #+begin_example
- 2/5/3 --> 2003-02-05
- 2/5 --> <CURRENT-YEAR>-02-05
- #+end_example
- *** org-timer.el now allows just one timer
- There is now only a single free timer supported by org-timer.el.
- Thanks to Bastien for cleaning this up, after a bug report in
- this area by Frédéric Couchet.
- *** Remember: Allow to file as sibling of current clock
- =C-3 C-c C-c= will file the remember entry as a sibling of the
- last filed entry.
- Patch by Łukasz Stelmach.
- *** Org-reveal: Double prefix arg shows the entire subtree of the parent
- This can help to get out of an inconsistent state produced for
- example by viewing from the agenda.
- This was a request by Matt Lundin.
- *** Add org-secretary.el by Juan Reyero to the contrib directory
- org-secretary.el is a possible setup for group work using
- Org-mode.
- Thanks to Juan Reyero for this contribution.
- ** Babel
- Eric and Dan have compiled the following list of changes in and
- around org-babel.
- - Added support for Matlab and Octave.
- - Added support for C and C++ code blocks.
- - Added support for the Oz programming language.
- Thanks to Torsten Anders for this contribution
- - Can now force literal interpretation of table cell contents
- with extra "$" in table formula.
- Thanks to Maurizio Vitale for this suggestion.
- - Variable references which look like lisp forms are now
- evaluated.
- - No longer adding extension during tangling when filename is
- provided.
- Thanks to Martin G. Skjæveland and Nicolas Girard for prompting this.
- - Added `org-babel-execute-hook' which runs after code block
- execution.
- - Working directories and remote execution
- This introduces a new header argument :dir. For the duration of
- source block execution, default-directory is set to the value
- of this header argument. Consequences include:
- - external interpreter processes run in that directory
- - new session processes run in that directory (but existing
- ones are unaffected)
- - relative paths for file output are relative to that directory
- The name of a directory on a remote machine may be specified
- with tramp syntax (/user@host:path), in which case the
- interpreter executable will be sought in tramp-remote-path, and
- if found will execute on the remote machine in the specified
- remote directory.
- - Tramp syntax can be used to tangle to remote files.
- Thanks to Maurizio Vitale and Rémi Vanicat.
- - org-R removed from contrib.
- - gnuplot can now return it's string output -- when session is
- set to "none".
- - Now including source code block arguments w/source name on
- export.
- - Now able to reference file links as results.
- - Allow pdf/png generation directly from latex source blocks
- with :file header argument.
- * Version 6.34
- ** Incompatible changes
- *** Tags in org-agenda-auto-exclude-function must be lower case.
- When defining an =org-agenda-auto-exclude-function=, you need to
- be aware that tag that is being passed into the function is
- always lower case - even if it was defined in upper case
- originally.
- ** Details
- *** Support for creating BEAMER presentations from Org-mode documents
- Org-mode documents or subtrees can now be converted directly in
- to BEAMER presentation. Turning a tree into a simple
- presentations is straight forward, and there is also quite some
- support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
- section]] in the manual for more details.
- Thanks to everyone who has contributed to the discussion about
- BEAMER support and how it should work. This was a great example
- for how this community can achieve a much better result than any
- individual could.
- *** Hyperlinks
- **** Add Paul Sexton's org-ctags.el
- Targets like =<<my target>>= can now be found by Emacs' etag
- functionality, and Org-mode links can be used to to link to
- etags, also in non-Org-mode files. For details, see the file
- /org-ctags.el/.
- This feature uses a new hook =org-open-link-functions= which will
- call function to do something special with text links.
- Thanks to Paul Sexton for this contribution.
- **** Add Jan Böcker's org-docview.el
- This new module allows links to various file types using docview,
- where Emacs displays images of document pages. Docview link
- types can point to a specific page in a document, for example to
- page 131 of the Org-mode manual:
- : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
- Thanks to Jan Böcker for this contribution.
- **** New link types that force special ways of opening the file
- - =file+sys:/path/to/file= will use the system to open the file,
- like double-clicking would.
- - file+emacs:/path/to/file will force opening the linked file
- with Emacs.
- This was a request by John Wiegley.
- **** Open all links in a node
- When using =C-c C-o= on a headline to get a list of links in the
- entry, pressing =RET= will open *all* links. This allows
- something like projects to be defined, with a number of files
- that have to be opened by different applications.
- This was a request by John Wiegley.
- *** Agenda Views
- **** Improve the logic of the search view.
- The logic of search views is changed a bit. See the docstring of
- the function =or-search-view=.
- These changes resulted from a discussion with Matt Lundin.
- **** New face for entries from the Emacs diary
- Entries that enter the Agenda through the Emacs diary now get the
- face =org-agenda-diary=.
- This was a request by Thierry Volpiatto.
- **** New function `org-diary-class' to schedule classes with skipped weeks.
- This was a request by Daniel Martins.
- **** Empty matcher means prompt in agenda custom commands
- When an agenda custom command has an empty string as MATCH
- element, so far this would lead to a meaningless search using an
- empty matcher. Now an empty (or white) string will be
- interpreted just like a nil matcher, i.e. the user will be
- prompted for the match.
- **** Agenda: Selectively remove some tags from agenda display
- If you use tags very extensively, you might want to exclude some
- from being displayed in the agenda, in order to keep the display
- compact. See the new option =org-agenda-hide-tags-regexp= for
- details.
- This was largely a patch by Martin Pohlack.
- *** Export
- **** Direct export of only the current subtree
- Pressing =1= after =C-c C-e= and before the key that selects the
- export backend, only the current subtree will be exported,
- exactly as it you had selected it first with =C-c @=. So for
- example, =C-c C-e 1 b= will export the current subtree to HTML
- and open the result in the browser.
- **** Direct export of enclosing node
- Pressing =SPC= after =C-c C-e= and before the key that selects
- the export backend, the enclosing subree that is set up for
- subtree export will be exported, exactly as it you had selected
- it first with =C-c @=. So for example, =C-c C-e SPC d= will find
- the enclosing node with a LaTeX_CLASS property or an
- EXPORT_FILE_NAME property and export that.
- **** Caching export images
- Images that are created for example using LaTeX or ditaa for
- inclusion into exported files are now cached. This works by
- adding a hash to the image name, that reflects the source code
- and all relevant settings. So as long as the hash does not
- change, the image does not have to be made again. His can lead
- to a substantial reduction in export/publishing times.
- Thanks to Eric Schulte for a patch to this effect.
- **** Preserving line breaks for export no longer works
- ASCII export always preserves them - no other export format
- does. We had attempted to use =\obeylines= for this in LaTeX,
- but that does create too many problems.
- **** New symbols =\EUR= and =\checkmark=
- =\EUR= symbols from Marvosym package, and =\checkmark= are now
- supported symbols in Org-mode, i.e. they will be exported
- properly to the various backends.
- **** Allow LaTeX_CLASS_OPTIONS to set options, also from a property
- You can set the options to the =\documentclass= command on a
- per-file basis, using
- : #+LaTeX_CLASS_OPTIONS: [11pt]
- or on a per-tree basis using the corresponding property. The
- defined string will replace the default options entirely.
- **** The encoding of LaTeX files is now handled property
- Org now makes sure that the encoding used by the file created
- through the export mechanism is reflected correctly in the
- : \usepackage[CODINGSYSTEM]{inputenc}
- command. So as long as the =org-export-latex-classes= definition
- contains an =\usepackage[utf8]{inputenc}= statement, that
- statement will be modified so that the correct option is used.
- If you wan to use special encodings, for example =utf8x= instead
- of =utf8=, see the variable =org-export-latex-inputenc-alist=.
- This was a request by Francesco Pizzolante.
- *** Property API enhancements
- **** Make a new special property BLOCKED, indicating if entry is blocked
- A new special property BLOCKED returns "t" when the entry is
- blocked from switching the TODO state to a DONE state.
- This was a request by John Wiegley.
- **** New hooks for external support for allowed property values
- It is now possible to hook into Org in order to provide the
- allowed values for any property with a lisp function. See the
- docstring of the variable =org-property-allowed-value-functions=
- **** Allow unrestricted completion on properties
- When listing the allowed values for a property, for example with
- a =:name_ALL:= property, completion on these values enforces that
- one of the values will be chosen. Now, if you add ":ETC" to the
- list of allowed values, it will be interpreted as a switch, and
- the completion will be non-restrictive, so you can also choose to
- type a new value.
- *** Changes to Org-babel
- - The documentation for Org-babel has been drastically improved
- and is available on Worg at
- http://orgmode.org/worg/org-contrib/babel/
- - Source-code block names are now exported to HTML and LaTeX
- - Org-babel functions are now bound to keys behind a common key
- prefix (see
- http://orgmode.org/worg/org-contrib/babel/reference.php#sec-5)
- - Results are now foldable with TAB
- - Header argument values can now be lisp forms
- - Readable aliases for #+srcname: and #+resname:
- - Sha1 hash based caching of results in buffer
- - Can now index into variable values
- - org-babel-clojure now supports multiple named sessions
- *** Miscellaneous changes
- **** Make =C-c r C= customize remember templates
- =C-c r C= is now a shortcut for
- : M-x customize-variable RET org-remember-templates RET
- This was a proposal by Adam Spiers.
- **** Use John Gruber's regular expression for URL's
- We now use a better regexp to spot plain links in text. This
- regexp is adopted from [[http://daringfireball.net/2009/11/liberal_regex_for_matching_urls][John Gruber's blogpost]].
- Thanks to William Henney for the pointer.
- **** Implement tag completion of all tags in all agenda files
- The new option =org-complete-tags-always-offer-all-agenda-tags=
- makes Org complete all tags from all agenda files if non-nil.
- Usually, setting it locally to t in org-remember buffers is the
- most useful application of this new feature.
- Thanks to Tassilo Horn for a patch to this effect.
|