Commit graph

5472 commits

Author SHA1 Message Date
Nicolas Goaziou ff5a081002 org-indent: refactoring 2011-08-18 15:45:01 +02:00
Nicolas Goaziou 4ef4bcd533 org-indent: handle more modifications of headlines
* lisp/org-indent.el (org-indent-modified-headline-flag): renamed from
  `org-indent-deleted-headline-flag'
(org-indent-notify-modified-headline): renamed from
`org-indent-notify-deleted-headline'. Handle situations when the stars
of an headline are modified.
(org-indent-refresh-maybe): remove case now handled by previous function.
(org-indent-mode): apply renames.
2011-08-18 15:45:01 +02:00
Nicolas Goaziou 0fd4c59367 Cleaner handling of inline tasks under org-indent-mode
* lisp/org-indent.el (org-indent-inlinetask-first-star): new variable.
(org-indent-add-properties): set the first star of inline-tasks'
virtual indentation in `org-warning' face.
* lisp/org-inlinetask.el (org-inlinetask-insert-task): create a new
  inline-task slightly differently, so virtual indentation can be
  applied normally.
2011-08-18 15:45:01 +02:00
Nicolas Goaziou acd6ed2140 org-indent: implement asynchronous initialization
* lisp/org-indent.el (org-indent-initial-marker,
  org-indent-initial-timer, org-indent-initial-lock): new variables.
(org-indent-mode): at initialization, start an idle timer to indent
the whole buffer. When the user is asking for control, interrupt the
process, and resume at the same point when idle again.
(org-indent-initialize-buffer): new function.
(org-indent-add-properties): throw an interrupt when indentation of
buffer is stopped during initialization.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou 9479991d4c org-indent: modify messages sent
* lisp/org-indent.el (org-indent-indent-buffer): send more appropriate
  messages .
2011-08-18 10:41:31 +02:00
Nicolas Goaziou a7600032d0 org-indent: remove unused variable org-indent-outline-re
* lisp/org-indent.el (org-indent-notify-deleted-headline,
  org-indent-refresh-maybe): replace `org-indent-outline-re' with
  `org-outline-regexp-bol'.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou b955d7539f org-indent: pay attention to org-indent-max and org-indent-max-levels
* lisp/org-indent.el (org-indent-max-levels): modify default value and
  add comment.
  (org-indent-add-properties): pay attention to org-indent-max and
  org-indent-max-levels values.
  (org-indent-refresh-maybe): refactor code to avoid an unnecessary
  save excursion.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou a968b8c76f org-table: remove a now useless hack
* lisp/org-table.el (org-table-align): remove now useless hack.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou 818c449e2c org-indent: remove refresh timer
* lisp/org-indent.el (org-indent-fix-section-after-idle-time): remove
  variable.
  (org-indent-initialize): remove timer.
  (org-indent-add-properties): refactor code.
  (org-indent-refresh-subtree, org-indent-refresh-section,
  org-indent-refresh-buffer,org-indent-set-initial-properties): remove
  functions.
  (org-indent-deleted-headline): new variable.
  (org-indent-notify-deleted-headline,org-indent-refresh-maybe): new
  functions.
  (org-indent-mode): insert new functions into a hook.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou 4771caa09c Improve compatibility between org-indent-mode and visual-line-mode
* lisp/org-indent.el (org-indent-mode): completely refresh buffer
  before starting org-indent-mode. Also set idle timer to refresh only
  visible portion of buffer, and refresh the subtree instead of
  section when promoting or demoting it.
  (org-indent-add-properties): rewrite function to proceed line by
  line, as required by `wrap-prefix' specificity.
  (org-indent-refresh-section,org-indent-refresh-subtree): refactor.
  (org-indent-refresh-view): new function.
  (org-indent-refresh-to, org-indent-refresh-section): removed
  functions.
* lisp/org.el (org-unfontify-region): do not remove prefix properties
  when unfontifying a region.
2011-08-18 10:41:30 +02:00
Bastien Guerry 3100838dcc org-colview.el: Correctly remove leading stars.
* org-colview.el (org-columns-cleanup-item): Correctly remove
leading stars in items displayed in the agenda column view.

Thanks to Christian Schmidt for spotting this.
2011-08-18 09:14:44 +02:00
Bastien Guerry 9f337ee06c org-clock.el: remove `org-clocktable-sort-clock-data'.
This function by Max Mikhanosha was added accidently.  We are
waiting for the FSF to process Max copyright assignement to get
this function in org-mode.

Thanks to Achim Gratz for spotting at this.
2011-08-18 09:00:20 +02:00
Bastien Guerry 2edd05eaac org-colview: Clean up items in agenda mode too.
* org-colview.el (org-columns-display-here): Clean up items in
org-agenda-mode too.
(org-columns-cleanup-item): Take a new argument CPHR to allow
passing a complex heading regexp.  Rewrite to cleanup ITEM
correctly in `org-agenda-mode'.

Thanks to Christian Schmidt for pointing at this problem.
2011-08-17 16:56:27 +02:00
Bastien Guerry 8c3ecbe39a Move three functions and add appropriate require/declarations.
* org-clock.el (org-duration-string-to-minutes)
(org-minutes-to-hh:mm-string, org-hh:mm-string-to-minutes):
Move from org.el.
2011-08-17 16:08:02 +02:00
Bastien Guerry a472bee33d org-footnote.el: silence byte-compiler. 2011-08-17 16:05:11 +02:00
Bastien Guerry ea055d3e6d org.el: Minor update of docstrings.
(org-open-at-mouse): Point to the docstring of `org-open-file'
for more details.
(org-open-file): Mention `org-link-frame-setup' in the
docstring.

