Commit Graph

13008 Commits

Author SHA1 Message Date
Lixin Chin 73694b21d7 ox-odt.el: Fix LaTeX formulae in opendocument exports
* lisp/ox-odt.el (org-odt--translate-latex-fragments): Apply signature
  change for `org-format-latex'.

Commit a24f339f58 changed the signature
for `org-format-latex' (lisp/org.el) to add `beg' and `end' optional
parameters.  This led to an error in ox-odt.el when exporting an
odt document containing LaTeX formulae.
2016-11-29 09:24:11 +01:00
Kyle Meyer 6983f8e8bf Issue user-error when trying to drag before first element
* lisp/org.el (org-drag-element-backward):
(org-drag-element-forward): Check that org-element-at-point returns a
non-nil value to avoid a type-error when called before first element.

* testing/lisp/test-org.el (test-org/drag-element-backward):
(test-org/drag-element-forward): Add test for when point is before
first element.  Adjust existing should-error calls to specify
user-error.
2016-11-28 18:40:43 -05:00
Nicolas Goaziou 9299efa351 org-agenda: Fix deadlines
* lisp/org-agenda.el (org-agenda-get-deadlines): Fix deadlines
  display.  Also improve priority adjustment.
2016-11-28 01:35:21 +01:00
Nicolas Goaziou 6907766913 org-agenda: Fix docstrings
* lisp/org-agenda.el (org-agenda-skip-scheduled-if-done): Tiny rewording.
(org-agenda-skip-deadline-if-done): Fix typo.
2016-11-27 23:45:35 +01:00
Nicolas Goaziou abbf497b84 org-agenda: Fix done scheduled display
* lisp/org-agenda.el (org-agenda-get-scheduled): Skip done scheduled
  unconditionally whenever the base date is not the one currently
  considered.
2016-11-27 23:43:00 +01:00
Nicolas Goaziou 4b99ed5eb0 org-agenda: Fix repeated time stamps
* lisp/org-agenda.el (org-agenda-get-timestamps): Properly handle
  repeated time stamps.  Refactor code.  Improve docstring.
2016-11-27 23:09:23 +01:00
Nicolas Goaziou 2998a139c4 Tiny fix
* lisp/org.el (org-at-clock-log-p): Use `beginning-of-line' instead of
  `move-beginning-of-line'.
2016-11-27 23:09:15 +01:00
Nicolas Goaziou 7fc980f75e Tiny docstring fix
* lisp/org.el (org-compile-file): Fix docstring.
2016-11-27 12:20:01 +01:00
Nicolas Goaziou 289363d510 Fix LaTeX preview
* lisp/org.el (org-compile-file): Introduce new %O placeholder.
(org-preview-latex-process-alist): Use it.

* lisp/ox-latex.el (org-latex-pdf-process):
* lisp/ox-man.el (org-man-pdf-process):
* lisp/ox-texinfo.el (org-texinfo-info-process): Document it.

Reported-by: Scott Otterson <scotto@sharpleaf.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/110464>
2016-11-27 12:07:11 +01:00
Nicolas Goaziou ee7721f795 org-clock: Fix clock tables with file list scope
* lisp/org-clock.el (org-dblock-write:clocktable): Handle scope as
  a list of files.

Reported-by: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110452>
2016-11-26 00:15:44 +01:00
Nicolas Goaziou b77ef877ab org-agenda: Fix "no-catch --cl-block-nil--"
* lisp/org-agenda.el (org-agenda-get-category-icon): Use `cl-dolist'
  instead of `dolist'.

Reported-by: Karl Voit <devnull@Karl-Voit.at>
<http://permalink.gmane.org/gmane.emacs.orgmode/110443>
2016-11-25 17:49:13 +01:00
Nicolas Goaziou 2e35a59763 ox-latex: Fix error when compiling in a different than source file
* lisp/ox-latex.el (org-latex-compile): List logfiles with their full
  name instead of relative ones.

Reported-by: Éric Würbel <eric.wurbel@univ-amu.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/110402>
2016-11-25 12:22:54 +01:00
Nicolas Goaziou 26828778c6 org-agenda: Fix previous commit
* lisp/org-agenda.el (org-agenda-get-timestamps):
(org-agenda-get-deadlines): Apply `org-agenda--timestamp-to-absolute'
signature change.
2016-11-25 02:07:54 +01:00
Nicolas Goaziou 69ec6258b6 org-agenda: Fix scheduled dates display
* lisp/org.el (org-time-string-to-absolute): Change signature.
* lisp/org-agenda.el (org-agenda-get-scheduled): Fix various glitches
  in scheduled dates display.  Also fix such dates when
  `org-agenda-repeating-timestamp-show-all' is nil.  Apply signature
  change.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110116>
2016-11-25 01:51:42 +01:00
Nicolas Goaziou 0dd024aa92 ob-js: Fix error when code block ends with a comment
* lisp/ob-js.el (org-babel-js-function-wrapper): Isolate body within
  wrapper.

Reported-by: Compro Prasad <comproprasad@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110390>
2016-11-21 23:21:23 +01:00
Nicolas Goaziou 1319a3be44 ox-html: Fix %d placeholder in pre/postamble string
* lisp/ox-html.el (org-html-format-spec): Correctly apply
  `org-html-metadata-timestamp-format' on %d placeholder.

