Commit Graph

17839 Commits

Author SHA1 Message Date
Nicolas Goaziou 5ed56ffa4c ox-publish: Use lexical binding
* lisp/ox-publish.el (org-publish-needed-p):
(org-publish-update-timestamp):
(org-publish-remove-all-timestamps):
(org-publish-get-base-files-1):
(org-publish-get-base-files):
(org-publish-get-project-from-filename):
(org-publish-attachment):
(org-publish-org-sitemap):
(org-publish):
(org-publish-all):
(org-publish-current-file):
(org-publish-collect-index):
(org-publish--collect-references):
(org-publish-cache-file-needs-publishing): Silence byte-compiler.
Replace `mapc' + `lambda' with `dolist'.
2015-11-05 23:55:51 +01:00
Nicolas Goaziou 9d3d95b6e5 ox-org: Use lexical binding
* lisp/ox-org.el (org-org-identity):
(org-org-keyword):
(org-org-link): Silence byte-compiler.
2015-11-05 23:40:53 +01:00
Nicolas Goaziou 0edad6725a Merge branch 'maint' 2015-11-05 23:24:10 +01:00
Nicolas Goaziou 73a5c27cc1 Fix table editing with an active region
* lisp/org.el (org-self-insert-command): Do not call
  `backward-delete-char' since it possibly deletes active region.
  Simplify code.

This fixes bug#21838.
2015-11-05 23:18:13 +01:00
Aaron Ecay 4c9b24b4d5 Remove test for `org-babel-get-header' function.
The function was removed in 0d000f5.
2015-11-05 17:04:15 +00:00
Aaron Ecay 07e16c2fc5 Use setq-local and defvar-local.
* lisp/org-macs.el (org-set-local): Remove.  All callers changed.
* lisp/org-clock.el:
* lisp/org-colview.el:
* lisp/org-macro.el:
* lisp/org-mouse.el:
* lisp/org-table.el:
* lisp/org.el: Use defvar-local.
* lisp/org-agenda.el:
* lisp/org-capture.el:
* lisp/org-crypt.el:
* lisp/org-ctags.el:
* lisp/org-plot.el:
* lisp/org.el:
* lisp/ox-odt.el:
* lisp/ox.el: Use setq-local instead of set + make-local-variable.

Changes in contrib:

* contrib/lisp/org-colview-xemacs.el (org-colview-xemacs-set-local): New
macro. Adjust old callers of `org-set-local'.
2015-11-05 16:47:38 +00:00
Aaron Ecay 40356ae376 babel: convert org-babel-check-confirm-evaluate to defun, add test
* lisp/ob-core.el (org-babel-check-confirm-evaluate): Convert from macro
to function.
(org-babel-check-evaluate):
(org-babel-confirm-evaluate): Adapt to above change.  Convert from
defsubst to defun.
* testing/lisp/test-ob.el (ob/check-eval) New test.
(org-test-babel-confirm-evaluate): New function supporting it.
2015-11-05 15:54:19 +00:00
Aaron Ecay 4750e4427d babel: small fix.
* lisp/ob-core.el (org-babel-execute-src-block): Simplify code slightly.

The old code would error on evaluating the call line in:

,----
| #+name: foo
| #+begin_src emacs-lisp :var bar="baz"
|   bar
| #+end_src
|
| #+call: foo[:cache yes]("qux")
|
| #+RESULTS:
| : qux
`----
2015-11-05 15:03:58 +00:00
Aaron Ecay e47c7c3ed6 babel: update the manual wrt :cache header arg
* doc/org.texi (cache): Update manual section.
2015-11-05 14:50:23 +00:00
Nicolas Goaziou 02c7850147 ob: Ignore data in COMMENTed headings
* lisp/ob-core.el (org-babel-read-element): New function.
* lisp/ob-ref.el (org-babel-ref-resolve): Use new function.  Refactor
  code.
(org-babel-ref-at-ref-p): Remove function.

* testing/lisp/test-ob.el (test-ob/ignore-reference-in-commented-headings):
  New test.
* testing/lisp/test-ob.el (test-ob/resolve-code-blocks-before-data-blocks):
  Remove test

The second test is removed because names are expected to be unique.
There is no order to expect when more than one uses the same name.

Reported-by: myq <myqlarson@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102464>
2015-11-05 15:44:22 +01:00
Nicolas Goaziou 77fa0018b8 Merge branch 'maint' 2015-11-05 13:45:29 +01:00
Nicolas Goaziou 5e22dcd622 Fix bug#21818
* lisp/org.el (org-insert-link): Redisplay after inserting link.

