Commit Graph

3512 Commits

Author SHA1 Message Date
Nicolas Goaziou 0374533827 Fix multiple TODO keywords
* lisp/org.el (org--setup-collect-keywords): Correctly collect
  multiple TODO lines.
* testing/lisp/test-org.el (test-org/set-regexps-and-options): Add
test.

Thanks to Eric Abrahamsen for reporting it.
2014-10-28 14:23:53 +01:00
Nicolas Goaziou 705a2cdeab Fix property drawer insertion with consecutive headlines
* lisp/org.el (org-get-property-block): Fix property drawer insertion
  with consecutive headlines
* testing/lisp/test-org.el (test-org/entry-put): Add test.

Thanks to Eric Abrahamsen for reporting it.
2014-10-28 14:23:53 +01:00
Nicolas Goaziou 61a241f0dc Rewrite setup keywords initialization
* lisp/org-table.el (org-table-set-constants): Remove function.
* lisp/org.el (org-set-regexps-and-options): Rewrite function.  Merge
  it with `org-set-regexps-and-options-for-tags'.
(org-set-regexps-and-options-for-tags): Remove function
(org--setup-collect-keywords, org--setup-process-tags): New functions.
(org-mode): Remove `org-set-regexps-and-options-for-tags' call.
(org-agenda-prepare-buffers): Use optimized setup for tags in all
cases.  Improve docstring.
(org-make-options-regexp): Make returned regexp more efficient.
2014-10-28 14:23:52 +01:00
Nicolas Goaziou fd87746836 Turn buffer local syntax variables into constants
* lisp/org.el (org-ds-keyword-length, org-deadline-regexp,
  org-deadline-time-regexp, org-deadline-time-hour-regexp,
  org-deadline-line-regexp, org-scheduled-regexp,
  org-scheduled-time-regexp, org-scheduled-time-hour-regexp,
  org-closed-time-regexp, org-keyword-time-regexp,
  org-keyword-time-not-clock-regexp, org-maybe-keyword-time-regexp,
  org-all-time-keywords): Turn into a defconst, no longer
  buffer-local.
(org-set-regexps-and-options): No need to set anymore previous
variables.
2014-10-28 14:23:52 +01:00
Nicolas Goaziou 1ff01cc07a Small refactoring
* lisp/org.el (org-add-planning-info): Small refactoring.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou ed825d738b Insert logs after planning info and property drawer
* lisp/org.el (org-add-log-setup): Set `org-log-note-marker' after
  planning info and property drawer.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 8d8ad98382 Rewrite `org-entry-properties'
* lisp/org.el (org-special-properties): Remove "CLOCK" as a special
  keyword.
(org-entry-properties): Rewrite function according to property drawer
syntax.  Change signature.
(org-entry-get): Apply signature change.

"CLOCK" removal is motivated by the fact that it isn't listed as
a special keyword in the manual, it is not used throughout the code
base, and there is no meaningful value for this property.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 622619334a Update property API
* lisp/org.el (org-entry-put): Refactor code, taking into account
  changes to property drawer syntax.  Fix errors when handling special
  values, which cannot be symbols.  Remove CLOCKSUM handling.
(org-entry-get): Refactor code.
(org-entry-delete): Small refactoring, do not rely on
`org-remove-empty-drawer-at' since parser is not necessary here.
(org-buffer-property-keys): Fix infloop.  Ignore final "+" in extended
properties.  Refactor code.
(org-property-values): Include extended values.
(org-entry-get-with-inheritance, org-insert-property-drawer): Small
refactoring.
(org-insert-drawer): Fix docstring and comments.
(org--update-property-plist): Renamed from org-update-property-plist.
Use side effects.  Improve speed.

CLOCKSUM special property in `org-entry-put' is buggy (symbols instead
of strings) and ignores provided value.  Since the expected behaviour
is neither clear nor documented, the property is not handled anymore
by the function.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 57d8b68d95 Update `org-get-property-block'
* lisp/org.el (org-at-property-p): Rewrite.  Don't use `org-element-at-point'.  It
is faster to retrieve the property drawer location instead.
(org-get-property-block): Update function and docstring.  Change
  signature.
(org-entry-properties, org-entry-put, org-buffer-property-keys): Apply
signature change.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 824faa7255 Update property drawer and node property regexps
* lisp/org.el (org-property-drawer-re, org-property-re): Update
  regexp.
2014-10-28 14:23:50 +01:00
Nicolas Goaziou ca31d59f24 Fix Flyspell check in row separators and empty verse blocks
* lisp/org.el (org--flyspell-object-check-p): New function.
(org-mode-flyspell-verify): Check that table row or verse block under
point is not empty.  Use previous function.
2014-10-26 16:54:01 +01:00
Nicolas Goaziou 7f97406542 Bump Emacs version
* lisp/ob-core.el (org-babel-examplize-region):
* lisp/ob-exp.el (org-babel-exp-inline-code-template):
* lisp/org-table.el (org-table-copy-increment):
(org-table-formula-create-columns):
* lisp/org.el (org-agenda-ignore-drawer-properties):
(org-agenda-ignore-properties):
* lisp/ox-ascii.el (org-ascii-list-margin):
* lisp/ox-html.el (org-html-format-headline-function):
(org-html-format-inlinetask-function):
* lisp/ox-latex.el (org-latex-hyperref-template):
(org-latex-custom-id-as-label):
(org-latex-format-inlinetask-function):
(org-latex-known-warnings):
* lisp/ox-odt.el (org-odt-format-headline-function):
(org-odt-format-inlinetask-function):
* lisp/ox-texinfo.el (org-texinfo-format-headline-function): Bump
  Emacs version.