Thanks to Reiner Steib for pointing at this.
2011-08-17 15:15:35 +02:00
Bastien Guerry 4774b1b026 org.el: Allow to customize the way links are displayed.
(org-link-display-descriptive): New option to customize the
default display of links, either literal or descriptive.
(org-toggle-link-display): New command to toggle link display.
(org-org-menu): Use the new toggle function for links.

Thanks to Reiner Steib for suggesting this.
2011-08-17 15:01:54 +02:00
Bastien Guerry 58f1dbccf8 Remove the "Version" header in Org libraries (leave it in org.el).
Also remove blank lines before the ";;; org*el ends here" declarations.

Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.

Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
2011-08-17 14:42:34 +02:00
Bastien Guerry c25165c25d org-refile: New option `org-refile-active-region-within-subtree'.
* org.el (org-refile-active-region-within-subtree): New option
to allow refiling a region that is part of a subtree without
containing a subtree itself.  This default to `nil'.
(org-refile): Use the new option.  Put point at the beginning
of the region/subtree to be refiled, so that users understand
what will be refiled.  Also improve the prompt to tell whether
the user is refiling a region or a headline.

Thanks to Jeff Horn for raising the issue of refiling a list item,
and to Nicolas Goaziou, Nick Dokos and Suvayu Ali for discussing
them patiently.  The discussion led to these changes.
2011-08-17 11:20:42 +02:00
Bastien Guerry 163cc38986 org.el: minor fix: delete trailing whitespaces. 2011-08-17 11:12:43 +02:00
Bastien Guerry eb4b035815 New option `org-properties-postprocess-alist'.
* org.el (org-properties-postprocess-alist): New option to
allow postprocessing the values of properties set through
`org-set-property'.
(org-set-property): Use this option.

This is inspired by a request from Pascal Mattia.
2011-08-17 11:11:41 +02:00
Bastien Guerry 436290bfab org.el (org-outline-regexp, org-outline-regexp-bol): Add a docstring.
* org.el (org-outline-regexp, org-outline-regexp-bol): Add a
docstring.
2011-08-17 11:05:23 +02:00
Bastien Guerry d13476b918 org-archive.el: Use org-outline-regexp' instead of outline-regexp'.
* org-archive.el (org-archive-to-archive-sibling): Use
`org-outline-regexp' instead of `outline-regexp'.
2011-08-17 11:05:03 +02:00
Nicolas Goaziou 7a826e09b1 fix code typo 2011-08-17 03:15:22 +02:00
Nicolas Goaziou 430b73b90c Minor fix to org-between-regexps-p
* lisp/org.el (org-between-regexps-p): searching up to pos may match
  again beginning regexp.
2011-08-17 03:11:18 +02:00
Nicolas Goaziou 4178a154f3 org-footnote: do not suggest bindings outside Org
* lisp/org-footnote.el (org-footnote-goto-definition): don't send
  erroneous message: suggested bindings might not be set outside Org.
2011-08-16 23:20:33 +02:00
Nicolas Goaziou 6815e30b62 org-footnote: refactor code 2011-08-16 23:20:33 +02:00
Nicolas Goaziou a8d621c3da org-footnote: remove every footnote tag when normalizing non Org buffers
* lisp/org-footnote.el (org-footnote-normalize): effectively remove
  any footnote tag in non Org buffers, as detailled in
  org-footnote-tag-for-non-org-mode-files doc-string.
2011-08-16 23:20:33 +02:00
Nicolas Goaziou baf7dde28e org-footnote: allow non Org mode files to have no footnote tag
* lisp/org-footnote.el (org-footnote-tag-for-non-org-mode-files):
  notify the opportunity to set the variable to the empty string.
(org-footnote-normalize, org-footnote-create-definition): carefully
  check for inserted newlines and presence of the footnote
  tag.
2011-08-16 23:20:33 +02:00
Nicolas Goaziou cb906e4406 org-footnote: re-use global regexps when possible
* lisp/org-footnote.el (org-footnote-at-definition-p): re-use
  org-footnote-definition-re.
2011-08-16 23:03:04 +02:00
Nicolas Goaziou d053a72066 org-footnote: tweak footnote definition regexp
* lisp/org-footnote.el (org-footnote-definition-re): remove an useless
  group.
(org-footnote-at-definition-p): reflect removal of the group.
2011-08-16 23:03:04 +02:00
Nicolas Goaziou 628ebf04f7 Enforce white space after todo keywords
* lisp/org.el (org-set-regexps-and-options): enforce white space after
  todo keyword, as word boundary isn't sufficient (i.e. in matches * TODO/this)
2011-08-16 22:29:39 +02:00
Jambunathan K 395a816a18 Prettify inlinetasks in odt and (x)html backends
* lisp/org-inlinetask.el (org-inlinetask-export-templates):
Fixed template for html so that the exported file is valid
xhtml. Added template for odt.
(org-inlinetask-export-handler): Fix typo in the regexp that
trims content. Make sure that the content is flanked by
paragraph boundaries on either side.

* lisp/org-html.el (org-export-html-style-default): Add style
for inlinetask.

* contrib/lisp/org-xhtml.el (org-export-xhtml-style-default):
Add style for inlinetask.

* contrib/odt/styles/OrgOdtStyles.xml: Added following custom
styles:  OrgInlineTaskHeading and OrgInlineTaskFrame.

* contrib/lisp/org-odt.el (org-odt-format-textbox)
(org-odt-format-inlinetask): Added

Refer following threads:
1. http://lists.gnu.org/archive/html/emacs-orgmode/2011-08/msg00238.html
2. http://lists.gnu.org/archive/html/emacs-orgmode/2011-08/msg00154.html