Reported-by: Emanuel Evans <mail@emanuel.industries>
<http://permalink.gmane.org/gmane.emacs.orgmode/102591>
2015-11-05 13:45:12 +01:00
Nicolas Goaziou d5767ad31f Fix bug#21818
* lisp/org.el (org-insert-link): Redisplay after inserting link.

Reported-by: Emanuel Evans <mail@emanuel.industries>
<http://permalink.gmane.org/gmane.emacs.orgmode/102591>
2015-11-05 12:26:01 +01:00
Nicolas Goaziou 3b8ebff351 ox: Fix failing tests
* lisp/ox.el (org-export-as): Add missing arguments to
  `org-export--get-export-attributes'.
2015-11-05 12:07:48 +01:00
Nicolas Goaziou 47573133a6 ox: Small refactoring
* lisp/ox.el (org-export--get-min-level):
(org-export-install-filters):
(org-export--generate-copy-script):
(org-export-table-has-special-column-p):
(org-export-table-row-is-special-p):
(org-export-table-cell-borders):
(org-export--dispatch-action): Use dolist instead of `mapc' + `lambda'.
2015-11-05 11:05:29 +01:00
Nicolas Goaziou 8048973bae ox: Rename `org-export-collect-tree-properties'
* lisp/ox.el (org-export-collect-tree-properties): Remove function.
(org-export--collect-tree-properties): New function.
  Renamed from `org-export-collect-tree-properties'
(org-export-as): Apply renaming.
* testing/lisp/test-ox.el (org-test-with-parsed-data): Apply renaming.
2015-11-05 10:56:59 +01:00
Nicolas Goaziou b414b85a7c ox: Factorize export properties
* lisp/ox.el (org-export-get-environment): Do not handle :back-end
  and :translate-alist.
(org-export--collect-tree-properties): Do not handle :exported-data.
(org-export--get-export-attributes): New function.
(org-export-as): Use new function.

* testing/lisp/test-ox.el (org-test-with-parsed-data): Use new function.
2015-11-05 10:56:42 +01:00
Nicolas Goaziou f329279757 ox: Check id links in export scope only
* lisp/ox.el (org-export-get-environment): Do not fill :id-alist yet.
(org-export-collect-tree-properties): Complete it here instead.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102540>
2015-11-05 09:20:05 +01:00
Nicolas Goaziou 0611129578 Small fixes
* lisp/ob-asymptote.el (org-babel-asymptote-define-type):
* lisp/ob-processing.el (org-babel-processing-define-type): Small fixes
  following lexical binding move.
2015-11-03 12:34:47 +01:00
Nicolas Goaziou 9b5757cb47 org-list: Fix small bug
* lisp/org-list.el (org-list-to-generic): Fix lexical binding mistake.
2015-11-02 22:09:05 +01:00
Nicolas Goaziou a274c21419 ox-latex: Fix "void function nil" error
* lisp/ox-latex.el (org-latex--delayed-footnotes-definitions): Fix "void
  function nil" error.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102477>