2014-10-24 11:56:09 +02:00
Achim Gratz 7429f35efe Merge branch 'maint' 2014-10-22 21:10:18 +02:00
Marco Wahl 8b63dc9503 org.el: Fix bindings of < and > for calendar scrolling
* lisp/org.el (org-read-date-minibuffer-local-map): Switch to the
  current calendar API for scrolling the calendar.
2014-10-20 21:47:42 +02:00
Yann Hodique d4cce42123 org.el: Use normalized names in org-agenda-file-p
* lisp/org.el (org-agenda-file-p): Make sure all filenames are
normalized before performing comparison.
2014-10-20 15:36:17 +02:00
Nicolas Goaziou ce2090ccfd Fix indentation in lists
* lisp/org-list.el (org-list-item-body-column): Take into
  consideration empty items and bullets followed by two spaces.

* lisp/org.el (org--get-expected-indentation): Fix return value for
  items in lists.
(org-indent-region): Fix infloop when indenting some types of plain
lists.  Also fix error when region starts with blank lines at the
beginning of the buffer.

* testing/lisp/test-org.el (test-org/indent-region): Add tests.
2014-10-13 19:03:14 +02:00
Thierry Banel 0e07eb5665 Ascii and Gnuplot key-bindings
* org.el (org-mode-map): change key-binding from C-c p to C-c " a add
C-c " g key-binding for Gnuplot
(org-tbl-menu): add sub-menu for plotting featuring Gnuplot and ascii
plot
* org-table.el (orgtbl-setup): add sub-menu for plotting featuring
Gnuplot and ascii plot
2014-10-12 11:25:51 +02:00
Christopher Schmidt 9c3d22f864 org.el (orgstruct-make-binding): Do not use loop in interpreted code.
* lisp/org.el (orgstruct-make-binding): Do not use loop in
interpreted code.
2014-10-12 06:57:35 +02:00
Christopher Schmidt 2b98cd6554 org.el (orgstruct-make-binding): Do not use loop in interpreted code.
* lisp/org.el (orgstruct-make-binding): Do not use loop in
interpreted code.
2014-10-11 21:40:45 +02:00
Rasmus 464cd965cb ox: Support unnumbered headlines via property
* ox.el (org-export--collect-headline-numbering): Ignore unnumbered headline.
(org-export-get-headline-id,
org-export--collect-unnumbered-headline-id): New functions.
(org-export-numbered-headline-p): Further tests for unnumbered headline.
* ox-odt.el (org-odt-headline, org-odt-link,
org-odt-link--infer-description)
ox-md.el (org-md-headline, org-md-link),
ox-latex.el (org-latex-headline, org.latex-link),
ox-html.el (org-html-headline, org-html-link),
ox-ascii.el (org-ascii-link): Support unnumbered headlines.
* test-ox.el (test-org-export/org-export-get-headline-id): New test.
* OrgOdtStyles.xml: Add styles for unnumbered headings.
2014-10-03 22:06:34 +02:00
Nicolas Goaziou cf77a8e878 Fix `org-edit-special' on file names with spaces
* lisp/org.el (org-edit-special): Fix function when INCLUDE or
  SETUPFILE keyword points to a file name with spaces.
2014-10-02 19:23:03 +02:00
Rasmus 986037a538 ox: Allow file-links with #+INCLUDE-keyword
* org.el (org-edit-special): Handle file-links for INCLUDE.
* ox.el (org-export--prepare-file-contents): Handle links and
add option no-heading.
* ox.el (org-export-expand-include-keyword): Resolve headline
links and add option :only-contents.
* orgguide.texi (Include files)
org.texi (Include files): Updated.
* testing/examples/include.org: New examples.
* test-ox.el (test-org-export/expand-include): New tests.
2014-10-02 18:51:37 +02:00
Marco Wahl 58d95c3a4f org-eww: Org-module to store url from eww
* contrib/lisp/org-eww.el: New file
* contrib/README: Added org-eww.
* lisp/org.el (org-modules): Add org-eww to the pool of org-modules.

The hook gets hooked in the module.

The file is more or less a fraction of the org-w3m module with 'w3m'
replaced by 'eww'.
2014-10-01 13:48:55 -04:00
Aaron Ecay 710d3c864e allow speed commands to have prefix args
* lisp/org.el (org-self-insert-command): Allow speed commands to be
invoked with prefix args.
2014-09-27 23:37:14 -04:00
Aaron Ecay 200eeb5723 ox-latex: support :float nil with caption for minted listings
* lisp/ox-latex.el (org-latex-src-block): Support :float nil with
caption for minted.
(org-latex-listings): Edit docstring to describe this usecase.
* lisp/org.el (org-latex-default-packages-alist): Add “capt-of”
package.

This takes advantage of the capt-of package’s \captionof command,
which allows to insert a caption (with autogenerated number and
\ref-able label) without creating a floating environment.  One example
of where this is useful is in the case of a minted source code listing
that spans more than one page.  (Latex floats can’t be larger than a
page, generally speaking.)

The listings package already handles this case using its own mechanism.
2014-09-22 22:46:26 -04:00
Nicolas Goaziou 0620fe98cb Merge branch 'maint' 2014-09-19 21:03:27 +02:00
Nicolas Goaziou 3f484a5277 Fix headline insertion after an empty headline
* lisp/org.el (org-N-empty-lines-before-current): Make sure to delete
  only empty lines, not trailing whitespaces.

* testing/lisp/test-org.el (test-org/insert-heading): Add test.

Thanks to Oleh for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90876
2014-09-19 20:59:40 +02:00
Nicolas Goaziou b2fca73e30 Tiny refactoring
* lisp/org.el (org-hide-block-toggle-maybe): Tiny refactoring.
2014-09-16 09:30:29 +02:00
Nicolas Goaziou c8a7e474ec Fix `org-hide-block-toggle' return value
* lisp/org.el (org-hide-block-toggle-maybe): Do not return a non-nil
  value when toggling failed.