Reported-by: Pavel Panchekha <me@pavpanchekha.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110374>
2016-11-19 23:17:32 +01:00
Nicolas Goaziou c3c33841eb Merge branch 'maint' of orgmode.org:org-mode into maint 2016-11-19 23:08:33 +01:00
Nicolas Goaziou 9e2dc98eef Fix error when exporting body only of an empty buffer
* lisp/ox.el (org-export-filter-apply-functions): Return empty string
  instead of nil when a filter returns the empty string.

* testing/lisp/test-ox.el (test-org-export/export-scope): Add test.
(test-org-export/filter-apply-functions): New test.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/110371>
2016-11-19 23:08:12 +01:00
Paul Eggert ad5e2aed21 Backport commit dc152c5 from Emacs
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20).  Change Emacs
documentation and comments to match this.  Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.

Modernize usage of 'macOS' in doc and comments
dc152c54f4e44f5f2040883b03f71ff6aa66c893
Paul Eggert
Sun Nov 6 00:42:03 2016 -0700
2016-11-19 16:49:15 -05:00
Nicolas Goaziou b3125dc84b ox-icalendar: Use \r\n instead of \n as line breaks
* lisp/ox-icalendar.el (org-icalendar-fold-string): Break lines with
  \r\n instead of \n, per RFC 5545.

Reported-by: Stephen Eglen <sje30@cam.ac.uk>
<http://permalink.gmane.org/gmane.emacs.orgmode/110306>
2016-11-18 23:03:01 +01:00
Nicolas Goaziou 8a5e54f1cc Small fix to documentation
* doc/org.texi (Setting tags): Remove misleading information.
* lisp/org.el (org-tag-alist): Fix consistency with
  `org-tag-persistent-alist'.
2016-11-13 18:08:15 +01:00
Nicolas Goaziou cec084584d Fix docstring
* lisp/org.el (org-link-search-must-match-exact-headline): Fix
  docstring.  Add :safe keyword.
2016-11-13 11:37:53 +01:00
Nicolas Goaziou ebbc675bd9 Fix TODO keywords case sensitivity
* lisp/org.el (org-todo-regexp):
(org-not-done-regexp):
(org-not-done-heading-regexp):
(org-todo-line-regexp):
(org-complex-heading-regexp): Improve docstrings.

(org-insert-todo-heading):
(org-fix-position-after-promote):
(org-link-search):
(org-block-todo-from-children-or-siblings-or-parent):
(org-get-todo-state):
(org-priority):
(org-point-at-end-of-empty-headline):
* lisp/org-agenda.el (org-fix-agenda-info):
(org-agenda-get-todos):
(org-cmp-alpha):
* lisp/org-archive.el (org-archive-subtree):
(org-archive-all-done):
* lisp/org-list.el (org-toggle-item):
* lisp/org-pcomplete.el (pcomplete/org-mode/searchhead): Bind
`case-fold-search' to nil when matching aginst one of the regexp
above.

* testing/lisp/test-org.el (test-org/fuzzy-links): Add tests.
2016-11-13 11:26:17 +01:00
Nicolas Goaziou ff0748beac Small documentation fixes
* doc/org.texi (The very busy C-c C-c key):
* lisp/org.el (org-startup-folded): Documentation fixes.
2016-11-12 01:45:05 +01:00
Nicolas Goaziou 393f490386 Remove dependency on "gs" for preview LaTeX
* lisp/org.el (org-preview-latex-process-alist): Remove "gs"
  requirement.

Reported-by: Frederick Giasson <fred@fgiasson.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110216>
2016-11-12 01:21:25 +01:00
Nicolas Goaziou 31a112d4dd org-clock: Add missing space in clock line
* lisp/org-clock.el (org-clock-get-clock-string): Add missing space in
  clock line when no effort is defined.

Reported-by: Allen Li <vianchielfaura@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110235>
2016-11-12 01:09:00 +01:00
Nicolas Goaziou 27b10fb265 ox: Fix duplicate internal references for same title headings
* lisp/ox.el (org-export-get-reference): Ensure different elements or
  objects generating the same search cell do not get the same internal
  reference.
* testing/lisp/test-ox.el (test-org-export/get-reference): Add test.