Thanks to Suvayu Ali for reporting this issue and suggesting
improvements.
2011-08-16 21:29:52 +02:00
Bastien Guerry 9d5c5c3d26 Don't insert superfluous space when updating timestamps.
* org.el (org-add-planning-info): Don't insert superfluous
space when updating timestamps.

Thanks to Valentin Wüstholz for this patch.
2011-08-16 19:05:17 +02:00
Bastien Guerry afa408dcd6 org-agenda.el (org-cmp-effort): Fix docstring.
* org-agenda.el (org-cmp-effort): Fix docstring.
2011-08-16 16:16:43 +02:00
Nicolas Goaziou b6fab3770b org-list: remove left-over commented code and clean white space 2011-08-16 10:23:04 +02:00
Bastien Guerry ad23b7d173 Fix bzg email address (s/altern/gnu). 2011-08-15 21:22:30 +02:00
Bastien Guerry 7a18799e25 Remove arch-tag at the bottom of files. 2011-08-15 20:04:38 +02:00
Nicolas Goaziou dfda5fc8b4 org-list: get correct structure with empty items
* lisp/org-list.el (org-list-full-item-re): when an item has only
  a bullet and no space after it, list structure would not be
  recognized correctly.
2011-08-15 18:29:37 +02:00
Bastien Guerry 904ed18bc2 Fix copyright years for elisp files in core and contrib.
Also add "This file is not part of GNU Emacs." when this is the case.
2011-08-15 15:23:11 +02:00
Bastien Guerry e01ce26c0b org.el: set org-ts-what' correctly in org-at-timestamp-p'.
(org-at-timestamp-p): set `org-ts-what' in a way that point will be
considered to be "on the bracket" whether it is really on it or right
after it.

Thanks to Matt Lundin for reporting this and to Nicolas Goaziou for
discussion about this.
2011-08-15 10:06:02 +02:00
Bastien Guerry c6bee11433 Use outline-regexp in org-overview so that global cycling works outside of Org buffers.
* org.el (org-overview): Use outline-regexp instead of
org-outline-regexp so that global cycling using orgstruct-mode
works outside of Org buffers.

Thanks to Matt Lundin for this fix.
2011-08-15 09:51:44 +02:00
Bastien Guerry bc1b688ff0 Move org-find-visible and org-find-invisible from org-exp.el to org.el. 2011-08-15 09:44:52 +02:00
Bastien Guerry 71332ac8a6 Move org-agenda-todo-yesterday from org.el to org-agenda.el. 2011-08-15 09:39:52 +02:00
Bastien Guerry 258aad0b9a org-table.el: Fix missing variables in let constructs.
* org-table.el (org-table-eval-formula): Fix missing variable
in let construct.
(org-table-time-string-to-seconds): Fix missing variable in
let construct.

Thanks to John Wiegley for pointing at this.
2011-08-14 20:24:43 +02:00
Bastien Guerry 4b423ac3cb Revert "make the "FILE" property non-special when resolving bibtex values"
This reverts commit f5a359f578.

On Aug. 8th Thomas S. Dye reported this commit creates problems:
see http://article.gmane.org/gmane.emacs.orgmode/45392
2011-08-14 19:00:20 +02:00
Michael Brand 2f07dd5163 Agenda: Simplify old fix of face for deadline warning 0 day
* lisp/org-agenda.el (org-agenda-get-deadlines): Fix dfrac for the
case of wdays being 0.  Don't pass wdays to org-agenda-deadline-face,
like before the old fix.
(org-agenda-deadline-face): Revert to old state that was without
wdays.

This allows a deadline warning period of "-0d" to work also with a
custom configuration like:
(setq org-agenda-deadline-faces
      '((1.0001 . org-warning)              ; due yesterday or before
        (0.0    . org-upcoming-deadline)))  ; due today or later
For org-agenda-deadline-faces left at default and all other settings
not exceeding 1.0, the face for a deadline warning of any length
remains untouched by this patch.

references to history:
* commit of the old fix
  - http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=d0d6325
  - git show d0d6325
* mailing list old thread
  - http://thread.gmane.org/gmane.emacs.orgmode/5753
  - http://lists.gnu.org/archive/html/emacs-orgmode/2008-02/msg00395.html
2011-08-14 18:40:42 +02:00
Bastien Guerry 6f8bb3bd5d org-latex.el: Only add one line break after exporting verbatim environments.
* org-latex.el (org-export-latex-fixed-width): Only add one
line break after exporting verbatim environments.

Thanks to Maik Beckmann for reporting this.
2011-08-14 16:40:45 +02:00
Bastien Guerry d9b7afd835 org-list.el: Allow the generic list exporter to trim line breaks in items.
* org-list.el (org-list-item-trim-br): New function.
(org-list-to-generic): New parameter :nobr to use the new
function.
2011-08-14 16:38:55 +02:00
Nicolas Goaziou 0bf0b75d51 org-footnote: keep byte-compiler happy 2011-08-14 10:52:14 +02:00
John Wiegley d24a141d96 Renamed unnecessary use of sort* to sort 2011-08-13 16:43:22 -05:00
David Maus 20ff46e825 Merge branch 'master' of orgmode.org:org-mode 2011-08-13 15:02:58 +02:00
David Maus 3771185cae Fix wrong order of lines to move before pasting
* org.el (org-paste-subtree): Fix wrong order of lines to move before
pasting.
2011-08-13 15:02:03 +02:00
John Wiegley 7d2d8f884b Add customization variable `org-use-effective-time'
If non-nil, consider `org-extend-today-until' when creating timestamps.
For example, if `org-extend-today-until' is 8, and it's 4am, then the
"effective time" of any timestamps between midnight and 8am will be
23:59 of the previous day.
2011-08-13 03:21:49 -05:00
Bastien Guerry d2871b007b Merge branch 'master' of orgmode.org:org-mode 2011-08-13 10:11:59 +02:00
Bastien Guerry 92b87288c7 Minor changes: fix copyright years and licenses.
See https://lists.gnu.org/archive/html/emacs-diffs/2011-08/msg00113.html
for the original patches.  Thanks to Glenn Morris.
2011-08-13 10:11:39 +02:00
Bastien Guerry eb5550fd76 ob-maxima.el: fix the copyright years. 2011-08-13 10:05:24 +02:00
Bastien Guerry 3008f05688 ob-lilypond.el: fix the copyright years. 2011-08-13 10:04:58 +02:00
Bastien Guerry 85c40cb36f ob-awk.el: minor fix. Remove double "Commentary:" line in header. 2011-08-13 10:04:17 +02:00
David Maus e5199c4095 Paste subtree above target headline if point is at bol
* org.el (org-paste-subtree): Paste subtree above target headline if
point is at bol.