(org-hide-block-toggle): Update docstring.

* testing/lisp/test-org.el (test-org/hide-block-toggle-maybe): New
  test.
2014-09-16 09:29:28 +02:00
Nicolas Goaziou 2afd5fbb09 Fix `org-hide-block-toggle-maybe'
* lisp/org.el (org-hide-block-toggle-maybe): Never throw an error.
  Improve docstring.
(org-hide-block-toggle): Improve docstring.
2014-09-15 20:21:20 +02:00
Nicolas Goaziou 9ba9f916e8 Fix `org-up-heading-safe'
* lisp/org.el (org-up-heading-safe): Do not throw any error, as
  advertised in the docstring.
2014-09-15 18:49:19 +02:00
Nicolas Goaziou 3aa27acfcb Fix "Not at a block" error on dynamic blocks
* lisp/org.el (org-hide-block-toggle, org-indent-block): Recognize
  dynamic blocks.

Thanks to Eric S Fraga for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90711
2014-09-15 13:32:50 +02:00
Nicolas Goaziou 70a0c5bfa1 Fix "Not at a block" error on export blocks
* lisp/org.el (org-hide-block-toggle): Fix "Not at a block" error on
  export blocks.
2014-09-12 20:58:47 +02:00
Nicolas Goaziou 4cb0bc089f Fix "Not at a block" error on special blocks
* lisp/org.el (org-hide-block-toggle): Fix "Not at a block" error on
  special blocks.

Thanks to Fabrice Popineau for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90663
2014-09-12 18:40:49 +02:00
Nicolas Goaziou aaa70b90ef Fix failing tests
* lisp/org.el (org--align-node-property): Fix failing tests.
2014-09-02 12:45:07 +02:00
Nicolas Goaziou f51a72c95c Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-09-02 12:34:47 +02:00
Nicolas Goaziou 2de0c1c3da Fix 37bf05
* lisp/org.el (org-re-property): Fix regexp.  Improve docstring.
* testing/lisp/test-org-element.el (test-org-element/node-property):
  Update test.

Thanks to Daimrod for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90383
2014-09-02 12:33:35 +02:00
Nicolas Goaziou 539eac9211 org-element: Recognize planning info only right after a headline
* lisp/org.el (org-planning-line-re): New variable.  Renamed from
  `org-planning-or-clock-line-re'.

* lisp/org-element.el (org-element-paragraph-separate,
  org-element-headline-parser, org-element-inlinetask-parser, ,
  org-element--current-element): Use new variable.
(org-element-planning-parser): Check previous line before parsing
planning info.  When right after a headline, fallback to paragraph
parsing.

* testing/lisp/test-org-element.el (test-org-element/planning-parser):
  Add a test.  Update others.
(test-org-element/timestamp): Remove a test.
* testing/lisp/test-ox.el (test-org-export/handle-options): Update
  test.
2014-08-31 15:39:35 +02:00
Nicolas Goaziou 288ffa15f5 Fix failing tests
* lisp/org.el (org--align-node-property): Properly align properties
  with empty values.
2014-08-31 11:43:38 +02:00
Nicolas Goaziou d2643be6d8 Merge branch 'maint'
Conflicts:
	lisp/org-element.el
2014-08-31 11:43:27 +02:00
Nicolas Goaziou 37bf0576f2 org-element: Make properties parsing more robust
* lisp/org-element.el (org-element-property-drawer-parser,
  org-element-node-property-parser): Ignore lines that are not node
  properties.
(org-element-node-property-interpreter): Allow nil properties.

* lisp/org.el (org-re-property): Fix regexp to match properties with
  empty values.

* testing/lisp/test-org-element.el (test-org-element/node-property):
  Add tests.

Thanks to Eike for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90293
2014-08-31 11:10:56 +02:00
Thierry Banel 851b779d1a org-table: Add ascii plotting in tables
* org-table.el (orgtbl-ascii-plot): Top-level function.
(orgtbl-ascii-draw), (orgtbl-uc-draw-grid), (orgtbl-uc-draw-cont):
Functions which go in table formulas for drawing bars.
* org.el: key binding and menu binding

Thanks to Michael Brand and Nicolas Goaziou for feedback and
enhancements.
2014-08-29 10:00:35 +02:00
Konubinix ef5ec3d536 Use `org-clock-string' whenever possible
* lisp/org-clock.el (org-find-open-clocks):
* lisp/org.el (org-clone-subtree-with-time-shift,
 org-insert-property-drawer, org-at-clock-log-p): Use
 `org-clock-string' whenever possible instead of hardcoded "CLOCK".
(org-clock-line-re): New variable.
2014-08-27 10:10:24 +02:00
Nicolas Goaziou 2593b4d878 org-element: Add :post-affiliated property to all elements
* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser, org-element-item-parser,
  org-element-section-parser, org-element-clock-parser,
  org-element-node-property-parser, org-element-planning-parser,
  org-element-table-row-parser): Add dummy :post-affiliated property.

* lisp/org.el (org--get-expected-indentation, org-indent-line,
  org-indent-region, org-adaptive-fill-function,
  org-toggle-fixed-width, org-forward-paragraph,
  org-backward-paragraph, org-mode-flyspell-verify): Remove nullity
  checks for :post-affiliated.

Even though these elements cannot have affiliated keywords, beginning
of element is a logical default value.  It makes checking the nullity
of the unnecessary.
2014-08-26 16:05:19 +02:00
Nicolas Goaziou 6987059a20 Merge branch 'maint' 2014-08-25 15:34:14 +02:00
Nicolas Goaziou 409913b253 Fix `org-promote' error
* lisp/org.el (org-called-with-limited-levels): Initialize variable.