Reported-by: mstrey@strey.biz
<http://permalink.gmane.org/gmane.emacs.orgmode/110211>
2016-11-11 17:47:09 +01:00
Nicolas Goaziou a3c366eb98 org-colview: Fix time sum when mixing duration and H:MM:SS time
* lisp/org-colview.el (org-columns--time-to-seconds): Recognize
  a duration even when it contains a H:MM:SS part.
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Add test.

Reported-by: Björn Döring <bjoern@doering.io>
<http://permalink.gmane.org/gmane.emacs.orgmode/110144>
2016-11-11 12:02:34 +01:00
Nicolas Goaziou c93a17dd8a ox: Fix subtree export when starting with meta-data
* lisp/ox.el (org-export-as): Skip planning info and first property
  drawer when exporting a subtree.
* testing/lisp/test-ox.el (test-org-export/export-scope): Add test.
2016-11-11 10:17:15 +01:00
Nicolas Goaziou efcaff3688 org-agenda: Treat fake planning info as regular time-stamp
* lisp/org-agenda.el (org-agenda-get-timestamps): Treat fake planning
  info as regular time-stamp.

Reported-by: Alan Tyree <alantyree@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110197>
2016-11-11 01:08:53 +01:00
Nicolas Goaziou c6f9aeb06e ox-publish: Fix too many opened buffer upon publishing
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Create
  a new buffer for Org files only.

Reported-by: Éric Würbel <eric.wurbel@univ-amu.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/110190>
2016-11-11 00:45:21 +01:00
Nicolas Goaziou 9f98979ff0 org-element: Prevent parsing meta-data after blank lines
* lisp/org-element.el (org-element--current-element): Check that
  planning info and property drawers are correctly located before
  parsing them.

* testing/lisp/test-org-element.el (test-org-element/planning-parser):
(test-org-element/property-drawer-parser): Add tests.
2016-11-10 00:25:34 +01:00
Nicolas Goaziou 1dc6c4bc9c org-element: Fix inlinetask parsing
* lisp/org-element.el (org-element-headline-parser): Small refactoring.
(org-element-inlinetask-parser): Add missing :pre-blank property.  Small
refactoring.  Also fix regexp for task end.

* testing/lisp/test-org-element.el (test-org-element/inlinetask-parser):
  Add test.
2016-11-09 23:30:39 +01:00
Nicolas Goaziou 1f87273fd2 ox-latex: Fix temporary files removal when compiling files
* lisp/ox-latex.el (org-latex-compile): Assume temporary files are
  located in the output directory.

This partly reverts 120f8c0.
2016-11-09 18:42:29 +01:00
Nicolas Goaziou ae68bc516d ox-latex: Fix texi2dvi command
* lisp/ox-latex.el (org-latex-pdf-process): Handle cases where tex file
  is not located in default-directory.
2016-11-08 18:24:13 +01:00
Nicolas Goaziou 004bd64948 Fix docstring
* lisp/org.el (org-compile-file): Fix docstring.
2016-11-08 17:53:22 +01:00
Nicolas Goaziou a135f746a1 ox-latex: Fix latexmk command
* lisp/ox-latex.el (org-latex-pdf-process): Fix latexmk command.
2016-11-08 13:40:36 +01:00
Nicolas Goaziou 120f8c09f4 Fix file compilation in a different directory than current one
* lisp/org.el (org-compile-file): Do not set default directory.
(org-preview-latex-process-alist): Update since base-name may no be
located in current directory.
* lisp/ox-latex.el (org-latex-compile): Remove auxiliary files in
  default directory instead of ".tex" file directory.

Reported-by: Alex Fenton <alex.fenton@pressure.to>
<http://permalink.gmane.org/gmane.emacs.orgmode/110078>
2016-11-08 11:44:28 +01:00
Nicolas Goaziou 13dbea95af Fix documentation
* doc/org.texi (Installation):
(Feedback):
(Handling links):
(Setting tags):
(Matching tags and properties):
(Storing searches):
(The very busy C-c C-c key):
(org-crypt):
(Adding hyperlink types):
* lisp/org-agenda.el (org-agenda-todo-ignore-deadlines):
(org-agenda-show-inherited-tags):
(org-agenda-week-view):
(org-agenda-fortnight-view):
(org-agenda-month-view):
(org-agenda-year-view):
* lisp/org-archive.el (org-archive-to-archive-sibling):
* lisp/org-capture.el (org-capture-templates):
* lisp/org-table.el:
* lisp/org.el (org-startup-folded):
(org-tag-alist):
(org-match-sparse-tree): Provide more accurate documentation.

Reported-by: Jorge Morais Neto <jorge13515@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/110080>
2016-11-07 01:14:04 +01:00
Nicolas Goaziou 975260cb25 ox-latex: Add column groups back in table math mode
* lisp/ox-latex.el (org-latex--math-table): Preserve column groups.