Capture and refile depend on this buggy behavior of org-past-subtree.
2011-08-13 09:19:19 +02:00
Nicolas Goaziou 1bbfec57af org-list: don't clear marker while still in use
* lisp/org-list.el (org-toggle-checkbox): don't clear lim-down while
  used in the while loop.
2011-08-12 15:17:48 +02:00
Nicolas Goaziou b4aee73ef1 org-list: fix bug in `org-toggle-checkbox' on current item
* lisp/org-list.el (org-toggle-checkbox): lim-down must be a marker.
2011-08-12 15:11:19 +02:00
Nicolas Goaziou 9c33b9c259 Fix fontification error in feb52f9028
* lisp/org.el (org-activate-code): correct regexp so ":.*" isn't
  matched.
2011-08-12 13:06:25 +02:00
David Maus 7410001a47 Merge branch 'refactor/org-macros' 2011-08-12 08:49:24 +02:00
David Maus 545bfddeea Provide edebug specifications for macros
* org-macs.el (org-with-gensyms, org-called-interactively-p)
(with-silent-modifications, org-bound-and-true-p)
(org-unmodified, org-re, org-preserve-lc)
(org-without-partial-completion, org-with-point-at)
(org-no-warnings, org-if-unprotected, org-if-unprotected-1)
(org-if-unprotected-at, org-with-remote-undo)
(org-no-read-only, org-save-outline-visibility)
(org-with-wide-buffer, org-with-limited-levels)
(org-eval-in-environment): Provide edebug specifications.
* org-src.el (org-src-do-at-code-block): Dto.
* org-publish.el (org-publish-with-aux-preprocess-maybe): Dto.
* org-compat.el (org-xemacs-without-invisibility): Dto.
* org-clock.el (org-with-clock-position, org-with-clock): Dto.
* org-agenda.el (org-agenda-with-point-at-orig-entry)
(org-batch-agenda, org-batch-agenda-csv)
(org-batch-store-agenda-views): Dto.
* ob.el (org-babel-do-in-edit-buffer)
(org-babel-map-src-blocks, org-babel-map-inline-src-blocks): Dto.
* ob-tangle.el (org-babel-with-temp-filebuffer): Dto.
* ob-table.el (sbe): Dto.
* ob-exp.el (org-babel-exp-in-export-file): Dto.
* ob-comint.el (org-babel-comint-in-buffer)
(org-babel-comint-with-output): Dto.
2011-08-12 08:38:59 +02:00
Nicolas Goaziou 44e42d4dab org-inlinetask: fix a doc-string
* lisp/org-inlinetask.el (org-inlinetask-export-templates): fix doc-string.
2011-08-11 14:10:35 +02:00
Nicolas Goaziou 62e320b8a5 org-inlinetask: error when trying to nest inline tasks
* lisp/org-inlinetask.el (org-inlinetask-insert-task): error when
  trying to nest inline tasks.
2011-08-11 14:09:55 +02:00
Nicolas Goaziou feb52f9028 Allow "^[ \t]*:$" as a special case of fixed-width section
* lisp/org.el (org-activate-code, org-toggle-fixed-width-section,
  org-indent-line-function): allow "[ \t]*:$" as a special case of
  fixed-width section.
2011-08-11 11:46:32 +02:00
David Maus ece3091f16 Don't eat headline when yank with point at existing headline
* org.el (org-paste-subtree): Don't eat headline when called with
point at existing headline.
2011-08-10 18:38:26 +02:00
David Maus 14b556772b Merge branch 'master' of orgmode.org:org-mode 2011-08-10 18:18:06 +02:00
David Maus fc572f5a6b Fix typo in variable name
* org.el (org-paste-subtree): Fix typo in variable name.
2011-08-10 18:17:48 +02:00
Jambunathan K b5b4134d0c Check org-inlinetask-export-templates before exporting inline tasks
* lisp/org-inlinetask.el (org-inlinetask-export-handler): Don't export
inline tasks if the current backend has provided no entries in
org-inlinetask-export-templates.
2011-08-10 11:09:39 +02:00
Valentin Wüstholz ce6010262d Preserve indentation of explicitly indented lines in example blocks
* lisp/org.el (org-indent-line-function): Made the way in which example blocks are
  indented more flexible.

Before: Lines in example blocks were indented like the surrounding begin and end
delimiters.
After: By default, lines in example blocks are indented like the surrounding begin and end
delimiters, unless the user explicitly indents them differently.

TINYCHANGE
2011-08-10 10:54:46 +02:00
David Maus 06591f2ccc Fix argument to append when creating final parameter alist
* org-agenda.el (org-batch-agenda-csv): Fix argument to append when
creating final parameter alist.
2011-08-10 10:10:40 +02:00
David Maus 679c21f8ec Use macro org-eval-in-environment' in org-batch-store-agenda-views'
* org-agenda.el (org-batch-store-agenda-views): Use macro
`org-eval-in-environment'.
2011-08-10 09:43:57 +02:00
David Maus 0837adbec8 Provide explanation why batch functions are implemented as macros
,----
| The functions `org-batch-agenda', `org-batch-agenda-csv', and
| `org-batch-store-agenda-views' are implemented as macros to provide
| a conveniant way for extracting agenda information from the command
| line. The Lisp does not evaluate parameters of a macro call; thus
| it is not necessary to quote the parameters passed to one of those
| functions. E.g. you can write:
|
|   emacs -batch -l ~/.emacs -eval '(org-batch-agenda "a" org-agenda-span 7)'
|
| To export an agenda spanning 7 days. If `org-batch-agenda' would
| have been implemented as a regular function you'd have to quote the
| symbol org-agenda-span. Moreover: To use a symbol as parameter
| value you would have to double quote the symbol.
|
| This is a hack, but it works even when running Org byte-compiled.
`----
2011-08-10 09:43:57 +02:00
David Maus f0958680db Use `org-eval-in-environment
* org-agenda.el (org-batch-agenda, org-batch-agenda-csv): Use
`org-eval-in-environment.
2011-08-10 09:43:57 +02:00
David Maus 7d5fb7ff38 New function: Return alist based on flat list
* org-macs.el (org-make-parameter-alist): New function. Turn flat list
of alternating symbol names and values into an alist with symbol name
in car and value in cdr.
2011-08-10 09:43:57 +02:00
David Maus b471e56a3e Use macro org-with-gensyms' in org-agenda-with-point-at-orig-entry'
* org-agenda.el (org-agenda-with-point-at-orig-entry): Use macro
`org-with-gensyms'.
2011-08-10 08:52:15 +02:00
David Maus 19c6b14644 Factor out function for substituting posix class in regular expression
* org-macs.el (org-substitute-posix-classes): New function. Substitute
posix classes in regular expression.
(org-re): Use new function.
2011-08-10 08:52:15 +02:00
David Maus 5423b329c1 New macro: Evaluate FORM in ENVIRONMENT
* org-macs.el (org-eval-in-environment): New macro. Evaluate FORM in
ENVIRONMENT.
2011-08-10 08:52:15 +02:00
David Maus 79605a9007 Use new macro `org-with-gensyms'
* org-macs.el (org-preserve-lc, org-with-point-at)
(org-with-remote-undo, org-save-outline-visibility): Use new macro
`org-with-gensyms'.
2011-08-10 07:33:43 +02:00
David Maus 4fe8369dae New macro: Wrap let-binding of uninterned SYMBOLS around BODY
* org-macs.el (org-with-gensyms): New macro. Wrap let-binding of
SYMBOLS to new uninterned symbols around BODY.