http://permalink.gmane.org/gmane.emacs.orgmode/90119
2014-08-25 15:32:35 +02:00
Aaron Ecay d582b3b563 fix docstring typo
* lisp/org.el (org-insert-heading): Fix docstring typo.
2014-08-16 00:45:39 -04:00
Nicolas Goaziou ca46777144 Silence byte-compiler 2014-08-11 15:35:33 +02:00
Eric Schulte 385746d69c add support for forth code blocks
Currently only session code block evaluation is supported, however
  this is a reasonable default for forth.

* lisp/org.el (org-babel-load-languages): Add "Forth" to the list of
  loadable languages.

* list/ob-forth.el: New file.
2014-08-09 19:00:02 -04:00
Federico Beffa b3fbd31f17 org.el: Add function to indent environment inserted by cdlatex-enviroment
* lisp/org.el (org-cdlatex-environment-indent): New function.

New function is bound to "\C-c{" in `org-cdlatex-mode-map' to add
a LaTeX environment and indent it.

TINYCHANGE
2014-08-09 09:50:53 +02:00
Joe Corneli 3ea1ce2e85 Fix bug associated with setting image size via ATTR.
* lisp/org.el (org-display-inline-images): This change is necessary to
  make ATTR work.  Removed unnecessary save-match-data forms.
2014-08-07 15:02:42 +02:00
Nicolas Goaziou 381ad4b33a Small refactoring
* lisp/org.el (org-fill-paragraph): Avoid calling
  `fill-region-as-paragraph' if BEG is equal to END.
2014-08-03 09:57:37 +02:00
Nicolas Goaziou d649b792c0 Small refactoring
* lisp/org.el (org-fill-paragraph): Small refactoring.
2014-08-02 23:16:05 +02:00
Nicolas Goaziou cbb82d0c6e Speed up paragraph filling
* lisp/org.el (org-fill-paragraph): Do not parse objects in whole
  paragraph if none looks like a line break.
2014-08-02 22:49:24 +02:00
Bastien Guerry 296d82a383 New alias `org-toggle-latex-fragment' for `org-preview-latex-fragment'
* org.el (org-ellipsis, org-remove-highlights-with-change):
Enhance docstring.
(org-preview-latex-fragment): Make obsolete.  Alias to the new
name `org-toggle-latex-fragment'.
(org-mode, org-mode-map): Use `org-toggle-latex-fragment'.
2014-08-01 13:52:32 +02:00
Nicolas Goaziou cdb85242d6 Fix block hiding
* lisp/org.el (org-hide-block-toggle): Correctly find boundaries of
  the block at point.  Fix `off' argument behavior.  Allow to hide
  a block when at any affiliated keyword.

* testing/lisp/test-org.el (test-org/hide-block-toggle): New test.

Thanks to Andrea Rossetti for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/89324
2014-08-01 10:50:36 +02:00
Bastien Guerry 3b6f386795 Merge branch 'maint' 2014-07-29 23:28:34 +02:00
Achim Gratz 60bfafcb0c org.el (org-refresh-category-properties): Enhance regexp
* org.el (org-refresh-category-properties): Enhance regexp.
2014-07-29 23:28:08 +02:00
Matt Lundin dc4942442c Fix docstring of org-agenda-inhibit-startup
* lisp/org.el: org-agenda-inhibit-startup: fix docstring to reflect
  default value
2014-07-29 23:19:10 +02:00
Bastien Guerry 8d8dfacfc6 Fix code typo in 3af4949a 2014-07-29 16:56:44 +02:00
Bastien Guerry 06aa1b615c org.el (org-yank): Small docstring enhancement
* org.el (org-yank): Small docstring enhancement.
2014-07-29 15:35:39 +02:00
Malcolm Purvis 3af4949a07 org.el (org-refresh-category-properties): Regexp enhancement
* org.el (org-refresh-category-properties): Regexp enhancement.

TINYCHANGE
2014-07-29 15:22:54 +02:00
Bastien Guerry f8b42e8ebe Don't use an overlay for src blocks backgrounds
* org-faces.el (org-block-background): Delete.

* org.el (org-fontify-meta-lines-and-blocks-1): Don't use an
overlay for the block background.
(org-in-src-block-p): Check against the `src-block' text
property, not against an overlay.