Reported-by: Stefanos Carlström <stefanos.carlstrom@fysik.lth.se>
<http://permalink.gmane.org/gmane.emacs.orgmode/110086>
2016-11-06 23:25:06 +01:00
Nicolas Goaziou fda64f1ae2 org-clock: Fix `org-clock-load'
* lisp/org-clock.el (org-clock-load): New variable.
(org-clock-save):
(org-clock-stored-resume-clock): Use new variable.  Small refactoring.

Reported-by: Daniel Borchmann <daniel.borchmann@tu-dresden.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/110077>
2016-11-06 13:30:05 +01:00
Nicolas Goaziou 58683d2cf4 ox-publish: Improve docstrings
* lisp/ox-publish.el (org-publish-cache-get): Improve docstrings.
2016-11-06 11:30:23 +01:00
Nicolas Goaziou dc3c69918f org-capture: Remove error checking in capture template
* lisp/org-capture.el (org-capture-expand-file): Remove error checking
  in capture template introduced in
  b89dfaa904 for now.
2016-11-06 11:10:23 +01:00
Nicolas Goaziou b89dfaa904 org-capture: Fix file+olp target with a relative file name
* lisp/org-capture.el (org-capture-expand-file): Expand relative file
  names from `org-directory'
(org-capture-target-buffer): Apply change above.

Reported-by: Allen Li <darkfeline@felesatra.moe>
<http://permalink.gmane.org/gmane.emacs.orgmode/110075>
2016-11-06 08:56:22 +01:00
Nicolas Goaziou c81f9fff3b Revert "org-capture: Remove forbidden value type from "file" templates"
This reverts commit 5485170263.
2016-11-04 17:30:12 +01:00
Renato Ferreira 1d0a27e227 Fix "Invalid face attribute/reference" errors
* lisp/org-agenda.el (org-agenda-fontify-priorities): Generate
correct :inherit face property.
2016-11-04 16:42:00 +01:00
Nicolas Goaziou 4c4e843319 ob-core: Fix typos in messages
* lisp/ob-core.el (org-babel-check-evaluate):
(org-babel-confirm-evaluate): Fix typos.
2016-11-04 08:34:57 +01:00
Nicolas Goaziou 80befa1983 ox-publish: Fix typo
* lisp/ox-publish.el (org-publish-cache-get-file-property): Fix typo.
2016-11-03 12:48:40 +01:00
Nicolas Goaziou 0d97a96c62 ob-core: Fix typo
* lisp/ob-core.el (org-babel--get-vars): Fix typo.
2016-11-03 12:45:30 +01:00
Nicolas Goaziou c61ee8b82a ox-publish: Fix unwanted buffer pop-up
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Use
  `find-file-noselect' instead of `find-file'.
2016-11-02 09:28:24 +01:00
Nicolas Goaziou 1dc78402dc ox-publish: Fix typo in docstring
* lisp/ox-publish.el (org-publish-cache-get-file-property): Fix typo.
2016-11-02 09:16:35 +01:00
Bastien e010215e82 lisp/ob-lua.el: Small indentation fix
* lisp/ob-lua.el (org-babel-lua-evaluate)
(org-babel-lua-evaluate-external-process): Fix indentation.
2016-11-01 21:39:11 +01:00
Nicolas Goaziou 58dbdb25a1 Fix repeated tasks in certain languages
* lisp/org.el (org-timestamp-change): Handle `after' position.

`after' position needs to take into consideration changes in time-stamp
length.  Some time locales have variable lengths for abbreviated day
names throughout the week.

Reported-by: "Bruce V. Chiarelli" <mano155@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109951>
2016-11-01 09:38:56 +01:00
Nicolas Goaziou 1d7150319b Fix docstrings
* lisp/org-clock.el (org-clock-get-table-data):
* lisp/org-element.el (org-element--cache-objects):
(org-element--cache-generate-key):
* lisp/org-footnote.el (org-footnote--collect-references):
* lisp/org-list.el (org-list-to-lisp):
* lisp/org-table.el (orgtbl-to-generic):
* lisp/org.el (org-file-apps):
(org-execute-file-search-functions):
(org-after-todo-statistics-hook):
(org-find-olp):
* lisp/ox-html.el (org-html-table-row-open-tag): Do not escape
  parenthesis in docstring when not at column 0.