Use this macro to compose macros that need to bind their own symbols
in expansion. It expands into a let-binding of all symbols in SYMBOLS
to new uninterned symbols that cannot collide with symbols used in the
target macro's expansion.
2011-08-10 07:32:27 +02:00
Nicolas Goaziou 1b3798ea07 org-inlinetask: fix HTML export when not clearly defined as a paragraph
* lisp/org-inlinetask.el (org-inlinetask-export-handler): make sure
  the task starts a paragraph or the HTML exporter will produce an
  incorrect output.
2011-08-08 20:21:41 +02:00
Nicolas Goaziou aab16ffdf4 Fix `newline-and-indent' in a list when called on a line being filled
* lisp/org.el (org-return): when filling happens, `newline' can change
  match data, hence modifying the indent column.
2011-08-08 18:32:32 +02:00
John Wiegley bb08fab804 org-footnote: Guard against `def' being nil, if footnote undefined 2011-08-06 19:00:06 -05:00
John Wiegley 54c722a83a Added customization hook `org-log-buffer-setup-hook'
This allows changes to org-mode after the log buffer has been setup.
2011-08-06 18:59:18 -05:00
Nicolas Goaziou c2c7e88677 org-footnote: fix a doc-string 2011-08-06 12:11:07 +02:00
Nicolas Goaziou 2ea5f35fff org-footnote: fix function declaration 2011-08-06 11:56:15 +02:00
Nicolas Goaziou 1913f3f50c org-footnote: allow inserting inlined footnotes at column 0
* lisp/org-footnote.el (org-footnote-new): only forbid non-inlined
  footnotes at column 0, as only them can be confused with a footnote
  definition.
2011-08-06 11:56:14 +02:00
Nicolas Goaziou 795b7c5ca0 org-footnote: add speedups when prompted for a label
* lisp/org-footnote.el (org-footnote-new): use ido or iswitchb when
  available when prompted for a label. Also rename a local variable to
  avoid confusion with an existing function.
2011-08-06 11:56:14 +02:00
Nicolas Goaziou a41541c033 org-footnote: remove an unused variable
* lisp/org-footnote.el (org-footnote-label-history): removed variable
(org-footnote-new): remove call to that variable.
2011-08-06 11:56:14 +02:00
Nicolas Goaziou afa0df9b47 Fix heading insertion before any other headline but after a list
* lisp/org.el (org-insert-heading): with force-heading non-nil,
  inserting an heading before any headline, and just after a list
  would return an error.