The overlay was introduced here:
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=27d98d879
and fixed here
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=69811ff44

But (1) it makes fontification slowler, (2) it makes
`org-in-src-block-p' slower and it prevents correct ps-printing
of Org buffers.

If we want to use a different background color, we need another
solution than using overlays.
2014-07-28 18:54:00 +02:00
Bastien Guerry e8b51c0ce5 org.el (org-self-insert-command): Use `yas-expand'
* org.el (org-self-insert-command): Use `yas-expand' as
yas/expand is obsolete since Yasnippet 0.8.

Thanks to Craig Tanis for reporting this.
2014-07-28 17:28:54 +02:00
Bastien Guerry 2cd70ef915 org.el (org-set-font-lock-defaults): Highlight COMMENT
* org.el (org-set-font-lock-defaults): Highlight COMMENT in
headlines with `org-special-keyword'.
2014-07-28 16:03:05 +02:00
Bastien Guerry 31c7e3f065 org.el (org-comment-dwim): Fix docstring location
* org.el (org-comment-dwim): Fix docstring location.
2014-07-28 16:00:23 +02:00
Bastien Guerry 8b7b2f6600 org.el (org-open-at-point): Also open links in comment blocks
* org.el (org-open-at-point): Also open links in comment blocks.
2014-07-28 15:40:49 +02:00
Bastien Guerry 9139521186 Complete commit 9e006d11
* org.el (org-preview-latex-fragment): Remove LaTeX fragments
overlays when they are displayed.  Fix message.
2014-07-28 01:24:56 +02:00
Bastien Guerry 96323cf2aa Merge branch 'maint' 2014-07-28 01:03:03 +02:00
Bastien Guerry d8a0ee7aad org.el (org-paste-subtree): Fix match subexpression
* org.el (org-paste-subtree): Fix match subexpression.

Thanks to Anders Johansson for reporting this.
2014-07-28 01:02:50 +02:00
Bastien Guerry aef3b6c3f9 org-refile: Don't copy the refiled subtree to the clipboard
* org.el (org-paste-subtree): New parameter `remove', to
remove the pasted subtree from the `kill-ring'.
(org-refile): Use the new parameter of `org-paste-subtree'.

Thanks to Samuel Wales for suggesting this.
2014-07-28 00:49:01 +02:00
Bastien Guerry 9e006d1128 org.el (org-ctrl-c-ctrl-c): Don't remove LaTeX fragments overlays
* org.el (org-ctrl-c-ctrl-c): Don't remove LaTeX fragments overlays.
2014-07-27 19:44:40 +02:00
Bastien Guerry 3aef08ddeb org.el (org-activate-plain-links): Don't activate :elisp: and 🐚 tags
* org.el (org-activate-plain-links): Don't activate :elisp:
and 🐚 tags as links.  Enhance the docstring.
(org-activate-angle-links, org-activate-footnote-links)
(org-activate-bracket-links, org-activate-dates)
(org-activate-target-links): Minor docstrings enhancement.

Thanks to Andrea Rossetti for reporting this.
2014-07-27 15:58:13 +02:00
Eric Schulte fdc673dac0 remove extra escape org-emphasis-regexp-components
specifically in the second 'post' element

* lisp/org.el (org-emphasis-regexp-components): Remove extra escape
  org-emphasis-regexp-components, specifically in the second 'post'
  element.
2014-07-03 07:59:15 -04:00
Nicolas Goaziou c9eaea360a Fix `org-drag-element-backward'
* lisp/org.el (org-drag-element-backward): Correcly drag elements in
  a drawer or a block.
* testing/lisp/test-org.el (test-org/drag-element-backward): Add test.
2014-06-25 10:49:52 +02:00
Eric Schulte 518b60aa42 allow square brackets in emphasis post-match
* lisp/org.el (org-emphasis-regexp-components): Allow square brackets
  in the emphasis post match.
2014-06-23 17:47:03 -04:00
Matt Lundin 4a4dbe16d8 Fix speedkeys to move subtrees up and down
* lisp/org.el (org-speed-commands-default): Bind "U" and "D" to
`org-metaup' and `org-metadown'.

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

Thanks to Marco Wahl for reporting the problem:
http://permalink.gmane.org/gmane.emacs.orgmode/87873
2014-06-23 16:55:21 +02:00
Achim Gratz 22410544c7 org: correct package-version for org-structure-template-alist
* lisp/org.el (org-structure-template-alist): Package version should
  be a symbol name, not a string.