2015-11-02 20:58:50 +01:00
Nicolas Goaziou 4ca1179c9e ox-odt: Use lexical binding
* lisp/ox-odt.el (org-odt-styles-dir):
(org-odt-schema-dir):
(org-odt-format-drawer-function):
(org-odt--zip-extract):
(org-odt-format-toc-headline):
(org-odt--build-date-styles):
(org-odt-template):
(org-odt-bold):
(org-odt-center-block):
(org-odt-code):
(org-odt-dynamic-block):
(org-odt-entity):
(org-odt-example-block):
(org-odt-export-snippet):
(org-odt-export-block):
(org-odt-fixed-width):
(org-odt-footnote-reference):
(org-odt-format-headline--wrap):
(org-odt-headline):
(org-odt-horizontal-rule):
(org-odt-inline-src-block):
(org-odt-italic):
(org-odt-item):
(org-odt-keyword):
(org-odt-latex-environment):
(org-odt-latex-fragment):
(org-odt-line-break):
(org-odt--enumerate):
(org-odt-link--inline-image):
(org-odt-link--inline-formula):
(org-odt--enumerable-p):
(org-odt--standalone-link-p):
(org-odt-link):
(org-odt-node-property):
(org-odt-plain-list):
(org-odt--encode-plain-text):
(org-odt-plain-text):
(org-odt-property-drawer):
(org-odt-quote-block):
(org-odt-section):
(org-odt-htmlfontify-string):
(org-odt-src-block):
(org-odt-statistics-cookie):
(org-odt-strike-through):
(org-odt-subscript):
(org-odt-superscript):
(org-odt-table-cell):
(org-odt--table):
(org-odt-target):
(org-odt-timestamp):
(org-odt-underline):
(org-odt-verbatim):
(org-odt-verse-block):
(org-odt--translate-latex-fragments):
(org-odt--translate-description-lists):
(org-odt--translate-list-tables):
(org-odt-write-manifest-file):
(org-odt--export-wrap):
(org-odt-do-convert):
(org-odt-reachable-formats):
(org-odt-convert): Silence byte-compiler.  Replace `mapc' + `lambda'
with `dolist'.
2015-11-01 00:58:57 +01:00
Nicolas Goaziou ed76447f59 ox-md: Use lexical binding
* lisp/ox-md.el (org-md-separate-elements):
(org-md-bold):
(org-md-verbatim):
(org-md-example-block):
(org-md-horizontal-rule):
(org-md-italic):
(org-md-line-break):
(org-md-node-property):
(org-md-paragraph):
(org-md-plain-list):
(org-md-property-drawer):
(org-md-quote-block):
(org-md-section):
(org-md-template): Silence byte-compiler.
2015-11-01 00:05:22 +01:00
Nicolas Goaziou 3f6746d8a9 ox-man: Use lexical binding
* lisp/ox-man.el (org-man-custom-lang-environments): Remove variable.
(org-man-clock): Remove function.

(org-man-bold):
(org-man-center-block):
(org-man-drawer):
(org-man-dynamic-block):
(org-man-entity):
(org-man-example-block):
(org-man-export-block):
(org-man-export-snippet):
(org-man-fixed-width):
(org-man-headline):
(org-man-inline-src-block):
(org-man-italic):
(org-man-keyword):
(org-man-line-break):
(org-man-link):
(org-man-node-property):
(org-man-paragraph):
(org-man-plain-list):
(org-man-property-drawer):
(org-man-quote-block):
(org-man-radio-target):
(org-man-section):
(org-man-special-block):
(org-man-src-block):
(org-man-statistics-cookie):
(org-man-strike-through):
(org-man-subscript):
(org-man-superscript):
(org-man-table-row):
(org-man-target):
(org-man-timestamp):
(org-man-underline):
(org-man-verbatim):
(org-man-verse-block): Silence byte-compiler.
2015-11-01 00:00:40 +01:00
Nicolas Goaziou a87c34cb8d 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>
2015-10-31 23:32:47 +01:00
Nicolas Goaziou 11a451ff98 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.
2015-10-31 23:19:51 +01:00
Nicolas Goaziou 7f20175807 org-agenda: Small refactoring
* lisp/org-agenda.el (org-agenda-get-deadlines):
(org-agenda-get-scheduled):
2015-10-31 22:28:04 +01:00
Nicolas Goaziou e6ac458988 org-agenda: Fix diary sexp timestamps
* lisp/org-agenda.el (org-agenda--timestamp-to-absolute): New function.
(org-agenda-get-timestamps):
(org-agenda-get-deadlines):
(org-agenda-get-scheduled): Use new function.

* lisp/org.el (org-diary-sexp-no-match): New error.
(org-time-string-to-absolute): Raise an error when a diary sexp cannot
match instead of returning a nonsensical value.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/102417>
2015-10-31 22:26:13 +01:00
Nicolas Goaziou 6e6b19bc96 org-compat: Implement `org-define-error'
* lisp/org-compat.el (org-define-error): New function.
* lisp/ox.el (org-link-broken): Use new function.
2015-10-31 22:26:13 +01:00
Kyle Meyer 59468ab2d8 Merge branch 'maint' 2015-10-31 12:49:59 -04:00
Kyle Meyer 59d706219b org-format-outline-path: Ignore nil path elements
* lisp/org.el (org-format-outline-path): Ignore nil path elements.
* testing/lisp/test-org.el (test-org/format-outline-path): Add test.

The PATH argument shouldn't contain a nil item.  However, this didn't
fail before 1c74002, and helm-get-org-candidates-in-file relies on this
behavior, so prevent it from failing now.

Reported-by: Simon Thum <simon.thum@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/102411>
2015-10-31 12:47:17 -04:00
Kyle Meyer 1ec47568f4 org-format-outline-path: Cosmetic fix
* lisp/org.el (org-format-outline-path): Change loop counter.

