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