Fixes ce41c076c0.
2014-06-22 10:26:43 +02:00
Aaron Ecay ce41c076c0 org.el: insert missing quote 2014-06-21 23:32:18 -04:00
Aaron Ecay 94939bd473 org-mtags: remove
* contrib/lisp/org-mtags.el: Delete file.
* lisp/org.el (org-structure-template-alist): Remove <foo>-style tags.
(org-complete-expand-structure-template): Don't handle <foo>-style tags.
2014-06-21 20:48:46 -04:00
Bastien Guerry ce2359eb80 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-20 08:44:06 +02:00
Bastien Guerry 4b0557bdd8 org.el: Delete `org-fix-ellipsis-at-bol'
* org.el (org-fix-ellipsis-at-bol): Delete.
(org-mode, org-show-context, org-isearch-end): Don't use
`org-fix-ellipsis-at-bol'.
2014-06-20 08:41:34 +02:00
Bastien Guerry b414844daa Merge branch 'maint' 2014-06-15 10:49:36 +02:00
Bastien Guerry 88036251eb org.el (org-fontify-meta-lines-and-blocks-1): Fix handling of `org-hidden-keywords'
* org.el (org-fontify-meta-lines-and-blocks-1): Fix handling
of `org-hidden-keywords'.

Thanks to Leu Zhe for reporting this.
2014-06-15 10:49:01 +02:00
Bastien Guerry 4104ec2591 Minor code clean-up
Thanks to Thorsten for this.
2014-06-13 12:24:50 +02:00
Bastien Guerry 560c3adedb Merge branch 'maint' 2014-06-12 15:25:56 +02:00
Bastien Guerry feca87b9ac Fix 30220ff 2014-06-12 15:25:42 +02:00
Bastien Guerry 4014947f31 Merge branch 'maint' 2014-06-12 12:05:00 +02:00
Bastien Guerry 30220ffcdc Prefer `set-window-start' over `recenter' in some places.
* org-agenda.el (org-agenda-show-1):
* org-table.el (org-table-show-reference):
* org.el (org-fix-ellipsis-at-bol)
(org-first-headline-recenter): Use `set-window-start' instead
of `recenter'.

* org-agenda.el (org-recenter-heading): Delete.
2014-06-12 12:04:24 +02:00
Nicolas Goaziou 39d0433637 Small optimization
* lisp/org.el (org-adaptive-fill-function): Do not compute fill prefix
  if point is at a heading or an inlinetask.  Also change "? " into
  "?\s" for better code readability.
2014-06-11 22:42:31 +02:00
Bastien Guerry a3f58c8891 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-11 17:46:40 +02:00
Bastien Guerry 6c9b3ad91f org.el (org-insert-heading): Be more consistent in respecting content
* org.el (org-insert-heading): With one universal prefix
argument or `org-insert-heading-respect-content' set to `t',
always respect the content, i.e. don't insert a list item and
don't convert normal lines into headings.  Update docstring.
(org-insert-heading-respect-content): Remove unused arg.
(org-insert-todo-heading-respect-content): Don't use
`org-insert-todo-heading-respect-content', use the second
argument of `org-insert-todo-heading' instead.

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

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

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

* testing/lisp/test-org.el (test-org/meta-return): Remove unnecessary
  test (not testing specifications).
(test-org/insert-heading): New test.
2014-06-09 18:07:07 +02:00
Bastien Guerry a5991acd69 Remove useless code 2014-06-05 12:16:23 +02:00
Nicolas Goaziou 9263654e5b Merge branch 'maint' 2014-06-03 23:28:56 +02:00
Nicolas Goaziou 88f2625f28 Fix typo
* lisp/org.el (org-scan-tags): Fix typo in docstring.
2014-06-03 23:28:08 +02:00
Bastien Guerry 3518403790 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-02 15:57:41 +02:00
Bastien Guerry 89cb26ed17 org.el: Fix setting and deleting properties with a null value
* org.el (org-property-re): Also match null properties by
default.
(org-entry-delete): Also delete null properties.
(org-read-property-value): Allow the empty string as a new
value.
(org-delete-property): Throw a message when there is not
property to delete.

Thanks to Andrea Rossetti for reporting this.
2014-06-02 15:40:04 +02:00
Achim Gratz 108658e94f org: forward declare functions
* lisp/org.el: Forward declare `org-clock-sum',
  `org-table-end-of-field', `org-element-cache-refresh'.

