Commit Graph

10747 Commits

Author SHA1 Message Date
Nicolas Goaziou 010d105b04 Merge branch 'maint' 2014-07-24 15:01:25 +02:00
Nicolas Goaziou 776972cfe8 ox-odt: Fix handling of quoted and centered paragraphs
* lisp/ox-odt.el (org-odt--paragraph-style): New function.
(org-odt--format-paragraph): Use new function to get proper style to
apply.

Thanks to Baptiste for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88798
2014-07-24 14:59:24 +02:00
Nick Dokos db0130468b Merge branch 'maint' 2014-07-23 23:58:13 -04:00
Nick Dokos c9613c0cad When editing a table formula, point is not necessarily on its referent.
* org-table.el (org-table-show-reference): Call `set-window-start'
  with the calculated values `min' and `max', not with
  (point-min) and (point-max).

Reported by Luke Crook (http://article.gmane.org/gmane.emacs.orgmode/88610)
	    Thorsten Grothe (http://thread.gmane.org/gmane.emacs.orgmode/88698)
	    and Robert Klein in the latter thread.

Robert Klein bisected it down to 30220ffcdc.
2014-07-23 23:57:06 -04:00
Rasmus 0be96db56e org-element.el: Allow one-line LaTeX environments
* org-element.el (org-element--latex-begin-environment,
org-element--latex-end-environment): New format strings to identify
beginning and ending of LaTeX environments.
(org-element-latex-environment-parser, org-element-paragraph-parser,
org-element--current-element): Use `org-element--latex-begin-environment'
and `org-element--latex-end-environment'.

* test-org-element.el (test-org-element/latex-environment-parser):
Add tests.
2014-07-23 10:24:10 +02:00
Nicolas Goaziou 29f3662035 Merge branch 'maint' 2014-07-23 10:09:04 +02:00
Nicolas Goaziou d0959d410b org-element: Fix test failure
* lisp/org-element.el (org-element--current-element): Fix regexp.
2014-07-23 10:07:55 +02:00
Nicolas Goaziou 02f2d5b42a Merge branch 'maint' 2014-07-22 11:55:33 +02:00
Nicolas Goaziou ec0e3cf70b org-element: Fix regexp matching LaTeX environments
* lisp/org-element.el (org-element--current-element): Fix regexp
  matching latex environments.  Discrepancy with regexp used in
  `org-element-latex-environment-parser' introduced matching errors.
2014-07-22 11:52:32 +02:00
Nicolas Goaziou 8feb8b93d5 org-element: Small optimization
* lisp/org-element.el (org-element--cache-for-removal): Do not remove
a robust element whenever only its contents are modified.  Remove
inlinetasks as robust elements since modifying a node property inside
implies to parse the task again.
2014-07-20 19:35:52 +02:00
Nicolas Goaziou 3c14db8685 org-element: Fix infloop in cache
* lisp/org-element.el (org-element--cache-process-request): Take into
  consideration changes to come so as to avoid parsing elements with
  false beginning positions.
(org-element--cache-sync): Change signature.

Thanks to Thorsten Jolitz for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88673
2014-07-20 19:09:52 +02:00
Nicolas Goaziou 7bd8fafe7a org-element: Better collision handling in cache sync requests
* lisp/org-element.el (org-element--cache-process-request): Handle
  cases where procesing the first request brings us past the start of
  the next one.
2014-07-20 19:08:58 +02:00
Nick Dokos 335e97f5ab Merge branch 'maint'
Merge bug fix for org-table.el:org-table-clean-before-export.
2014-07-18 23:47:03 -04:00
Nick Dokos 79873390ed org-clean-before-export matches non-special columns spuriously
* org-table.el (org-table-clean-before-export): The regexes match
  spaces in addition to the special characters that might be used in
  the first column as special marking characters.  Remove the space
  from the character class.

  In addition, the `special' variable included a backslash which
  afaict does nothing: delete it.

  The function itself takes an optional parameter which is not used by
  any of the callers: get rid of it.  Getting rid of it allows a small
  simplification of the code.

The bug was found by Thorsten Grothe:

    http://thread.gmane.org/gmane.emacs.orgmode/88634
2014-07-18 23:44:46 -04:00
Nicolas Goaziou 05be573e92 org-element: Fix re-parenting during cache synchronization
* lisp/org-element.el (org-element--cache-process-request): Correctly
  re-parent elements in cache in some corner cases.
* testing/lisp/test-org-element.el (test-org-element/cache): Add tests.
2014-07-17 18:12:59 +02:00
Nicolas Goaziou 33a344be33 org-element: Fix corner case in cache synchronization
* lisp/org-element.el (org-element--cache-submit-request): When
  changes happen before first know element, start from phase 1 instead
  of phase 2 in order to properly re-parent subsequent elements, if
  needed.
(org-element--cache-process-request): Do not propagate beginning
position since it is already available to the request.
2014-07-17 18:12:49 +02:00
Nicolas Goaziou 476ea10a70 org-element: Fix "wrong-type-argument" error in cache
* lisp/org-element.el (org-element--cache-sync): Do not copy phase
  number into next request.  This is a special case that deserves to
  be handled locally.  See below.
(org-element--cache-process-request): Properly transfer phase in
a special case, which is now commented.  Also fix phase numbers in
comments.  Small refactoring.

Thanks to Alan Schmitt for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88406
2014-07-17 16:34:06 +02:00
Nicolas Goaziou 8d0f7340ed ox: Fix inline footnote definitions
* lisp/ox.el (org-export-collect-tree-properties): Make sure changes
  to the parse tree propagate to the value of
  `org-export-get-footnote-definition'.

Thanks to Florian Beck for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88419
2014-07-16 16:11:52 +02:00
Nicolas Goaziou baa2c5943a org-element: Avoid using a slow regexp
* lisp/org-element.el (org-element-latex-fragment-parser): Avoid using
  a slow regexp.
2014-07-06 23:55:48 +02:00
Nicolas Goaziou 4235718d79 org-element: Small optimizations
* lisp/org-element.el (org-element-latex-fragment-parser): Avoid
  matching twice regexps in some cases.
(org-element--object-lex): Avoid making a funcall if a line break
isn't possible.

This patch also removes the limit on the number of lines a latex
fragment with a single dollar can span over.
2014-07-06 23:15:44 +02:00
Nicolas Goaziou 0ce82e53a1 org-element: Fix docstring
* lisp/org-element.el (org-element-footnote-reference-interpreter):
  Fix docstring.
2014-07-06 19:06:54 +02:00
Nicolas Goaziou ca6ecf9e49 org-element: Remove :inline-definition from inline footnotes
* lisp/org-element.el (org-element-recursive-objects): Add
  `footnote-reference'.
(org-element-secondary-value-alist): Remove reference to
`footnote-reference'.
(org-element-footnote-reference-parser): Definition for inline
references is stored as the contents of the reference, not in
a secondary string.
(org-element-footnote-reference-interpreter): Apply changes from
parser.

* lisp/ox.el (org-export-get-footnote-definition,
  org-export-get-environment): Apply changes from parser.

* testing/lisp/test-org-element.el (test-org-element/footnote-reference-parser):
  Update test.
(test-org-element/context): Add test.

Storing definition in a secondary string was a poor design choice as
there is no "primary" string anyway.  This also prevents
`org-element-context' from finding objects within the inline
definition.
2014-07-06 11:24:12 +02:00
Nicolas Goaziou df9ccbd119 org-element: Reach orphaned elements during cache sync
* lisp/org-element.el (org-element--cache-sync-requests): Change
  pattern.
(org-element--cache-sync, org-element--cache-submit-request): Update
request pattern.
(org-element--cache-process-request): Remove orphaned elements during
first phase.

An orphaned element is an element not directly altered by changes to
buffer but with one of its parent removed.
2014-07-05 10:54:09 +02:00
Nicolas Goaziou f1433d82ae org-element: Fix buffer positions when merging requests
* lisp/org-element.el (org-element--cache-submit-request): Correctly
  compute buffer positions where cache is missing, taking into account
  the request not yet applied.
2014-07-05 10:54:09 +02:00
Eric Schulte fdc673dac0 remove extra escape org-emphasis-regexp-components
specifically in the second 'post' element

* lisp/org.el (org-emphasis-regexp-components): Remove extra escape
  org-emphasis-regexp-components, specifically in the second 'post'
  element.
2014-07-03 07:59:15 -04:00
Nicolas Goaziou 126e2bcebd org-element: Fix corner case
* lisp/org-element.el (org-element--cache-for-removal): Fix corner
  case when changes happen in a robust element (e.g., a center block)
  within a fragile element (e.g., a plain list).  Do not assume that
  all parents from a robust element are also robust.
2014-06-30 23:47:37 +02:00
Nicolas Goaziou ef8e9cf045 org-element: Fix bug in sync request submission
* lisp/org-element.el (org-element--cache-submit-request): Do not
  modify ending position twice.
2014-06-30 23:47:37 +02:00
Nicolas Goaziou d1f2d73b08 org-element: Improve sychronization request submission
* lisp/org-element.el (org-element--cache-submit-request): Store
  parent of first element to delete, if any.  This saves a call to
  `org-element--cache-find' in a very common use case.
(org-element--cache-sync-requests): Update docstring accordingly.
2014-06-30 23:47:36 +02:00
Nicolas Goaziou 67c1e54a5b org-element: Tiny refactoring
* lisp/org-element.el (org-element--cache-submit-request): Tiny
  refactoring.
2014-06-30 23:47:36 +02:00
Nicolas Goaziou 093d455f7f org-element: Better threshold computation during synchronization
* lisp/org-element.el (org-element--cache-process-request): Threshold
  is based off beginning of the first element to shift instead of the
  end of the changes.
2014-06-30 23:47:36 +02:00
Nicolas Goaziou 1a9b074d9f org-element: Simplify request processing
* lisp/org-element.el (org-element--cache-process-request): Do not try
  to find orphans for now.  Remove useless comments.  Refactor code.
2014-06-30 23:45:20 +02:00
Nicolas Goaziou ba9c43fc81 org-element: Do not trust a stored request after cache sync
* lisp/org-element.el (org-element--cache-submit-request): Do not
  trust a stored request after calling `org-element--cache-sync' since
  it may as well not exist anymore (i.e., the synchronization was
  complete).
2014-06-30 23:44:51 +02:00
Nicolas Goaziou 815c218f22 org-element: Small fix
* lisp/org-element.el (org-element--cache-submit-request): Fix off by
  one error when updating cache.  Changes happening at the beginning
  to the previous ones, which are always located at the beginning of
  an element, imply to delete previous element.  Also do not call
  `org-element--cache-sync' if there's nothing to synchronize.
2014-06-29 17:17:23 +02:00
Nicolas Goaziou f12f9543fc org-element: Tiny fix
* lisp/org-element.el (org-element-headline-parser): Do not assume
  property drawers are correctly formed.
2014-06-29 15:25:54 +02:00
Nicolas Goaziou 49f3c6e558 org-element: Fix inlinetask parsing
* lisp/org-element.el (org-element-inlinetask-parser): Do not infloop
  when parsing property drawer in an inlinetask.

* testing/lisp/test-org-element.el (test-org-element/headline-properties):
  Add test.

Thanks to Aaron Ecay for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88133
2014-06-29 15:23:22 +02:00
Nicolas Goaziou 2824502e2e org-element: Fix cache corruption when altering a drawer
* lisp/org-element.el (org-element--cache-submit-request): Correctly
  update cache when changes alter the contents of a greater
  element (e.g. a property drawer).

Thanks to Alan Schmitt for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88086
2014-06-28 00:28:45 +02:00
Nicolas Goaziou 2ae77c5e50 org-element: Fix parsing path starting with ~
* lisp/org-element.el (org-element-link-parser): Do not prepend "//"
  to paths starting with "~".

Since b1dcd0fb0b, link parser doesn't
expand file names anymore. We need to prevent it from "fixing" paths
starting with "~", as it can cause trouble to some
exporters (e.g. latex).
2014-06-27 17:28:56 +02:00
Nicolas Goaziou 16c71d6b78 org-element: Small refactoring
* lisp/org-element.el (org-element--cache-generate-key): Small
  refactoring.
2014-06-26 22:00:27 +02:00
Nicolas Goaziou db995f2b9d org-element: Use full range of integers for cache keys
* lisp/org-element.el (org-element--cache-generate-key): Allow
  negative numbers in keys.  Small refactoring.
2014-06-26 21:13:43 +02:00
Nicolas Goaziou afa759f27c Merge branch 'maint' 2014-06-26 12:18:35 +02:00
Nicolas Goaziou a5beff869f ox-ascii: Fix tables with a width cookie
* lisp/ox-ascii.el (org-ascii--table-cell-width): Correctly export
  tables with width cookies.
2014-06-26 12:17:28 +02:00
Nicolas Goaziou d5bc5859af org-element: Fix typo
* lisp/org-element.el (org-element--cache-generate-key): Fix typo in
  docstring.
2014-06-26 01:11:26 +02:00
Nicolas Goaziou d40dbc6ca2 org-element: More refactoring
* lisp/org-element.el (org-element--cache-generate-key): Refactor key
  computation.
(org-element--cache-default-key): Remove variable.
2014-06-26 01:08:15 +02:00
Nicolas Goaziou 03040f109f org-element: Refactoring
* lisp/org-element.el (org-element--cache-sensitive-re): New variable
(org-element--cache-opening-line, org-element--cache-closing-line):
Removed variables.
(org-element--cache-before-change, org-element--cache-after-change):
Refactoring.  Also simplify process.
2014-06-25 23:53:23 +02:00
Nicolas Goaziou e46c62d96f org-element: Small cache fix
* lisp/org-element.el (org-element--cache-before-change): Ignore case
  sensitivity when looking for a modified sensitive line.
2014-06-25 23:51:04 +02:00
Nicolas Goaziou c9eaea360a Fix `org-drag-element-backward'
* lisp/org.el (org-drag-element-backward): Correcly drag elements in
  a drawer or a block.
* testing/lisp/test-org.el (test-org/drag-element-backward): Add test.
2014-06-25 10:49:52 +02:00
Eric Schulte 1c3bdbb80a inhibit <p> wraps on a whole-list basis
* lisp/ox-html.el (org-html-paragraph): Extend the special case of
  inhibiting <p> wrappers to only perform such inhibition when *every*
  element of the list is a single paragraph long.  Otherwise unsightly
  spacing results.
2014-06-23 20:08:09 -04:00
Eric Schulte 518b60aa42 allow square brackets in emphasis post-match
* lisp/org.el (org-emphasis-regexp-components): Allow square brackets
  in the emphasis post match.
2014-06-23 17:47:03 -04:00
Nicolas Goaziou 77e234e578 org-element: Fix thinko
* lisp/org-element.el (org-element--cache-key-less-p): Fix thinko.
2014-06-23 23:45:00 +02:00
Achim Gratz 6d15cd3b89 ob-shell: honor the specified shell for :session
* lisp/ob-shell.el: Remove defcustom `org-babel-sh-command' and
  replace with `shell-file-name' throughout.
  (org-babel-variable-assignments:sh): Make check for bash work in more
  cases.

The original code and the patched version rely on the shell being
available via PATH.  Instead the shell name should be mapped to the
appropriate executable via an alist and invoked via an absolute
filename.  For security reasons the permissible shells should probably
be taken from /etc/shells or equivalent by default.  Instead of
checking for bash, the same or another alist could provide the
information of whether or not the shell supports arrays (which indeed
were introduced by ksh originally).
2014-06-23 20:53:22 +02:00
Achim Gratz 2685f31a50 ob-shell: stratify shell variable quoting
* lisp/ob-shell.el: Remove unused defcustom
  `org-babel-sh-var-quote-fmt'.
  (org-babel-variable-assignments:bash_array):
  (org-babel-variable-assignments:bash_assoc): Remove superfluous
  `mapcar' and double quotes around parameters.
  (org-babel-sh-var-to-sh): Single-quote the whole string and escape
  all single quotes in the original string.
2014-06-23 20:53:16 +02:00
Matt Lundin 4a4dbe16d8 Fix speedkeys to move subtrees up and down
* lisp/org.el (org-speed-commands-default): Bind "U" and "D" to
`org-metaup' and `org-metadown'.

Org speed keys were not updated to reflect the recent changes to
org-shiftmetaup and org-shiftmetadown.  As a result the default
bindings for speedkeys "U" and "D" were destructive, since they moved
only single lines.  Binding them to org-metaup and org-metadown fixes
the problem.

Thanks to Marco Wahl for reporting the problem:
http://permalink.gmane.org/gmane.emacs.orgmode/87873
2014-06-23 16:55:21 +02:00
Nicolas Goaziou 69773248c5 org-element: Fix cache
* lisp/org-element.el (org-element--cache-after-change): Preserve
  match data.

Thanks to Matt Lundin for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87871
2014-06-23 12:28:11 +02:00
Rasmus def0361b7b ox-latex.el: Extends `org-latex-logfiles-extensions'
ox-latex.el (org-latex-logfiles-extensions): Add more extensions.
2014-06-23 11:26:17 +02:00
Bastien Guerry ddb536e833 Merge branch 'maint' 2014-06-23 09:45:48 +02:00
Bastien Guerry be9a1638af Fix typos: backport revision r117377 from emacs trunk 2014-06-23 09:40:19 +02:00
Eric Schulte 8ad20618d1 map alternate code blocks shell names to sh-mode
* lisp/org-src.el (org-src-lang-modes): Map alternate shell names to
  sh-mode.
2014-06-22 19:50:31 -04:00
Achim Gratz 22410544c7 org: correct package-version for org-structure-template-alist
* lisp/org.el (org-structure-template-alist): Package version should
  be a symbol name, not a string.

Fixes ce41c076c0.
2014-06-22 10:26:43 +02:00
Aaron Ecay 551945e396 lisp/ox-latex.el (org-latex-logfiles-extensions): add more extensions
* lisp/ox-latex.el (org-latex-logfiles-extensions): Add several more
file extensions.

- biber: bcf, blg, run.xml
- tikz externalize: figlist
- xelatex -no-pdf: xdv
2014-06-22 00:14:47 -04:00
Aaron Ecay ce41c076c0 org.el: insert missing quote 2014-06-21 23:32:18 -04:00
Aaron Ecay 5ee0d29f57 Remove another vestige of org-mtags
* lisp/org-src.el (org-edit-src-find-region-and-lang): Remove old
<foo>-style tags.

This completes commit 94939bd
2014-06-21 21:38:32 -04:00
Aaron Ecay 94939bd473 org-mtags: remove
* contrib/lisp/org-mtags.el: Delete file.
* lisp/org.el (org-structure-template-alist): Remove <foo>-style tags.
(org-complete-expand-structure-template): Don't handle <foo>-style tags.
2014-06-21 20:48:46 -04:00
Bastien Guerry ce2359eb80 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-20 08:44:06 +02:00
Bastien Guerry 4b0557bdd8 org.el: Delete `org-fix-ellipsis-at-bol'
* org.el (org-fix-ellipsis-at-bol): Delete.
(org-mode, org-show-context, org-isearch-end): Don't use
`org-fix-ellipsis-at-bol'.
2014-06-20 08:41:34 +02:00
Nicolas Goaziou f336de2f82 org-element: Tweak cache parameters
* lisp/org-element.el (org-element-cache-sync-idle-time,
  org-element-cache-sync-break): Increase values as synchronizing
  cache too makes editing somewhat sluggish without any benefit.
2014-06-19 22:32:23 +02:00
Nicolas Goaziou 8e49c823fd org-element: Optimize cache
* lisp/org-element.el (org-element--cache-for-removal): New function.
(org-element--cache-submit-request): Do not synchronize cache when
changes can be merged with next request.

This shortcut is particularly useful when many changes happen in the
same area, which is expensive to parse (e.g., a large list).
2014-06-19 22:32:23 +02:00
Nicolas Goaziou b2f200f0a1 org-element: Sync cache after changes instead of before them
* lisp/org-element.el (org-element--cache-sync,
  org-element--cache-process-request): Change signature.
(org-element--cache-before-change): Do not synchronize cache
preemptively.
(org-element--cache-submit-request): Synchronize cache preemptively.

This change makes possible to skip cache preemptive synchronization
under some circumstances.
2014-06-19 22:32:22 +02:00
Nicolas Goaziou 87dbce239d org-element: Extend format for cache sync requests
* lisp/org-element.el (org-element--cache-sync-requests): Also store
  beginning position for buffer modifications.
(org-element--cache-sync, org-element--cache-process-request)
(org-element--cache-submit-request): Adapt to new request template.

This change is required for a future cache optimization.
2014-06-19 22:32:22 +02:00
Nicolas Goaziou 2084ff06d8 org-element: Tiny refactoring
* lisp/org-element.el (org-element--cache-sync): Do not check return
  value from `org-element--cache-process-request'.
(org-element--cache-process-request): Throw `interrupt' when the
request cannot be processed.
(org-element--cache-process-request): Do not catch interruption from
  `org-element--parse-to'.
(org-element--parse-to): Throw `interrupt' when the process stops
before finding the result.
2014-06-19 22:32:22 +02:00
Nicolas Goaziou 8b959237fc ox: Small refactoring
* lisp/ox.el (org-export-get-category): Refactor code.
2014-06-18 23:30:54 +02:00
Nicolas Goaziou ab145f0df5 org-element: Properly parse headline properties
* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser): First find appropriate property
  drawer in order to read properties.

* testing/lisp/test-org-element.el (test-org-element/headline-properties):
  Add tests.

Thanks to Sébastien Vauban for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87701
2014-06-18 23:28:19 +02:00
Nicolas Goaziou b1dcd0fb0b org-element: Do not expand file name when parsing links
* lisp/org-element.el (org-element-link-parser): Do not expand file
  name when parsing links so that Tramp doesn't kick in.

Thanks to Sébastien Vauban for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87696
2014-06-18 19:22:21 +02:00
Thierry Banel 25fc4d8344 Make C, C++, D, Java, Groovy compilers customizable
* ob-C.el (org-babel-C-compiler):
	(org-babel-C++-compiler):
	(org-babel-D-compiler): changed defvar to defcustom
	* ob-java.el (org-babel-java-command):
	(org-babel-java-compiler): changed defvar to defcustom
	* ob-groovy.el (org-babel-groovy-command):
	changed defvar to defcustom
2014-06-16 11:05:01 -04:00
Bastien Guerry d100d590e1 org-agenda.el (org-agenda-filter-by-tag): Don't refresh the agenda
* org-agenda.el (org-agenda-filter-by-tag): Don't refresh the
agenda.
2014-06-16 11:44:25 +02:00
Bastien Guerry 1c9aa1e78e Merge branch 'maint' 2014-06-16 11:41:36 +02:00
Bastien Guerry 5556865893 org-agenda.el (org-agenda-filter-apply): Fix setting of `org-agenda-filtered-by-category'
* org-agenda.el (org-agenda-filter-apply): Fix setting of
`org-agenda-filtered-by-category'.
2014-06-16 11:41:14 +02:00
Bastien Guerry b414844daa Merge branch 'maint' 2014-06-15 10:49:36 +02:00
Bastien Guerry 88036251eb org.el (org-fontify-meta-lines-and-blocks-1): Fix handling of `org-hidden-keywords'
* org.el (org-fontify-meta-lines-and-blocks-1): Fix handling
of `org-hidden-keywords'.

Thanks to Leu Zhe for reporting this.
2014-06-15 10:49:01 +02:00
Bastien Guerry e30c6cc44b Merge branch 'maint' 2014-06-15 10:43:47 +02:00
Bastien Guerry af8ee5fcf2 org-agenda.el (org-cmp-ts): Fix agenda entry type checking
* org-agenda.el (org-cmp-ts): Fix agenda entry type checking.

Thanks to Trevor Murphy for reporting this.
2014-06-15 10:43:17 +02:00
Bastien Guerry 49d59859f0 Merge branch 'master' of orgmode.org:org-mode 2014-06-15 10:38:18 +02:00
Bastien Guerry e966070396 Merge branch 'maint' 2014-06-15 10:37:09 +02:00
Bastien Guerry e26e47c8a1 org-agenda.el (org-entries-lessp): Fix inactive timestamp comparison
* org-agenda.el (org-entries-lessp): Fix inactive timestamp
comparison.
2014-06-15 10:36:59 +02:00
Nicolas Goaziou 7a8de7d1e3 ox-beamer: Remove `org-beamer-insert-options-template'
* lisp/ox-beamer.el (beamer): Re-order keywords.
(org-beamer-insert-options-template): Remove function.

* doc/org.texi (Beamer export): Remove reference to the previous
  function.

Use the generic insertion mechanism provided in "ox.el"
instead (`org-export-insert-default-template') in order to avoid code
duplication.
2014-06-15 10:26:40 +02:00
Nicolas Goaziou 03dfc23505 Merge branch 'maint' 2014-06-15 09:30:54 +02:00
Bernt Hansen 61e06a038a org-macs: Remove restriction when locating markers
* org-macs.el: Remove restriction when locating markers

Allows org-with-point-at to locate point outside the current
restriction.
2014-06-15 09:27:16 +02:00
Bastien Guerry 8d613e9c4f ob-C.el: Tiny formatting fix 2014-06-14 14:36:10 +02:00
Eric Schulte f652196723 fix bug in ob-C
* lisp/ob-C.el (org-babel-C-val-to-C-type): Fix miss-named variable
  bug.
2014-06-13 07:46:29 -04:00
Bastien Guerry 74c252c905 org-gnus.el: silent compiler 2014-06-13 12:26:10 +02:00
Bastien Guerry 4104ec2591 Minor code clean-up
Thanks to Thorsten for this.
2014-06-13 12:24:50 +02:00
Eric Abrahamsen 7eba1c2f54 Create org-gnus links from original group, not virtual
* lisp/org-gnus.el (org-gnus-store-link): When in a virtual group,
use the real group instead.
2014-06-13 11:54:33 +02:00
Eric Schulte 6900ec41e3 customizable parameter to raise more noweb errors
* lisp/ob-core.el (org-babel-noweb-error-all-langs): Raise noweb
  errors regardless of language.
  (org-babel-expand-noweb-references): Make use of the new
  `org-babel-noweb-error-all-langs' variable.
2014-06-12 19:39:32 -04:00
Bastien Guerry 560c3adedb Merge branch 'maint' 2014-06-12 15:25:56 +02:00
Bastien Guerry feca87b9ac Fix 30220ff 2014-06-12 15:25:42 +02:00
Bastien Guerry bb61df9d91 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2014-06-12 15:08:53 +02:00
Bastien Guerry 2e9c2d7128 org-agenda.el: Fix bug when redoing sticky agendas with log mode and/or clockreport mode on
* org-agenda.el (org-agenda-mode): Let `org-agenda-redo' DTRT
when agenda are sticky.
(org-agenda-tag-filter-while-redo): Delete.
(org-agenda-list, org-agenda-redo, org-agenda-filter-by-tag):
Remove unused code.
(org-agenda-clockreport-mode, org-agenda-set-mode-name): Don't
consider tag filters.

Thanks to Bernt Hansen for reporting this.
2014-06-12 15:07:35 +02:00
Bastien Guerry 4014947f31 Merge branch 'maint' 2014-06-12 12:05:00 +02:00
Bastien Guerry 30220ffcdc Prefer `set-window-start' over `recenter' in some places.
* org-agenda.el (org-agenda-show-1):
* org-table.el (org-table-show-reference):
* org.el (org-fix-ellipsis-at-bol)
(org-first-headline-recenter): Use `set-window-start' instead
of `recenter'.

* org-agenda.el (org-recenter-heading): Delete.
2014-06-12 12:04:24 +02:00
Nicolas Goaziou 39d0433637 Small optimization
* lisp/org.el (org-adaptive-fill-function): Do not compute fill prefix
  if point is at a heading or an inlinetask.  Also change "? " into
  "?\s" for better code readability.
2014-06-11 22:42:31 +02:00
Nicolas Goaziou c9a5ba09f1 ob-exp: Fix export error
* lisp/ob-exp.el (org-babel-exp-process-buffer): Fix error when
  `org-confirm-babel-evaluate' is set to a function.

Thanks to Charles C. Berry for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87403
2014-06-11 22:12:15 +02:00
Bastien Guerry a3f58c8891 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-11 17:46:40 +02:00
Bastien Guerry 6c9b3ad91f org.el (org-insert-heading): Be more consistent in respecting content
* org.el (org-insert-heading): With one universal prefix
argument or `org-insert-heading-respect-content' set to `t',
always respect the content, i.e. don't insert a list item and
don't convert normal lines into headings.  Update docstring.
(org-insert-heading-respect-content): Remove unused arg.
(org-insert-todo-heading-respect-content): Don't use
`org-insert-todo-heading-respect-content', use the second
argument of `org-insert-todo-heading' instead.

* org-mobile.el (org-mobile-edit): Use only one arg.

Thanks to Bernt Hansen for reporting this.
2014-06-11 17:45:13 +02:00
Bastien Guerry b88c5464db org.el (org-overview): Don't call `recenter'
* org.el (org-overview): Don't call `recenter'.

Thanks to Nicolas Richard for suggesting this.
2014-06-10 16:20:47 +02:00
Nicolas Goaziou 5cca90edf8 Merge branch 'maint'
Conflicts:
	lisp/org.el
	testing/lisp/test-org.el
2014-06-09 18:11:19 +02:00
Nicolas Goaziou 8cc4e09950 Fix `org-insert-heading' before first headline
* lisp/org.el (org-insert-heading): Fix error when inserting
  a headline before first headline, with point not at bol.  Remove
  source block check for consistency with behavior after first
  headline.  Tiny fix to docstring.

* testing/lisp/test-org.el (test-org/meta-return): Remove unnecessary
  test (not testing specifications).
(test-org/insert-heading): New test.
2014-06-09 18:07:07 +02:00
Thierry Banel 54ab0e1c60 Babel C, C++, D support for non-homogeneous input tables
* ob-C.el: handling of non-homogeneous tables,
        support for table header,
        support for iterating over table cells.
        (org-babel-expand-body:C++): uncomment
        (org-babel-C-execute): cosmetic changes
        (org-babel-C-expand-C): add support for table columns names,
        add support for table dimensions,
        add standard includes
        (org-babel-C-val-to-C-type): rewrite to support non-homogeneous
        tables cells
        (org-babel-C-table-sizes-to-C): new function to gain access
        to the table dimensions
        (org-babel-C-utility-header-to-C):
        (org-babel-C-header-to-C): new functions to generate
        support for table header.

        * ob-C-test.org: added D sibling tests similar to C++,
        added non-homogeneous table example for C++ and D

        * test-ob-C.el: new tests for D and non-homogeneous tables
        (ob-C/simple-program):
        (ob-C/simple-program):
        (ob-D/simple-program):
        (ob-C/integer-var):
        (ob-D/integer-var):
        (ob-C/two-integer-var):
        (ob-D/two-integer-var):
        (ob-C/string-var):
        (ob-D/string-var):
        (ob-C/preprocessor):
        (ob-C/table):
        (ob-D/table):
        (ob-C/list-var):
        (ob-D/list-var):
        (ob-C/vector-var):
        (ob-D/vector-var):
        (ob-C/list-list-var):
        (ob-D/list-list-var):
        (ob-C/inhomogeneous_table):
        (ob-D/inhomogeneous_table): add compiler availability check
        (ob-D/simple-program):
        (ob-D/integer-var):
        (ob-D/two-integer-var):
        (ob-D/string-var):
        (ob-D/table):
        (ob-D/list-var):
        (ob-D/vector-var):
        (ob-D/list-list-var):
        (ob-D/inhomogeneous_table): add D unit tests
        (ob-C/inhomogeneous_table):
        (ob-D/inhomogeneous_table): add non-homogeneous table
        unit tests
2014-06-08 19:20:16 -04:00
Achim Gratz 47c5701172 ob-exp: forward declare function
* lisp/ob-exp.el (org-id-get): Forward declare `org-id-get'.
2014-06-07 18:11:34 +02:00
Achim Gratz 4ed554196b ox: implement additional #+INCLUDE markup
* lisp/ox.el (org-export-expand-include-keyword): Change parsing so
  that arbitrary blocks around the included content can be used.
  Content is not code-escaped unless it is a literal block, this
  applies to "src" and "example".
* doc/org.texi (Include files): Document the additional markup.
* testing/lisp/test-ox.el (test-org-export/expand-include): Add test
  for an #+INCLUDE with "html" and "center" markup.
* testing/examples/include.html: New file, used for testing
  "#+INCLUDE html".
2014-06-07 18:02:52 +02:00
Eric Schulte a3745c375b tangle option to not post-process tangle comments
* lisp/ob-tangle.el (org-babel-tangle-comment-format-beg): Mention the
  new `org-babel-tangle-uncomment-comments' variable in the
  documentation.
  (org-babel-tangle-comment-format-end): Mention the new
  `org-babel-tangle-uncomment-comments' variable in the documentation.
  (org-babel-tangle-uncomment-comments): New customization variable to
  inhibit the post-processing of tangle comments.
  (org-babel-spec-to-string): Post-processing of tangle comments is
  now dependent upon a customization variable.
2014-06-07 11:29:03 -04:00
Eric Schulte c3e497f394 awk code blocks handle tabular input
Protected by a new unit test.

* lisp/ob-awk.el (org-babel-execute:awk): Use the
  `org-babel-awk-var-to-awk' function instead of a simple format
  string.
2014-06-07 11:16:55 -04:00
Nicolas Goaziou 4357dde362 org-element: Small fix
* lisp/org-element.el (org-element--cache-generate-key): Small fix.
  Check if UPPER is non nil before comparing its car with 1.  This is
  a safety feature, though, as a key shouldn't end on 0 anyway.
2014-06-07 15:32:47 +02:00
Eric Schulte 6fb033c791 fix a bug in new ob-awk code
thank you test suite

* lisp/ob-awk.el (org-babel-execute:awk): Don't need to apply the
  append, just need to append.

* testing/lisp/test-ob-awk.el (ob-awk/input-src-block-1): Renamed to
  avoid name duplication and over-definition.
  (ob-awk/input-src-block-2): Renamed to avoid name duplication and
  over-definition.
2014-06-06 13:11:46 -04:00
Eric Schulte 7469454f54 improved variable handling for awk code blocks
Thanks to Greg Minshall for suggesting these changes.

* lisp/ob-awk.el (org-babel-expand-body:awk): Simply return the body
  unmodified.
  (org-babel-execute:awk): Assign variables on the command line using
  the `-v' command line option to awk.
2014-06-06 12:50:14 -04:00
Eric Schulte 0ba8b4f2ea un-duplicate ditaa eps file name generation
* lisp/ob-ditaa.el (org-babel-execute:ditaa): Un-duplicate ditaa eps
  file name generation.
2014-06-06 12:21:56 -04:00
Anders Johansson 11ffc4f80e generate intermediate EPS on ditaa pdf generation
TINYCHANGE

* lisp/ob-ditaa.el (org-babel-execute:ditaa): When generating a pdf,
  ensure that an intermediate EPS file is generated first.
2014-06-06 12:21:01 -04:00
Eric Schulte 266233164f when present resolve orig-buffer headlines w/IDs
* lisp/ob-exp.el (org-babel-exp-in-export-file): Instead of using the
  headline text use the headline ID when one is present.  This fixes a
  bug in the resolution of code block headers in properties during
  export when multiple headlines with the same name are present.
2014-06-06 12:04:04 -04:00
Eric Schulte ac7c465766 TODO in ob-exp.el 2014-06-06 08:35:52 -04:00
Bastien Guerry a5991acd69 Remove useless code 2014-06-05 12:16:23 +02:00
Nicolas Goaziou 9263654e5b Merge branch 'maint' 2014-06-03 23:28:56 +02:00
Nicolas Goaziou 88f2625f28 Fix typo
* lisp/org.el (org-scan-tags): Fix typo in docstring.
2014-06-03 23:28:08 +02:00
Nicolas Goaziou 38ac0d8b56 Merge branch 'maint'
Conflicts:
	lisp/ox.el
2014-06-03 22:13:31 +02:00
Nicolas Goaziou 0fbc4893ed ox: Fix priority bug in :title property
* lisp/ox.el (org-export--get-inbuffer-options): Return the empty
  string instead of nil when TITLE keywords has no value.
(org-export--get-buffer-attributes): Do not set :title property
early.
(org-export--get-global-options): Do not ignore anymore nil values.
Small refactoring.
(org-export-as): Correctly set :title here.

Thanks to Nicolas Richard for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87149
2014-06-03 22:07:35 +02:00
Bastien Guerry 3969268e2a Merge branch 'maint' 2014-06-02 20:00:20 +02:00
Bastien Guerry 6f64027fee org-agenda.el (org-agenda-custom-commands-local-options): Fix misquoted values
* org-agenda.el (org-agenda-custom-commands-local-options):
Fix misquoted values.

Thanks to Thomas Morgan for reporting this.
2014-06-02 19:59:36 +02:00
Bastien Guerry 3518403790 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-02 15:57:41 +02:00
Bastien Guerry 89cb26ed17 org.el: Fix setting and deleting properties with a null value
* org.el (org-property-re): Also match null properties by
default.
(org-entry-delete): Also delete null properties.
(org-read-property-value): Allow the empty string as a new
value.
(org-delete-property): Throw a message when there is not
property to delete.

Thanks to Andrea Rossetti for reporting this.
2014-06-02 15:40:04 +02:00
Achim Gratz 8978ca05b2 Reverting "org-footnote: forward declare functions"
Revert "org-footnote: forward declare functions"

This reverts commit 814188ac7e.

Accidentally applied to the wrong branch.
2014-06-01 14:28:13 +02:00
Achim Gratz 2b980a4257 Merge branch 'maint' 2014-06-01 14:23:18 +02:00
Achim Gratz 8e4b52235c ob-J: Do not use cl or cl-lib functions at runtime
* lisp/ob-J.el: Do not use `second', `third', `fourth', `minusp' and
  `plusp'.
2014-06-01 14:22:42 +02:00
Achim Gratz 108658e94f org: forward declare functions
* lisp/org.el: Forward declare `org-clock-sum',
  `org-table-end-of-field', `org-element-cache-refresh'.

These have been introduced with b5554077cb, b76071f2b6 and 6eb940a8dc.
2014-06-01 14:22:42 +02:00
Achim Gratz e6883dd03d org-compat: Provide compatibility definition for font-lock-ensure
* lisp/org-compat.el: Provide compatibility definition for
  `font-lock-ensure' falling back to `font-lock-fontify-buffer' via an
  alias.

This fallback fixes f36b19eef6.  Using a simple alias means we can't
use the optional arguments for `font-lock-ensure' or would have to
provide a macro if we ever want to use them.
2014-06-01 14:22:42 +02:00
Achim Gratz 814188ac7e org-footnote: forward declare functions
* lisp/org-footnote.el: Forward declare `org-element-context',
  `org-element-property' and `org-element-type'.

Introduced with 51e1131ff8.
2014-06-01 14:21:58 +02:00
Nicolas Goaziou 38aebc8c24 Merge branch 'maint' 2014-06-01 14:20:51 +02:00
Nicolas Goaziou 198fc8d483 org-list: Fix typo in docstring
* lisp/org-list.el (org-list-repair): Fix typo in docstring.
2014-06-01 14:20:12 +02:00
Nicolas Goaziou 51e1131ff8 org-footnote: On C-c C-x f, offer menu instead of returning an error
* org-footnote.el (org-footnote-action): When point is at a position
where no footnote can be inserted, offer the menu instead.
2014-06-01 08:42:09 +02:00
Bastien Guerry 14dd4c56f2 Don't use the org-warning face for the wrong install warning 2014-05-31 16:47:37 +02:00
Bastien Guerry c189850bb1 Merge branch 'master' of orgmode.org:org-mode 2014-05-31 14:32:17 +02:00
Bastien Guerry 75ca2a0e0d org-agenda.el (org-agenda-todo): Mark the clocking task
* org-agenda.el (org-agenda-todo): Mark the clocking task.
2014-05-31 14:32:06 +02:00
Bastien Guerry dd17e9d299 org.el (org-todo): When changing from one state to the same state, throw a more accurate message
* org.el (org-todo): When changing from one state to the same
state, throw a more accurate message.
2014-05-31 14:31:46 +02:00
Nicolas Goaziou 857222323b Revert "org-footnote.el: Allow to inline external footnotes"
This reverts commit 8738f173e5.
2014-05-31 11:26:37 +02:00
Bastien Guerry 66db8836b5 org-table.el (org-table-copy-down): Fix bug
* org-table.el (org-table-copy-down): When the text above does
not contain a number, fall back on incrementing by one.
2014-05-31 10:47:55 +02:00
Bastien Guerry 9f5e698679 org-agenda.el (org-agenda-goto): Go to the beginning of the true heading of the entry at point
* org-agenda.el (org-agenda-goto): Go to the beginning of the
true heading of the entry at point.  Update docstring.
2014-05-30 19:28:04 +02:00
Bastien Guerry 8738f173e5 org-footnote.el: Allow to inline external footnotes
* org-footnote.el (org-footnote-new): When point is at a
position where no footnote can be inserted, offer the menu
from `org-footnote-action' instead.
(org-footnote-inline-footnotes): New command.
(org-footnote-action): Make the new command accessible through
the menu.

Thanks to Leonard Randall for the suggestion.
2014-05-30 14:54:11 +02:00
Bastien Guerry a060fb0a08 Merge branch 'maint' 2014-05-30 14:02:46 +02:00
Bastien Guerry c53aeda585 org-agenda.el (org-agenda-insert-diary-make-new-entry): Fix docstring
* org-agenda.el (org-agenda-insert-diary-make-new-entry): Fix
docstring.

Thanks to Nikolai Weibull for reporting this.
2014-05-30 13:58:50 +02:00
Bastien Guerry 63ce68af06 org.el: Don't quote lambdas and known functions. Fix indentation.
* org.el (org-confirm-shell-link-function)
(org-todo-keywords, org-time-stamp-rounding-minutes)
(org-file-contents, org-update-radio-target-regexp)
(org-hide-block-toggle-all, org-hide-block-all)
(org-open-at-point, org-sparse-tree, org-timestamp-change)
(org-create-formula-image, org-insert-comment)
(org-comment-or-uncomment-region, org-comment-dwim): Don't
quote lambdas and known functions.
2014-05-30 08:52:19 +02:00
Bastien Guerry f86d99a292 Merge branch 'maint' 2014-05-30 08:47:26 +02:00
Bastien Guerry 822dcfc881 org.el: Fix bug when setting properties with a null value
* org.el (org-re-property): New parameter `allow-null' to
match property with a null value.
(org-entry-put): Correctly update a property with a null
value.

Thanks to Andrea Rossetti for reporting this and suggesting a fix.
2014-05-30 08:46:39 +02:00
Bastien Guerry 554c9e3228 org.el (org-refresh-effort-properties): New function
* org.el (org-refresh-effort-properties): New function.
(org-agenda-prepare-buffers, org-mode): Use it.
2014-05-29 23:46:11 +02:00
Bastien Guerry f36b19eef6 org.el: Send a warning when org-loaddefs.el could not be found
* org.el: Send a warning when org-loaddefs.el could not be
found in the directory where this org.el file is loaded from.

* ox-org.el (org-org-publish-to-org):
* ox-odt.el (org-odt-do-format-code):
* ox-html.el (org-html-fontify-code):
* org.el (org-fontify-like-in-org-mode):
* org-src.el (org-src-font-lock-fontify-block):
* org-clock.el (org-clock-get-clocktable): Use
`font-lock-ensure' instead of `font-lock-fontify-buffer'.

* org.el (org-outline-level, org-copy-subtree)
(org-sort-entries, orgstruct-setup, org-show-context)
(org-create-formula-image-with-dvipng)
(org-create-formula-image-with-imagemagick)
(org-goto-sibling, org-goto-first-child, org-show-entry): Use
`ignore-errors' instead of (condition-case nil ... (error nil)).

People trying to load org.el when org-loaddefs.el is not available
has been a major cause of trouble when installing Org.  The warning
tells them what they need to do.
2014-05-29 22:08:43 +02:00
Bastien Guerry db9d63d313 Merge branch 'maint' 2014-05-29 21:21:11 +02:00
Bastien Guerry 34c2365081 ox-md.el (org-md-headline): Add anchors when exporting with a table of contents
* ox-md.el (org-md-headline): When exporting with a HTML table
of contents, add HTML anchors to Markdown headlines.

Thanks to Marko Dimjašević for reporting this.
2014-05-29 21:20:55 +02:00
Bastien Guerry 029b393032 Merge branch 'maint' 2014-05-29 19:49:07 +02:00
Bastien Guerry d8034c3b19 org.el (org-insert-heading): Don't insert an item when called with two universal prefix arguments
* org.el (org-insert-heading): Don't insert an item when
called with two universal prefix arguments.
2014-05-29 19:48:47 +02:00
Bastien Guerry b978abb485 org.el (org-shiftmetaup, org-shiftmetadown): Update behavior
* org.el (org-shiftmetaup, org-shiftmetadown): Don't move the
subtree or list item at point up or down, as this feature is
already accessible through `org-metaup' and `org-metadown'.
Update the docstrings to reflect the new behavior.
2014-05-29 19:25:08 +02:00
Bastien Guerry 8772a2eb49 Merge branch 'maint' 2014-05-29 09:57:34 +02:00
Bastien Guerry ee9053ee04 org-agenda.el (org-agenda-finalize): Remove duplicate check for 'org-hd-marker
* org-agenda.el (org-agenda-finalize): Remove duplicate check
for 'org-hd-marker.
2014-05-29 09:57:19 +02:00
Bastien Guerry ab857a3b80 Fix aa86e4bc again 2014-05-28 21:20:29 +02:00
Bastien Guerry 9022b4c5e1 Fix aa86e4bc
Thanks to Achim Gratz for pointing this.
2014-05-28 21:15:44 +02:00
Achim Gratz 5bf928bae7 Merge branch 'maint'
Conflicts:
	lisp/ob-core.el
	lisp/org.el
	lisp/ox.el
2014-05-28 16:23:08 +02:00
Achim Gratz 3d973cdc6e org: add forward declarations
* lisp/org.el: Add forward declarations for a number of functions that
  the compiler otherwise warns about as potentially undefined at
  runtime.
2014-05-28 15:18:24 +02:00
Nicolas Goaziou 92197690ed ox-latex: Fix again 7a956c3880
* lisp/ox-latex.el (latex): Update property name.
* doc/org.texi (Publishing options): Update documentation.
2014-05-28 15:12:42 +02:00
Nicolas Goaziou ba2a5ba9f6 ox-latex: Fix 7a956c3880
* lisp/ox-latex.el (latex): Change property name.  It fixes
  7a956c3880.
(org-latex-template): Use new property.

* doc/org.texi (Publishing options): Update documentation.  Also fix
  typo.
2014-05-28 15:06:31 +02:00
Nicolas Goaziou 7a956c3880 Associate all defcustoms to options in back-end definitions
* lisp/ox-ascii.el:
* lisp/ox-beamer.el:
* lisp/ox-html.el:
* lisp/ox-latex.el:
* lisp/ox-man.el:
* lisp/ox-md.el:
* lisp/ox-odt.el:
* lisp/ox-org.el:
* lisp/ox-texinfo.el: All defcustoms are defined as options in the
  back-end.
* lisp/ox-icalendar.el (icalendar): Ditto.  Also rename :with-vtodo
  property to :icalendar-include-todo.

* doc/org.texi (Publishing options): Update back-end specific
  properties.  Remove @vindex entries so as not to clobber variables
  index.

This change allows to change default value for any defcustom on the
fly when publishing.  It also normalizes how to choose and name what
variables to define as back-end options.
2014-05-28 14:53:29 +02:00
Achim Gratz 790f5b4d3a ob-core, ob-exp, ob-haskell, ob-python: declarations for org-src-preserve-indentations
* lisp/ob-core.el: Add comment to forward declaration of
  'org-src-preserve-indentations'.
* lisp/ob-exp.el: Require org-src to import
  'org-src-preserve-indentations'.
* lisp/ob-haskell.el, lisp/ob-python.el: Remove superfluous forward
  declaration of 'org-src-preserve-indentations', since it gets
  imported by other requires.
2014-05-28 14:52:14 +02:00
Achim Gratz 61b8091596 ob-core:forward declare org-every
* lisp/ob-core.el (org-every): Forward declare 'org-every'.
2014-05-28 14:47:23 +02:00
Achim Gratz 310b9dd2b6 ob-C: lexical-let requires cl at compilation time
* lisp/ob-C.el: Require cl during compilation so that lexical-let is
  known.
2014-05-28 14:40:52 +02:00
Achim Gratz 3a736c51bc org-entities: forward declaration of org-toggle-pretty-entities and org-pretty-entities
* lisp/org-entities.el: Remove superfluous require of org-macs.
  Forward declare 'org-toggle-pretty-entities' and
  'org-pretty-entities'.
2014-05-28 14:16:21 +02:00
Achim Gratz 6c1b41bd68 org, ox: move defsubst before first use
* lisp/ox.el (org-export-get-parent): Move definition of
  'org-export-get-parent' before first use.  Leave comment at original
  place of definition.

* lisp/org.el (org-uniquify): Move definition of 'org-uniquify' before
  first use.  Leave comment at original place of definition.
2014-05-28 13:44:53 +02:00
Bastien Guerry aa86e4bc9f org-agenda.el: Implement new effort filter
* org-agenda.el (org-agenda-custom-commands-local-options):
Add `org-agenda-effort-filter-preset'.
(org-agenda-filter-effort-default-operator): Delete.
(org-agenda-local-vars): Add `org-agenda-effort-filter'.
(org-agenda-mode-map): Use "_" to filter by effort.
(org-agenda-effort-filter, org-agenda-effort-filter-preset):
New variables.
(org-agenda-prepare-window, org-agenda-prepare)
(org-agenda-finalize, org-agenda-redo)
(org-agenda-filter-remove-all, org-agenda-filter-apply)
(org-agenda-set-mode-name, org-agenda-reapply-filters): Handle
effort filter.
(org-agenda-finalize-entries): Use
`org-sort-agenda-noeffort-is-high'.
(org-agenda-limit-entries): Get the property from the correct
location.
(org-agenda-limit-interactively): Throw a user error on wrong
input.
(org-agenda-filter-by-effort): New command.
(org-agenda-filter-by-tag): Don't filter by effort.
(org-agenda-filter-make-matcher): Handle effort filter.
(org-agenda-compare-effort): Don't handle the "?" operator.
(org-agenda-filter-show-all-effort): New command.

Note: This calls for some refactoring in the filter area.
2014-05-28 12:26:54 +02:00
Bastien Guerry 7dceecbb30 Small refactoring and fix a bug in `org-timer-set-timer'
* org.el (org-refresh-property): New function.
(org-refresh-properties, org-set-effort)
(org-property-next-allowed-value): Use it.

* org-timer.el (org-timer-set-timer): Get the correct number
of minutes from text properties, both in an `org-mode' and
`org-agenda-mode' buffer.
2014-05-28 10:47:05 +02:00
Bastien Guerry 500252abf3 org.el (org-open-link-in-comment-or-property): Refactor into `org-open-at-point'
* org.el (org-open-link-in-comment-or-property): Delete.
(org-open-at-point): Handle links in comments and property
drawers.  Update docstring.
2014-05-28 10:21:11 +02:00
Bastien Guerry 5fbdbb2bd5 org-agenda.el (org-agenda-limit-interactively): Enhance
* org-agenda.el (org-agenda-finalize-entries): Remove spurious
variable in the (let ...) construct.
(org-agenda-limit-interactively): Allow to remove the
limitation by passing a universal prefix argument.  Enhance
the prompt.
2014-05-27 16:51:33 +02:00
Bastien Guerry c9ecc225ac org-clock.el (org-clock-display): Allow non-interactive use by making arg optional
* org-clock.el (org-clock-display): Allow non-interactive use
by making arg optional.

Thanks to Noah Slater for pointing this.
2014-05-27 09:45:54 +02:00
Nicolas Goaziou 0e303ab577 Small fix
* lisp/org.el (org-open-at-point): Use parser instead of
  `org-at-comment-p' and `org-at-property-p', which are not accurate.
2014-05-26 18:17:35 +02:00
Nicolas Goaziou f574744aee Tiny refactoring
* lisp/org.el (org-at-property-p): Tiny refactoring.  Improve docstring.
2014-05-26 18:17:30 +02:00
Bastien Guerry b11570c2f1 Fix regression: allow to open a link in a comment or a property line
* org.el (org-open-link-in-comment-or-property): New function.
(org-open-at-point): Use it.

See http://thread.gmane.org/gmane.emacs.orgmode/84300/focus=84300 for
the follow-up of a discussion on whether links should be supported in
comments and properties.
2014-05-26 17:42:58 +02:00
Bastien Guerry f768629404 Simplify comments matching functions
* org.el (org-fontify-entities): Use `org-at-comment-p'.
(org-in-commented-line): Delete.
(org-in-indented-comment-line): Delete.
(org-at-comment-p): Also match indented comments and save
match data.

* org-footnote.el (org-footnote-in-valid-context-p): Use
`org-at-comment-p'.
2014-05-26 17:33:24 +02:00
Bastien Guerry 956c00cce3 org.el (org-link-escape): Don't escape characters in internal links
* org.el (org-link-escape): Don't escape characters in
internal links.

Thanks to Alan Schmitt for raising this issue.
2014-05-26 16:06:10 +02:00
Bastien Guerry 687a65de70 Fix typo in previous commit 2014-05-26 15:44:53 +02:00
Bastien Guerry b622300c0c Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2014-05-26 15:32:13 +02:00
Bastien Guerry cbce904187 org-agenda.el: Fix bug wrt `org-agenda-persistent-filter'
* org-agenda.el (org-agenda-prepare-window): New parameter
`filter-alist' to set the filters correctly when
`org-agenda-persistent-filter' is on.
(org-agenda-prepare): Use the new parameter for
`org-agenda-prepare-window'.

Thanks to Thomas Morgan for reporting this.
2014-05-26 15:29:02 +02:00
Bastien Guerry 319b09a1c4 Merge branch 'maint' 2014-05-26 14:56:38 +02:00
Bastien Guerry 54ab137689 Fix bug when update timestamps on filtered agenda entries
* org-compat.el (org-in-invisibility-spec-p): Tiny code
cleanup.
(org-move-to-column): Only remove '(org-filtered) from
`buffer-invisibility-spec'.

* org-agenda.el (org-agenda-mode): Add buffer invisibility
specs.
(org-agenda-filter-hide-line, org-agenda-remove-filter): Set
the 'invisible text property to 'org-filtered.
(org-agenda-show-new-time): Add the default face to avoid the
foreground of the last character on the line to leak into the
timestamp notification.

Thanks to Thomas Morgan for reporting this.
2014-05-26 14:55:50 +02:00
Bastien Guerry 8d0da67ea0 Merge branch 'maint' 2014-05-26 07:36:06 +02:00
Bastien Guerry 061904b58e org-agenda.el (org-get-time-of-day): Don't return time string from within links
* org-agenda.el (org-get-time-of-day): Don't return time
string from within links.

Thanks to Thomas Morgan for reporting this.
2014-05-26 07:35:24 +02:00
Bastien Guerry 77ffc73a4a Merge branch 'master' of orgmode.org:org-mode 2014-05-26 07:26:09 +02:00
Bastien Guerry 2affa4d333 org.el (org-sort-entries): Improve TODO entries sorting
* org.el (org-sort-entries): When sorting by TODO keywords,
put TODO entries first, then entries without a TODO keyword,
then DONE entries.

Thanks to Eric Abrahamsen for triggering this.
2014-05-26 07:10:16 +02:00
Nicolas Goaziou fdb40fbe01 org-agenda: Tiny fix
* lisp/org-agenda.el (org-agenda-format-item): Check if string isn't
  empty before searching for text properties.
2014-05-25 23:33:17 +02:00
Bastien Guerry abe931dca9 org.el (org-link-escape-chars): Remove ?\+ ?\; and ?\=
* org.el (org-link-escape-chars): Remove ?\+ ?\; and ?\=.

Thanks to Michael Weylandt for suggesting this.
2014-05-25 07:53:56 +02:00
Eric Abrahamsen 62950827ec Improve table column narrowing with variable-width strings
org-table.el (org-table-align): Use `org-string-width'.

This aims at better guessing how wide a narrowed table column should
actually be.  This won't work perfectly with variable-width scripts,
as it still only narrows in full-column increments, but it's better
than before.
2014-05-25 07:18:12 +02:00
Eric Abrahamsen 4af31090b4 Use string width in table field justification
org-table.el (org-table-justify-field-maybe): Use
`org-string-width' instead of `length' to calculate the visual
width of table cells.

This is useful for e.g. double-width charsets.
2014-05-25 07:18:06 +02:00
Bastien Guerry 866d7eddd0 org-agenda.el (org-agenda-set-restriction-lock): Remove restriction lock before setting it
* org-agenda.el (org-agenda-set-restriction-lock): Remove
restriction lock before setting it.

This fixes a small bug: when restriction lock is active on a subtree
and C-c C-x < before the first headline, the new restriction is set to
the entire file, but the old one was still present.
2014-05-25 07:16:15 +02:00
Nicolas Goaziou 56b47fb71d Merge branch 'maint' 2014-05-24 15:46:04 +02:00
Nicolas Goaziou e3d2c1b0c9 ox-ascii: Tiny fix
* lisp/ox-ascii.el (org-ascii--current-text-width): Tiny fix.
2014-05-24 15:44:08 +02:00
Bastien Guerry a72d2e5d5d Merge branch 'maint' 2014-05-24 14:13:17 +02:00
Bastien Guerry 7e5965372d org-timer.el (org-timer-value-string): Always return a positive value
* org-timer.el (org-timer-value-string): Always return a
positive value.  Add docstring.
2014-05-24 14:12:56 +02:00
Bastien Guerry dd179e81f3 Minor reformatting 2014-05-24 11:52:36 +02:00
Bastien Guerry 2c33442ae2 org.el (org-refile-check-position): Remove unused user error
* org.el (org-refile-check-position): Remove unused user error.
2014-05-24 11:52:15 +02:00
Bastien Guerry 253b60cdaf org.el (org-refresh-stats-properties): Fix arithmetic error
* org.el (org-refresh-stats-properties): Fix arithmetic error.

Thanks to Gregor Zattler for reporting this.
2014-05-24 11:25:39 +02:00
Bastien Guerry 99580828e6 Merge branch 'maint' 2014-05-23 21:51:23 +02:00
Alex Kosorukoff 942a95cd59 org-capture.el (org-capture-fill-template): Set `mark-active' to nil
* org-capture.el (org-capture-fill-template): Set
`mark-active' to nil.

TINYCHANGE
2014-05-23 21:50:24 +02:00
Bastien Guerry 567241e986 Revert "org-capture.el (org-capture-steal-local-variables): Don't steal `mark-active'"
This reverts commit ee5a88cd01.
2014-05-23 21:49:19 +02:00
Bastien Guerry d978a9e585 org-agenda.el (org-agenda-format-item): Don't add the 'effort and 'effort-minutes text properties
* org-agenda.el (org-agenda-format-item): Don't add the
'effort and 'effort-minutes text properties as they are
already accessible through the 'txt property of agenda lines.

* org-clock.el (org-clock-in): Refresh both the 'effort and
'effort-minutes text properties.

* org-rmail.el (rmail, rmail-file-name): Silent byte-compiler.

* org.el (org-refresh-properties): Allow to set several text
properties by passing an alist to the TPROP argument.
(org-set-effort, org-property-next-allowed-value): Use 'effort
instead of 'org-effort.
(org-agenda-prepare-buffers): Update both 'effort and
'effort-minutes.
(org-mark-jump-unhide): Move up to silent the byte-compiler.
2014-05-23 16:51:55 +02:00
Bastien Guerry 45c4f276f2 org.el: Implement agenda sorting against stats cookies. Code cleanup
* org.el (org-refresh-category-properties): Don't put the
'org-category-position property.
(org-refresh-stats-properties): New function.
(org-agenda-ignore-properties): Rename from
`org-agenda-ignore-drawer-properties', which is now obsolete.
Allow to use 'stats.
(org-agenda-prepare-buffers): Check stats properties.
(org-get-at-bol): Make a defsubst.
(org-get-at-eol): New function.

* org-agenda.el (org-entries-lessp): Sort by statistic
cookies.
(org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-deadlines)
(org-agenda-get-scheduled, org-agenda-get-blocks): Don't set
the 'org-category and 'org-category-pos text properties.
'org-category-pos is useless and 'org-category is set through
`org-agenda-format-item'.
(org-agenda-format-item): Remove useless code.
(org-cmp-priority): Delete.
(org-cmp-values): New function to compare text properties
values.
(org-cmp-effort, org-agenda-to-appt): Check against the end of
the line.
(org-agenda-filter-by-category, org-agenda-filter-apply)
(org-agenda-change-all-lines): Use `org-get-at-eol'.
2014-05-23 15:54:50 +02:00
Bastien Guerry d6775b8751 Merge branch 'maint' 2014-05-23 14:01:45 +02:00
Bastien Guerry ee5a88cd01 org-capture.el (org-capture-steal-local-variables): Don't steal `mark-active'
* org-capture.el (org-capture-steal-local-variables): Don't
steal `mark-active', which should be nil in the target buffer.

Thanks to Alex Kosorukoff for raising this issue.
2014-05-23 14:01:39 +02:00
Bastien Guerry 0f0fa81dd0 Merge branch 'maint' 2014-05-23 13:43:18 +02:00
Bastien Guerry 1d57e1ac9a org-agenda.el (org-agenda-remove-filter): Use `save-excursion'
* org-agenda.el (org-agenda-remove-filter): Use `save-excursion'.
2014-05-23 13:43:11 +02:00
Bastien Guerry 7384c96954 Merge branch 'maint' 2014-05-23 13:12:37 +02:00
Bastien Guerry fe0057556b org.el: Don't advise `outline-end-of-subtree'
* org.el (org-move-subtree-down): Use `org-end-of-subtree'
instead of `outline-end-of-subtree'.
(outline-end-of-subtree): Remove advice.

* org-mouse.el (org-mouse-move-tree, org-mouse-do-remotely):
Use `org-end-of-subtree' instead of `outline-end-of-subtree'.
2014-05-23 13:11:57 +02:00
Nicolas Richard 54f4d2f4a4 org.el (org-cycle-internal-local): Fix trailing character bug
* org.el (org-cycle-internal-local): Don't show a trailing
character when cycling a subtree that ends with a non-newline
character at the end of the buffer or the narrowed region.
2014-05-23 13:04:28 +02:00
Eric Abrahamsen c23d9ee8c5 Warn users of malformed property drawers
* org.el (org-buffer-property-keys): When scanning the buffer for
valid property keys, give users a chance to repair any malformed
property drawers.
2014-05-23 11:06:50 +02:00
Bastien Guerry 2ce78ef45b Merge branch 'maint' 2014-05-22 21:15:44 +02:00
Bastien Guerry cece23b664 org-agenda.el (org-cmp-ts): Fix call to `type'
* org-agenda.el (org-cmp-ts): Argument `type' is not optional.
Don't quote it.
2014-05-22 21:15:01 +02:00
Bastien Guerry 365b9dde16 Merge branch 'maint' 2014-05-22 16:10:19 +02:00
Bastien Guerry 7d3b3997d3 org-habit.el (org-habit-insert-consistency-graphs): Don't remove filter overlays
* org-habit.el (org-habit-insert-consistency-graphs): Don't
remove filter overlays as we don't use overlays for filters
anymore.
2014-05-22 14:34:46 +02:00
Nicolas Goaziou a7b7c3de2b ox-ascii: Implement "justifyright" and "justifyleft" blocks
* lisp/ox-ascii.el
(org-ascii--justify-lines): New function.  Renamed from
`org-ascii--justify-string'.
(org-ascii--justify-element, org-ascii--current-justification): New
functions.
(org-ascii-verse-block, org-ascii-table-cell, org-ascii-table
  org-ascii-src-block, org-ascii-property-drawer, org-ascii-planning,
  org-ascii-paragraph, org-ascii-paragraph,
  org-ascii-latex-environment, org-ascii-keyword,
  org-ascii-horizontal-rule, org-ascii-fixed-width,
  org-ascii-export-block, org-ascii-example-block, org-ascii-clock,
  org-ascii-template--document-title,
  org-ascii-template--document-title): Use new functions.
(org-ascii-center-block): Do not process contents anymore since they
are already justified.

* doc/org.texi (ASCII/Latin-1/UTF-8 export): Document new feature.
  Also document `org-ascii-text-width' since this is closely related.

This patches also fixes centering of tables.
2014-05-22 13:50:01 +02:00
Bastien Guerry 9a6234ff81 Merge branch 'maint' 2014-05-22 13:39:13 +02:00
Bastien Guerry 3a262e12e2 org-agenda.el: Fixes for top headline filtering
* org-agenda.el (org-agenda-local-vars): Add
`org-agenda-top-headline-filter'.
(org-agenda-filter-by-category): Fix syntax.
(org-agenda-filter-show-all-top-filter): New function.
(org-agenda-filter-by-top-headline)
(org-agenda-filter-remove-all): Use the new function.
(org-agenda-filter-top-headline-apply): Use a dedicated symbol
`top-headline'.

Thanks to Greg Troxel who provided a preliminary patch.
2014-05-22 13:37:27 +02:00
KDr2 21d6d7c3a0 lisp/ob-scheme.el: Fix scheme code blocks execution error in batch mode
* ob-scheme.el (org-babel-scheme-capture-current-message)
(org-babel-scheme-execute-with-geiser): Capture scheme code results
via `current-message' both in interactive mode and non interactive
mode.

`org-babel-scheme-execute-with-geiser' uses `current-message' to get
the results of scheme code blocks, but `current-message' always
returns nil in batch mode, and this patch fixes this.
2014-05-22 13:14:30 +02:00
Bastien Guerry 92d84410ef Merge branch 'maint' 2014-05-22 12:56:18 +02:00
Konstantin Kliakhandler 445a8ec66e org-agenda.el (org-agenda-redo): Reapply the filters correctly
* org-agenda.el (org-agenda-redo): Reapply the filters
correctly.

TINYCHANGE
2014-05-22 12:55:30 +02:00
Bastien Guerry 58e45f4df1 org.el (org-entry-properties): Ensure the special property is not commented out when matched
* org.el (org-entry-properties): Ensure the special property
is not commented out when matched.

Other an agenda view like (tags "DEADLINE<\"<+0d>\"" ...) will
wrongly list an entry with a commented out DEADLINE line, because
org-agenda-skip only skip commented out stuff on the current line,
with is the headline itself when using "tags" agenda.

Thanks to Sébastien for reporting this.
2014-05-22 12:38:06 +02:00
Ian Kelling 1ca86f555f Make the point visible when jumping to the mark
* org.el: Advise commands which jump to the mark.
2014-05-22 11:53:43 +02:00
Bastien Guerry 5eee6bbe6f Merge branch 'maint' 2014-05-22 11:50:47 +02:00
Bastien Guerry cdf9a09fc2 org-agenda.el: Rewrite agenda filtering using text properties
* org-agenda.el (org-agenda-write): Code cleanup.
(org-agenda-mark-filtered-text)
(org-agenda-unmark-filtered-text)
(org-agenda-fix-tags-filter-overlays-at): Delete.
(org-agenda-remove-marked-text): Use the `property' argument
instead of hard-coding 'org-filtered.
(org-agenda-filter-remove-all): Use `org-agenda-finalize'.
(org-agenda-filter-hide-line): Rewrite using text properties
instead of overlays.
(org-agenda-remove-filter): New function.
(org-agenda-filter-show-all-tag)
(org-agenda-filter-show-all-cat)
(org-agenda-filter-show-all-re): Rewrite using
`org-agenda-remove-filter'.
2014-05-22 11:50:26 +02:00
Nicolas Goaziou 2e370ed537 Merge branch 'maint' 2014-05-21 21:30:38 +02:00
Nicolas Goaziou bc456879ff ox-org: Tiny refactoring
* lisp/ox-org.el (org-org-section): Tiny refactoring.  Use appropriate
  property.
2014-05-21 21:29:16 +02:00
Bastien Guerry df53dce911 Merge branch 'maint' 2014-05-21 19:47:29 +02:00
Bastien Guerry 241286865c org-attach.el (org-attach-dir): Fix bug
* org-attach.el (org-attach-dir): When the property is
"inherited" from a variable outside of the file, do not use
`org-entry-property-inherited-from' to find the attachment
position, assume we need to go back to the current headline.
2014-05-21 19:47:13 +02:00
Bastien Guerry 9347072882 Merge branch 'master' of orgmode.org:org-mode 2014-05-21 18:55:02 +02:00
Nicolas Goaziou c40833436c Merge branch 'maint' 2014-05-21 18:38:11 +02:00
Bastien Guerry d6ac42b6aa Fix previous commit 2014-05-21 18:37:53 +02:00
Nicolas Goaziou 844a6494c3 ox-org: Fix missing footnote definitions
* lisp/ox-org.el (org-org-headline): Ignore footnote sections.
(org-org-section): New function.

Some footnote definitions may be outside of the scope of the export
and, therefore, do not appear in the generated output.  This patch
ensures that all footnote definitions appear at the end of the section
they belong to.

Thanks to Leonard Randall for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/86558
2014-05-21 18:37:13 +02:00
Bastien Guerry 9c47412981 org-table.el (org-table-copy-down): Fix copying from a blank field
* org-table.el (org-table-copy-down): Fix copying from a blank
field.

Thanks to Michael Brand for reporting this.
2014-05-21 17:48:29 +02:00
Bastien Guerry b69243d44b Merge branch 'maint' 2014-05-21 15:04:36 +02:00
Ian Kelling 7d6cc7f0bf Fix error prone babel table output format detection
* ob-core.el (org-babel-insert-result): Test all list elements against
listp and (eq element 'hline) instead of checking just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error. An example of a block
causing an error is an emacs lisp source block containing just 1 line:
'((1) 2)
2014-05-21 15:04:23 +02:00
Bastien Guerry a5686d8778 ob-R.el: minor code cleanup
* ob-R.el (org-babel-expand-body:R, org-babel-execute:R)
(org-babel-variable-assignments:R)
(org-babel-R-evaluate-session): Don't use "#'" forms.
2014-05-21 04:22:30 +02:00
Bastien Guerry a4abd95698 Merge branch 'maint' 2014-05-21 04:21:14 +02:00
Bastien Guerry da5128404a ob-R.el (org-babel-R-assign-elisp): Fix parsing of a one-dimensional value
* ob-R.el (org-babel-R-assign-elisp): Fix parsing of a
one-dimensional value.

Thanks to Daniil Mirylenka for the fix.
2014-05-21 04:21:00 +02:00
Bastien Guerry 0cf1be58f5 Merge branch 'maint' 2014-05-21 04:02:49 +02:00
Bastien Guerry d438fbfb1b Continue fixing fdb4b54e 2014-05-21 03:56:26 +02:00
Bastien Guerry c264904b12 Merge branch 'maint' 2014-05-20 23:28:33 +02:00
Bastien Guerry 03acfe44b6 org.el (org-insert-heading): Fix bug
* org.el (org-insert-heading): Fix bug when trying to insert a
heading when point is before the first headline and not at the
beginning of a line.
2014-05-20 23:28:06 +02:00
Albert Krewinkel d2b7c50880 org.el (org-offer-links-in-entry): Reuse global variable
* org.el (org-offer-links-in-entry): Use global variable
  `org-any-link-re' instead of defining a string-equal local variable.

The `re' variable defined in function `org-offer-links-in-entry' is
string-equal to `org-any-link-re' and is hence replaced by the latter.

TINYCHANGE
2014-05-20 23:08:27 +02:00
Bastien Guerry 74168eea55 Merge branch 'maint' 2014-05-20 22:22:14 +02:00
Dmitry Gorbik 1811b37f4d org.el (org-fast-tag-selection): Fix window splitting
* org.el (org-fast-tag-selection): Fix window splitting.

This is basically the same fix than the one listed here:
http://article.gmane.org/gmane.emacs.orgmode/34802

TINYCHANGE
2014-05-20 22:20:56 +02:00
Bastien Guerry b06dcf05a8 org-table.el (org-table-eval-formula): Fix conversion of inactive timestamps
* org-table.el (org-table-eval-formula): Fix conversion of
inactive timestamps to active ones.

Thanks to Gang Chen for reporting this.
2014-05-20 22:03:30 +02:00
Bastien Guerry d8fdaf89ae Continue enhancing 7ac468
Thanks to Michael Brand for his feedback.
2014-05-20 21:44:37 +02:00