2016-10-31 10:01:33 +01:00
Nicolas Goaziou 21932c15d3 org-list: Fix docstrings
* lisp/org-list.el (org-list-to-latex):
(org-list-to-html):
(org-list-to-texinfo): Document missing parameter.
(org-list-to-subtree): Replace obsolete `org-list-parse-list' with
`org-list-to-lisp'.
2016-10-30 20:25:57 +01:00
Nicolas Goaziou adfa7649e5 org-compat: Assume `string-prefix-p' is defined
* lisp/org-compat.el: `string-prefix-p' was introduced in Emacs 24.1,
  which is below Org minimal expectations.  Only define
  `string-suffix-p' when necessary.
2016-10-29 10:02:27 +02:00
Nicolas Goaziou a94493f5a2 Properly fontify short captions
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Properly fontify
  short captions.
2016-10-29 01:09:26 +02:00
Nicolas Goaziou 7bbe9202c2 Match `org-complex-heading-regexp' with a nil `case-fold-search'
* lisp/org-agenda.el (org-agenda-goto):
* lisp/org-clock.el (org-clock-in):
(org-clock-out):
(org-clock-put-overlay):
(org-clock-load):
* lisp/org-element.el (org-element-context):
* lisp/org-footnote.el (org-footnote--allow-reference-p):
* lisp/org-mobile.el:
* lisp/ox.el (org-export--get-subtree-options):
* lisp/org.el (org-insert-heading):
(org-edit-headline):
(org-open-at-point):
(org-refile-get-targets):
(org--get-outline-path-1):
(org-toggle-comment):
(org-set-tags-to):
(org-set-tags):
(org-entry-properties):
(org-delete-indentation):
(org-beginning-of-line):
(org-end-of-line):
(org-mode-flyspell-verify): Bind `case-fold-search' to nil when matching
`org-complex-heading-regexp'.

(org-complex-heading-regexp): Add a note about the necessity to have
`case-fold-search' bound to nil.
2016-10-29 00:38:15 +02:00
Nicolas Goaziou e8b4eeb482 Fix `org-return' on non-keyword
* lisp/org.el (org-return): Recognize non-keywords and split text
  accordingly.
* testing/lisp/test-org.el (test-org/return): Add test.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109929>
2016-10-29 00:00:32 +02:00
Nicolas Goaziou 4f9ec1adeb org-element: Fix export of LaTeX math in headlines
* lisp/org-element.el (org-element-class): Find pseudo-objects in
  secondary strings.
* testing/lisp/test-org-element.el (test-org-element/class): Add test.

This bug was introduced in 1a88cf920e.

Reported-by: Stefanos Carlström <stefanos.carlstrom@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109922>
2016-10-28 15:46:22 +02:00
Nicolas Goaziou 33f8f8adaa org-clock: Fix clock table with `file-with-archives' scope
* lisp/org-clock.el (org-dblock-write:clocktable): Small refactoring.
(org-clocktable-write-default): Avoid writing a "File" column when using
`file-with-archives' scope instead of deleting it at the end of the
process.

* testing/lisp/test-org-clock.el (test-org-clock/clocktable): Add test.

Reported-by: Dale <dale@codefu.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/109856>
2016-10-27 11:42:27 +02:00
Nicolas Goaziou c51d6ca4ab org-element: Remove wrong code comment
* lisp/org-element.el (org-element--parse-objects): Remove wrong code
  comment.  The function doesn't untabify since 44cb8b1.
2016-10-27 00:48:33 +02:00
Nicolas Goaziou 018772a795 org-element: Tiny speed-up
* lisp/org-element.el (org-element--object-lex): Do not search for radio
  targets when they are not allowed in current restriction.
2016-10-27 00:47:11 +02:00
Nicolas Goaziou a300f362a0 org-element: Fix parsing radio links
* lisp/org-element.el (org-element--object-lex): Do not re-match past
  1-character long radio links.
* testing/lisp/test-org-element.el (test-org-element/link-parser): Add
  test.

Reported-by: Daniel Clemente <n142857@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109861>
2016-10-27 00:41:19 +02:00
Nicolas Goaziou 0204b0e16f org-element: Tiny refactoring
* lisp/org-element.el (org-element--object-lex): Tiny refactoring.
2016-10-25 18:28:37 +02:00
Nicolas Goaziou b76e6543b2 Tiny refactoring
* lisp/org-element.el (org-element-interpret-data):
* lisp/ox.el (org-export-data): Remove useless binding.
2016-10-25 18:19:05 +02:00
Nicolas Goaziou 5fd886c955 org-src: Silence byte-compiler 2016-10-25 13:23:31 +02:00
Nicolas Goaziou 1a88cf920e org-element: Improve support for pseudo objects and elements
* lisp/org-element.el (org-element-class): New function.
(org-element-map):
(org-element-interpret-data):
* lisp/org-footnote.el (org-footnote--allow-reference-p):
* lisp/org-src.el (org-src--on-datum-p):
* lisp/ox-odt.el (org-odt-footnote-reference):
(org-odt-table-cell):
* lisp/ox.el (org-export-data):
(org-export-expand): Use new function.

* testing/lisp/test-org-element.el (test-org-element/class): New test.