The old version gives the same result when combined with the other for
clause, but it reads as though the intention is to reach
(length path) rather than (1- (length path)).
2015-10-31 12:35:13 -04:00
Aaron Ecay 0b78c71cd5 fix 0d000f5
* lisp/ob-core.el (org-babel-process-params): Fix bug introduced by
commit 0d000f5.
2015-10-30 11:35:45 +00:00
Aaron Ecay 0d000f5680 babel: small change in API.
* lisp/ob-core.el (org-babel--get-vars): New function.
(org-babel-get-header): Delete.
* lisp/ob-C.el (org-babel-C-expand-C):
(org-babel-C-expand-D):
* lisp/ob-R.el (org-babel-variable-assignments:R):
* lisp/ob-abc.el (org-babel-expand-body:abc):
* lisp/ob-asymptote.el (org-babel-variable-assignments:asymptote):
* lisp/ob-awk.el (org-babel-execute:awk):
* lisp/ob-calc.el (org-babel-execute:calc):
* lisp/ob-clojure.el (org-babel-expand-body:clojure):
* lisp/ob-dot.el (org-babel-expand-body:dot):
* lisp/ob-emacs-lisp.el (org-babel-expand-body:emacs-lisp):
* lisp/ob-fortran.el (org-babel-expand-body:fortran):
(org-babel-fortran-ensure-main-wrap):
* lisp/ob-gnuplot.el (org-babel-gnuplot-process-vars):
* lisp/ob-haskell.el (org-babel-variable-assignments:haskell):
* lisp/ob-js.el (org-babel-variable-assignments:js):
* lisp/ob-latex.el (org-babel-expand-body:latex):
* lisp/ob-lilypond.el (org-babel-expand-body:lilypond):
* lisp/ob-lisp.el (org-babel-expand-body:lisp):
* lisp/ob-maxima.el (org-babel-maxima-expand):
* lisp/ob-ocaml.el (org-babel-variable-assignments:ocaml):
* lisp/ob-octave.el (org-babel-variable-assignments:octave):
* lisp/ob-org.el (org-babel-expand-body:org):
* lisp/ob-perl.el (org-babel-variable-assignments:perl):
* lisp/ob-picolisp.el (org-babel-expand-body:picolisp):
* lisp/ob-processing.el (org-babel-variable-assignments:processing):
* lisp/ob-python.el (org-babel-variable-assignments:python):
* lisp/ob-ruby.el (org-babel-variable-assignments:ruby):
* lisp/ob-scheme.el (org-babel-expand-body:scheme):
* lisp/ob-shell.el (org-babel-variable-assignments:shell):
* lisp/ob-shen.el (org-babel-expand-body:shen):
* lisp/ob-sql.el (org-babel-expand-body:sql):
* lisp/ob-sqlite.el (org-babel-expand-body:sqlite): Adapt to change.
* etc/ORG-NEWS: Document change.
2015-10-29 19:26:11 +00:00
Aaron Ecay a42b4609c2 Merge branch 'maint' into remove-get-header 2015-10-29 19:21:24 +00:00
Aaron Ecay 54d3032cdc babel: fix header arg duplication
* lisp/ob-core.el (org-babel-process-params): Make idempotent.
* testing/lisp/test-ob.el (ob/process-params-no-duplicates): New test.
2015-10-29 19:10:08 +00:00
Nicolas Goaziou 8bccb21313 ox-latex: Use lexical binding
* lisp/ox-latex.el (org-latex-format-drawer-function):
(org-latex-bold):
(org-latex-clock):
(org-latex-code):
(org-latex-entity):
(org-latex-example-block):
(org-latex-export-block):
(org-latex-export-snippet):
(org-latex-fixed-width):
(org-latex-footnote-reference):
(org-latex-format-headline-default-function):
(org-latex-horizontal-rule):
(org-latex-inline-src-block):
(org-latex-format-inlinetask-default-function):
(org-latex-italic):
(org-latex-keyword):
(org-latex-latex-environment):
(org-latex-latex-fragment):
(org-latex-line-break):
(org-latex-node-property):
(org-latex-paragraph):
(org-latex-planning):
(org-latex-property-drawer):
(org-latex-matrices):
(org-latex-matrices-tree-filter):
(org-latex-math-block-tree-filter):
(org-latex-math-block-options-filter):
(org-latex-math-block):
(org-latex-section):
(org-latex-src-block):
(org-latex-statistics-cookie):
(org-latex-strike-through):
(org-latex--script-size):
(org-latex-subscript):
(org-latex-superscript):
(org-latex-target):
(org-latex-timestamp):
(org-latex-underline):
(org-latex-verbatim):
(org-latex-compile): Silence byte-compiler.  Refactor `mapc' + `lambda'
into `dolist'.
2015-10-29 19:08:26 +01:00
Nicolas Goaziou 6ea83b5660 ox-beamer: Silence byte-compiler
* lisp/ox-beamer.el (org-beamer-export-block): Silence byte-compiler.
2015-10-29 18:54:31 +01:00
Nicolas Goaziou ef9c2a8b4b ox-icalendar: Use lexical binding
* lisp/ox-icalendar.el (org-icalendar-get-categories):
(org-icalendar-clear-blank-lines):
(org-icalendar-export-agenda-files):
(org-icalendar-combine-agenda-files): Silence byte-compiler.  Refactor
`mapc' + `lambda' into `dolist'.
2015-10-29 18:53:03 +01:00
Nicolas Goaziou d51e27e4fe ox-beamer: Use lexical binding
* lisp/ox-beamer.el (org-beamer-bold):
(org-beamer-export-block):
(org-beamer-export-snippet):
(org-beamer-item):
(org-beamer-link):
(org-beamer-target): Silence byte-compiler.
2015-10-29 18:39:29 +01:00
Nicolas Goaziou 0198e3955d ox-html: Use lexical binding
* lisp/ox-html.el (org-html-infojs-install-script):
(org-html-format-drawer-function):
(org-html--has-caption-p):
(org-html--make-string):
(org-html-footnote-section):
(org-html--build-mathjax-config):
(org-html--build-pre/postamble):
(org-html--priority):
(org-html--toc-text):
(org-html-bold):
(org-html-center-block):
(org-html-clock):
(org-html-code):
(org-html-dynamic-block):
(org-html-entity):
(org-html-example-block):
(org-html-export-snippet):
(org-html-export-block):
(org-html-fixed-width):
(org-html-footnote-reference):
(org-html-headline):
(org-html-format-headline-default-function):
(org-html-horizontal-rule):
(org-html-inline-src-block):
(org-html-italic):
(org-html-keyword):
(org-html-latex-environment):
(org-html-latex-fragment):
(org-html-line-break):
(org-html-node-property):
(org-html-plain-list):
(org-html-convert-special-strings):
(org-html-planning):
(org-html-property-drawer):
(org-html-quote-block):
(org-html-src-block):
(org-html-statistics-cookie):
(org-html-strike-through):
(org-html-subscript):
(org-html-superscript):
(org-html-table-row):
(org-html-table--table.el-table):
(org-html-target):
(org-html-timestamp):
(org-html-underline):
(org-html-verbatim):
(org-html-verse-block):
(org-html-final-function): Silence byte-compiler.  Refactor `mapc' +
`lambda' into `dolist'.
2015-10-29 18:35:20 +01:00
Nicolas Goaziou 72c3f5e8e5 org-agenda: Fix `org-agenda-get-scheduled'
* lisp/org-agenda.el (org-agenda-get-scheduled): Rewrite function.
  Comment code.  Fix fontification and sorting issues introduced in
  9e18583.
2015-10-28 14:48:48 +01:00
Nicolas Goaziou 10a3d601ec org-agenda: Fix small bug
* lisp/org-agenda.el (org-agenda-get-day-entries): Rewrite function to
  avoid O(n^2) complexity.  Also fix empty deadline list passed as
  argument when :deadline (or :deadline*) is not the first symbol.
2015-10-28 14:48:48 +01:00
Nicolas Goaziou c29eee4836 org-agenda: Rename `org-agenda-todayp' as `org-agenda-today-p'
* lisp/org-agenda.el (org-agenda-today-p): New function.
(org-agenda-todayp): Deprecate function.
(org-agenda-get-day-face):
(org-agenda-get-deadlines):
(org-agenda-todo): Apply renaming.
2015-10-28 14:48:43 +01:00
Nicolas Goaziou f774552a00 org-agenda: Clarify docstring
* lisp/org-agenda.el (org-scheduled-past-days): Clarify docstring.
2015-10-28 12:19:56 +01:00
Kyle Meyer b9676a2575 Merge branch 'maint' 2015-10-28 01:47:43 -04:00
Kyle Meyer 1c740023f7 Rewrite org-format-outline-path
* lisp/org.el (org-format-outline-path): Avoid out-of-range error when
  the length of PREFIX is greater than the value given for WIDTH.
  Prevent result from extending beyond WIDTH.  Simplify code.
* testing/lisp/test-org.el (test-org/format-outline-path): Add tests.

Reported-by: Simon Thum <simon.thum@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/102241>
2015-10-28 01:26:16 -04:00
Marco Wahl 4552a8915b Merge branch 'maint' 2015-10-27 10:16:01 +01:00
Marco Wahl 3efb519ff5 doc/org.texi: Add index for Archive mode 2015-10-27 10:14:10 +01:00
Marco Wahl 5f56a73c77 testing/README: Add hint to existence of 'make test' 2015-10-26 22:30:31 +01:00