2011-08-06 10:57:08 +02:00
Eric Schulte dc904a834d removed use of copy-seq from ob.el
* lisp/ob.el (org-babel-sha1-hash): Removed use of copy-seq.
2011-08-05 14:31:59 -04:00
Sergey Litvinov c0e2351e1a Map "cpp" to c++-mode 2011-08-05 11:32:02 -06:00
Eric Schulte f5a359f578 make the "FILE" property non-special when resolving bibtex values
* lisp/org-bibtex.el (org-bibtex-get): Make the "FILE" property
  non-special when resolving bibtex values.
2011-08-05 11:25:00 -06:00
David Maus 049c0776ff Don't move line upward if point is at eob
* org.el (org-back-over-empty-lines): Don't move line upward if point
is at eob.

Fixes a bug with refiling reported by Bernt Hansen, simplified version
of fix proposed by Jason Dunsmore.
2011-08-04 16:05:08 +02:00
Eric Schulte 41bf22f4dc Revert "new interactive function for removing code block results"
This reverts commit 72817926d7.
2011-08-01 15:45:58 -06:00
Eric Schulte b8ae6a6bdb Revert "fix compilation errors introduced by most recent changes"
This reverts commit 9ff7f80f51.
2011-08-01 15:31:24 -06:00
Nicolas Goaziou c3631aae7e org-footnote: prevent LaTeX export from catching footnotes in protect environment
* lisp/org-footnote.el (org-footnote-in-valid-context-p): check
  `org-protected' property before allowing to match a footnote.
(org-footnote-at-reference-p): remove an obsolete test. It's now done
in the previous function.
2011-07-30 12:38:06 +02:00
Nicolas Goaziou 8c6c6a4f3d Rename org-in-regexps-block-p' to org-between-regexps-p'
* lisp/org.el (org-between-regexps-p): previous name implied the
  function was related to blocks, which isn't mandatory.
(org-narrow-to-block, org-in-block-p, org-indent-line-function):
applied the rename.
* lisp/ob-exp.el (org-babel-in-example-or-verbatim): applied
  rename. Also removed a white space.
2011-07-30 09:32:03 +02:00
Nicolas Goaziou 226f8c873d Change behaviour of `org-in-regexps-block-p'
* lisp/org.el (org-in-regexps-block-p): return an useful value when
  point is between START-RE and END-RE. No incomplete block is allowed
  anymore. Add another optional argument to bound the bottom part of
  the search.
(org-narrow-to-block, org-in-block-p): apply modifications.
2011-07-30 09:32:03 +02:00
Eric Schulte 274823c858 if a code block has a body, its last character must be a newline
* lisp/ob.el (org-babel-src-block-regexp): If a code block has a body,
  its last character must be a newline.
2011-07-29 16:04:36 -06:00
Nicolas Goaziou 520bd1feac org-footnote: don't move point for unsuccessful search of the next footnote
* lisp/org-footnote.el (org-footnote-next-reference-or-definition): if
  no more footnote is found, be sure to go back to the original
  position. Otherwise, point might be left on a footnote-like element
  that has been dished out.
2011-07-29 21:06:38 +02:00
Eric Schulte 9ff7f80f51 fix compilation errors introduced by most recent changes
* lisp/ob-exp.el (org-babel-inline-src-block-regexp): Declare this variable.
* lisp/ob.el (defvar): Wrap variable declaration in eval-when-compile.
2011-07-29 10:36:39 -06:00
Eric Schulte 72817926d7 new interactive function for removing code block results
* lisp/ob-keys.el (org-babel-key-bindings): Bound to C-c C-v k.

* lisp/ob.el (org-babel-map-regexp): New generic mapping macro.
  (org-babel-map-inline-src-blocks): Rewritten to use new macro.
  (org-babel-kill-results): Remove some or all results in the current
  file.

* lisp/ob-lob.el (org-babel-map-call-lines): Map over all lob call
  lines in the current file.

* doc/orgcard.tex: Document new keybinding.
2011-07-29 10:31:56 -06:00
Nicolas Goaziou 36974045b6 org-exp: fix a doc-string 2011-07-29 15:46:03 +02:00
Eric Schulte 2a77c49454 ob-java: allow cmdline flags during compilation and evaluation
* lisp/ob-java.el (org-babel-execute:java): Allow cmdline flags during
  compilation and evaluation.
2011-07-28 18:01:01 -06:00
Bastien Guerry 57f6a8d97a Revert "org-agenda: bugfix: always refresh the agenda when needed."
This reverts commit 1fa0f027cd.
2011-07-28 17:22:38 +02:00
Bastien Guerry c8806bdcf7 org-special-blocks.el: This file is now part of GNU Emacs. 2011-07-28 17:11:41 +02:00
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00:00
Bastien Guerry 1fa0f027cd org-agenda: bugfix: always refresh the agenda when needed.
* org-agenda.el (org-agenda-filter-by-tag): bugfix: always
refresh the agenda when needed.

Thanks to Nicolas Dudebout for pointing this out.
2011-07-28 11:43:56 +02:00
Bastien Guerry f0d7acfb78 Hide .orgx files and use theindex.org directly.
Deleting .orgx files is an error -- thanks to Carsten for pointing
at this.  Instead, we "hide" them by using dotted files: .file.orgx.

Also, use theindex.org directly instead of including theindex.inc in
theindex.org.  This prevents a bug about republication of theindex.org
being skipped because the file has not been updated.