Using generic `org-element-class' allows to handle unknown, i.e.,
pseudo, object or element types.  It also reduces code duplication in
`org-element-interpret-data' and `org-export-data', preventing, e.g.,
bugs as the one fixed in c58e1b5.
2016-10-25 13:13:26 +02:00
Nicolas Goaziou dd670073de org-element: Fix interpreting links with % in description
* lisp/org-element.el (org-element-link-interpreter): % in description
  are confused with format string placeholders.  Escape them so as to
  fix the error.

* testing/lisp/test-org-element.el (test-org-element/link-interpreter):
  Add test.

Reported-by: Daniel Clemente <n142857@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109878>
2016-10-24 23:56:34 +02:00
Nicolas Goaziou e5ca11cab8 ox-latex: Fix matrices export
* lisp/ox-latex.el (org-latex--wrap-latex-matrices): Do not add spurious
  blank lines within a matrices block.

Reported-by: thomas.stenhaug@gmail.com
<http://permalink.gmane.org/gmane.emacs.orgmode/109854>
2016-10-24 23:33:28 +02:00
Nicolas Goaziou c58e1b565b Fix :post-blank handling for pseudo elements and objects
* lisp/org-element.el (org-element-interpret-data):
* lisp/ox.el (org-export-data): Correctly guess if a pseudo element or
  object should be followed by spaces or blank lines.

* testing/lisp/test-ox.el (test-org-export/pseudo-objects):
(test-org-export/pseudo-elements): New tests.
2016-10-24 23:32:15 +02:00
Michael Brand 359afa6806 Fix table align when recalculating buffer tables
* lisp/org-table.el (org-table-recalculate-buffer-tables): Align all
tables in a buffer.
(org-table-iterate-buffer-tables): Align a table only once, align all
tables in a buffer.
2016-10-21 17:35:13 +02:00
Nicolas Goaziou 7a927bcd27 ox: Fix typo
* lisp/ox.el (org-export-dictionary): Fix typo.
2016-10-19 23:27:56 +02:00
Nicolas Goaziou fe4c6a8529 Fix S-TAB when called on a block
* lisp/org.el (org-cycle): Call `org-hide-block-toggle-maybe' after
  universal argument check.  Also remove the function from
  `org-tab-first-hook' to that effect.
2016-10-19 20:08:09 +02:00
Nicolas Goaziou fce3e7395b Merge branch 'master' of orgmode.org:org-mode 2016-10-19 19:24:02 +02:00
Nicolas Goaziou e4c38ab1d3 Improve documentation for capture templates
* doc/org.texi (Template expansion):
* lisp/org-capture.el (org-capture-templates): Clarify documentation.

Suggested-by: Stig Brautaset <stig@brautaset.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/109844>
2016-10-19 19:23:31 +02:00
Nicolas Goaziou 449f83b44c ox: Add translations for Islandic
* lisp/ox.el (org-export-dictionary): Add translations for Islandic.

Suggested-by: Jón Gunnar Þorsteinsson <jongth@hi.is>
2016-10-19 18:02:59 +02:00
Bastien 622f233796 org-entities.el (org-entities): Add Amacr and amacr entities
Thanks to Karel Sprenger for the suggestion.
2016-10-19 17:05:08 +02:00
Nicolas Goaziou 9aeee623fd Silence byte-compiler 2016-10-19 16:09:59 +02:00
Nicolas Goaziou 6ca5cc8efb Better integration between Babel and `C-c C-c'
* lisp/org.el (org-ctrl-c-ctrl-c): Handle Babel context without relying
  to user hooks.
* lisp/ob-core.el (org-babel-execute-maybe):
(org-babel-hash-at-point): Do not functions in `C-c C-c' hook.
2016-10-19 16:08:09 +02:00
Nicolas Goaziou 4ccd1dfff1 Small refactoring
* lisp/org.el (org-ctrl-c-ctrl-c): Small refactoring.
2016-10-19 15:48:42 +02:00
Nicolas Goaziou a7169be6b2 Remove unnecessary calls to `org-update-radio-target-regexp'
* lisp/org-ctags.el (org-ctags-append-topic): Remove call to
  `org-update-radio-target-regexp' since topic uses regular targets.
* lisp/org.el (org-ctrl-c-ctrl-c): Do not update radio targets when
  point is on a target.
2016-10-19 15:31:10 +02:00
Nicolas Goaziou 77c9c2468d ox: Add Icelandic quotes
* lisp/ox.el (org-export-smart-quotes-alist): Add Icelandic quotes.

