Commit Graph

13217 Commits

Author SHA1 Message Date
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
Nicolas Goaziou 2113cbf296 org-element: Tiny refactoring
* lisp/org-element.el (org-element-interpret-data): Elements and objects
  are compared with `eq' instead of `equal'.  Also remove useless symbol
  prefix since move to lexical binding.
2016-10-08 00:47:43 +02:00
Nicolas Goaziou 2116162fe6 ob-core: Prevent spurious blanks lines when executing code
* lisp/ob-core.el (org-babel--insert-results-keyword):
(org-babel-where-is-src-block-result): Control better the number of
empty lines around results of a source block evaluation.

* testing/lisp/test-ob.el (test-ob/blocks-with-spaces): Add tests.
(test-ob/specific-colnames): Fix test.
2016-10-07 23:56:37 +02:00
Nicolas Goaziou 91e26352c5 org-lint: Improve report
* lisp/org-lint.el (org-lint-extraneous-element-in-footnote-section):
  More accurate report for extraneous elements in footnotes section.
2016-10-06 00:23:02 +02:00
Nicolas Goaziou 64ea67c38f Revert "org-lint: Tolerate drawers in footnotes section"
This reverts commit f0b3fa5e6e.
2016-10-06 00:22:38 +02:00
Nicolas Goaziou f0b3fa5e6e org-lint: Tolerate drawers in footnotes section
* lisp/org-lint.el (org-lint-extraneous-element-in-footnote-section):
  Tolerate drawers (e.g., logbook) as extraneous elements in a footnote
  section.
2016-10-06 00:18:50 +02:00
Nicolas Goaziou b42b3aaafc org-archive: Fix archive to datetree
* lisp/org-archive.el (org-archive-subtree): Fix archiving an entry in
  a date tree before an existing entry in the same month.

Reported-by: Klarre N <klarre@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109614>
2016-10-05 23:57:08 +02:00
Nicolas Goaziou 966e0bff56 Change `org-align-tags-here' into `org--align-tags-here'
* lisp/org.el (org-align-tags-here): Renamed to...
(org--align-tags-here): ... this.

This change emphasizes the fact that, as an internal function, it
shouldn't be used without special care.  This also prevents confusing
between this function and `org-set-tags' called with a non-nil ALIGN
argument.
2016-10-05 11:54:49 +02:00
Nicolas Goaziou d907041911 Change :version in defcustoms from "25.1" to "25.2"
* lisp/ob-exp.el (org-babel-exp-inline-code-template):
* lisp/ob-lisp.el (org-babel-lisp-eval-fn):
* lisp/org-agenda.el (org-agenda-view-columns-initially):
* lisp/org-attach.el (org-attach-commit):
(org-attach-archive-delete):
(org-attach-annex-auto-get):
* lisp/org-bibtex.el (org-bibtex-inherit-tags):
* lisp/org-clock.el (org-clock-into-drawer):
* lisp/org-colview.el (org-columns-summary-types):
* lisp/org-table.el (org-table-copy-increment):
(org-table-formula-create-columns):
(org-table-convert-region-max-lines):
* lisp/org-timer.el (org-timer-default-timer):
* lisp/org.el (org-export-backends):
(org-cycle-hook):
(org-occur-case-fold-search):
(org-preview-latex-image-directory):
(org-latex-default-packages-alist):
(org-sparse-tree-default-date-type):
(org-structure-template-alist):
(org-effort-durations):
(org-agenda-ignore-properties): Change :version from "25.1" to "25.2".
(customize-package-emacs-version-alist): Fix associations between Org
and Emacs releases.
* lisp/ox-ascii.el (org-ascii-list-margin):
* lisp/ox-beamer.el (org-beamer-subtitle-format):
* lisp/ox-html.el (org-html-format-headline-function):
(org-html-format-inlinetask-function):
(org-html-viewport):
* lisp/ox-latex.el (org-latex-caption-above):
(org-latex-prefer-user-labels):
(org-latex-subtitle-format):
(org-latex-hyperref-template):
(org-latex-images-centered):
(org-latex-text-markup-alist):
(org-latex-format-inlinetask-function):
(org-latex-custom-lang-environments):
(org-latex-compiler-file-string):
(org-latex-compiler):
(org-latex-bib-compiler):
(org-latex-logfiles-extensions):
(org-latex-known-warnings):
* lisp/ox-md.el (org-md-footnotes-section):
(org-md-footnote-format):
* lisp/ox-odt.el (org-odt-format-headline-function):
(org-odt-format-inlinetask-function):
(org-odt-inline-image-rules):
* lisp/ox-texinfo.el (org-texinfo-format-headline-function):
* lisp/ox.el (org-export-with-creator):
(org-export-with-title):
(org-export-with-broken-links):
(org-export-copy-to-kill-ring): Change :version from "25.1" to "25.2".

Neither Org 8.3 nor Org 9.0 were released with Emacs 25.1.
2016-10-05 11:18:39 +02:00
Nicolas Goaziou 30fc890acd Change "Org-mode" into "Org mode"
* lisp/org.el (org-version):
(org-mode-hook):
(org-modules):
(org-support-shift-select):
(org-startup):
(org-replace-disputed-keys):
(org-disputed-keys):
(org-keywords):
(org-cycle):
(org-edit-structure):
(org-sparse-trees):
(org-imenu-and-speedbar):
(org-table):
(org-enable-table-editor):
(org-link):
(org-link-store):
(org-link-follow):
(org-refile):
(org-todo):
(org-progress):
(org-priorities):
(org-time):
(org-tags):
(org-properties):
(org-agenda):
(org-latex):
(org-archive):
(org-fontify-like-in-org-mode):
(orgstruct-mode):
(org-run-like-in-org-mode):
(org-open-link-from-string):
(org-mark-ring):
(org-cdlatex-mode):
(org-shiftselect-error):
(org-submit-bug-report):
(org-create-customize-menu):
(org-speedbar-set-agenda-restriction): Change "Org-mode" into "Org
mode".
2016-10-05 10:10:54 +02:00
Nicolas Goaziou 12f883cd02 Consistently align tags under Org Indent mode
* lisp/org.el (org-set-tags): Refactor alignment part using
  `org-align-tags-here'.
(org-fix-tags-on-the-fly):
(org-delete-indentation):
(org-return): Use `org-set-tags' instead of low-level
`org-align-tags-here' so as to handle virtual indentation.
2016-10-05 10:05:08 +02:00
Marco Wahl 73efd7cac5 Merge branch 'maint' 2016-10-04 18:17:51 +02:00
Marco Wahl 4d7d52ecd1 org-agenda: Fix a docstring
* lisp/org-agenda.el(org-agenda-entry-text-maxlines): Docstring fix.
2016-10-04 18:13:57 +02:00
Nicolas Goaziou 7b42b4a62e Fix `org-ctrl-c-ctrl-c'
* lisp/org.el (org-ctrl-c-ctrl-c): Correctly set tags when called on an
  unsupported object type (e.g., a code snippet) in a headline or
  inlinetask.
2016-10-04 17:32:24 +02:00
Nicolas Goaziou 50f2061418 Improve docstring
* lisp/org.el (org-insert-heading): Document limitation on where
  a headline can be split.

Reported-by: Jorge <jorge13515@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109510>
2016-10-04 12:01:41 +02:00
Nicolas Goaziou d4c63febc9 Fix typo in docstring
* lisp/org.el (org-insert-heading): Fix typo.
2016-10-04 11:38:33 +02:00
Nicolas Goaziou 2b03e945a1 Fix consistency with `org-insert-heading' called with an argument
* lisp/org.el (org-insert-heading): Consistently add a new heading at
  the end of the subtree when called with an universal argument, even if
  point is at beginning of line.

Reported-by: Jorge <jorge13515@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109510>
2016-10-04 11:33:10 +02:00
Nicolas Goaziou 45c775a4d2 ox-latex: Set default figure position to htbp
* lisp/ox-latex.el (org-latex-default-figure-position): Change default
  value.  Add missing keywords.

Reported-by: Jean Louis <guix@rcdrun.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109468>
2016-10-02 09:54:17 +02:00
Nicolas Goaziou eda8ac493f Fix inconsistencies in `org-occur' binding
* doc/org.texi (Sparse trees): Add C-c / / binding for `org-occur'.
* lisp/org.el (org-sparse-tree): Mention "r" suffix for consistency with
  other entries in the help menu.
2016-10-02 00:30:14 +02:00
Nicolas Goaziou 005b3c07bb Fix a docstring
* lisp/org.el (org-insert-heading): Fix docstring.
2016-10-01 23:59:34 +02:00
Nicolas Goaziou 29830f7214 ob-core: Make `org-babel-hash-show-time' a defcustom
* lisp/ob-core.el (org-babel-hash-show-time): Change into a defcustom.
2016-10-01 10:35:14 +02:00
Nicolas Goaziou 9d7d650cd7 ob-core: Fix hash with time stamp
* lisp/ob-core.el (org-babel-result-regexp): Fix regexp.
(org-babel--insert-results-keyword): Simplify format-string.
(org-babel--clear-results-maybe): Fix return value.

* testing/lisp/test-ob.el (test-ob/where-is-src-block-result): Add
  tests.

Reported-by: Thomas Alexander Gerds <tag@biostat.ku.dk>
<http://permalink.gmane.org/gmane.emacs.orgmode/109418>
2016-10-01 10:30:53 +02:00
Nicolas Goaziou b3c556d83a Fix tags alignment when headline contains invisible text
* lisp/org.el (org-align-tags-here): Do not use `org-move-to-column',
  which may move point on the other side of some invisible text.
  Refactor code.

* testing/lisp/test-org.el (test-org/tag-align): Add test.

Reported-by: Michael Fiano <michael.fiano@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109435>
2016-09-30 00:58:21 +02:00
Nicolas Goaziou 12196b8472 Fix documentation
* doc/org.texi (Conventions): Remove unhelpful and wrong footnote.
(Initial visibility): Remove spurious paragraph.
(Global and local cycling):
(Motion): Fix function name.
(Plain lists): Reverse prefix argument action.
(Column width and alignment):
(Column groups):
(Tag inheritance):
(Tag hierarchy):
(The date/time prompt): Fix typo
(Link abbreviations):
(Tag searches):
(Timers): Fix wording.
(Checkboxes): Improve accuracy of footnote.  Correctly describe the
behaviour of `org-toggle-checkbox' on a headline.
(Filtering/limiting agenda items): More accurate description for `+' and
`-'.  Also remove unused `\' key.
(Agenda commands): Fix behaviour description.

* lisp/org-agenda.el (org-agenda-filter-by-tag): Fix docstring
  appearance.
(org-agenda-show-and-scroll-up): Fix wording.

* lisp/org-id.el (org-id-link-to-org-use-id): Fix function name.
(org-id-update-id-locations): Remove reference to unused argument.

* lisp/org.el (org-insert-heading): Improve docstring.
(org-insert-todo-heading): Describe behavior on a plain list item.
(org-update-statistics-cookies): Describe behavior when called with
a prefix argument.
(org-metaright): Fix typo.
(org-kill-note-or-show-branches): Fix function name.
(org-yank): Fix wording.

Reported-by: Jorge <jorge13515@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/109428>
2016-09-29 22:22:56 +02:00
Nicolas Goaziou 2b22d503e1 org-table: Fix inserting a new row
* lisp/org-table.el (org-table-insert-row): Fix inserting a new row when
  the buffer doesn't end with a newline character.  Tiny refactoring.

* testing/lisp/test-org-table.el (test-org-table/next-field): New test.
2016-09-28 23:33:32 +02:00
Marco Wahl ece6e39dfc ob-tangle: Fix jump from tangle to org
* lisp/ob-tangle.el (org-babel-tangle-jump-to-org): Fix the jump from a
  tangled part to the respective org in the case when an org-id defines
  the linking.

  The recent (buggy) behavior was to find the file which has the org-id as
  filename.
