Commit Graph

12888 Commits

Author SHA1 Message Date
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