Suggested-by: Jón Gunnar Þorsteinsson <jongth@hi.is>
2016-10-19 12:23:34 +02:00
Nicolas Goaziou 3c6c53d426 org-agenda: Fix regression with `org-agenda-skip-scheduled-if-deadline-is-shown'
* lisp/org-agenda.el (org-agenda-get-scheduled): Fix code typo.  Tiny
  refactoring.

The typo was introduced in 72c3f5e8e5.

Reported-by: Luke <mideniko1234-org@yahoo.co.uk>
<http://permalink.gmane.org/gmane.emacs.orgmode/109832>
2016-10-18 23:56:16 +02:00
Nicolas Goaziou adaf808605 ox-latex: Fix source block label with listings package
* lisp/ox-latex.el (org-latex-src-block): Properly translate label into
  Org internal reference when using "listings" package.
2016-10-18 23:10:56 +02:00
Nicolas Goaziou e4d4c6e1bc Fix code typo
* lisp/org.el (org-beginning-of-line):
(org-end-of-line): Fix typo in pattern matching.

Reported-by: Matt Lundin <mdl@imapmail.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/109829>
2016-10-17 22:55:57 +02:00
Nicolas Goaziou 8dbee91858 org-agenda: Fix effort sorting
* lisp/org-agenda.el (org-cmp-effort): Find effort in the appropriate
  location.

The bug was introduced in d978a9e585.

Reported-by: Luke <mideniko1234-org@yahoo.co.uk>
<http://permalink.gmane.org/gmane.emacs.orgmode/109811>
2016-10-16 21:02:35 +02:00
Nicolas Goaziou 0cf58cc208 Improve docstrings
* lisp/ob-core.el (org-confirm-babel-evaluate):
(org-babel-no-eval-on-ctrl-c-ctrl-c):
(org-babel-hash-at-point):
* lisp/org-agenda.el (org-agenda-custom-commands):
(org-stuck-projects):
(org-agenda):
(org-timeline):
(org-todo-list):
(org-agenda-filter-by-tag):
(org-agenda-log-mode):
(org-agenda-refile):
(org-agenda-show-and-scroll-up):
(org-agenda-tree-to-indirect-buffer):
(org-agenda-show-the-flagging-note):
(org-agenda-to-appt):
* lisp/org-capture.el (org-capture-mode):
(org-capture-use-agenda-date):
(org-capture):
* lisp/org-clock.el (org-clock-in):
(org-clock-display):
* lisp/org-colview.el (org-columns--display-here):
(org-columns):
* lisp/org-footnote.el (org-footnote-section):
* lisp/org-gnus.el (org-gnus-prefer-web-links):
* lisp/org-lint.el (org-lint):
* lisp/org-list.el (org-plain-list-ordered-item-terminator):
(org-list-allow-alphabetical):
(org-list-automatic-rules):
(org-list-use-circular-motion):
* lisp/org-protocol.el (org-protocol-store-link):
(org-protocol-create-for-org):
* lisp/org-src.el (org-src-preserve-indentation):
(org-edit-src-content-indentation):
(org-src-mode-hook):
(org-src-mode):
(org-edit-table.el):
(org-edit-export-block):
(org-edit-src-code):
(org-edit-fixed-width-region):
* lisp/org-table.el (org-table-automatic-realign):
(org-table-copy-increment):
(org-table-formula-evaluate-inline):
(org-table-allow-automatic-line-recalculation):
(org-table-edit-field):
(orgtbl-ascii-plot):
* lisp/org-timer.el (org-timer):
* lisp/org.el (org-deadline-string):
(org-comment-string):
(org-ellipsis):
(org-show-context-detail):
(org-indirect-buffer-display):
(org-cycle-global-at-bob):
(org-insert-heading-respect-content):
(org-enable-table-editor):
(org-context-in-file-links):
(org-display-internal-link-with-indirect-buffer):
(org-file-apps):
(org-refile-targets):
(org-todo-keywords):
(org-use-fast-todo-selection):
(org-treat-insert-todo-heading-as-state-change):
(org-time-clocksum-use-fractional):
(org-time-clocksum-use-effort-durations):
(org-agenda-files):
(org-cycle-hide-archived-subtrees):
(org-cycle):
(org-global-cycle):
(org-tree-to-indirect-buffer):
(org-insert-heading):
(org-store-link):
(org-insert-link):
(org-mark-ring-push):
(org-refile):
(org-todo):
(org-show-todo-tree):
(org-reveal):
(org-check-deadlines):
(org-switchb):
(org-cdlatex-mode):
(org-toggle-latex-fragment):
(org-ctrl-c-ctrl-c):
(org-toggle-heading):
(org-indent-line):
(org-yank):
(org-speedbar-set-agenda-restriction):
* lisp/ox-html.el (org-html-htmlize-output-type):
* lisp/ox-icalendar.el (org-icalendar-combined-agenda-file):
* lisp/ox-publish.el (org-publish-project-alist):
* lisp/ox.el (org-export-in-background):
(org-export-stack-mode):
(org-export--stack-source-at-point):
(org-export-dispatch): Improve quotes and formatting in docstrings.
2016-10-15 17:43:54 +02:00
Nicolas Goaziou 21c6148bbe Handle comments in source blocks with `comment-line'
* lisp/org.el (org-comment-or-uncomment-region): Caller is not
  necessarily `comment-dwim'.  Also handle `comment-line'.