These have been introduced with b5554077cb, b76071f2b6 and 6eb940a8dc.
2014-06-01 14:22:42 +02:00
Bastien Guerry 14dd4c56f2 Don't use the org-warning face for the wrong install warning 2014-05-31 16:47:37 +02:00
Bastien Guerry dd17e9d299 org.el (org-todo): When changing from one state to the same state, throw a more accurate message
* org.el (org-todo): When changing from one state to the same
state, throw a more accurate message.
2014-05-31 14:31:46 +02:00
Bastien Guerry 63ce68af06 org.el: Don't quote lambdas and known functions. Fix indentation.
* org.el (org-confirm-shell-link-function)
(org-todo-keywords, org-time-stamp-rounding-minutes)
(org-file-contents, org-update-radio-target-regexp)
(org-hide-block-toggle-all, org-hide-block-all)
(org-open-at-point, org-sparse-tree, org-timestamp-change)
(org-create-formula-image, org-insert-comment)
(org-comment-or-uncomment-region, org-comment-dwim): Don't
quote lambdas and known functions.
2014-05-30 08:52:19 +02:00
Bastien Guerry f86d99a292 Merge branch 'maint' 2014-05-30 08:47:26 +02:00
Bastien Guerry 822dcfc881 org.el: Fix bug when setting properties with a null value
* org.el (org-re-property): New parameter `allow-null' to
match property with a null value.
(org-entry-put): Correctly update a property with a null
value.

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

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

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

People trying to load org.el when org-loaddefs.el is not available
has been a major cause of trouble when installing Org.  The warning
tells them what they need to do.
2014-05-29 22:08:43 +02:00
Bastien Guerry 029b393032 Merge branch 'maint' 2014-05-29 19:49:07 +02:00
Bastien Guerry d8034c3b19 org.el (org-insert-heading): Don't insert an item when called with two universal prefix arguments
* org.el (org-insert-heading): Don't insert an item when
called with two universal prefix arguments.
2014-05-29 19:48:47 +02:00
Bastien Guerry b978abb485 org.el (org-shiftmetaup, org-shiftmetadown): Update behavior
* org.el (org-shiftmetaup, org-shiftmetadown): Don't move the
subtree or list item at point up or down, as this feature is
already accessible through `org-metaup' and `org-metadown'.
Update the docstrings to reflect the new behavior.
2014-05-29 19:25:08 +02:00
Achim Gratz 5bf928bae7 Merge branch 'maint'
Conflicts:
	lisp/ob-core.el
	lisp/org.el
	lisp/ox.el
2014-05-28 16:23:08 +02:00
Achim Gratz 3d973cdc6e org: add forward declarations
* lisp/org.el: Add forward declarations for a number of functions that
  the compiler otherwise warns about as potentially undefined at
  runtime.
2014-05-28 15:18:24 +02:00
Achim Gratz 6c1b41bd68 org, ox: move defsubst before first use
* lisp/ox.el (org-export-get-parent): Move definition of
  'org-export-get-parent' before first use.  Leave comment at original
  place of definition.

* lisp/org.el (org-uniquify): Move definition of 'org-uniquify' before
  first use.  Leave comment at original place of definition.
2014-05-28 13:44:53 +02:00
Bastien Guerry 7dceecbb30 Small refactoring and fix a bug in `org-timer-set-timer'
* org.el (org-refresh-property): New function.
(org-refresh-properties, org-set-effort)
(org-property-next-allowed-value): Use it.

* org-timer.el (org-timer-set-timer): Get the correct number
of minutes from text properties, both in an `org-mode' and
`org-agenda-mode' buffer.
2014-05-28 10:47:05 +02:00
Bastien Guerry 500252abf3 org.el (org-open-link-in-comment-or-property): Refactor into `org-open-at-point'
* org.el (org-open-link-in-comment-or-property): Delete.
(org-open-at-point): Handle links in comments and property
drawers.  Update docstring.
2014-05-28 10:21:11 +02:00
Nicolas Goaziou 0e303ab577 Small fix
* lisp/org.el (org-open-at-point): Use parser instead of
  `org-at-comment-p' and `org-at-property-p', which are not accurate.
2014-05-26 18:17:35 +02:00
Nicolas Goaziou f574744aee Tiny refactoring
* lisp/org.el (org-at-property-p): Tiny refactoring.  Improve docstring.
2014-05-26 18:17:30 +02:00
Bastien Guerry b11570c2f1 Fix regression: allow to open a link in a comment or a property line
* org.el (org-open-link-in-comment-or-property): New function.
(org-open-at-point): Use it.

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

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

Thanks to Alan Schmitt for raising this issue.
2014-05-26 16:06:10 +02:00
Bastien Guerry 2affa4d333 org.el (org-sort-entries): Improve TODO entries sorting
* org.el (org-sort-entries): When sorting by TODO keywords,
put TODO entries first, then entries without a TODO keyword,
then DONE entries.

Thanks to Eric Abrahamsen for triggering this.
2014-05-26 07:10:16 +02:00
Bastien Guerry abe931dca9 org.el (org-link-escape-chars): Remove ?\+ ?\; and ?\=
* org.el (org-link-escape-chars): Remove ?\+ ?\; and ?\=.

Thanks to Michael Weylandt for suggesting this.
2014-05-25 07:53:56 +02:00
Bastien Guerry 2c33442ae2 org.el (org-refile-check-position): Remove unused user error
* org.el (org-refile-check-position): Remove unused user error.
2014-05-24 11:52:15 +02:00
Bastien Guerry 253b60cdaf org.el (org-refresh-stats-properties): Fix arithmetic error
* org.el (org-refresh-stats-properties): Fix arithmetic error.

Thanks to Gregor Zattler for reporting this.
2014-05-24 11:25:39 +02:00
Bastien Guerry d978a9e585 org-agenda.el (org-agenda-format-item): Don't add the 'effort and 'effort-minutes text properties
* org-agenda.el (org-agenda-format-item): Don't add the
'effort and 'effort-minutes text properties as they are
already accessible through the 'txt property of agenda lines.

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

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

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