2016-09-28 14:07:56 +02:00
Nicolas Goaziou 9a7297a281 Silence byte-compiler 2016-09-26 23:13:52 +02:00
Nicolas Goaziou a1199f040f Move obsolete function to "org-compat"
* lisp/org.el (org-in-fixed-width-region-p): Move to...
* lisp/org-compat.el (org-in-fixed-width-region-p): ... here.
2016-09-26 23:03:49 +02:00
Aaron Ecay 79dab621f9 ox-latex: tiny refactoring.
* lisp/ox-latex.el (org-latex--insert-compiler): Refactor.
2016-09-26 16:56:19 +01:00
Aaron Ecay 9bbd9e5ae2 org.el: Omit redundant optional argument
* lisp/org.el (org-ctrl-c-ctrl-c): Omit redundant optional argument to
`local-variable-p'.
2016-09-26 16:56:19 +01:00
Aaron Ecay 7772ba6e69 org.el: assume `display-warning' is defined
* lisp/org.el (org-display-warning): Assume `display-warning' is
defined.

It is present in emacs since at least 2002
2016-09-26 16:56:19 +01:00
Aaron Ecay 092acf7e67 org.el: obsolete org-in-fixed-width-region-p
* lisp/org.el (org-in-fixed-width-region-p): Make obsolete.

It has no calls in core or contrib, and its function would be better
served by using the parser.
2016-09-26 16:56:19 +01:00
Aaron Ecay 7b930dd201 org.el: Assume `command-remapping' is defined.
* lisp/org.el (org-remap): Assume `command-remapping' is defined.

It was added to emacs in 2003.
2016-09-26 16:56:19 +01:00
Aaron Ecay d00d44d6ff Tiny refactoring
* lisp/org.el: (org-dvipng-color, org-latex-color): Use *-color-format
functions.
(org-dvipng-color-format, org-latex-color-format): Use sharp-quotes.
2016-09-26 16:56:19 +01:00
Nicolas Goaziou 2e4b66f5f5 Fix some `cl-case' uses
* lisp/org-capture.el (org-capture-finalize):
* lisp/org-timer.el (org-timer-set-mode-line): Symbols need not be
  quoted in `cl-case'.
2016-09-25 21:08:36 +02:00
Aaron Ecay aafb3b5fdd Fix docstring typo.
* lisp/org.el (org-shorten-string): Fix docstring typo.
2016-09-25 16:39:30 +01:00
Aaron Ecay 140aacbf2f Use ‘eq’ instead of ‘equal’ for symbols
* lisp/ob-C.el (org-babel-C-val-to-C-type):
* lisp/ob-core.el (org-babel-get-colnames):
(org-babel-disassemble-tables):
* lisp/ob-lua.el (org-babel-lua-var-to-lua):
(org-babel-lua-table-or-string):
* lisp/ob-python.el (org-babel-python-var-to-python):
(org-babel-python-table-or-string):
* lisp/ob-ruby.el (org-babel-ruby-var-to-ruby):
(org-babel-ruby-table-or-string):
* lisp/ob-shell.el (org-babel-sh-var-to-string):
* lisp/ob-sqlite.el (org-babel-sqlite-table-or-scalar):
* lisp/org-agenda.el (org-agenda-prepare-window):
(org-compile-prefix-format):
* lisp/org-bibtex.el (org-bibtex-headline):
* lisp/org-capture.el (org-capture):
* lisp/org-colview.el (org-columns-next-allowed-value):
* lisp/org-mhe.el (org-mhe-store-link):
(org-mhe-get-message-real-folder):
(org-mhe-get-message-folder):
(org-mhe-get-message-num):
(org-mhe-get-header):
(org-mhe-follow-link):
* lisp/org-table.el (org-define-lookup-function):
* lisp/org.el (format-spec):
* lisp/ox-odt.el (org-odt--translate-description-lists):
* lisp/ox-publish.el (org-publish-compare-directory-files):
Use `eq' instead of `equal' when comparing to symbols.
* lisp/org-timer.el (org-timer-set-mode-line):
* lisp/org-capture.el (org-capture-finalize):
Use `cl-case' instead of `(cond ((eq x 'foo) ...) ...)'.
2016-09-25 16:29:06 +01:00
Nicolas Goaziou eb3dd6186d Silence byte-compiler
* lisp/org-faces.el (org-src-block-faces): Move it from here...
* lisp/org-src.el (org-src-block-faces): ... to here.
2016-09-24 10:52:49 +02:00
Nicolas Goaziou 5bc8492388 Tiny refactoring
* lisp/org.el (org-edit-special): Tiny refactoring.
2016-09-24 09:07:12 +02:00
Nicolas Goaziou 038c50a721 Fix a docstring
* lisp/org.el (org-copy-special): Fix docstring.  Tiny refactoring.
2016-09-24 09:04:40 +02:00
Nicolas Goaziou 3880789ea5 Fix a docstring
* lisp/org.el (org-cut-special): Fix docstring.  Tiny refactoring.
2016-09-24 09:03:00 +02:00
Aaron Ecay 48e7f17bc6 Use assq instead of assoc with quoted symbols
* lisp/ob-core.el (org-babel-merge-params):
* lisp/org-agenda.el (org-agenda-prepare-window):
(org-agenda-to-appt):
* lisp/org-capture.el (org-capture-finalize):
* lisp/org.el (org-find-invisible-foreground):
(org-open-file):
(org-todo-trigger-tag-changes):
(org-back-over-empty-lines):
* lisp/ox-odt.el (org-odt-get-table-cell-styles):
Use assq instead of assoc with quoted symbols.
2016-09-23 11:20:55 +01:00
Aaron Ecay 79650ffbbd Use assq instead of assoc for :keywords
* lisp/ob-C.el (org-babel-C-execute):
* lisp/ob-J.el (org-babel-execute:J):
* lisp/ob-R.el (org-babel-edit-prep:R):
(org-babel-expand-body:R):
(org-babel-execute:R):
(org-babel-variable-assignments:R):
(org-babel-R-initiate-session):
* lisp/ob-abc.el (org-babel-execute:abc):
* lisp/ob-asymptote.el (org-babel-execute:asymptote):
* lisp/ob-awk.el (org-babel-execute:awk):
* lisp/ob-clojure.el (org-babel-expand-body:clojure):
(org-babel-execute:clojure):
* lisp/ob-core.el (org-babel-expand-body:generic):
(org-babel-load-in-session):
(org-babel-initiate-session):
(org-babel-open-src-block-result):
(org-babel-process-params):
(org-babel-insert-result):
(org-babel-expand-noweb-references):
* lisp/ob-ditaa.el (org-babel-execute:ditaa):
* lisp/ob-dot.el (org-babel-execute:dot):
* lisp/ob-ebnf.el (org-babel-execute:ebnf):
* lisp/ob-emacs-lisp.el (org-babel-expand-body:emacs-lisp):
(org-babel-execute:emacs-lisp):
* lisp/ob-exp.el (org-babel-exp-process-buffer):
(org-babel-exp-do-export):
(org-babel-exp-code):
* lisp/ob-forth.el (org-babel-execute:forth):
* lisp/ob-fortran.el (org-babel-execute:fortran):
* lisp/ob-gnuplot.el (org-babel-gnuplot-process-vars):
(org-babel-expand-body:gnuplot):
(org-babel-execute:gnuplot):
* lisp/ob-groovy.el (org-babel-execute:groovy):
* lisp/ob-haskell.el (org-babel-execute:haskell):
* lisp/ob-io.el (org-babel-execute:io):
* lisp/ob-java.el (org-babel-execute:java):
* lisp/ob-js.el (org-babel-execute:js):
* lisp/ob-latex.el (org-babel-execute:latex):
* lisp/ob-ledger.el (org-babel-execute:ledger):
* lisp/ob-lilypond.el (org-babel-lilypond-process-basic):
* lisp/ob-lisp.el (org-babel-expand-body:lisp):
(org-babel-execute:lisp):
* lisp/ob-lua.el (org-babel-execute:lua):
* lisp/ob-maxima.el (org-babel-execute:maxima):
* lisp/ob-mscgen.el (org-babel-execute:mscgen):
* lisp/ob-ocaml.el (org-babel-execute:ocaml):
* lisp/ob-octave.el (org-babel-execute:octave):
* lisp/ob-org.el (org-babel-execute:org):
* lisp/ob-perl.el (org-babel-execute:perl):
* lisp/ob-picolisp.el (org-babel-execute:picolisp):
* lisp/ob-plantuml.el (org-babel-execute:plantuml):
* lisp/ob-python.el (org-babel-execute:python):
* lisp/ob-ruby.el (org-babel-execute:ruby):
* lisp/ob-sass.el (org-babel-execute:sass):
* lisp/ob-scala.el (org-babel-execute:scala):
* lisp/ob-scheme.el (org-babel-execute:scheme):
* lisp/ob-screen.el (org-babel-execute:screen):
(org-babel-prep-session:screen):
* lisp/ob-shell.el (org-babel-execute:shell):
(org-babel-variable-assignments:shell):
(org-babel-sh-evaluate):
* lisp/ob-shen.el (org-babel-execute:shen):
* lisp/ob-sql.el (org-babel-execute:sql):
* lisp/ob-sqlite.el (org-babel-execute:sqlite):
* lisp/ob-tangle.el (org-babel-tangle):
(org-babel-tangle-single-block):
* lisp/org-src.el (org-src-associate-babel-session):
* lisp/org.el (org-next-link):
Use `assq' instead of `assoc' with :keyword keys.
2016-09-23 11:20:09 +01:00
Konubinix 3dbb74c4f4 Indicate what happens to CLOCK entries in cloned subtrees
* lisp/org.el (org-clone-subtree-with-time-shift): Add into the documentation
  string a precision about the deletion of the CLOCK entries into the cloned
  subtrees.  Indicate the rationale for this decision.
2016-09-22 21:55:09 +02:00
Nicolas Goaziou 6fbec75843 org-faces: Fix a docstring
* lisp/org-faces.el (org-src-block-faces): Fix quote in docstring.
2016-09-22 21:45:58 +02:00
Nicolas Goaziou bfc9c815e2 org-src: Tiny fix
* lisp/org-src.el (org-src-font-lock-fontify-block): Ensure LANG is case
  insensitive.
2016-09-22 21:43:38 +02:00
Rasmus 687214a092 Fix e03e837
* lisp/org-src.el (org-src-font-lock-fontify-block): Fix typos and
  silence byte-compiler.
2016-09-22 09:34:31 +02:00
Rasmus e03e837168 org-src: New syntax for source blocks faces
* doc/org.texi (Editing source code): Document changes.
* lisp/org-faces.el (org-block): Update docstring.
  (org-src-block-faces): New defcustom for source-block faces.
* lisp/org-src.el (org-src-font-lock-fontify-block): Use
  org-src-block-faces.
* etc/ORG-NEWS: Update NEWS entry.
2016-09-22 09:31:43 +02:00
Nicolas Goaziou 19113219ba org-lint: Fix Babel header arg value checker
* lisp/org-lint.el (org-lint-wrong-header-value): Do not merge in
  default values for header arguments, since we are only checking those
  defined in the buffer.
2016-09-19 00:56:34 +02:00
Kyle Meyer 7cb0decdc7 Merge branch 'maint' 2016-09-18 11:30:18 -04:00
Nicolas Goaziou 149b8046ac `org-open-line' ignores tables at the very beginning of the document
* lisp/org.el (org-open-line): Ignore tables at the very beginning of
  the document.
* testing/lisp/test-org.el (test-org/open-line): New test.
2016-09-18 17:22:48 +02:00
Michael Albinus f46b92df92 Backport commit 2c05061 from Emacs
* lisp/ob-core.el (org-babel-local-file-name): Use `file-remote-p'.

Add `make-nearby-temp-file' and `temporary-file-directory'
2c0506173d92dd9d6de409a045668c6b5cf1fcef
Michael Albinus
Sun Aug 7 13:57:23 2016 +0200
2016-09-18 11:10:41 -04:00
Jakob Lombacher c257e31d10 ob-sql: Add dbport and dbpassword options to postgresql
* lisp/ob-sql.el (org-babel-sql-dbstring-postgresql): Add port
  parameter.
(org-babel-execute:sql): Handle password and port in `postgresql' SQL
engine.

TINYCHANGE.
2016-09-17 10:34:59 +02:00
Nicolas Goaziou e1982a0a92 org.el: Respect user-defined reftex-cite-format
* lisp/org.el (org-reftex-citation): Respect user-defined reftex
  citation formats.

Suggested-by: Sebastian Boehm <sebastian@sometimesfood.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/109175>
2016-09-17 10:28:41 +02:00
Nicolas Goaziou 0ba465b899 ob-J: Add missing keywords in defcustom
* lisp/ob-J.el (org-babel-J-command): Add missing keywords.
2016-09-14 23:27:17 +02:00
Marco Wahl f61bf84836 ob-J: allow also letter 'j' indicate J code
* lisp/ob-J.el (org-babel-execute:j): Make `org-babel-execute:j' an
  alias of `org-babel-execute:J'.  This allows to use the letter
  'j' (and not only 'J') to identify the J-language for a source-block.

  Note: The source-block marked with 'j' gets the highlighting
  according j-mode.
2016-09-14 11:54:01 +02:00
Marco Wahl bb91f138b9 ob-J: New variable to specify the call to J
* lisp/ob-J.el (org-babel-J-command): New custom variable
  `org-babel-J-command' to store the command to call J.
2016-09-14 11:31:56 +02:00
Marco Wahl d68497d887 Merge branch 'maint' 2016-09-12 12:04:34 +02:00
Marco Wahl b113d4e1e6 org-agenda: Skip invisible line at bulk marking
* lisp/org-agenda.el (org-agenda-bulk-mark-regexp): When point is on an
  invisible part move point ahead one line (and don't mark that line.)
2016-09-12 11:44:49 +02:00
Nicolas Goaziou b5403dda35 org-compat: Silence byte-compiler 2016-09-07 18:31:23 +02:00
Nicolas Goaziou d66721f6b0 ox: Use tabulated lists for export stack display
* lisp/ox.el (org-export-stack):
(org-export-stack-mode):
(org-export--stack-generate):
(org-export--stack-num-predicate):
(org-export--stack-source-at-point): Use tabulated lists.
2016-09-07 18:27:54 +02:00
Nicolas Goaziou d1c1b7f8fa Move obsolete functions to "org-compat.el"
* lisp/org.el (org-sublist):
(org-table-recognize-table.el):
(org-minutes-to-hh:mm-string):
(org-remove-angle-brackets):
(org-remove-double-quotes): Move functions...
* lisp/org-compat.el: ... here.
2016-09-07 16:12:10 +02:00
Nicolas Goaziou ddb823e196 org-footnote: Silence byte-compiler
* lisp/org-footnote.el (org-footnote-normalize-label): Silence
  byte-compiler.
2016-09-07 15:56:38 +02:00
Nicolas Goaziou 56d75f0a24 org-table: Small refactoring
* lisp/org-table.el (org-table-justify-field-maybe): Small refactoring.
2016-09-06 00:31:46 +02:00
Nicolas Goaziou 7612fb2b9a Remove compatibility code for subr-x.el defsubsts
* lisp/org-compat.el: Remove compatibility code for subr-x.el defsubsts.
* lisp/org-footnote.el (org-footnote-normalize-label):
* lisp/org-macs.el (org-unbracket-string): Avoid using subr-x.el
  functions.
2016-09-06 00:08:32 +02:00
Nicolas Goaziou 5b5f9a874c Merge branch 'maint' 2016-09-05 18:21:29 +02:00
Nicolas Goaziou ab79736843 org-table: Fix alignment issue with entities
* lisp/org-table.el (org-table-justify-field-maybe): Preserve text
  properties so entities can be properly aligned.
2016-09-05 18:08:31 +02:00
Nicolas Goaziou a4f5d35fcc org-agenda: Tiny fix
* lisp/org-agenda.el (org-agenda-write): Allow writing ".htm" files.
2016-09-03 09:32:46 +02:00
Aaron Ecay 1509906e29 ob-comint: Fix org-babel-comint-in-buffer
* lisp/ob-comint.el (org-babel-comint-in-buffer):
Fix bug.

The function’s docstring says it wraps BODY in ‘save-excursion’, but in
fact it did not.
2016-09-03 02:48:23 +01:00
Aaron Ecay d350baf2db babel: change single-armed ‘if’ statements to ‘when’
* lisp/ob-comint.el (org-babel-comint-eval-invisibly-and-wait-for-file):
* lisp/ob-core.el (org-babel-initiate-session):
(org-babel-hide-result-toggle):
(org-babel-insert-result):
* lisp/ob-eval.el (org-babel--shell-command-on-region):
* lisp/ob-table.el (org-babel-table-truncate-at-newline):
* lisp/ob-tangle.el (org-babel-tangle):
Change `if' without else to `when'.
2016-09-03 02:45:27 +01:00
Aaron Ecay 6e3ff4acc5 Deprecate org-remove-(angle-brackets,double-quotes)
* lisp/org.el (org-remove-angle-brackets, org-remove-double-quotes):
Deprecate.
* lisp/org-gnus.el (org-gnus-store-link):
* lisp/org-lint.el (org-lint-non-existent-setupfile-parameter):
(org-lint-wrong-include-link-parameter):
* lisp/org-macro.el (org-macro--collect-macros):
* lisp/org-mhe.el (org-mhe-store-link):
* lisp/org-rmail.el (org-rmail-store-link):
* lisp/org.el (org--setup-collect-keywords):
(org-insert-link):
(org-translate-link-from-planner):
(org-offer-links-in-entry):
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing):
* lisp/ox.el (org-export--get-inbuffer-options):
(org-export--list-bound-variables):
(org-export-expand-include-keyword): Replace with `org-unbracket-string'.
2016-09-03 02:22:11 +01:00
Aaron Ecay f7c01f217b Add obsolescence warning
* lisp/org-capture.el (org-capture-import-remember-templates):
Add obsolescence warning.
2016-09-03 02:11:18 +01:00
Aaron Ecay 1c18efb615 String handling improvements.
* lisp/org-agenda.el (org-agenda-export-csv-mapper): Use `replace-regexp-in-string'.
* lisp/org-capture.el (org-capture): Use `string-prefix-p'.
* lisp/org-compat.el (string-blank-p, string-remove-prefix):
* lisp/org-compat.el (string-remove-suffix): Add compatibility defuns
for emacs 24.3.
* lisp/org-datetree.el (org-datetree-cleanup): Use `string-suffix-p'.
* lisp/org-footnote.el (org-footnote-normalize-label): Use
`string-remove-prefix'.
* lisp/org-gnus.el (org-gnus-group-link): Use `string-prefix-p'.
* lisp/org-list.el (org-list-struct):
(org-list-get-list-type, org-list-send-item):
(org-list-use-alpha-bul-p): Use `string-match-p'.
* lisp/org.el (org-paste-subtree): Use `string-suffix-p'.
(org-open-file, org-refile-get-targets): Use `replace-regexp-in-string'.
(org-make-tags-matcher): Use `string-prefix-p'.
(org-set-tags): Use `string-(prefix,suffix)-p'.
* lisp/ox-beamer.el (org-beamer--element-has-overlay-p):
(org-beamer--format-block):
Use `string-(prefix,suffix)-p'.
* lisp/ox-html.el (org-html-fix-class-name): Use `replace-regexp-in-string'.
* lisp/ox-md.el (org-md-verbatim): Use `string-(prefix,suffix)-p'.
(org-md-paragraph): Use `string-prefix-p'.
2016-09-03 02:05:10 +01:00
Aaron Ecay c997bf7ff1 assoc -> assq
* lisp/ob-sqlite.el (org-babel-execute:sqlite): Change `assoc' to `assq'.
2016-09-03 01:57:53 +01:00
Aaron Ecay a3adfb062b Introduce new function for removing paired delimiters from string.
* lisp/org-macs.el (org-unbracket-string): New function.
* lisp/ob-core.el (org-babel-strip-quotes):
* lisp/ob-lua.el (org-babel-lua-read-string):
* lisp/ox-beamer.el (org-beamer--normalize-argument): Use it.
2016-09-03 01:55:45 +01:00
Aaron Ecay 79999af264 ob-core: Rename and refactor a function
* lisp/ob-core.el (org-babel--string-to-number): Rename and refactor
from `org-babel-number-p'.
(org-babel-read-element, org-babel-read): Apply renaming.

The old name implies that the function is a predicate, but it’s actually
a type conversion function.
2016-09-03 01:52:27 +01:00
Aaron Ecay ab04bab4d6 Use org-with-wide-buffer where appropriate
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
(org-agenda-refile, org-agenda-open-link):
(org-agenda-change-all-lines, org-agenda-clock-out):
* lisp/org-capture.el (org-capture-refile):
(org-capture-bookmark-last-stored-position):
* lisp/org-clock.el (org-with-clock-position):
(org-clock-in):
* lisp/org-table.el (org-table-recalculate-buffer-tables):
(org-table-iterate-buffer-tables):
* lisp/org.el (org-table-map-tables):
(org-outline-overlay-data, org-refresh-properties):
(org-refresh-stats-properties, org-offer-links-in-entry):
(org-refile, org-refile-check-position):
(org-refile-new-child, org-map-entries):
(org-find-exact-headline-in-buffer):
(org-reftex-citation, org-imenu-get-tree):
Use `org-with-wide-buffer'.
2016-09-03 01:44:58 +01:00
Aaron Ecay 17efe53170 ox-md: pacify byte compiler
* lisp/ox-md.el (org-md--footnote-section):
(org-md-inner-template): Fix byte compiler warnings.
2016-09-03 01:26:45 +01:00
Aaron Ecay ab21e2b72d Use file-name-extension where appropriate
* lisp/ob-R.el (org-babel-R-construct-graphics-device-call):
* lisp/ob-asymptote.el (org-babel-execute:asymptote):
* lisp/ob-latex.el (org-babel-execute:latex):
* lisp/org-agenda.el (org-agenda-write):
* lisp/ox-odt.el (org-odt--copy-formula-file): Use `file-name-extension'
instead of string munging.
2016-09-01 18:46:48 +01:00
Jake Romer d4a073f5be ox-md.el: Export footnotes section as Markdown
* lisp/ox-md.el (org-md--headline-title): New function.
(org-md-headline): Use `org-md-headline-title' to generate section
headers.
(org-md--footnote-formatted): New function.
(org-md--footnote-section): New function.
(org-md-inner-template): Update to use `org-md-footnote-section'.
(org-md-footnotes-section): New customizable variable.
(org-md-footnote-format): New customizable variable.

Update ox-md.el to export the Footnotes section as Markdown, using HTML
only where necessary - namely, in footnote and footnote reference links.
2016-09-01 18:41:52 +02:00
Nicolas Goaziou cd18ac22ff Merge branch 'maint' 2016-09-01 18:33:19 +02:00
Nicolas Goaziou d2cb298e72 ox-html: Remove duplicate option in back-end
* lisp/ox-html.el (html): Remove spurious :html-link-use-abs-url option.

Reported-by: Arun Isaac <arunisaac@systemreboot.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/108952>
2016-09-01 18:32:16 +02:00
Nicolas Goaziou 0d7e86608e Merge branch 'maint' 2016-09-01 18:26:48 +02:00
Aaron Ecay 890ed78c0d babel: replace org-babel-*-read-string functions with single version.
* lisp/ob-core.el (org-babel-strip-quotes): New function.
* lisp/ob-haskell.el (org-babel-haskell-read-string): Remove.
(org-babel-execute:haskell): Use new function.
* lisp/ob-octave.el (org-babel-octave-read-string): Remove.
(org-babel-octave-evaluate-session): Use new function.
* lisp/ob-ruby.el (org-babel-ruby-read-string): Remove.
2016-09-01 16:57:57 +01:00
Aaron Ecay ab5e100806 Fix ISO Latin1 expansion of \Delta
* lisp/org-entities.el (org-entities): Fix entry for Delta.

Reported by Matthew Junker
2016-09-01 16:50:09 +01:00
Nick Dokos 38de6b6ed4 Merge branch 'maint' 2016-08-31 12:07:32 -04:00
Nick Dokos 96b410f896 Fix scheme expression parsing
* org-babel-scheme-execute-with-geiser: Do not use elisp reader to parse scheme expression.

Reported by Lawrence Bottorff:

http://lists.gnu.org/archive/html/emacs-orgmode/2016-08/msg00328.html

and also

https://lists.gnu.org/archive/html/emacs-orgmode/2015-09/msg00390.html
2016-08-31 11:51:38 -04:00
Nicolas Goaziou f685535f72 Merge branch 'maint' 2016-08-30 11:52:23 +02:00
Konstantin Kliakhandler bca5bd1e40 org-entities: Correct unicode symbol of circ
* org-entities.el (org-entities): Change the unicode symbol of circ to
  "ring operator" (#x2218).

TINYCHANGE
2016-08-30 11:50:09 +02:00
Nicolas Goaziou ee4e3eb8f7 ob-lua: Silence byte-compiler 2016-08-29 15:39:05 +02:00
thibault c72a0d2df9 ox-html: Add pre.src-lua to CSS
* lisp/ox-html.el (org-html-style-default): Add pre.src-lua to CSS.
2016-08-29 09:03:27 +02:00
Nicolas Goaziou cddc7d8d2d ob-lua: Use cl-lib
* lisp/ob-lua.el (org-babel-lua-evaluate-session): Refactor code to
  avoid using unprefixed "cl" macro.
2016-08-29 08:57:10 +02:00
Nicolas Goaziou f795479432 ob-lua: Use lexical binding
* lisp/ob-lua.el (org-babel-lua-initiate-session-by-key):
(org-babel-lua-initiate-session):
(org-babel-lua-evaluate-session): Silence byte-compiler.
2016-08-29 08:57:10 +02:00
thibault 2090efaed7 ob-lua.el: Update library for Org 9.0
* lisp/ob-lua.el (org-babel-lua-evaluate-external-process):
(org-babel-lua-evaluate-session): Update for Org 9.0 compatibility.

* testing/test-ob-lua.el: New file.

TINYCHANGE
2016-08-29 08:57:10 +02:00
Dieter Schoen 66fbece100 ob-lua: New file 2016-08-29 08:57:10 +02:00
Nicolas Goaziou 56c93cc8c7 org-table: Tiny refactoring
* lisp/org-table.el (org-table-recalculate): Tiny refactoring.
2016-08-29 00:54:41 +02:00
Nicolas Goaziou a9aad1c8e1 Merge branch 'maint' 2016-08-29 00:45:07 +02:00
Nicolas Goaziou 2dfdafd35a org-table: Fix column formulas
* lisp/org-table.el (org-table-recalculate): Fix column formulas in
  tables consisting of a single row group.

Reported-by: Michael Welle <mwe012008@gmx.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/108886>
2016-08-29 00:43:38 +02:00
Aaron Ecay d5b720fb1e Fix entity definition of \nbsp
* lisp/org-entities.el (org-entities): Use a proper non-breaking space
for \nbsp.
2016-08-28 19:06:18 +01:00
Nicolas Goaziou cefe157d42 ox-latex: Fix typo
* lisp/ox-latex.el (org-latex--delayed-footnotes-definitions): Fix typo
  in docstring.
2016-08-28 12:14:39 +02:00
Nicolas Goaziou beb940cf56 org-compat: Silence byte-compiler 2016-08-28 12:12:55 +02:00
Nicolas Goaziou 7a14bd172c Merge branch 'maint' 2016-08-28 12:02:51 +02:00
Nicolas Goaziou b7c144a104 ox-html: Remove spurious newline at the end of inline source code
* lisp/ox-html.el (org-html-inline-src-block): Do not call
  `org-html-format-code', which is meant to be used for source blocks
  only.

Reported-by: Clément Pit--Claudel <clement.pit@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108890>
2016-08-28 12:01:08 +02:00
Nicolas Goaziou 3b3fc520aa Fix coderef handling in source blocks
* lisp/ob-core.el (org-babel--normalize-body): Do not remove coderef.
(org-babel-get-src-block-info): Add coderef label information, when
available, to the return value.
(org-babel-execute-src-block): Expand noweb and remove coderefs
non-destructively.
* lisp/ob-lob.el (org-babel-lob-get-info): Adapt to new INFO.

* testing/lisp/test-ob-exp.el (ob-export/body-with-coderef):
* testing/lisp/test-ob.el (test-ob/evaluate-body-with-coderefs): Add
  tests.

Reported-by: Thibault Marin <thibault.marin@gmx.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108888>
2016-08-28 11:56:14 +02:00
Aaron Ecay 6b52bc6a21 Clean up string handling.
* lisp/org-compat.el (string-prefix-p, string-suffix-p):
Add compatibility definitions for 24.3.

* lisp/ob-R.el (org-babel-edit-prep:R):
* lisp/ob-core.el (org-babel-demarcate-block):
* lisp/ob-js.el (org-babel-js-read):
* lisp/ob-latex.el (org-babel-execute:latex):
* lisp/ob-ref.el (org-babel-ref-parse):
* lisp/ob-shell.el (org-babel-variable-assignments:shell):
* lisp/org-protocol.el (org-protocol-create):
* lisp/org-table.el (org-table-field-info):
* lisp/org.el (org-get-buffer-for-internal-link):
* lisp/ox-publish.el (org-publish-compare-directory-files):
* lisp/ox-texinfo.el (org-texinfo-template):
Use `string-{suffix,prefix}-p' instead of `string-match(-p)'.

* lisp/ob-python.el (org-babel-python-read-string):
Ditto, also use `substring' rather than `match-string'.

* lisp/org-table.el (org-table-copy-down):
(org-table-insert-hline, org-table-current-field-formula):
(org-table-get-formula): Use `string-match-p' instead of
`string-match'.
2016-08-24 16:05:54 +01:00
Nicolas Goaziou de24694f05 Turn org-mode into Org or Org mode
Use Org or Org mode instead of org-mode or Org-mode according to
"Documentation standards".
2016-08-23 22:13:56 +02:00
Nicolas Goaziou 250567b133 Fix typo in a docstring
* lisp/org.el (org-link-abbrev-alist): Fix typo.
2016-08-23 10:47:18 +02:00
Nicolas Goaziou 112463cbff Handle tooltips on abbreviated links
* lisp/org.el (org-activate-bracket-links): Expand abbreviations before
  adding :help-echo property.

Reported-by: mc <mc@aiguphonie.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108785>
2016-08-23 09:34:29 +02:00
Nicolas Goaziou 596f585a7d ox-html: Tiny fix
* lisp/ox-html.el (org-html-paragraph): Move space after the figure
  number within the "figure-number" class so it can be hidden if needed.
  Small refactoring.
2016-08-22 22:13:24 +02:00
Nicolas Goaziou 579569cc84 ox-html: Number source blocks with listings
* lisp/ox-html.el (org-html-src-block): Number source block if it has
  a caption.  Numbering is done among source blocks with a caption,
  only.

Suggested-by: Clément Pit--Claudel <clement.pit@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108808>
2016-08-22 22:07:34 +02:00
Nicolas Goaziou 908b3b05cd ox-latex: Fix repeated footnotes in tables
* lisp/ox-latex.el (org-latex--delayed-footnotes-definitions): Fix
  referencing multiple occurrences of the same footnote in a table.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108789>
2016-08-22 12:07:34 +02:00
Nicolas Goaziou 71a3331aaf Move org-eww to core
* lisp/org-eww.el: Move file from contrib/lisp/ to lisp/.
* lisp/org.el (org-modules): Apply change.
* lisp/org-capture.el (org-capture-templates):
* doc/org.texi: Document changes.
2016-08-20 02:59:56 +02:00
Nicolas Goaziou c0924db32c Merge branch 'maint' 2016-08-20 00:27:33 +02:00
Nicolas Goaziou 589e96321b org-clock: Fix infloop when creating a clock table
* lisp/org-clock.el (org-clock-sum): Fix infloop when first headline in
  scope has a level strictly greater than 1.

Reported-by: Yichao Woo <wooyichao@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108606>
2016-08-20 00:22:13 +02:00
Nicolas Goaziou 6cb291a87b org-src: Silence byte-compiler 2016-08-19 16:19:36 +02:00
Nicolas Goaziou 190476e3e0 ob-core: Silence byte-compiler 2016-08-18 15:23:00 +02:00
Nicolas Goaziou 3771f35f80 org-src: Fix coderef regexp
* lisp/org-src.el (org-src-coderef-regexp): A coderef label cannot be
  consist of white spaces only.

* testing/lisp/test-org-src.el (test-org-src/coderef-regexp): Add test.
2016-08-18 01:04:28 +02:00
Nicolas Goaziou fea6dd167a Fix `org-store-link' in edit buffers
* lisp/org.el (org-store-link): Properly handle coderef insertion in an
  edit buffer.

This patch also removes check for duplicate coderef labels, so as to be
on par with other link types.
2016-08-17 23:45:38 +02:00
Nicolas Goaziou 48af4166fd Consider edit buffers in `org-src-coderef-regexp'
* lisp/org-src.el (org-src-coderef-format): New function
(org-src-coderef-regexp): Change signature.

* lisp/ob-core.el (org-babel--normalize-body):
* lisp/ox.el (org-export-unravel-code): Use new functions.

* testing/lisp/test-org-src.el (test-org-src/coderef-format): New test.
2016-08-17 23:43:38 +02:00
Nicolas Goaziou 910755208d Small fix to `org-store-link'
* lisp/org.el (org-store-link): Only call `org-with-limited-levels' in
  Org buffers.
2016-08-17 23:40:16 +02:00
Nicolas Goaziou 8e58c635ed org-src: Move function within library
* lisp/org-src.el (org-src-do-at-code-block): Move function definition
  out of Babel related section.
2016-08-17 23:37:55 +02:00
Nicolas Goaziou 48a8748aef ob-core: Silence byte-compiler 2016-08-08 22:01:57 +02:00
Nicolas Goaziou ff9ae29d03 Fix overlay breakage when updating statistics cookies
* lisp/org.el (org-update-parent-todo-statistics): Do not move overlay
  when updating statistics cookies.

Overlay moving was introduced in
28b88bbb11 to fix a bug that no longer
seems to be reproducible.  In any case, even if needed, this fix should
happen in "org-colview.el".

Reported-by: Clément Pit--Claudel <clement.pitclaudel@live.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108601>
2016-08-08 21:56:11 +02:00
Nicolas Goaziou 9f47b37231 Ignore coderef labels when evaluating a code block
* lisp/ob-core.el (org-babel--normalize-body): New function.
(org-babel-get-src-block-info): Use new function.

* lisp/org-src.el (org-src-coderef-regexp): New function.
* lisp/ox.el (org-export-unravel-code): Use new function.

* testing/lisp/test-ob.el (test-ob/evaluate-body-with-coderefs): New
  test.
2016-08-08 14:04:11 +02:00
Nicolas Goaziou 2538ffae65 org-mobile: Silence byte-compiler
* lisp/org-mobile.el (org-mobile-apply): Silence byte-compiler.
2016-08-08 13:29:09 +02:00
Nicolas Goaziou 9b5f964d71 ob-core: Tiny refactoring
* lisp/ob-core.el (org-babel-get-src-block-info): Tiny refactoring.
2016-08-08 13:13:11 +02:00
Robert Klein 7064667934 Update replacement for org-add-link-type
* lisp/org-compat.el ("org-add-link-type"):

replacement for org-add-link-type is org-link-set-parameters,
notorg-linkk-add, now.
2016-08-08 11:20:43 +02:00
Clément Pit--Claudel 4b9a634774 Copy all font-lock properties in org-src, not just face
* lisp/org-src (org-src-font-lock-fontify-block): Loop over
  `font-lock-extra-managed-props', thus copying other properties that
  might be applied using font-lock.  An example is composition, applied
  by `prettify-symbols-mode'.
2016-08-08 11:03:40 +02:00
Clément Pit--Claudel b7dd0e8511 Use font-lock-append-text-property to apply org-src faces
* lisp/org-src.el (org-src-font-lock-fontify-block): Replace anonymous
  faces with inheritance by lists of faces constructed by
  `font-lock-add-text-property`.  This properly deals with cases when
  the source buffer's `face' property is already a list.
2016-08-08 11:00:54 +02:00
Nicolas Goaziou b1f1f35049 org-mobile: Fix typo in penultimate commit
* lisp/org-mobile.el (org-mobile-action-alist): Remove spurious quoting
  level.
2016-08-08 09:19:24 +02:00
Nicolas Goaziou caefb363e6 org-mobile: Fix last commit
* lisp/org-mobile.el (org-mobile-action-alist): Use defconst instead of
  defvar.
2016-08-08 00:13:21 +02:00
Nicolas Goaziou f5500e033c org-mobile: Demote `org-mobile-action-alist' as a defvar
* lisp/org-mobile.el (org-mobile-action-alist): Make it a defconst
  instead of a defcustom.

This variable is not meant to be modified, because the interface used is
not clear enough.
2016-08-08 00:05:49 +02:00
Nicolas Goaziou 40d140c64c org-mobile: Fix "Execution failed" message on pull
* lisp/org-mobile.el (org-mobile-action-alist): Use a function instead
  of a sexp.
(org-mobile-apply): Apply changes.

Reported-by: Ian Dunn <dunni@gnu.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/108603>
2016-08-08 00:02:56 +02:00
Nicolas Goaziou 9798da77b2 Fix `org-map-tree' when called in an invisible heading
* lisp/org.el (org-map-tree): Move to closest heading above even if it
  is invisible.

Suggested-by: talwrii talwrii <talwrii@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108590>
2016-07-31 00:20:35 +02:00
Nicolas Goaziou 406ad6eb52 `org-get-heading' is more consistent on empty headlines
* lisp/org.el (org-get-heading): Ensure that return value is always
  a string.
* testing/lisp/test-org.el (test-org/get-heading): Add tests.

Reported-by: Joe Schafer <joesmoe10@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108559>
2016-07-30 22:30:19 +02:00
Nicolas Goaziou d2de890d3e org-capture: Remove history for template completion
* lisp/org-capture.el (org-capture-fill-template): Remove history
  variable, which is not strictly necessary and relies, in its current
  implementation, on dynamic binding.
2016-07-29 16:00:07 +02:00
Nicolas Goaziou 02de57b597 org-compat: Fix regression introduced in 6daad6
Reported-by: Humberto Nanni <humberto.nanni@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108550>
2016-07-29 14:40:27 +02:00
Jarmo Hurri 04e0bc0b00 ox-html: Provide a default CSS class for embedded SVG images
* lisp/ox-html.el (org-html--svg-image): Set CSS class of embedded SVG
images to be org-svg if no other class is set in attributes.
org-html-style-default: Provide default properties for new CSS class.

* doc/org.texi (CSS support): Documentation of default CSS class
org-svg for SVG images embedded into exported HTML.
2016-07-26 10:37:17 +02:00
Nicolas Goaziou 096f4287a6 ox-latex: Allow toggling centering of images
* lisp/ox-latex.el (latex): Introduce new
  property :latex-images-centered.
(org-latex-images-centered): New variable.
(org-latex--inline-image): Handle new attribute :center, in addition to
variable above.
* doc/org.texi (Images in @LaTeX{} export): Document new behaviour
(Publishing options): Reference :latex-images-centered.
2016-07-25 23:31:25 +02:00
Nicolas Goaziou 67c29aa1e8 ox-odt: Remove obnoxious messages when compiling library
* lisp/ox-odt.el (org-odt-schema-dir):
(org-odt-styles-dir): Remove debugging messages.  Small refactoring.
2016-07-25 17:21:15 +02:00
Nicolas Goaziou c4da20a2f3 Silence byte-compiler
* lisp/ob-core.el (org-babel-process-params): Silence byte-compiler.
* lisp/ob-groovy.el (org-babel-groovy-evaluate):
* lisp/ob-haskell.el (org-babel-execute:haskell):
* lisp/ob-io.el (org-babel-io-evaluate):
* lisp/ob-octave.el (org-babel-octave-evaluate-external-process):
(org-babel-octave-evaluate-session):
* lisp/ob-perl.el (org-babel-perl-evaluate):
* lisp/ob-python.el (org-babel-python-evaluate-external-process):
(org-babel-python-evaluate-session):
* lisp/ob-ruby.el (org-babel-ruby-pp-wrapper-method):
(org-babel-ruby-evaluate):
* lisp/ob-scala.el:
* lisp/ob-tangle.el:
(org-babel-tangle-collect-blocks):
* lisp/org-agenda.el (org-agenda-get-category-icon):
(org-agenda-todo-yesterday):
* lisp/org-bbdb.el (org-bbdb-anniv-extract-date):
(org-bbdb-make-anniv-hash):
(org-bbdb-anniversaries-future):
* lisp/org-bibtex.el (org-bibtex-fleshout):
(org-bibtex-read):
(org-bibtex-write):
* lisp/org-capture.el (org-capture-set-target-location):
(org-capture-get-indirect-buffer):
(org-mks):
* lisp/org-clock.el (org-clock--oldest-date):
(org-clock-resolve):
(org-clock-sum):
(org-clock-special-range):
(org-clocktable-steps):
* lisp/org-ctags.el (org-ctags-create-tags):
* lisp/org-element.el (org-element--interpret-affiliated-keywords):
(org-element--cache-shift-positions):
(org-element--cache-sync):
(org-element--cache-submit-request):
* lisp/org-habit.el (org-habit-parse-todo):
* lisp/org-inlinetask.el (org-inlinetask-hide-tasks):
* lisp/org-lint.el (org-lint--generate-reports):
* lisp/org-mouse.el (org-mouse-get-context):
* lisp/org-plot.el (org-plot/gnuplot-to-grid-data):
(org-plot/gnuplot):
* lisp/ox-ascii.el (org-ascii--current-text-width):
(org-ascii--current-justification):
(org-ascii--build-caption):
(org-ascii--checkbox):
(org-ascii-item):
* lisp/ox-html.el (org-html-footnote-section):
* lisp/ox-latex.el (org-latex--make-option-string):
* lisp/ox-odt.el (org-odt-toc):
(org-odt-add-automatic-style):
(org-odt-format-label):
(org-odt-link--inline-image):
(org-odt--render-image/formula):
(org-odt--enumerable-image-p):
(org-odt--enumerable-latex-image-p):
(org-odt--enumerable-formula-p):
(org-odt-do-format-code):
(org-odt-table-cell): Silence byte-compiler.
2016-07-25 17:10:53 +02:00
Nicolas Goaziou 2d9b20a57d ob-C: Silence byte-compiler
* lisp/ob-C.el (org-babel-C-execute):
(org-babel-C-val-to-C-type):
(org-babel-C-val-to-base-type):
(org-babel-C-utility-header-to-C):
(org-babel-C-header-to-C): Silence byte-compiler.
2016-07-25 16:32:07 +02:00
Nicolas Goaziou e3d7492476 ob-clojure: Use cl-lib
* lisp/ob-clojure.el (org-babel-execute:clojure): Silence byte-compiler.
2016-07-25 16:25:21 +02:00
Nicolas Goaziou 31b30e5aee ob-R: Silence byte-compiler
* lisp/ob-R.el (org-babel-R-evaluate-external-process):
(org-babel-R-evaluate-session): Silence byte-compiler.
2016-07-25 16:24:14 +02:00
Nicolas Goaziou 676a588b55 ob-C: Use cl-lib
* lisp/ob-C.el (org-babel-C-execute):
(org-babel-C-val-to-C-type):
(org-babel-C-val-to-base-type):
(org-babel-C-utility-header-to-C):
(org-babel-C-header-to-C): Silence byte-compiler.
2016-07-25 16:22:05 +02:00
Nicolas Goaziou 03b9012efe org-agenda: Silence byte-compiler
* lisp/org-agenda.el (org-agenda-span-to-ndays):
(org-agenda-format-item):
(org-agenda-filter-by-effort): Silence byte-compiler.
2016-07-25 16:17:56 +02:00
Nicolas Goaziou 3ff1f7336e ox-man: Use cl-lib
* lisp/ox-man.el (org-man-headline):
(org-man-item):
(org-man-table--align-string): Silence byte-compiler.  Small
refactoring.
2016-07-25 16:10:02 +02:00
Nicolas Goaziou 38de20287f org-agenda: Use cl-lib
* lisp/org-agenda.el (org-agenda-view-mode-dispatch):
(org-agenda-bulk-action): Silence byte-compiler.
2016-07-25 16:06:38 +02:00
Nicolas Goaziou 1388d44f40 org-plot: Use cl-lib
* lisp/org-plot.el (org-plot/gnuplot-script):
(org-plot/gnuplot): Silence byte-compiler.
2016-07-25 16:03:40 +02:00
Nicolas Goaziou 0bc3f9d58b org-src: Use cl-lib
* lisp/org-src.el (org-src-switch-to-buffer): Silence byte-compiler.
2016-07-25 16:01:15 +02:00
Nicolas Goaziou 7c5416958c ox-texinfo: Use cl-lib
* lisp/ox-texinfo.el (org-texinfo--find-verb-separator):
(org-texinfo-link):
(org-texinfo-table-column-widths):
(org-texinfo-timestamp): Silence byte-compiler.
2016-07-25 15:59:28 +02:00
Nicolas Goaziou 9283e48336 org-habit: Use cl-lib
* lisp/org-habit.el (org-habit-build-graph): Silence byte-compiler.
2016-07-25 15:57:24 +02:00
Nicolas Goaziou ef38f2ff44 ox-md: Use cl-lib
* lisp/ox-md.el (org-md-item):
(org-md-link): Silence byte-compiler.
2016-07-25 15:55:16 +02:00
Nicolas Goaziou a8a9c286e9 org-attach: Use cl-lib
* lisp/org-attach.el (org-attach-commit): Use "cl-" prefix.
2016-07-25 15:54:06 +02:00
Nicolas Goaziou 2b99f910e1 ox-odt: Use cl-lib
* lisp/ox-odt.el (org-odt--format-timestamp):
(org-odt--checkbox):
(org-odt-template):
(org-odt--find-verb-separator):
(org-odt--enumerate):
(org-odt-format-label):
(org-odt--copy-image-file):
(org-odt-link--inline-image):
(org-odt--copy-formula-file):
(org-odt--render-image/formula):
(org-odt--standalone-link-p):
(org-odt-link--infer-description):
(org-odt-link):
(org-odt--paragraph-style):
(org-odt--format-paragraph):
(org-odt-plain-list):
(org-odt-do-format-code):
(org-odt--table):
(org-odt-table):
(org-odt-timestamp):
(org-odt--translate-latex-fragments):
(org-odt-export-as-odf): Use "cl-" prefix.
2016-07-25 15:51:23 +02:00
Nicolas Goaziou 7e767a42c2 org-mouse: Fix last commit 2016-07-25 15:46:09 +02:00
Nicolas Goaziou 6c7e29764a org-mouse: Use cl-lib
* lisp/org-mouse.el (org-mouse-insert-heading):
(org-mouse-priority-list):
(org-mouse-agenda-type):
(org-mouse-list-options-menu):
(org-mouse-insert-item):
(org-mouse-context-menu):
(org-agenda-mode-hook): Silence byte-compiler.
2016-07-25 15:44:49 +02:00
Nicolas Goaziou 032b301d78 org-indent: Remove (require 'cl) 2016-07-25 15:42:25 +02:00
Nicolas Goaziou e7f2379297 Remove unnecessary (require 'cl) 2016-07-25 15:41:02 +02:00
Nicolas Goaziou b6dfc75654 ox-ascii: Use cl-lib
* lisp/ox-ascii.el (org-ascii--current-text-width): Refactor code.
(org-ascii--list-listings):
(org-ascii--list-tables): Use "cl-" prefix.
2016-07-25 15:36:09 +02:00
Nicolas Goaziou 72461eaeaf Use `string-match-p' instead of `org-string-match-p'
* contrib/lisp/org-contacts.el (org-contacts-filter):
(org-contacts-complete-group):
(org-contacts-complete-tags-props):
* contrib/lisp/org-wl.el (org-wl-open):
* contrib/lisp/ox-bibtex.el (org-bibtex-merge-contiguous-citations):
* lisp/ob-core.el (org-babel-demarcate-block):
* lisp/ob-processing.el (org-babel-processing-view-sketch):
* lisp/ob-stan.el (org-babel-execute:stan):
* lisp/org-agenda.el (org-agenda-get-category-icon):
* lisp/org-clock.el (org-clock-into-drawer):
* lisp/org-element.el (org-element-link-parser):
* lisp/org-lint.el (org-lint-orphaned-affiliated-keywords):
(org-lint-invalid-babel-call-block):
(org-lint-colon-in-name):
* lisp/org-list.el (org-list-item-body-column):
* lisp/org-macro.el (org-macro-replace-all):
* lisp/org-plot.el (org-plot/gnuplot-script):
* lisp/org-table.el (org-table-export):
(org-table-align):
(org-table-get-range):
(org-table-recalculate):
(org-table-expand-lhs-ranges):
(org-table-formula-substitute-names):
(org-table-show-reference):
(orgtbl-to-texinfo):
(org-table-remote-reference-indirection):
* lisp/org.el (org-make-link-string):
(org--open-elisp-link):
(org-open-at-point):
(org-store-log-note):
(org-cached-entry-get):
(org--valid-property-p):
(org-entry-properties):
(org-buffer-property-keys):
(org-insert-drawer):
(org-display-inline-images):
(org-in-commented-heading-p):
* lisp/ox-ascii.el (org-ascii-keyword):
* lisp/ox-beamer.el (org-beamer--format-frame):
* lisp/ox-html.el (org-html-keyword):
* lisp/ox-latex.el (org-latex--label):
(org-latex-headline):
(org-latex-item):
(org-latex-keyword):
(org-latex--inline-image):
(org-latex-src-block):
* lisp/ox-odt.el (org-odt-styles-dir):
(org-odt-keyword):
(org-odt--translate-latex-fragments):
* lisp/ox-texinfo.el (org-texinfo-template):
(org-texinfo-keyword):
(org-texinfo-src-block):
* lisp/ox.el (org-export-inline-image-p):
(org-export-file-uri):
* testing/lisp/test-org-table.el (test-org-table/to-generic):
(test-org-table/to-latex):
(test-org-table/to-html):
(test-org-table/named-field):
(test-org-table/named-column):
(test-org-table/tab-indent):
(test-org-table/first-rc):
(test-org-table/last-rc): Use `string-match-p' instead of
`org-string-match-p'.
2016-07-25 15:21:12 +02:00
Nicolas Goaziou 69e3a3b95c org-mobile: Require `cl-lib' instead of `cl'
* lisp/org-mobile.el (org-mobile-apply): Use "cl-" prefix.
2016-07-25 13:57:15 +02:00
Nicolas Goaziou 9d3a4a8a5f Improve docstring
* lisp/org.el (org-file-apps): Fix backslash escaping in examples within
  docstring.
2016-07-25 13:35:12 +02:00
Nicolas Goaziou 3893fe2ccd Remove outdated code comment
* lisp/org.el (org-open-at-point): Remove outdated code comment.
2016-07-25 12:32:07 +02:00
Nicolas Goaziou 9930c40790 ob-lob: Fix Library of Babel loading
* lisp/ob-lob.el (org-babel-lob-ingest): Do not replace
  `org-babel-default-header-args' with
  `org-babel-default-lob-header-args'.
2016-07-24 23:26:43 +02:00
Nicolas Goaziou 7739ead8b1 ob-lob: Fix Babel call evaluation
* lisp/ob-lob.el (org-babel-default-lob-header-args): Change value.
(org-babel-lob--src-info): Ignore `org-babel-default-lob-header-args'.
(org-babel-lob-get-info): Header arguments in
`org-babel-default-lob-header-args' have precedence over those inherited
from the original source block.
2016-07-24 22:59:41 +02:00
Nicolas Goaziou 0dc3811a7a ob-shell: Silence byte-compiler 2016-07-23 11:49:28 +02:00
Nicolas Goaziou 250304bd2e ob-shell: Make `org-babel-shell-initalize' a command
* lisp/ob-shell.el (org-babel-shell-initialize): Add `interactive.
2016-07-23 10:47:01 +02:00
Nicolas Goaziou 0f7df32711 ob-shell: Use cl-lib 2016-07-23 10:41:17 +02:00
Nicolas Goaziou 609c3b3c14 ob-shell: Improve `org-babel-shell-name' customization
* lisp/ob-shell.el (org-babel-shell-initialize): New function
(org-babel-shell-names): Properly update execute functions whenever the
variable is modified outside the Customize interface.
2016-07-23 10:34:37 +02:00
Nicolas Goaziou fcc2ca6957 org-compat: Improve obsolete notification 2016-07-22 10:23:21 +02:00
Nicolas Goaziou 8d44c95025 org-compat: Silence byte-compiler 2016-07-22 10:20:49 +02:00
Nicolas Goaziou 47138a986e org-table: Fix calculations with locale specific time-stamps
* lisp/org-table.el (org-table-eval-formula): Fix calculations with
  locale specific time-stamps.
* testing/lisp/test-org-table.el (test-org-table/time-stamps): New test.

Reported-by: "Ulrich J. Herter" <ujh@posteo.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/108165>
2016-07-21 11:49:15 +02:00
Nicolas Goaziou 8fc25eb409 org-table: Assume `calc-eval' is always available
* lisp/org-table.el (org-table-maybe-eval-formula):
(org-table-eval-formula): Assume `calc-eval' is always available, which
is the case on any recent GNU Emacs.
2016-07-21 10:25:44 +02:00
Nicolas Goaziou eb9fb15b2d ox-html: Remove unprefixed "cl" macros
* lisp/ox-html.el (org-html-infojs-install-script):
(org-html-list-of-listings):
(org-html-list-of-tables):
(org-html-format-list-item):
(org-html-inline-image-p):
(org-html-standalone-image-p):
(org-html-link):
(org-html-begin-plain-list):
(org-html-end-plain-list):
(org-html-table): Refactor code so as to avoid using un-prefixed "cl"
macros.
2016-07-20 22:02:50 +02:00
Nicolas Goaziou 3548c4bead ox-html: Use unescaped URL in links without description
* lisp/ox-html.el (org-html-link): Use unescaped URL in links without
  description.

Reported-by: Arun Isaac <arunisaac@systemreboot.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/108359>
2016-07-20 21:52:10 +02:00
Nicolas Goaziou 7d0eef5fd5 org-compat: Preserve compatibility with Emacs 24.3
* lisp/org-compat.el: Use `eval-after-load' instead of
  `with-eval-after-load' since the latter was introduce in Emacs 24.4.
2016-07-20 21:45:30 +02:00
Nicolas Goaziou 41c0f509c6 org-mobile: Fix code typo
* lisp/org-mobile.el (org-mobile-create-index-file): Fix code typo.

Reported-by: Martin Leduc <ldcmrtn@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108193>
2016-07-20 10:06:28 +02:00
Nicolas Goaziou 8fe6f27512 Deprecate "file+application" link types
* doc/org.texi (External links): Remove "file+emacs" and "file+sys"
  syntax.
* lisp/org-compat.el (org): Support "file+emacs" and "file+sys" for the
  time being.
* lisp/org-lint.el (org-lint--checkers): Add checker for obsolete link
  types.
(org-lint-file-application): New function.
* lisp/org.el (org-link-parameters): Remove deprecated link types.
2016-07-18 23:45:52 +02:00
Nicolas Goaziou aa822a4614 Remove unnecessary link application handler
* lisp/org.el (org-linkg-parameters): Use default follow function
  instead of providing one.
(org--open-file-link): Remove function.
2016-07-18 23:14:15 +02:00
Nicolas Goaziou 7552b67ac2 Externalize hard-coded type links
* lisp/org.el (org-link-parameters): Add follow function for "doi",
  "elisp", "ftp", "help", "http", "https", "mailto", "message", "news"
  and "shell" link types.
(org--open-elisp):
(org--open-doi):
(org--open-help):
(org--open-shell): New functions.
(org-open-at-point): Remove hard-coded follow functions.
2016-07-18 22:56:02 +02:00
John Kitchin 91e6b3b057 Update id link definition
* lisp/org-id.el ("id"): Update to use org-link-set-parameters.
2016-07-18 22:47:51 +02:00
John Kitchin 4e3fd4a1c8 Update w3m link definition
* lisp/org-w3m.el ("w3m"):
Update to use org-link-set-parameters.
2016-07-18 22:47:50 +02:00
John Kitchin 12f473f584 Update rmail link definition
* lisp/org-rmail.el ("rmail"):
Use org-link-set-parameters to define link.
2016-07-18 22:47:50 +02:00
John Kitchin 35835bce9d Update mhe link definition
* lisp/org-mhe.el ("mhe"): Define link with org-link-set-parameters.
2016-07-18 22:47:50 +02:00
John Kitchin 02a00841dc Update irc link definition
* lisp/org-irc.el ("irc"):
Define link with org-link-set-parameters.
2016-07-18 22:47:50 +02:00
John Kitchin 692f874a12 Update info link definition
* lisp/org-info.el ("info"):
Update link definition with org-link-set-parameters and change a doc string to
point to org-link-parameters.
2016-07-18 22:47:50 +02:00
John Kitchin 386e3957a6 Update gnus link definition
* lisp/org-gnus.el ("gnus"):
Update link definition with org-link-set-parameters.
2016-07-18 22:47:50 +02:00
John Kitchin 60988ca502 Update eshell link definition
* lisp/org-eshell.el ("eshell"):

Update to use org-link-set-parameters.
2016-07-18 22:47:50 +02:00
John Kitchin a1ab5b284b Update docview link definition
* lisp/org-docview.el ("docview"):

Update link definition with org-link-set-parameters.
2016-07-18 22:47:49 +02:00
John Kitchin 91fd0a1072 Update bibtex link definition
* lisp/org-bibtex.el ("bibtex"):

Change link definition to use org-link-set-parameters
2016-07-18 22:47:49 +02:00
John Kitchin d55afe29f3 Update bbdb link definition
* lisp/org-bbdb.el ("bbdb"):

Change link definition to org-link-set-parameters
2016-07-18 22:47:49 +02:00
John Kitchin 82f1f46052 Make plain and bracketed link properties stick
* lisp/org.el (org-set-font-lock-defaults): If t is after the face, than
  org-link clobbers everything from the activation functions.
2016-07-18 22:47:49 +02:00
John Kitchin 5c17aa7994 Update `org-activate-bracket-links'
* lisp/org.el (org-activate-bracket-links): Use `org-link-parameters' to
  build link properties.
2016-07-18 22:47:49 +02:00
John Kitchin b4dd8245b7 Update `org-activate-plain-links'
* lisp/org.el (org-activate-plain-links): Use `org-link-parameters' to
  create the link properties.
2016-07-18 22:47:48 +02:00
John Kitchin de6858f293 Get the complete function from `org-link-parameters'
* lisp/org.el (org-link-try-special-completion):
Get the follow function from `org-link-parameters'

Only follow when a function is defined.

* lisp/org.el (org-open-at-point): Some links don't have a :follow
  function, so we should not call nil in that case.
2016-07-18 22:47:48 +02:00
John Kitchin a5f5fedf3e Remove `org-link-protocols' variable
* lisp/org.el (org-link-protocols): Remove variable org-link-protocols.
The data in this variable is now retrieved with org-link-get-parameter.

* lisp/org.el: Enable file links to use the application link property to
  determine the follow action. Also add a space after let*.
2016-07-18 22:47:48 +02:00
John Kitchin 9bc2940034 Create `org-link-parameters'
* lisp/org-element.el: Replace `org-link-types' variable with
  `org-link-types' function.

* lisp/org.el: Replace the `org-link-types' variable with
  `org-link-types' function. Create `org-link-get-parameter' and
  `org-link-set-parameters' functions. Remove `org-add-link-type'. Add
  `org-store-link-functions' function and remove
  `org-store-link-functions' variable. Add `org--open-file-link' for use
  as a :follow function for file type links.

* lisp/org.el: Set :follow functions for file links in `org-link-parameters.
Define `org-open-file-link' that opens a file link with an app.

* testing/lisp/test-ox.el: Remove usage of the `org-link-types'
  variable.

* lisp/org-compat.el: Move `org-add-link-type' and mark it as obsolete.

* lisp/ox.el: Change org-add-link-type comment in ox.el.
2016-07-18 22:47:42 +02:00
Nicolas Goaziou 481709e11b ob-exp: Remove spurious declaration 2016-07-17 22:55:03 +02:00
Nicolas Goaziou e1f24f537e Fix `org-compile-file' error
* lisp/org.el (org-compile-file): Fix error when source file is not
  located in current directory.

Reported-by: "Charles C. Berry" <ccberry@ucsd.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/108245>
2016-07-17 14:28:00 +02:00
Nicolas Goaziou 08d91f37af Merge branch 'maint' 2016-07-17 12:06:55 +02:00
Nicolas Goaziou 8301b72ed2 Revert "ob-exp: Remove spurious comma un-escaping"
This reverts commit 0279d84cd7.
2016-07-17 12:04:28 +02:00
Nicolas Goaziou 610ec90cf4 Move `org-toggle-item' in "org-list.el"
* lisp/org.el (org-toggle-item): Move function ...
* lisp/org-list.el (org-toggle-item): ... here.

* testing/lisp/test-org-list.el (test-org-list/toggle-item): New test.
2016-07-04 23:52:40 +02:00
Nicolas Goaziou 1b8e1fc63f Merge branch 'maint' 2016-07-04 23:23:51 +02:00
Nicolas Goaziou cd3a552ef4 Fix toggling multiple headings with a TODO keyword
* lisp/org.el (org-toggle-item): Remove TODO keyword in each headling
  when changed to an item.
2016-07-04 14:12:13 +02:00
Nicolas Goaziou f38f83b4f1 Remove deprecated syntax for Babel properties
* doc/org.texi (Header arguments in Org mode properties): Remove
  reference to deprecated syntax.
* lisp/ob-core.el (org-babel-params-from-properties): Ignore deprecated
  syntax.
* testing/examples/babel.org:
* testing/examples/normal.org:
* testing/examples/ob-header-arg-defaults.org:
* testing/examples/property-inheritance.org:
* testing/lisp/test-ob-header-arg-defaults.el
(test-ob-header-arg-defaults/global/noweb):
(test-ob-header-arg-defaults/global/call):
(test-ob-header-arg-defaults/tree/overwrite/call):
(test-ob-header-arg-defaults/tree/overwrite/noweb):
(test-ob-header-arg-defaults/tree/accumulate/call):
(test-ob-header-arg-defaults/tree/accumulate/noweb):
(test-ob-header-arg-defaults/tree/complex/call):
(test-ob-header-arg-defaults/tree/complex/noweb):
* testing/lisp/test-ob.el (test-ob/elisp-in-header-arguments):
* testing/lisp/test-property-inheritance.el
(test-org-property-accumulation-overwrite-use): Update syntax.
(test-org-property-accumulation-append-use): Use new syntax.
(test-org-property-accumulation-top-val)
(test-org-property-accumulation-overwrite-val)
(test-org-property-accumulation-append-val): Remove tests.
2016-07-04 00:41:56 +02:00
Charles Berry ea94c14d92 org-export-babel-evaluate docstring expanded.
* lisp/ob-exp.el (org-export-babel-evaluate); Inform users that `:eval
  never-export' should be used to avoid rerunning code on export.
  Some users are puzzled when setting this variable to `nil' disables
  all of babel.

The issue was raised by Ken Mankoff:
http://article.gmane.org/gmane.emacs.orgmode/107230
2016-07-03 09:58:42 -07:00
Nicolas Goaziou adcaf91648 Mark `org-link-escape-browser' as obsolete
* lisp/org-compat.el (org-link-escape-browser): Make function an alias
  for `url-encode-url'.
* lisp/org.el (org-link-escape-chars-browser): Remove variable.
(org-link-escape-browser): Remove function.
(org-open-at-point):
* lisp/ox-html.el (org-html-link): Use `url-encode-url'.
* testing/lisp/test-org.el(test-org/org-link-escape-chars-browser):
  Remove test.
2016-07-01 12:00:23 +02:00
Don March 86e592cb66 Reschedule "++" repeaters on same day if in future
* lisp/org.el (org-auto-repeat-maybe): Include the time in a
  timestamp (hours and minutes) when checking if a repeat occurrence is
  in the future.
* doc/org.texi (Repeated Tasks): Document repeat occurrences with a time
  in the timestamp.
2016-07-01 10:59:20 +02:00
Nicolas Goaziou 11df58e6f4 Merge branch 'maint' 2016-07-01 09:13:52 +02:00
Konstantin Kliakhandler a8e4a393bf org-entities: Swapped symbols of varphi and phi
* org-entities.el (org-entities): Swap the unicode symbol of phi and of
  varphi.

TINYCHANGE
2016-07-01 09:12:43 +02:00
Nicolas Goaziou 67023930e7 org-compat: Mark `org-compatible-face' as obsolete
* lisp/org-inlinetask.el (org-inlinetask): Remove `org-compatible-face'
  call.
2016-06-30 17:47:39 +02:00
Nicolas Goaziou e2bff4bbc0 org-faces: Simplify face definitions
* lisp/org-faces.el (org-default):
(org-level-1):
(org-level-2):
(org-level-3):
(org-level-4):
(org-level-5):
(org-level-6):
(org-level-7):
(org-level-8):
(org-special-keyword):
(org-drawer):
(org-column):
(org-column-title):
(org-agenda-column-dateline):
(org-warning):
(org-archived):
(org-link):
(org-date-selected):
(org-todo):
(org-done):
(org-agenda-done):
(org-headline-done):
(org-priority):
(org-table):
(org-formula):
(org-code):
(org-meta-line):
(org-document-info-keyword):
(org-block):
(org-verbatim):
(org-clock-overlay):
(org-agenda-structure):
(org-agenda-clocking):
(org-agenda-date-weekend):
(org-scheduled):
(org-scheduled-today):
(org-scheduled-previously):
(org-upcoming-deadline):
(org-agenda-restriction-lock):
(org-agenda-filter-tags):
(org-agenda-filter-regexp):
(org-agenda-filter-category):
(org-time-grid):
(org-agenda-diary):
(org-agenda-calendar-event):
(org-agenda-calendar-sexp):
(org-macro):
(org-tag-group): Eschew `org-compatible-face' usage.

Also use lexical binding.
2016-06-30 17:40:58 +02:00
Nicolas Goaziou b2091f6d75 Move obsolete declarations into "org-compat.el"
* lisp/org-agenda.el (org-agenda-list):
(org-agenda-goto-today):
(org-agenda-reset-view): Remove reference to obsolete
`org-agenda-ndays'.
2016-06-30 15:20:51 +02:00
Nicolas Goaziou 8d3586faac org-compat: Fix typo
* lisp/org-compat.el (org-match-string-no-properties): Fix typo.

Reported-by: Michael Welle <mwe012008@gmx.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/108017>
2016-06-30 13:37:44 +02:00
Nicolas Goaziou f0ff257fa7 Merge branch 'maint' 2016-06-28 00:31:09 +02:00
Nicolas Goaziou 07de65e1ea ox: Small fix
* lisp/ox.el (org-export--missing-definitions): Fix typo and remove
  useless comment
* testing/lisp/test-ox.el (test-org-export/footnotes): Add test.
2016-06-28 00:28:47 +02:00
Nicolas Goaziou 8285ff4cf2 Merge branch 'maint' 2016-06-28 00:24:50 +02:00
Nicolas Goaziou f196fb3bed ob-exp: Silence byte compiler 2016-06-28 00:01:48 +02:00
Nicolas Goaziou 96a9542ae1 org-element: Remove spurious blank when interpreting a row
* lisp/org-element.el (org-element-table-row-interpreter): Remove
  spurious white space.
2016-06-27 23:59:44 +02:00
Nicolas Goaziou a131fd1a1d ox: Fix typo in comment
* lisp/ox.el (org-export-get-footnote-definition): Fix typo.
2016-06-27 23:58:08 +02:00
Nicolas Goaziou 5e37a5c116 ox: Fix export of footnote definitions in pruned parts of tree
* lisp/ox.el (org-export--missing-definitions):
(org-export--install-footnote-definitions): New functions
(org-export--merge-external-footnote-definitions): Remove function
(org-export-as):
(org-export--prune-tree): Use new functions.
* testing/lisp/test-ox.el (test-org-export/footnotes): Add tests.

Reported-by: Mark Edgington <edgimar@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107940>
2016-06-27 23:57:42 +02:00
Nicolas Goaziou d4408684e1 org-compat: Small refactoring
* lisp/org-compat.el (org-compatible-face): Small refactoring.  Remove
  Emacs 22 related part of the code.
2016-06-26 14:43:20 +02:00
Nicolas Goaziou 2f90a60bd8 Remove Emacs 22 related code
* contrib/lisp/htmlize.el (htmlize-face-color-internal):
(htmlize-face-to-fstruct):
* lisp/org-agenda.el (org-anniversary):
(org-cyclic):
(org-block):
(org-date):
* lisp/org-compat.el (org-region-active-p):
* lisp/org.el (org-use-extra-keys):
(occur-mode-find-occurrence-hook): Remove Emacs 22 related code and
comments.

(org-diary-class): Remove function.
2016-06-26 14:35:22 +02:00
Nicolas Goaziou 1891dd4816 org-compat: Tiny refactoring
* lisp/org-compat.el (org-re): Use `obsolete' in `declare'.
2016-06-26 10:29:27 +02:00
Michael Brand e4baab8e10 Extend a docstring
* lisp/org.el (org-startup-truncated): Extend docstring.
(org-set-font-lock-defaults): Also the last top level expression on an
own line.
2016-06-25 17:04:43 +02:00
Lele Gaifax c338f9c630 org-colview.el: Fix typo in function name
* lisp/org-colview.el (org-columns-hscroll-title): Rename from
  `org-columns-hscoll-title'.
(org-columns--display-here-title):
(org-columns-remove-overlays): Adjust reference to renamed function.
2016-06-24 15:58:29 +02:00
Nicolas Goaziou 313146374e org-colview: Fix last commit
* lisp/org-colview.el (org-columns-edit-value): Fix last commit.
2016-06-24 10:06:02 +02:00
Nicolas Goaziou 1114418dd4 org-colview: Replace `org-columns-eval' with `org-columns--call'
* lisp/org-colview.el (org-columns-edit-value): Small refactoring.  Use
  new function.
(org-columns--call): New function.
(org-columns-eval): Remove function.
(org-columns-next-allowed-value): Use new function.
2016-06-24 09:59:49 +02:00
Nicolas Goaziou f364229176 Merge branch 'maint' 2016-06-24 09:22:00 +02:00
Nicolas Goaziou 0d72c34937 Improve a docstring
* lisp/org.el (org-delete-all): Improve docstring.
2016-06-24 09:21:38 +02:00
Nicolas Goaziou bffa144f54 org-mobile: Fix TODO keywords generation
* lisp/org-mobile.el (org-mobile-create-index-file): Call
  `org-delete-all' later since it is a destructive operation.

Reported-by: Ian Dunn <dunni@gnu.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/107900>
2016-06-24 09:18:30 +02:00
Nicolas Goaziou 5485170263 org-capture: Remove forbidden value type from "file" templates
* lisp/org-capture.el (org-capture-expand-file): Remove plain S-exps
  from allowed values.
2016-06-24 01:11:49 +02:00
Nicolas Goaziou 8860c92f62 ob-exp: Small fix
* lisp/ob-exp.el (org-babel-exp-src-block): Use `symbol-name' instead of
  `eval' since the argument is a dynamically scoped variable anyhow.
2016-06-24 00:55:03 +02:00
Nicolas Goaziou 3bfbd26acd org-clock: Remove handling for illicit :scope values
* lisp/org-clock.el (org-dblock-write:clocktable): :scope is not meant
  to be a s-exp, so don't use `eval' on it.
2016-06-24 00:52:19 +02:00
Nicolas Goaziou ba4831bba8 Fix `org-no-properties' called with an optional argument
* lisp/org-macs.el (org-no-properties): Fix function so that optional
  argument `restricted' is not ignored.
2016-06-23 15:55:39 +02:00
Nicolas Goaziou 89d2006e84 Remove `org-substitute-posix-classes'
* lisp/org-macs.el (org-substitute-posix-classes): Remove function.

This function is unused throughout the code base and not part of any
public API.
2016-06-23 15:28:45 +02:00
Nicolas Goaziou aae0b22a0c Deprecate `org-format-seconds' in favor of `format-seconds'
* lisp/org-macs.el (org-format-seconds): Remove function.
* lisp/org-compat.el (org-format-seconds): Mark function as an obsolete
  alias.
* lisp/org-table.el (org-table-time-seconds-to-string):
* lisp/ox.el (org-export-stack-refresh): Apply removal.
2016-06-23 15:26:17 +02:00
Nicolas Goaziou ee7aa9878f Deprecate `org-no-warnings' in favor of `with-no-warnings'
* lisp/org-macs.el (org-no-warnings): Rewove macro.
* lisp/org-compat.el (org-no-warnings): Mark `org-no-warnings' as
  obsolete.
* contrib/lisp/org-contacts.el (defvar):
* contrib/lisp/org-wl.el (org-wl-open):
* lisp/org-agenda.el (defvar):
(org-anniversary):
(org-cyclic):
(org-block):
(org-date):
* lisp/org-bbdb.el (defvar):
* lisp/org-clock.el (org-clock-out):
(org-clock-cancel):
* lisp/org-mouse.el (org-mouse-show-context-menu):
* lisp/org.el (org-modify-ts-extra):
(org-order-calendar-date-args): Small refactoring.
* lisp/ox-odt.el (org-odt-htmlfontify-string):
2016-06-23 15:20:32 +02:00
Nicolas Goaziou 28ba698262 org-macs: Remove `org-replace-match-keep-properties'
* lisp/org-macs.el (org-replace-match-keep-properties): Remove function.

This function is unused through the code base and doesn't specifically
belong to a public API.
2016-06-23 15:13:14 +02:00
Nicolas Goaziou 999f224299 Deprecate `org-called-interactively-p' in favor of `called-interactively-p'
* lisp/org-compat.el (org-called-interactively-p): Make it an obsolete
  alias for `called-interactively-p'.
* lisp/org-macs.el (org-called-interactively-p): Remove function.
* contrib/lisp/org-expiry.el (org-expiry-insinuate):
(org-expiry-deinsinuate):
(org-expiry-process-entry):
(org-expiry-process-entries):
(org-expiry-archive-subtree):
(org-expiry-add-keyword):
* lisp/ob-core.el (org-babel-expand-src-block):
(org-babel-sha1-hash):
* lisp/org-agenda.el (org-toggle-sticky-agenda):
(org-agenda-write):
(org-agenda-dim-blocked-tasks):
(org-agenda-redo):
(org-agenda-show-1):
(org-agenda-set-tags):
* lisp/org-lint.el (org-lint):
* lisp/org-table.el (org-table-blank-field):
(org-table-current-column):
(org-table-current-dline):
(org-table-sort-lines):
(org-table-sum):
(org-table-rotate-recalc-marks):
(org-table-eval-formula):
(orgtbl-send-table):
* lisp/org.el (org-mode):
(org-copy-subtree):
(org-paste-subtree):
(org-store-link):
(org-todo):
(org-occur):
(org-create-math-formula):
(org-toggle-inline-images):
(org-mark-subtree):
(org-mark-element): Apply removal.
2016-06-23 15:08:03 +02:00
Nicolas Goaziou 75f61e11c3 Remove `org-inhibit-invisibility'
* lisp/org-macs.el (org-inhibit-invisibility): Remove function.
* lisp/org.el (org-set-tags): Apply removal.
2016-06-23 14:28:20 +02:00
Nicolas Goaziou 5721fd890a Remove `org-maybe-intangible'
* lisp/org-macs.el (org-maybe-intangible): Remove macro.
* lisp/org.el (org-activate-bracket-links):
(org-hide-wide-columns): Apply removal.
2016-06-23 14:25:51 +02:00
Nicolas Goaziou ff80654617 Mark `org-bound-and-true-p' as obsolete
* lisp/org-macs.el (org-bound-and-true-p): Remove macro.
* lisp/org-compat.el (org-bound-and-true-p): Deprecated alias for
  `bound-and-true-p'.
* lisp/ob-core.el (org-babel-confirm-evaluate):
* lisp/org-agenda.el (org-agenda-write):
(org-agenda-add-entry-text):
(org-agenda-todo):
* lisp/org-clock.el (org-clocktable-defaults):
(org-clocktable-write-default):
* lisp/org-colview.el (org-columns):
(org-columns--compute-spec):
(org-agenda-columns):
* lisp/org-indent.el (org-indent-set-line-properties):
* lisp/org-inlinetask.el (org-inlinetask-fontify):
* lisp/org-mobile.el (org-mobile-write-agenda-for-mobile):
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option/options):
(pcomplete/org-mode/file-option/infojs_opt):
* lisp/org-src.el (org-src-mode-configure-edit-buffer):
(org-edit-table.el):
* lisp/org.el (org-store-link):
(org-refile):
(org-get-export-keywords):
(org-set-tags):
(org-order-calendar-date-args):
(org-mode-restart):
(org-tbl-menu):
(org-beginning-of-line):
(org-end-of-line):
(org-kill-line):
(org-truely-invisible-p):
(org-remove-flyspell-overlays-in): Use `bound-and-true-p' instead of
`org-bound-and-true-p'.
2016-06-23 14:23:52 +02:00
Nicolas Goaziou 23d84285bf Deprecate `org-char-to-string' in favor of `char-to-string'
* lisp/org-macs.el (org-char-to-string): Remove function.
* lisp/org-compat.el (org-char-to-string): Declare function as obsolete.
* lisp/org.el (org-link-unescape-compound): Apply removal.
2016-06-23 14:10:34 +02:00
Nicolas Goaziou b3d2b354c9 org-list: Silence byte-compiler
* lisp/org-list.el (org-list-item-body-column): Silence byte-compiler.
2016-06-23 10:21:07 +02:00
Nicolas Goaziou d13b0745dc Mark a few functions as obsolete
* lisp/ob-R.el (org-babel-variable-assignments:R):
* lisp/ob-ref.el (org-babel-ref-goto-headline-id):
* lisp/org-agenda.el (org-agenda-prepare-window):
(org-agenda-switch-to):
* lisp/org-capture.el (org-capture-goto-target):
* lisp/org-clock.el (org-clock-goto):
(org-clock-special-range):
* lisp/org-ctags.el (org-ctags-visit-buffer-or-file):
* lisp/org-eshell.el (org-eshell-open):
* lisp/org-feed.el (org-feed-show-raw-feed):
* lisp/org-id.el (org-id-goto):
* lisp/org-irc.el (org-irc-visit-erc):
* lisp/org-macs.el (org-string-nw-p):
* lisp/org-mobile.el (org-mobile-apply):
* lisp/org-src.el (org-src-switch-to-buffer):
* lisp/org.el (org-get-location):
(org-tree-to-indirect-buffer):
(org-mark-ring-goto):
(org-refile):
(org-add-log-note):
(org-revert-all-org-buffers):
(org-switchb):
(org-cycle-agenda-files):
(org-submit-bug-report):
(org-goto-marker-or-bmk):
* lisp/ox-html.el (org-html-htmlize-generate-css): Silence byte
  compiler.

The following functions are marked as obsolete:
- `org-string-match-p'
- `org-number-sequence'
- `org-floor*'
- `org-pop-to-buffer-same-window'
- `org-delete-directory'
- `org-buffer-narrowed-p'
2016-06-23 10:00:00 +02:00
Nicolas Goaziou bfed384cd8 org-compat: Use lexical binding
* lisp/org-compat.el (org-move-to-column):
(org-pop-to-buffer-same-window): Silence byte-compiler.
2016-06-23 09:25:33 +02:00
Nicolas Goaziou 705904552c Deprecate `org-find-if' in favor of `cl-find-if'
* lisp/org.el (org-find-if): Remove function.
(org-key):
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
(org-contacts-filter):
(org-contacts-test-completion-prefix):
(org-contacts-remove-ignored-property-values): Use `cl-find-if'
* lisp/org-compat.el (org-find-if): Mark function as an obsolete alias
  for `cl-find-if'.
2016-06-23 09:22:49 +02:00
Nicolas Goaziou a24f339f58 Work around a display bug when previewing LaTeX fragments
* lisp/org.el (org-format-latex): Change signature.
(org-toggle-latex-fragment):
* lisp/ox-html.el (org-html-format-latex): Apply signature change.
2016-06-23 00:56:18 +02:00
Nicolas Goaziou 2f2e6625ac Work around a display bug when previewing LaTeX fragments
* lisp/org.el (org-format-latex): Change signature.
(org-toggle-latex-fragment):
* lisp/ox-html.el (org-html-format-latex): Apply signature change.
2016-06-23 00:33:22 +02:00
Nicolas Goaziou 24852ef060 Merge branch 'maint' 2016-06-22 22:43:19 +02:00
Nicolas Goaziou ecffcbcf1c Tiny fix to `org-set-effort'
* lisp/org.el (org-set-effort): Use `equal' instead of `string='.

Since (string= "nil" nil) is non-nil, a "nil" heading could be mistaken
for the current clocked task if `org-clock-current-task' is not bound,
or if there is no current clocked task.
2016-06-22 22:39:50 +02:00
Nicolas Goaziou 411524a31c Merge branch 'maint' 2016-06-22 22:38:07 +02:00
Nicolas Goaziou 2be2a15566 Merge branch 'maint' of orgmode.org:org-mode into maint 2016-06-22 22:36:22 +02:00
Nicolas Goaziou 85dd02b0dd ox: Fix export of empty footnote definitions outside scope
* lisp/ox.el (org-export-get-footnote-definition): When a definition is
  empty, but does exist, return the empty string instead of raising an
  error.
* testing/lisp/test-ox.el (test-org-export/get-footnote-definition): New
  test.

Reported-by: Mark Edgington <edgimar@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107873>
2016-06-22 22:34:53 +02:00
Nicolas Goaziou 5cd793c59a ox-publish: Change signature for preparation and completion functions
* doc/org.texi (Sources and destinations): Document new signature.
* lisp/ox-publish.el (org-publish-project-alist): Update docstring.
(org-publish-projects): Call preparation and
completion functions with the project properties as the sole argument.

`project-plist' used to be dynamically scoped.  This is no longer
possible due to the switch to lexical binding.

Reported-by: Arun Isaac <arunisaac@systemreboot.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/107856>
2016-06-22 15:31:48 +02:00
Nicolas Goaziou 6b7944805f org-mobile: Use lexical binding
* lisp/org-agenda.el (org-agenda-keep-restricted-file-list): New
  variable, dynamically scoped.
(org-agenda): Variable is now necessarily bound.

* lisp/org-mobile.el (org-mobile-create-index-file): Silence
  byte-compiler.
2016-06-22 00:01:10 +02:00
Nicolas Goaziou d87f4e1570 org-w3m: Use lexical binding 2016-06-21 23:41:41 +02:00
Nicolas Goaziou 11335f0ec0 org-rmail: Use lexical binding 2016-06-21 23:38:39 +02:00
Nicolas Goaziou 267af5e2fb org-protocol: Tiny clean up 2016-06-21 23:37:19 +02:00
Nicolas Goaziou 097edbfde4 org-protocol: Silence byte-compiler 2016-06-21 23:36:31 +02:00
Nicolas Goaziou 3dab837aef org-protocol: Use lexical binding
* lisp/org-protocol.el (org-protocol-store-link):
(org-protocol-open-source):
(org-protocol-check-filename-for-protocol):
(org-protocol-create): Silence byte-compiler.
2016-06-21 23:23:18 +02:00
Nicolas Goaziou 62d3d24f0b org-plot: Use lexical binding
* lisp/org-plot.el (org-plot/add-options-to-plist): Silence
  byte-compiler.
2016-06-21 23:19:11 +02:00
Nicolas Goaziou 313a97fca3 org-pcomplete: Small clean-up 2016-06-21 23:16:19 +02:00
Nicolas Goaziou b35d05ac2e org-pcomplete: Use lexical binding 2016-06-21 23:14:49 +02:00
Nicolas Goaziou 6bd701f44f org-mouse: Use lexical binding
* lisp/org-mouse.el (org-mouse-main-buffer): New dynamically scoped
  variable.
(org-mouse-replace-match-and-surround):
(org-mouse-for-each-item):
(org-mouse-move-tree-start):
(org-mouse-do-remotely):
(org-mouse-agenda-context-menu): Silence byte-compiler.
2016-06-21 23:12:23 +02:00
Nicolas Goaziou 994fe3e566 org-macs: Silence byte-compiler
* lisp/org-macs.el (org-save-outline-visibility): Remove unused symbol.
2016-06-21 23:02:35 +02:00
Nicolas Goaziou 3c5d215274 org-mhe: Use lexical binding 2016-06-21 23:01:52 +02:00
Nicolas Goaziou 5fcb15d976 org-macs: Use lexical binding
* lisp/org-macs.el (org-save-outline-visibility): Small refactoring.
2016-06-21 22:56:46 +02:00
Nicolas Goaziou b2835f3b8f org-irc: Use lexical binding
* lisp/org-irc.el (org-irc-ellipsify-description): Replace `mapc' +
  `lambda' with `dolist'.
2016-06-21 22:45:08 +02:00
Nicolas Goaziou 8d87417111 org-inlinetask: Use lexical binding 2016-06-21 22:42:09 +02:00
Nicolas Goaziou 26f0f938f4 org-info: Use lexical binding
* lisp/org-info.el (org-info-store-link): Small refactoring.
2016-06-21 22:38:51 +02:00
Nicolas Goaziou bb4b0d7efc org-gnus: Use lexical binding 2016-06-21 22:36:06 +02:00
Nicolas Goaziou b1c05d5169 org-eshell: Use lexical binding 2016-06-21 22:34:25 +02:00
Nicolas Goaziou c69fd5bf61 org-entities: Tiny refactoring
* lisp/org-entities.el (org-entities--user-safe-p): Use pattern matching
  and strengthen check for name.
2016-06-21 16:53:27 +02:00
Nicolas Goaziou 27c5cf153f org-entities: Use lexical binding
* lisp/org-entities.el (org-entities):
(org-entities-create-table):
(org-entities-help): Silence byte-compiler.
2016-06-21 16:40:08 +02:00
Nicolas Goaziou 4f63cfabb3 Deprecate `org-babel-trim' in favor of `org-trim'
* lisp/org.el (org-trim): Add optional argument.

* contrib/lisp/ob-mathematica.el (org-babel-execute:mathematica):
* contrib/lisp/org-bibtex-extras.el (obe-html-export-citations):
* contrib/lisp/org-mime.el (org-mime-compose):
* lisp/ob-C.el (org-babel-C-execute):
* lisp/ob-calc.el (org-babel-execute:calc):
* lisp/ob-clojure.el (org-babel-expand-body:clojure):
* lisp/ob-core.el (org-babel-initiate-session):
(org-babel-parse-multiple-vars):
(org-babel-read-element):
(org-babel-insert-result):
(org-babel-expand-noweb-references):
(org-babel-trim): Mark obsolete.
* lisp/ob-forth.el (org-babel-forth-session-execute):
* lisp/ob-fortran.el (org-babel-execute:fortran):
* lisp/ob-haskell.el (org-babel-execute:haskell):
* lisp/ob-latex.el (org-babel-expand-body:latex):
* lisp/ob-lisp.el (org-babel-expand-body:lisp):
* lisp/ob-ocaml.el (org-babel-execute:ocaml):
* lisp/ob-octave.el (org-babel-octave-evaluate-session):
* lisp/ob-python.el (org-babel-python-evaluate-external-process):
(org-babel-python-evaluate-session):
* lisp/ob-ref.el (org-babel-ref-split-args):
* lisp/ob-ruby.el (org-babel-ruby-evaluate):
* lisp/ob-shell.el (org-babel-sh-evaluate):
* lisp/ob-table.el (org-sbe):
* lisp/ob-tangle.el (org-babel-spec-to-string):
* lisp/org-bibtex.el (org-bibtex-get):
* testing/lisp/test-ob.el (test-ob/parse-header-args): Use `org-trim'
  instead of `org-babel-trim'.
2016-06-21 15:33:00 +02:00
Nicolas Goaziou 1c30dea0ec ob-core: Small refactoring
* lisp/ob-core.el (org-babel-get-src-block-info): Small refactoring.
2016-06-21 14:42:17 +02:00
Nicolas Goaziou f8eb0b30ea ob-shell: Fix "wrong type sequencep: function" error
* lisp/ob-shell.el (org-babel-shell-names): Fix error introduced when
  switching to lexical binding.
2016-06-20 22:12:02 +02:00
Nicolas Goaziou 47fdeb1f48 org-ctags: Do not require "cl" at compile time 2016-06-20 15:08:25 +02:00
Nicolas Goaziou 7d3380612f org-ctags: Use lexical binding
* lisp/org-ctags.el (org-ctags-open-file):
(org-ctags-fail-silently): Silence byte-compiler.
2016-06-20 15:04:33 +02:00
Nicolas Goaziou b67a3ff715 org-crypt: Use lexical binding 2016-06-20 15:00:47 +02:00
Nicolas Goaziou 2108f0c23a ob-shell: Use lexical binding
* lisp/ob-shell.el (org-babel-sh-initiate-session): Silence
  byte-compiler.
2016-06-20 14:58:32 +02:00
Nicolas Goaziou d4ea5decea ob-lob: Fix docstring
* lisp/ob-lob.el (org-babel-lob--src-info): Fix typo.
2016-06-20 14:47:22 +02:00
Nicolas Goaziou a5cf0f6fb8 ob-lob: Remove `org-babel-lob-files'
* lisp/ob-lob.el (org-babel-lob-files): Remove variable.
(org-babel-library-of-babel): Fix docstring.

Since its creation, `org-babel-lob-files' has been a no-op.  Since no-one
noticed it during those 7 years, it can safely be removed.

Reported-by: "Charles C. Berry" <ccberry@ucsd.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/107824>
2016-06-20 14:47:10 +02:00
Nicolas Goaziou bae2286393 ob-core: Tiny refactoring
* lisp/ob-core.el (org-babel-graphical-output-file): Refactor code.  Fix
  error messages.
2016-06-20 14:41:04 +02:00
Nicolas Goaziou 6cefae1637 ob-core: Use lexical binding
* lisp/ob-core.el (org-babel-get-src-block-info):
(org-babel-insert-header-arg):
(org-babel-enter-header-arg-w-completion):
(org-babel-params-from-properties):
(org-babel-process-params):
(org-babel-read): Use lexical scoping when eval'ing.
(org-babel-examplify-region): Silence byte-compiler.
(org-babel-merge-params):
(org-babel-noweb-p): Refactor code.
2016-06-20 14:35:16 +02:00
Kyle Meyer 160efb5129 Merge branch 'maint' 2016-06-19 14:18:10 -04:00
Kyle Meyer 792bb9b655 org-set-effort: Fix void variable error
* lisp/org.el (org-set-effort): Check if org-clock-current-task is
  defined because org-clock.el may not be loaded yet.
2016-06-19 14:11:25 -04:00
Kyle Meyer b237d4df04 org-set-effort: Remove extra space in prompt
* lisp/org.el (org-set-effort): Make spacing across different prompt
  cases consistent.  Simplify prompt concatenation.
2016-06-19 14:11:20 -04:00
Nicolas Goaziou 69552bd42f ob-tangle: Fix failing test on Emacs 24.3
* lisp/ob-tangle.el (org-babel-tangle): Do not use `add-to-list' on
  a let-bound symbol.
2016-06-19 00:57:03 +02:00
Nicolas Goaziou 65e9dcee8d ob-tangle: Use lexical binding
* lisp/ob-tangle.el (org-babel-process-comment-text):
(org-babel-spec-to-string):
(org-babel-tangle-single-block):
(org-babel-tangle-comment-links):
(org-babel-tangle-jump-to-org): Silence byte-compiler.
2016-06-19 00:38:22 +02:00
Nicolas Goaziou 270ed02b02 ob-exp: Tiny refactoring
* lisp/ob-exp.el (org-export-babel-evaluate): Tiny refactoring.
2016-06-19 00:38:22 +02:00
Nicolas Goaziou ce19c05e34 ob-exp: Use lexical binding
* lisp/ob-exp.el (org-babel-exp-src-block): Use `eval' with optional
  LEXICAL argument.
(org-babel-exp-process-buffer): Remove unused bindings.
2016-06-19 00:38:22 +02:00
Nicolas Goaziou 72d4c3db2d ob-exp: Do not require `cl' at compile time
* lisp/ob-exp.el (org-babel-exp-process-buffer): Use `pcase' instead of
  `case'.
2016-06-19 00:38:22 +02:00
Nicolas Goaziou e1139e1895 ob-exp: Consolidate export of code blocks
* lisp/ob-exp.el (org-babel-exp--at-source): New macro.
(org-babel-exp-in-export-file): Remove macro.
(org-babel-exp-src-block): Remove unused argument.  Use new macro.
(org-babel-exp-process-buffer): Apply signature change above.  Put
temporary properties on top of Babel code so as to find original
location without relying on heuristics.
(org-babel-exp-results): Use new macro.

Export process has to know context of Babel code being evaluated (e.g.,
so as to retrieve parameters from node properties).  However, evaluating
previous code can drastically change the buffer.  The library used some
heuristics to find the original location.  Those are not necessary
anymore.
2016-06-19 00:38:22 +02:00
Nicolas Goaziou cfaf0d54d7 ox: Remove `org-export-execute-babel-code'
* lisp/ox.el (org-export-execute-babel-code): Remove function.
(org-export-as): Replace previous function with
`org-babel-exp-process-buffer'.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Change signature.
  Copy buffer before evaluating code.

* testing/lisp/test-ob-exp.el (ob-exp/exports-inline-code):
(ob-exp/exports-inline-code-double-eval):
(ob-exp/exports-inline-code-eval-code-once):
(ob-exp/exports-inline-code-double-eval-exports-both):
(ob-export/export-with-results-before-block):
(ob-export/export-src-block-with-switches):
(ob-export/export-src-block-with-flags):
(ob-export/export-and-indentation):
(ob-export/export-under-commented-headline):
(ob-export/reference-in-post-header):
(ob-export/babel-evaluate):
(org-test-with-expanded-babel-code):
* testing/lisp/test-ob-lob.el (test-ob-lob/export-lob-lines):
(test-ob-lob/do-not-eval-lob-lines-in-example-blocks-on-export): Apply
change.

This patch merges `org-export-execute-babel-code' within
`org-babel-exp-process-buffer', removing one level of indirection.  Now,
all the Babel evaluation is on the Babel side.
2016-06-18 22:11:14 +02:00
Nicolas Goaziou f195259821 Merge branch 'maint' 2016-06-17 14:17:23 +02:00
Nicolas Goaziou 0279d84cd7 ob-exp: Remove spurious comma un-escaping
* lisp/ob-exp.el (org-babel-exp-code): Remove spurious comma
  un-escaping.
2016-06-17 14:16:39 +02:00
Nicolas Goaziou ee7ca3cc43 org-list: Allow multiple receiver locations for radio lists
* lisp/org-list.el (org-list-send-list): Allow multiple receiver
  locations.
* testing/lisp/test-org-list.el (test-org-list/send-list): Add test.
2016-06-17 10:19:07 +02:00
Nicolas Goaziou 3781a3dbbd org-table: Allow multiple receiver locations for radio tables
* lisp/org-table.el (orgtbl-send-replace-tbl): Allow multiple receiver
  locations.
* testing/lisp/test-org-table.el (test-org-table/send-region): Add test.
2016-06-17 10:05:40 +02:00
Nicolas Goaziou 4b3bdd019e Merge branch 'maint' 2016-06-17 00:41:54 +02:00
Nicolas Goaziou 75238d25ed Fix refiling to an empty headline
* lisp/org.el (org-refile): Do not assume the headline is not empty.

Reported-by: Fabrice Popineau <fabrice.popineau@supelec.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/107772>
2016-06-17 00:39:52 +02:00
Xi Shen 35df86c5c0 ob-sql.el: Support sqlcmd in Cygwin environment
* lisp/ob-sql.el (org-babel-sql-dbstring-mssql): Format Microsoft
  `sqlcmd' command line args.
(org-babel-sql-convert-standard-filename): Convert a Posix path to
Windows long path in Cygwin environment, or do nothing.
(org-babel-execute:sql): Add `mssql' engine support and remove support
for `msosql' engine.

The `osql' command line tool was last updated in 2004,
https://technet.microsoft.com/en-us/library/aa214012(v=sql.80).aspx, and
could not output the query result in a way that morden `org-table.el'
expects.  The `sqlcmd' is the preferred command line tool to connect the
Microsoft SQL Server and it also has a Linux version,
https://msdn.microsoft.com/en-us/library/hh568447(v=sql.110).aspx.

TINYCHANGE
2016-06-17 00:26:20 +02:00
Nicolas Goaziou 8416402269 Silence byte-compiler 2016-06-17 00:24:12 +02:00
Nicolas Goaziou db671e1449 ob-ref: Fix reference expansion
* lisp/ob-ref.el (org-babel-ref-resolve): Properly expand a reference to
  a Babel call.
2016-06-16 23:44:53 +02:00
Nicolas Goaziou c3b42e917f ob: Remove `org-babel-lob-execute'
* lisp/ob-lob.el (org-babel-lob-execute): Remove function
(org-babel-lob-execute-maybe):
* lisp/ob-ref.el (org-babel-ref-resolve):
* testing/lisp/test-ob-header-arg-defaults.el (test-ob-header-arg-defaults/global/call):
(test-ob-header-arg-defaults/tree/overwrite/call):
(test-ob-header-arg-defaults/tree/accumulate/call):
(test-ob-header-arg-defaults/tree/complex/call):
* testing/lisp/test-ob-lob.el (test-ob-lob/named-caching-call-line):
(test-ob-lob/caching-call-line):
(test-ob-lob/call-with-header-arguments): Apply removal.
2016-06-16 23:37:40 +02:00
Nicolas Goaziou dbb375fdfc Simplify Babel calls evaluation
* lisp/ob-lob.el (org-babel-default-lob-header-args): Merge value with
  `org-babel-default-header-args' since this variable is meant to
  replace the latter.
(org-babel-lob-ingest): Make sure `org-babel-default-lob-header-args' is
used instead of `org-babel-default-header-args'.
(org-babel-lob--src-info): New function.
(org-babel-lob-get-info): Use new function.  Make return value
a replacement for `org-babel-get-src-block-info'.
(org-babel-lob-execute): Use `org-babel-execute-src-block' instead of
duplicating functionalities.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Apply changes to
  `org-babel-lob-get-info' return value.

* testing/examples/ob-header-arg-defaults.org:
* testing/lisp/test-ob-header-arg-defaults.el (test-ob-header-arg-defaults/tree/accumulate/call):
(test-ob-header-arg-defaults/tree/complex/call):
(test-ob-header-arg-defaults/tree/overwrite/call):
* testing/lisp/test-ob-lob.el (test-ob-lob/caching-call-line):
(test-ob-lob/named-caching-call-line): Update tests.

The purpose of this commit is to make Babel calls more
predictable (e.g., wrt property inheritance) and to remove code
duplication.  Also, Babel calls results are no longer treated as Emacs
Lisp values.
2016-06-16 23:15:01 +02:00
Nicolas Goaziou a04752d38c org-element: Small fix
* lisp/org-element.el (org-element-inline-babel-call-parser): Empty
  arguments return nil instead of the empty string, so as to be on par
  with `org-element-babel-call-parser'.
2016-06-16 22:34:12 +02:00
Nicolas Goaziou e3e52a45bb ob-lob: Use lexical binding 2016-06-16 22:34:12 +02:00
Nicolas Goaziou ddd661a783 ob-lob: Use cl-lib 2016-06-16 22:34:12 +02:00
Nicolas Goaziou 758629d6a0 ob-ref: Remove unnecessary function declarations 2016-06-16 22:34:12 +02:00
Nicolas Goaziou 9d448128b7 ox: Fix typo
* lisp/ox.el (org-export-get-reference): Fix typo.
2016-06-16 22:33:21 +02:00
Marco Wahl 2c4e13c56a org-timer: User can always set timer by prefix arg
* lisp/org-timer.el (org-timer-set-timer): The user can always set the
  timer with a numeric prefix argument.

Before, when the effort property has been set, the user lost control to
explicitly set the timer to a different time.
2016-06-14 21:49:44 +02:00
Marco Wahl 1aef73caa4 Fix a compiler warning
* lisp/org-clock.el (org-clock-timestamps-change): Switch to the
  seasonable interface for subtracting times.
2016-06-14 20:49:20 +02:00
Charles Berry dd944fb590 org-babel-goto-named-src-block bugfix
* lisp/ob-core.el (org-babel-goto-named-src-block): The user prompt
  (i.e. `initial-input' arg of `completing-read') will be the name of
  the results block, noweb reference, call reference, or symbol if
  point is in such.

* testing/lisp/test-ob.el (test-ob/goto-named-src-block): Simulate
  interactive use of `org-babel-goto-named-src-block'.
2016-06-14 09:40:35 -07:00
Nicolas Goaziou 65e4370d46 Merge branch 'maint' 2016-06-11 13:40:52 +02:00
Nicolas Goaziou 819cdb3a09 Preserve list visibility when inserting a new item
* lisp/org.el (org-insert-heading): Do not reveal gratuitously too much
  context before inserting an item.
* testing/lisp/test-org.el (test-org/insert-heading): Add test.

Reported-by: Steinar Bang <sb@dod.no>
<http://permalink.gmane.org/gmane.emacs.orgmode/107665>
2016-06-11 13:33:50 +02:00
Nicolas Goaziou 0603f42cb7 org-element: Fix inline src blocks parameter syntax
* lisp/org-element.el (org-element--parse-paired-brackets): New function.
(org-element-inline-babel-call-parser):
(org-element-inline-src-block-parser): Use new function.

* testing/lisp/test-org-element.el (test-org-element/inline-src-block-parser):
Add test.

Reported-by: Charles Millar <millarc@verizon.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/107629>
2016-06-10 23:42:50 +02:00
Nicolas Goaziou b9c64b1ecb Merge branch 'maint' 2016-06-10 18:24:55 +02:00
Nicolas Goaziou c07175bfaa Remove reference to removed function in menu
* lisp/org.el (org-org-menu): Remove reference to
  `org-beamer-insert-options-template'.

Reported-by: Giacomo M <jackjackk@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107658>
2016-06-10 18:22:16 +02:00
Rasmus af463605f1 Document org-block face changes
* doc/org.texi (Editing source code): Document org-block and
  org-block-LANG faces.
* lisp/org-faces.el (org-block): Mention org-block-LANG faces.
* lisp/org.el (org-src-fontify-natively): Add reference to org-block.
* etc/ORG-NEWS: Update entry.
2016-06-10 10:11:03 +02:00
Rasmus b0def38b4b org-src: Allow per language block face
* lisp/org-src.el (org-src-font-lock-fontify-block):
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Allow per-block
  face.

Suggested-by: Karl Voit <devnull <at> Karl-Voit.at>
<http://thread.gmane.org/gmane.emacs.orgmode/103833/focus=107645
2016-06-10 09:20:30 +02:00
Rasmus 81af689d0f org-src: Src-blocks also inherit org-block face
* lisp/org-src.el (org-src-font-lock-fontify-block): Inherit org-block
  face in addition to language specific faces.
* etc/ORG-NEWS: Add entry.
2016-06-09 16:18:17 +02:00
Marco Wahl 7e57cf5d40 org: Fix tags extraction
* lisp/org.el (org-get-tags-at): Use non-greedy match up to colon to
  match all tags (and not just the last.)
* testing/lisp/test-org.el (test-org/tags-at): One test to cover the
  issue.
2016-06-09 10:06:14 +02:00
Nicolas Goaziou f94df5456f ox-texinfo: Add support for strike-through and underline markup
* lisp/ox-texinfo.el (texinfo): Add transcoders.
(org-texinfo-text-markup-alist): Allow `strike-though' and `underline'
as keys.  Remove unused `comment'.
(org-texinfo-strike-through):
(org-texinfo-underline): New functions.

By default, new markup produce no Texinfo code, but can be customized by
users for specific uses.
2016-06-04 22:40:21 +02:00
Nicolas Goaziou 6daad64277 org-compat: Silence byte-compiler 2016-06-04 22:09:15 +02:00
Nicolas Goaziou 2c70283641 org-colview: Fix docstrings
* lisp/org-colview.el (org-columns--summary-min-age):
(org-columns--summary-max-age):
(org-columns--summary-mean-age): Fix argument name in docstrings.
2016-06-04 21:29:27 +02:00
Don March bd49486db9 Make today's deadlines "close" without lead time
* lisp/org.el (org-deadline-close): A timestamp is close if the days
  between now and the timestamp are less then or equal to the days of
  lead time.

* testing/lisp/test-org.el: Add tests for org-deadline-close.
2016-06-04 20:45:41 +02:00
Don March 42620c1efa Rename org-deadline-is-close to have -p suffix
* lisp/org-agenda.el
  (org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item):
* lisp/org.el (org-deadline-close): Rename to...
  (org-deadline-close-p): ...this.

* testing/lisp/test-org.el (test-org/deadline-close): Rename to...
  (test-org/deadline-close-p): ...this.
2016-06-04 20:39:15 +02:00
Don March 43b5ca1626 Make today's deadlines "close" without lead time
* lisp/org.el (org-deadline-close): A timestamp is close if the days
  between now and the timestamp are less then or equal to the days of
  lead time.

* testing/lisp/test-org.el: Add tests for org-deadline-close.
2016-06-04 20:39:15 +02:00
Nicolas Goaziou 3fd361eb77 Merge branch 'maint' 2016-06-02 13:33:34 +02:00
Yasushi SHOJI 361fa80eba Fix tag width calculation for multi-column chars
* lisp/org.el (org-align-tags-here): Fix tag width calculation for
  multi-column chars.

Some characters have multiple column width.  Calculating string width
with points gives a wrong value than actual display width.  Use
`string-width' instead.

Here is an ECM for this problem.  `M-x org-update-statistics-cookies` or
`C-c #` on bar moves the tag on the headline.

* foo [0/0]								🔤
** child
* bar [0/0]							     :日本語:
** child
12345678901234567890123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7         8
2016-06-02 13:31:09 +02:00
Nicolas Goaziou ecf20715e2 Merge branch 'maint' 2016-06-01 14:54:20 +02:00
Nicolas Goaziou 1f3d72e8b4 Fix TODO case-sensitivity in `org-get-heading'
* lisp/org.el (org-get-heading): Prevent removing false-positive TODO
  keywords due to case-insensitivity.
* testing/lisp/test-org.el (test-org/get-heading): New test.
2016-06-01 14:49:59 +02:00
Nicolas Goaziou 319c05f1dc Merge branch 'maint' 2016-06-01 00:44:55 +02:00
Nicolas Goaziou a1df8cfe71 Fix case-sensitivity of TODO keywords in imenu
* lisp/org.el (org-imenu-get-tree): Todo keywords are case-sensitive.

Reported-by: Georgiy Tugai <georgiy.tugai@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107500>
2016-06-01 00:43:28 +02:00
Nicolas Goaziou 11d6ebc60f Fix `org-in-regexp'
* lisp/org.el (org-in-regexp): Fix VISUALLY optional argument.  Also
  prevent useless searches past the point.  Improve docstring.

* testing/lisp/test-org.el (test-org/in-regexp): New test.
2016-05-31 23:34:14 +02:00
Nicolas Goaziou 21ba5f510e Refuse to follow link right after the link
* lisp/org.el (org-open-at-point):
(org-return): Refuse to follow link right after the link.

* testing/lisp/test-org.el (test-org/return): Add tests.
(test-org/coderef):
(test-org/custom-id):
(test-org/fuzzy-links): Update tests.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/102054>
2016-05-31 23:34:00 +02:00
Nicolas Goaziou 3d0ade9571 By default, use relative name for compilation
* lisp/org.el (org-compile-file): %f meant relative name of compiled
  file.  %F is its full name.  Also always set `default-directory' to
  the directory of the source.

Reported-by: Stig Brautaset <stig@brautaset.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/107348>
2016-05-30 00:13:22 +02:00
Nicolas Goaziou cf77060d18 Fix last commit
* lisp/org.el (org-edit-headline): Fix `save-match-data' scope.

`org-trim' modifies match data. `read-string' doesn't.
2016-05-30 00:02:27 +02:00
Marco Wahl 127f86bdc5 org: Fix interactive headline edit
* lisp/org.el (org-edit-headline): Save match-data before calling
  read-string.
2016-05-28 12:01:14 +02:00
Nicolas Goaziou f2c421d3c0 org-compat: Fix last commit
* lisp/org-compat.el (org-with-silent-modifications): Remove spurious
  definition introduced in last commit.
2016-05-26 16:41:17 +02:00
Nicolas Goaziou 0dfb046983 org-compat: Silence byte-compiler 2016-05-26 16:29:40 +02:00
Nicolas Goaziou bf5ebe1fdd Silence byte-compiler in Emacs 25.1
* lisp/org-compat.el (org-get-x-clipboard): Use `gui-get-selection',
  which obsoletes `x-get-selection'.  Define the former as an alias for
  the latter for backward compatibility.
2016-05-26 16:22:20 +02:00
Nicolas Goaziou 770711153d org-macro: Use cl-lib 2016-05-26 16:16:31 +02:00
Nicolas Goaziou 6176357b47 org-table: Add missing "cl-" prefixes
* lisp/org-table.el (org-table--descriptor-line):
(org-table--row-type): Add "cl-" prefixes.
2016-05-26 16:12:42 +02:00
Nicolas Goaziou f9ad16b22a ob-core: Do not require `cl' since `cl-lib' is used
* lisp/ob-core.el (org-babel-merge-params):
(org-babel-noweb-p):
(org-babel--script-escape-inner): Use "cl-" prefix.
2016-05-26 16:11:06 +02:00
Nicolas Goaziou 82f834ea90 ox-icalendar: Do not require `cl' since `cl-lib' is used
* lisp/ox-icalendar.el (org-icalendar-get-categories):
(org-icalendar-entry):
(org-icalendar--vevent): Use "cl-" prefix.
2016-05-26 16:08:15 +02:00
Nicolas Goaziou a169e43a77 org-table: Do not require `cl' since `cl-lib' is used
* lisp/org-table.el (org-table-align):
(org-table-current-column):
(org-table-current-dline):
(org-table-sort-lines):
(org-table-paste-rectangle):
(org-table-analyze):
(org-table-get-range):
(org-table--row-type):
(org-table-recalculate):
(org-table-expand-lhs-ranges):
(org-table-formula-handle-first/last-rc):
(org-table-formula-substitute-names):
(orgtbl-send-table):
(orgtbl-to-generic): Use "cl-" prefix.
2016-05-26 16:06:09 +02:00
Nicolas Goaziou e8120fbd55 ox-beamer: Do not require `cl' since `cl-lib' is used
* lisp/ox-beamer.el (org-beamer--normalize-argument):
(org-beamer-link): Use "cl" prefix.
2016-05-26 15:57:11 +02:00
Nicolas Goaziou 0ac099a6f8 Remove final parts of XEmacs compatibility code
* lisp/org-compat.el: Declare `org-add-hook', `org-decompose-region',
  `org-detach-overlay', `org-file-equal-p', `org-float-time',
  `org-indent-line-to', `org-indent-to-column', `org-looking-at-p',
  `org-looking-back', `org-propertize', `org-re' and
  `org-select-frame-set-input-focus' as obsolete.
(org-overlay-display, org-overlay-before-string, org-find-overlays):
Move to "org.el"
(org-xemacs-key-equivalents, org-xemacs-p): Remove variables.
(org-region-active-p): Drop XEmacs support.
(org-xemacs-without-invisibility): Remove macro.
(org-get-x-clipboard-compat): Remove function.
* lisp/org-macs.el (org-match-string-no-properties): Remove function.

* lisp/ob-core.el:
* lisp/org-agenda.el:
* lisp/org-archive.el:
* lisp/org-clock.el:
* lisp/org-colview.el:
* lisp/org-crypt.el:
* lisp/org-element.el:
* lisp/org-faces.el:
* lisp/org-feed.el:
* lisp/org-footnote.el:
* lisp/org-habit.el:
* lisp/org-id.el:
* lisp/org-indent.el:
* lisp/org-inlinetask.el:
* lisp/org-lint.el:
* lisp/org-list.el:
* lisp/org-mouse.el:
* lisp/org-pcomplete.el:
* lisp/org-src.el:
* lisp/org-table.el:
* lisp/org-timer.el:
* lisp/org.el:
* lisp/ox-ascii.el:
* lisp/ox-odt.el:
* lisp/ox.el:
* contrib/lisp/org-notify.el:
* contrib/lisp/ox-taskjuggler.el:
* contrib/lisp/org-wikinodes.el:
* testing/lisp/test-org-src.el:
* testing/lisp/test-org.el: Silence byte-compiler.
2016-05-26 13:56:25 +02:00
Nicolas Goaziou 4129ae6737 Remove some XEmacs compatibility layer
* lisp/ob-calc.el (calc-trail):
* lisp/ob-python.el (org-babel-python-mode):
* lisp/org-agenda.el (org-agenda-tags-column):
(org-agenda-show-new-time):
* lisp/org-clock.el (org-clock-update-mode-line):
(org-clock-put-overlay):
(org-clock-resolve):
* lisp/org-faces.el (org-faces):
* lisp/org-indent.el (org-indent-mode):
* lisp/org-macs.el (org-load-noerror-mustsuffix):
* lisp/org-table.el (orgtbl-setup):
* lisp/org.el (org-key):
(org-self-insert-cluster-for-undo):
(org-tags-column):
(org-emphasis-alist):
(org-mode):
(org-set-font-lock-defaults):
(org-cycle-internal-local):
(org-tree-to-indirect-buffer):
(org-set-frame-title):
(org-priority):
(org-set-tags):
(org-set-current-tags-overlay):
(org-toggle-time-stamp-overlays):
(org-display-custom-time):
(org-diary-to-ical-string):
(org--format-latex-make-overlay):
(org-dvipng-color):
(org-latex-color):
(org-mode-map):
(org-speed-commands-default):
(org-reload):
(org-display-warning):
(org-end-of-line):
* lisp/ox-man.el (org-man-inline-src-block):
* contrib/lisp/org-vm.el (org-vm-follow-link):
* contrib/lisp/ox-groff.el (org-groff-inline-src-block):
(org-groff-src-block): Remove some XEmacs compatibility layer.
2016-05-26 11:30:11 +02:00
Nicolas Goaziou 84f8c9a226 ox-latex: Use "cl-lib"
* lisp/ox-latex.el (org-latex--label):
(org-latex--caption/label-string):
(org-latex--find-verb-separator):
(org-latex--text-markup):
(org-latex-inline-src-block):
(org-latex-item):
(org-latex-keyword):
(org-latex--inline-image):
(org-latex-link):
(org-latex-plain-text):
(org-latex-matrices):
(org-latex--script-size):
(org-latex--align-string):
(org-latex--table.el-table):
(org-latex-timestamp): Use "cl-" prefix.
2016-05-26 11:03:11 +02:00
Nicolas Goaziou 5ac93681b2 Merge branch 'maint' 2016-05-26 10:55:00 +02:00
Nicolas Goaziou 655fb33967 org-agenda: Effectively preserve persistent bulk marks
* lisp/org-agenda.el (org-agenda-change-all-lines): Preserve bulk mark
  overlay when replacing an entry.

Reported-by: Jesse Johnson <holocronweaver@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107299>
2016-05-26 10:51:58 +02:00
Nicolas Goaziou 4c58ee0a4b org-agenda: Add missing docstring
* lisp/org-agenda.el (org-agenda-bulk-marked-p): Add missing docstring.
2016-05-26 10:51:27 +02:00
Rasmus 9dbeaa278d ox-latex: Fix bug introduced in 888ebfdeaf
* lisp/ox-latex.el (org-latex-footnote-reference): Handle anonymous
  footnotes.

Reported-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/107381>
2016-05-25 19:48:51 +02:00
Rasmus 888ebfdeaf ox-latex: More robust repeated footnote references
* lisp/ox-latex.el (org-latex--delayed-footnotes-definitions): Fix typo
  in docstring.
(org-latex-footnote-defined-format): New defcustom.
(org-latex-footnote-reference): Refer to repeated footnotes using
labels.  Format using new defcustom.
* etc/ORG-NEWS: Mention change.
* doc/org.texi (Publishing options): Add new defcustom.
2016-05-25 09:14:52 +02:00
Rasmus 21fa7efa99 ox-org: Add footnote prefix
* lisp/ox-org.el (org-org-section): Add mandatory "fn" prefix to
  footnotes.

Reported-by: Nick Dokos <ndokos@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107366>
2016-05-25 08:51:13 +02:00
Feng Shu 2a8a8b3109 Fix typo
* org.el (org-preview-latex-process-alist): Fix typo in docstring.
2016-05-24 22:23:23 +02:00
Nicolas Goaziou 96cfef229d ox: Small refactoring
* lisp/ox.el (org-export-get-loc): Refactor code.  Speed-up processing
  when the element doesn't require line numbering.
* testing/lisp/test-ox.el (test-org-gen-loc-list): Reformat code.
2016-05-24 21:40:43 +02:00
Brian Carlson af8e3d84ee ox: Provide offset to [+-]n in SRC/EXAMPLE export
* lisp/org-element.el (org-element-example-block-parser): Use cons cell
  for :number-lines specifying offset in addition to type (new/continue).
  ('continue . offset) for :number-lines will add this offset count to
  the last line number. ('new . offset) for :number-lines will reset the
  line number counting starting at offset
(org-element-src-block-parser): same for SRC block as EXAMPLE block

* lisp/ox-html.el (org-html-format-code):
* lisp/ox-latex.el (org-latex-src-block):
* lisp/ox-odt.el (org-odt-format-code):
* lisp/ox.el (org-export-resolve-coderef):
(org-export-get-loc):
(org-export-format-code-default):
* contrib/lisp/ox-groff.el (org-groff-src-block): Use new cons cell
  for :number-lines.

* testing/lisp/test-ox.el  (ert-deftest test-org-export/get-loc): Tests for
changes
(test-org-gen-loc-list): Helper function for `test-org-export/get-loc'.
2016-05-24 21:40:35 +02:00
Feng Shu 6826ccdebc Latex previewing: imagemagick use pdflatex by default
* org.el (org-preview-latex-process-alist): Use "pdflatex" instead of
  "latex".
2016-05-24 19:27:29 +02:00
Trevor Murphy c20f51ccc0 Place `org-clock-heading' outside clock time
* org-clock.el (org-clock-get-clock-string): When `org-clock-effort'
  is nil, arrange the format string components separately, similar to
  how they are arranged when o-c-e is not-nil.
2016-05-23 22:46:54 +02:00
Rasmus 9488d13094 Merge branch 'maint' of orgmode.org:org-mode into maint 2016-05-23 09:06:56 +02:00
Rasmus 58f5def625 ox-latex.el: Format-spec checks Polyglossia
* ox-latex.el (org-latex--format-spec): Also check Polyglossia language.
2016-05-23 09:00:54 +02:00
Rasmus 42bc27b473 Merge branch 'maint' 2016-05-23 08:59:29 +02:00
Rasmus 8c968a9697 ox-latex: Detect languages irrespective of case
* ox-latex.el (org-latex-guess-babel-language):
* ox-latex.el (org-latex--format-spec): Detect languages correctly
  irrespective of case.
2016-05-23 08:45:54 +02:00
Nicolas Goaziou 3c729c7c0b Merge branch 'maint' 2016-05-23 01:20:17 +02:00
Nicolas Goaziou 6105643903 org-table: Fix 4914f89
* lisp/org-table.el (orgtbl-setup): Fix improper key binding
  specification.

Reported-by: Alex <agrambot@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107287>
2016-05-23 01:19:29 +02:00
Nicolas Goaziou dba7652445 Merge branch 'maint' 2016-05-23 01:17:23 +02:00
Nicolas Goaziou f311921ad3 org-list: Fix `org-list-send-list' in LaTeX buffers
* lisp/org-list.el (org-list-send-list): Find correct translator.

Reported-by: Charles Millar <millarc@verizon.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/107290>
2016-05-23 01:12:51 +02:00
Rasmus 9a7bf6d649 Merge branch 'maint' 2016-05-22 15:31:27 +02:00
Rasmus d07fafed4a ox-html: Find preamble-spec case-insensitively
* ox-html.el (org-html--build-pre/postamble): Find the spec based on the
  language case-insensitively.

Note that the default org-html-preamble-format and
org-export-default-language are incompatible.
2016-05-22 15:30:11 +02:00
Nicolas Goaziou 2ed5e64a74 Merge branch 'maint' 2016-05-21 14:41:38 +02:00
Nicolas Goaziou 4914f89644 org-table: Fix DEL using orgtbl minor mode in prog derived mode
* lisp/org-table.el (orgtbl-setup): Hijack DEL key.  We also hijack
  `delete-backward-char' but major modes derived from `prog-mode'
  usually bypass it.

Reported-by: Alex G <agrambot@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107232>
2016-05-21 14:39:26 +02:00
Feng Shu bf93e166be Use dvisvgm to preview latex formulas
* ox-html.el (org-html-with-latex): Add dvisvgm support.
(org-html-with-latex): Add dvisvgm support.
(org-html-format-latex): "ltxpng" -> "ltximg".
(org-html-latex-environment): Add dvisvgm support.
(org-html-latex-fragment): Add dvisvgm support.

* org.el (org-preview-latex-default-process): New variable.
(org-latex-create-formula-image-program): Rename it to `org-preview-latex-default-process'.
(org-latex-preview-ltximg-directory): Rename it to `org-preview-latex-image-directory'.
(org-preview-latex-image-directory): New variable.
(org--format-latex-make-overlay): Add optional image-type, which used to deal with svg.
(org-toggle-latex-fragment): "org-ltxpng" -> "org-ltximg".
(org-format-latex): Add dvisvgm support.
(org-create-formula-image): Big refactor, merge dvipng and imagemagick
backend's feature.  Add dvisvgm feature.
(org-preview-latex-process-alist): Add new variable, which used to set
latex preview processes.
(org-create-formula-image-with-dvipng):
(org-create-formula-image-with-imagemagick): Useless, removed.

* org.texi (@LaTeX{} fragments):
(Previewing @LaTeX{} fragments):
(Math formatting in HTML export):
(Working with @LaTeX{} math snippets): Add dvisvgm information.
2016-05-21 10:50:38 +02:00
Nicolas Goaziou a5f83857c1 Merge branch 'maint' 2016-05-20 23:05:59 +02:00
Nicolas Goaziou 1d2f52f487 org-table: Fix orgtbl-self-insert-command on white spaces
* lisp/org-table.el (orgtbl-self-insert-command): Properly overwrite
  white spaces when there is room for it.  This is on par with what
  `org-self-insert-command' does in Org tables.

Reported-by: Alex <agrambot@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107112>
2016-05-20 23:03:18 +02:00
Nicolas Goaziou e234643d92 Fix `org-open-at-point-global'
* lisp/org.el (org-open-at-point-global): Handle any external link
  looking like an Org link or time-stamp.

Reported-by: Uwe Brauer <oub@mat.ucm.es>
<http://permalink.gmane.org/gmane.emacs.orgmode/107220>
2016-05-20 22:04:11 +02:00
Nicolas Goaziou 2d846210eb Implement conditional case-fold search in org-occur
* lisp/org.el (org-occur-case-fold-search): New variable.
(org-occur): Use new variable.

* testing/lisp/test-org.el (test-org/occur): Add tests.
2016-05-20 14:04:04 +02:00
Nicolas Goaziou 11e2df8091 ob-exp: Small speed-up
* lisp/ob-exp.el (org-babel-exp-src-block): Refer to block position
  instead of line.

`org-current-line' is costly in large buffers.
2016-05-20 13:41:16 +02:00
Nicolas Goaziou 8eb582b951 ox-texinfo: Allow :options attribute on special blocks
* lisp/ox-texinfo.el (org-texinfo-special-block): Handle :options
  attribute.
* doc/org.texi (Texinfo specific attributes): Add special block section.
2016-05-19 19:15:55 +02:00
Nicolas Goaziou 920cfbd921 org-agenda: Fix agenda filter by empty tag string
* lisp/org-agenda.el (org-agenda-filter-make-matcher-tag-exp): Handle
  empty tag strings.

Reported-by: Eric Abrahamsen <eric@ericabrahamsen.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/107121>
2016-05-19 10:31:27 +02:00
Nicolas Goaziou ea1147a479 Add `org-compile-file' and `org-file-newer-than-p'
* lisp/org.el (org-compile-file):
(org-file-newer-than-p): New functions.

* lisp/ox-latex.el (org-latex-compile): Use new functions.

* lisp/ox-man.el (org-man-compile): Use new functions.
(org-man-collect-errors): Remove it.

* lisp/ox-texinfo.el (org-texinfo-compile): Use new functions.
(org-texinfo-collect-errors): Remove function as it is not accurate
enough (e.g., it doesn't handle internationalization).
2016-05-19 09:44:05 +02:00
Kyle Meyer 14f853dceb ox-publish: Correct docstring typo
* lisp/ox-publish.el (org-publish-project-alist): Correct typo in
  docstring.
2016-05-18 22:05:41 -04:00
Kyle Meyer 4efae4f1ff Adjust function declaration changes from 291938d
* lisp/org-macro.el (org-with-wide-buffer): Remove unnecessary
declaration.
(vc-call): Signal that FN is not a defun.  Match arguments.
2016-05-18 22:05:36 -04:00
Rasmus 291938d0b0 org-macro.el: Allow modification-time from vc.el
* org-macro.el (org-macro--vc-modified-time): New function.
* org-macro.el (org-macro-initialize-templates): Add support for new
  function.
* doc/org.texi (Macro replacement): Document new behavior.
* etc/ORG-NEWS: Mention new behavior.
2016-05-18 21:39:37 +02:00
Rasmus 44ad9ff3e4 ox-publish.el: Document `:recursive'
* ox-publish.el (org-publish-project-alist): Document `:recursive'.
2016-05-18 12:00:17 +02:00
Nicolas Goaziou ad766435dc Merge branch 'maint' 2016-05-16 11:21:05 +02:00