Reported-by: Xebar Saram <zeltakc@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109809>
2016-10-15 12:31:25 +02:00
Nicolas Goaziou 8d2f0a4411 Fix `C-a' with visual lines and arguments
* lisp/org.el (org-beginning-of-line): Move to beginning of visual line
  when appropriate.  Fix docstring.

* testing/lisp/test-org.el (test-org/beginning-of-line): Add tests.
2016-10-15 12:00:43 +02:00
Nicolas Goaziou 5c85409464 Remove unnecessary workaround
* lisp/org.el (org-end-of-line): Remove unnecessary workaround for bug
  #14346.
2016-10-15 11:36:10 +02:00
Nicolas Goaziou 45048eb783 Fix `C-e' with visible lines and arguments
* lisp/org.el (org-end-of-line): Correctly go to the end of visible
  line, when appropriate.
* testing/lisp/test-org.el (test-org/end-of-line): Add tests.
2016-10-15 11:36:09 +02:00
Nicolas Goaziou 2971c48cf1 Remove unnecessary workaround
* lisp/org.el (org-beginning-of-line): Remove unnecessary workaround for
  bug #14346.

* testing/lisp/test-org.el (test-org/beginning-of-line): Update tests.
2016-10-15 11:26:10 +02:00
Nicolas Goaziou b9b14376f8 Tiny refactoring
* lisp/org.el (org-beginning-of-line): Tiny refactoring.  Remove useless
  comment.  Fix docstring.
2016-10-15 00:51:33 +02:00
Nicolas Goaziou 756bb87d81 Fix regression in `org-beginning-of-line'
* lisp/org.el (org-beginning-of-line): Leave point before any invisible
  character at column 0.  Small refactoring.
* testing/lisp/test-org.el (test-org/beginning-of-line): Add tests.

The regression was introduced in
3baf246f4f.
2016-10-13 09:41:54 +02:00
Nicolas Goaziou 0c0bc84190 Change "Org-mode" into "Org mode"
* lisp/org-agenda.el:
* lisp/org-attach.el:
* lisp/org-bbdb.el:
* lisp/org-capture.el:
* lisp/org-clock.el:
* lisp/org-entities.el:
* lisp/org-gnus.el:
* lisp/org-habit.el:
* lisp/org-id.el:
* lisp/org-info.el:
* lisp/org-inlinetask.el:
* lisp/org-irc.el:
* lisp/org-list.el:
* lisp/org-mhe.el:
* lisp/org-mouse.el:
* lisp/org-table.el:
* lisp/ox-html.el:
* lisp/ox-odt.el: Use "Org mode", or "Org", instead of "Org-mode".
2016-10-11 18:00:08 +02:00
Nicolas Goaziou e00dfe0ee3 Fix typo in docstring
* lisp/org.el (org-link-search): Fix typo.
2016-10-10 00:44:36 +02:00
Nicolas Goaziou 191fe8209f Make use of `org-ellipsis' face
* lisp/org.el (org-ellipsis): Do not allow to specify a face since
  `org-ellipsis' face can be modified instead.
(org-mode): Use `org-ellipsis', independently on the value of
`org-ellipsis' (the string).

Reported-by: Vasilij Schneidermann <v.schneidermann@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109543>
2016-10-09 21:41:25 +02:00
Nicolas Goaziou 75eebb3715 org-element: Small refactoring
* lisp/org-element.el (org-element-link-parser): Remove useless cond
  branch. "id" links are handled by the previous branch, i.e., "explicit
  types".
2016-10-09 09:53:45 +02:00
Nicolas Goaziou 05794b13b3 org-element: Add :format property to link objects
* lisp/org-element.el (org-element-link-parser): Add :format property.
  Tiny refactoring.

* testing/lisp/test-org-element.el (test-org-element/link-interpreter):
  Add one test.  Update some others.

Since the link format is lost during parsing, the interpreter can hardly
handle nested links.  Indeed, in that case, the inner link is
interpreted as a bracket link, thus breaking the outer link.

Another option could be to guess a safe format for the link to be
interpreted. E.g.,

- any inner link could default to angle format unless it contains ">",
  it which case it would become a plain link;

- other links would have the bracket format, unless they contain "][" or
  "]]".

In any case, defining :format is less error prone and is similar to what
entities and sub/super-scripts have for curly brackets.

Reported-by: Thibault Marin <thibault.marin@gmx.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109623>
2016-10-09 09:34:26 +02:00