* org-agenda.el (org-entries-lessp): Sort by statistic
cookies.
(org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-deadlines)
(org-agenda-get-scheduled, org-agenda-get-blocks): Don't set
the 'org-category and 'org-category-pos text properties.
'org-category-pos is useless and 'org-category is set through
`org-agenda-format-item'.
(org-agenda-format-item): Remove useless code.
(org-cmp-priority): Delete.
(org-cmp-values): New function to compare text properties
values.
(org-cmp-effort, org-agenda-to-appt): Check against the end of
the line.
(org-agenda-filter-by-category, org-agenda-filter-apply)
(org-agenda-change-all-lines): Use `org-get-at-eol'.
2014-05-23 15:54:50 +02:00
Bastien Guerry 7384c96954 Merge branch 'maint' 2014-05-23 13:12:37 +02:00
Bastien Guerry fe0057556b org.el: Don't advise `outline-end-of-subtree'
* org.el (org-move-subtree-down): Use `org-end-of-subtree'
instead of `outline-end-of-subtree'.
(outline-end-of-subtree): Remove advice.

* org-mouse.el (org-mouse-move-tree, org-mouse-do-remotely):
Use `org-end-of-subtree' instead of `outline-end-of-subtree'.
2014-05-23 13:11:57 +02:00
Nicolas Richard 54f4d2f4a4 org.el (org-cycle-internal-local): Fix trailing character bug
* org.el (org-cycle-internal-local): Don't show a trailing
character when cycling a subtree that ends with a non-newline
character at the end of the buffer or the narrowed region.
2014-05-23 13:04:28 +02:00
Eric Abrahamsen c23d9ee8c5 Warn users of malformed property drawers
* org.el (org-buffer-property-keys): When scanning the buffer for
valid property keys, give users a chance to repair any malformed
property drawers.
2014-05-23 11:06:50 +02:00
Bastien Guerry 92d84410ef Merge branch 'maint' 2014-05-22 12:56:18 +02:00
Bastien Guerry 58e45f4df1 org.el (org-entry-properties): Ensure the special property is not commented out when matched
* org.el (org-entry-properties): Ensure the special property
is not commented out when matched.

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

Thanks to Sébastien for reporting this.
2014-05-22 12:38:06 +02:00
Ian Kelling 1ca86f555f Make the point visible when jumping to the mark
* org.el: Advise commands which jump to the mark.
2014-05-22 11:53:43 +02:00
Bastien Guerry 0cf1be58f5 Merge branch 'maint' 2014-05-21 04:02:49 +02:00
Bastien Guerry d438fbfb1b Continue fixing fdb4b54e 2014-05-21 03:56:26 +02:00
Bastien Guerry c264904b12 Merge branch 'maint' 2014-05-20 23:28:33 +02:00
Bastien Guerry 03acfe44b6 org.el (org-insert-heading): Fix bug
* org.el (org-insert-heading): Fix bug when trying to insert a
heading when point is before the first headline and not at the
beginning of a line.
2014-05-20 23:28:06 +02:00
Albert Krewinkel d2b7c50880 org.el (org-offer-links-in-entry): Reuse global variable
* org.el (org-offer-links-in-entry): Use global variable
  `org-any-link-re' instead of defining a string-equal local variable.

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

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

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

TINYCHANGE
2014-05-20 22:20:56 +02:00
Bastien Guerry d8fdaf89ae Continue enhancing 7ac468
Thanks to Michael Brand for his feedback.
2014-05-20 21:44:37 +02:00
Bastien Guerry 060fc1ca2c Merge branch 'maint' 2014-05-20 18:00:20 +02:00
Bastien Guerry 6fab5bf04b * org.el (org-set-regexps-and-options): Fix
* org.el (org-set-regexps-and-options): Allow
`org-complex-heading-regexp-format' to match [/] and [%]
cookies when they are both before and after the heading.

Thanks to Nicolas Bercher for reporting this.
2014-05-20 18:00:05 +02:00
Bastien Guerry 32e77efa32 Fix previous commit by adding docstrings 2014-05-20 15:49:59 +02:00
Bastien Guerry b76071f2b6 Add `org-increase-number-at-point' bound to C-M-S-<right>
* org.el (org-increase-number-at-point)
(org-decrease-number-at-point): New commands.
(org-mode-map): Bind them to C-M-S-<right> and C-M-S-<left>.
2014-05-20 15:48:01 +02:00
Nicolas Goaziou f58201b1e1 Fix indentation in source blocks
* lisp/org.el (org-indent-line): Indent source block contents
  according to line above when `org-src-tab-acts-natively' is nil.

* testing/lisp/test-org.el (test-org/indent-line): Update test.
2014-05-19 13:33:28 +02:00
Nicolas Goaziou 3702dce1db Fix previous patch
* lisp/org.el (org-update-radio-target-regexp): Fix previous patch.

* testing/lisp/test-org.el (test-org/update-radio-target-regexp): Add test.
2014-05-17 11:14:27 +02:00
Nicolas Goaziou f8b7eb4e20 Fix radio target update
* lisp/org.el (org-update-radio-target-regexp): Properly update cache
  when refreshing regexp.

* testing/lisp/test-org.el (test-org/update-radio-target-regexp): Fix
  test.
2014-05-17 11:03:29 +02:00
Bastien Guerry 736bc7b904 org.el (org-overview): Don't call `recenter'
* org.el (org-overview): Don't call `recenter'.

Thanks to Nicolas Richard for suggesting this.
2014-05-15 11:11:43 +02:00