* org-publish.el (org-publish-index-generate-theindex): rename
from `org-publish-index-generate-theindex.inc'.  Use the file
theindex.org directly instead of including theindex.inc.
(org-publish-projects): Don't delete .orgx files.
(org-publish-aux-preprocess): Use .file.orgx.
2011-07-28 11:24:02 +02:00
Bastien Guerry 3dcb89e2b7 org-archive: delete trailing whitespaces. 2011-07-28 10:52:51 +02:00
Bastien Guerry 59e7fc4d3a org.el: (org-map-entries): Allow SCOPE to be the active region. 2011-07-28 10:50:44 +02:00
Bastien Guerry 0c0bce4a67 Manually revert 366254217a.
As David Maus pointed out, the implementation is not good.

* org.el (org-deadline, org-schedule): Don't loop.
(org-loop-over-siblings-within-active-region-p): Remove.
* org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag):
Don't loop.

* org-macs.el (org-loop-over-siblings-in-active-region):
Remove.
2011-07-28 10:50:35 +02:00
Max Mikhanosha dea1a6f87b Make `org-extend-today-until' variable affect log notes, and CLOSED: line.
(org-done-yesterday), (org-agenda-done-yesterday): new functions
2011-07-28 10:33:14 +02:00
Bastien Guerry 8d25fdc7e1 org-html: put the title back in the content div.
This is needed for the HTML file to interact correctly with
org-info.js.  On the long term, the title should be part of
the preamble, but this requires work on org-info.js.

* org-html.el (org-export-html-preamble-format): New default
for the HTML preamble: don't include the title.  Also improve
the docstring.
(org-export-html-postamble-format): Improve the docstring.
(org-export-as-html): Add the title within the "content" div.
This is necessary for interaction with the org-info.js script.
2011-07-27 19:23:24 +02:00
Michael Brand e7eb56f39b Table editor: Display coordinates of current field
* lisp/org-table.el (org-table-edit-field): Display field coordinates.
2011-07-27 17:48:08 +02:00
Max Mikhanosha f760b919d5 (org-agenda-set-effort): Refresh changed lines 2011-07-27 14:59:25 +02:00
Max Mikhanosha 860caf9f46 (org-agenda-change-all-lines): Change to item's buffer and use original column format that item was generated with 2011-07-27 14:59:19 +02:00
Max Mikhanosha 0cd6d82d39 Fix error with %e agenda prefix format when there is no effort set 2011-07-27 14:59:13 +02:00
Bastien Guerry 2610bfd052 org-publish: delete .orgx and temporary buffers.
Also add the org- prefix to some variable.

* org-publish.el (org-publish-find-title): bugfix: kill
buffers unless they were already visited.
(org-sitemap-sort-files, org-sitemap-sort-folders)
(org-sitemap-ignore-case, org-sitemap-requested)
(org-sitemap-date-format, org-sitemap-file-entry-format): use
a correct prefix.
(org-publish-projects): Make sure to delete .orgx files.
(org-publish-index-generate-theindex.inc): Small docstring
fix.
2011-07-27 14:36:54 +02:00
Bastien Guerry 70fab165e1 org-table: new defcustom `org-table-duration-custom-format'.
This allows to display the output of duration computations
as a fraction of days, hours, minutes or seconds.

Thanks to Daniel E. Doherty for bringing up this need.

* org-table.el (org-table-duration-custom-format): New
defcustom to select output format of durations computations.
(org-table-time-seconds-to-string): Use the new variable.
(org-table-eval-formula): Allow `t' as a flag, on top of `T'.
`t' will use the custom output format defined in
`org-table-duration-custom-format.
2011-07-27 13:14:37 +02:00
Nicolas Goaziou 4f85aa21c6 org-list: fix a small error when guessing blank lines before items
* lisp/org-list.el: search blank lines down to the end of the item
  instead of stopping at the item, in order to possibly match such
  lines within the item.
2011-07-26 17:46:55 +02:00
Bastien Guerry f0e4deb077 org-latex: allow `org-export-latex-href-format' to have only one "%s"
This is useful when you want to use \url{link} instead of the default
\href{link}{path}.

Thanks to Henri-Paul Indiogine for bringing this up.

* org-latex.el (org-export-latex-href-format): docstring fix
to reflect the fact that you can use only one "%s".
(org-export-latex-links): allow `org-export-latex-href-format'
to have only one "%s".
2011-07-26 13:22:38 +02:00
Carsten Dominik 30dccb04bf Add key and documentation for `org-copy-visible'.
* lisp/org.el (org-org-menu): Add `org-copy-visible' to the menu.
* doc/org.texi (Visibility cycling): Document `org-copy-visible'.
* doc/orgcard.tex: Document `org-copy-visible'.
2011-07-26 12:09:50 +02:00
Carsten Dominik 7f742f12cf Add `org-copy-visible' command proposed by Florian Beck
* lisp/org.el (org-copy-visible): New command.
2011-07-26 11:53:13 +02:00
Bastien Guerry c222e8f134 org-capture: Fix order of template sequences.
* org-capture.el (org-capture-templates): docstring fix.
* org.texi (Template expansion): order template sequences in
the proper order.

Thanks to Philipp Möller for this fix.
2011-07-25 23:08:45 +02:00
Eric Schulte b1724e02fb adding a function for inspecting code block information e.g., header arguments
* lisp/ob.el (org-babel-view-src-block-info): New function to inspect code blocks.
* lisp/ob-keys.el (org-babel-key-bindings): Key bindings for org-babel-view-src-block-info.
* doc/orgcard.tex: Documentation of new Babel function.
2011-07-25 10:50:56 -06:00
Bastien Guerry 07a2f48209 Merge branch 'master' of orgmode.org:org-mode 2011-07-25 15:45:01 +02:00
Bastien Guerry bbb2ef510a org-exp: Handle recursively included setup files correctly.
* org-exp.el (org-infile-export-plist): Handle recursively
included setup files.  The value of the last included file
always takes precedence over previous values.

Thanks to Stefan Vollmar for signaling this bug.
2011-07-25 15:44:22 +02:00
Nicolas Goaziou ee3ea164c9 Keep point in the same category when updating a time-stamp
* lisp/org.el (org-timestamp-change): keep point in the same category
  when updating a time-stamp. This requires to be careful, as,
  depending on the locale, name of day might change of length during
  the process.
2011-07-25 11:37:45 +02:00
Nicolas Goaziou 3b5132bf8f org-footnote: fix bug when inserting a footnote in a non-Org buffer
* lisp/org-footnote.el (org-footnote-create-definition): when skipping
  already written footnotes definition, the algorithme would assume
  each one was only one-line long.
2011-07-25 11:26:06 +02:00
Bastien Guerry 642c666766 Merge branch 'master' of orgmode.org:org-mode 2011-07-25 00:55:18 +02:00
Bastien Guerry 829e226536 org-table: fix another bug in duration computation.
* org-table.el (org-table-eval-formula): Fix bug when a
formula "range" is just one cell.
(org-table-time-string-to-seconds): don't check whether
we manipulate a string.
2011-07-25 00:55:04 +02:00
Litvinov Sergey 6b6ab13810 Awk can be called with no in-file: and no :stdin 2011-07-24 14:05:55 -06:00
Bastien Guerry cb973614bd Merge branch 'master' of orgmode.org:org-mode 2011-07-24 20:44:01 +02:00
Bastien Guerry 53da4c15a9 Fix handling of duration for complex range formulas.
Thanks to Christian Moe for signaling this bug.
2011-07-24 20:31:38 +02:00
Nicolas Goaziou ba092ec08d Do not add an extraneous blank lines when parsing lists
* lisp/org-exp.el (org-export-mark-list-end,
  org-export-mark-list-properties): don't remove the ending regexp
  when it consists in blank lines.
* lisp/org-list.el (org-list-parse-list): ditto, but remove it
  completely when it isn't made of blank lines (i.e. during export process).
2011-07-24 20:03:30 +02:00
Bastien Guerry ecd2a41ecc org-table: use HH:MM:SS as the standard display of durations.
(org-table-time-seconds-to-string): Uniformize the display of
durations, always return HH:MM:SS.  Also display negative time
correctly.
2011-07-24 18:40:30 +02:00
Bastien Guerry 9a6a1b6a04 (org-table-time-string-to-seconds): also match negative time values. 2011-07-24 18:32:51 +02:00
Bastien Guerry 9c5a8ab295 org-table: match either HH:MM:SS or HH:MM (instead of MM:SS).
* org-table.el (org-table-time-string-to-seconds): match
either HH:MM:SS or HH:MM (instead of MM:SS).

Thanks to Gustav Wikström for suggesting this change.
2011-07-24 18:19:17 +02:00
Bastien Guerry 88eada52a6 org: allow relative time in `org-add-planning-info'.
(org-deadline, org-schedule): Improve docstrings.
(org-add-planning-info): Allow relative time like "-2d" or
"++2w" for the TIME argument.

The user can now call `org-schedule' and `org-deadline'
and use "+1d" to say that the task must be scheduled one
day later than today, or "++1d" to say that the task must
be scheduled one day later than the current SCHEDULED date,
if any.

This also works in agenda: you can select several entries
and reschedule them to +2d.

Thanks to Memnon Anon for insisting an finding a solution
for this!
2011-07-24 18:08:24 +02:00
Bastien Guerry 6808a1a1c0 org-agenda: fix two minor docstring typos. 2011-07-24 17:17:10 +02:00
Bastien Guerry 162080f5f8 org.el: tiny typo in docstring. 2011-07-24 16:44:48 +02:00
Bastien Guerry eaafa42948 New hook `org-ctrl-c-ctrl-c-final-hook'.
* org.el (org-ctrl-c-ctrl-c-final-hook): New hook to be run
when `org-ctrl-c-ctrl-c' cannot do anything useful in the
given context.

Thanks to Paul Sexton for this idea.
2011-07-24 16:12:47 +02:00
Bastien Guerry 2f1fbc58be org-html: add divs for pre/postamble defined in a new variable.
`org-export-html-divs' contains '("preamble" "content" "postamble")
and is used to define the <div "%s"> for this parts of the HTML file.

This commit also obsolete some variables that are not useful anymore
as the file time-stamp can (should) be inserted through the postamble
or the preamble instead.

Thanks to Sébastian Vauban for a preliminary version of this patch!

* org-html.el (org-export-html-with-timestamp)
(org-export-html-html-helper-timestamp): These are obsolete
variables as of Org version 7.7 as you can already export the
timestamp from the preamble or the postamble.
(org-export-html-before-content-div): Delete variable.
(org-export-html-content-div): obsolete variable as of 7.7.
(org-export-html-divs): New variable to define divs used in
HTML export.
(org-export-as-html): Now the preamble and the postamble are
surrounded by a <div ...>.  The name of the div is defined
through `org-export-html-divs'.
2011-07-23 19:09:07 +02:00
Bastien Guerry 4a6a317443 org-exp-blocks: minor fix: use <br/> instead of </br>. 2011-07-23 17:35:36 +02:00
Bastien Guerry ee5eb944e0 org-table: Throw an error when replacing invalid references.
* org-table.el (org-table-eval-formula): Throw an error when
trying to replace complex range with invalid references.

Thanks to Ken Williams for pointing this out.
2011-07-23 17:23:19 +02:00