Commit Graph

357 Commits

Author SHA1 Message Date
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
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 7a18799e25 Remove arch-tag at the bottom of files. 2011-08-15 20:04:38 +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 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
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00: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
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
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
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
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 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
Benjamin Andresen a493b4d489 Fix calc-eval date(<timestamp>) 2011-07-09 17:47:41 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Eric S Fraga 9f056593a5 org-table.el: Er... fix the previous fix about time formulas computation.
The error was introduced by Bastien, not Maciek Starzyk.  Bzg was
trying to fix things manually too hastily :)
2011-07-04 12:23:25 +02:00
Maciek Starzyk 429b1cc81a org-table.el: Fix bug in formula duration computation. 2011-07-04 10:51:29 +02:00
Bastien Guerry 16faa2b6c1 org-macs.el: new function `org-format-seconds'.
* install/git/org-mode/lisp/org-table.el
(org-table-time-seconds-to-string): use `org-format-seconds'
instead of `format-seconds'.

* install/git/org-mode/lisp/org-macs.el (org-format-seconds):
handle case where `format-seconds' does not exist.
2011-07-03 13:23:09 +02:00
Bastien Guerry 2e20cf9358 org-table.el: return correct duration string for Calc formulas. 2011-07-02 13:34:22 +02:00
Bastien Guerry 12687ad200 org-table.el: Implement computation of durations with "T" flag
* install/git/org-mode/lisp/org-table.el
(org-table-time-string-to-seconds)
(org-table-time-seconds-to-string): New functions.
(org-table-eval-formula): Implement the "T" (time) flag for
computing durations.
2011-07-02 13:08:54 +02:00
Michael Markert b3e8b3f87c adding optional argument KIND to all org-called-interactively-p function invocations
* lisp/ob.el (org-babel-sha1-hash): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
* lisp/org-agenda.el (org-agenda-redo): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-agenda-show-1): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-agenda-set-tags): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org-ascii.el (org-export-as-latin1): Adding optional argument
  KIND to all org-called-interactively-p function invocations.
  (org-export-as-latin1-to-buffer): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-export-as-utf8-to-buffer): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-export-region-as-ascii): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org-docbook.el (org-export-region-as-docbook): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-html.el (org-export-region-as-html): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-latex.el (org-export-region-as-latex): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-table.el (org-table-blank-field): Adding optional argument
  KIND to all org-called-interactively-p function invocations.
  (org-table-current-column): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-current-dline): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-sort-lines): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-sum): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-rotate-recalc-marks): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-table-eval-formula): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (orgtbl-send-table): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org.el (org-mode): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-copy-subtree): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-paste-subtree): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-store-link): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-todo): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-occur): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
2011-06-29 16:22:58 -07:00
Bastien Guerry 2b7dbee193 Replace interactive-p with the org-called-interactively-p macro.
Interactive-p is an obsolete function as of Emacs 23.2.
`org-called-interactively-p' takes care of the current (x)Emacs
version and use either `interactive-p' (for XEmacs and Emacs<23.2)
or `called-interactively-p'.
2011-06-29 18:24:08 +02:00
Bastien Guerry 8608b6651d Fix doubled-word typo.
Thanks to Jim Meyering <jim@meyering.net> for this upstream fixes.
2011-06-20 15:38:24 +02:00
Eric Schulte db1c3f6a3e Revert "replacing calls to now-defunct function `interactive-p'"
This reverts commit 4f084e1467.
2011-06-16 21:32:54 -07:00
Eric Schulte 94b325839c Replacing '(λ...) with #'(λ...).
* lisp/org-ascii.el (org-export-as-ascii): Replacing '(λ...) with #'(λ...).
* lisp/org-attach.el: Replacing '(λ...) with #'(λ...).
  (org-attach-commit): Replacing '(λ...) with #'(λ...).
* lisp/org-exp.el: Replacing '(λ...) with #'(λ...).
  (org-export-handle-include-files): Replacing '(λ...) with #'(λ...).
* lisp/org-html.el: Replacing '(λ...) with #'(λ...).
  (org-export-as-html): Replacing '(λ...) with #'(λ...).
* lisp/org-mouse.el: Replacing '(λ...) with #'(λ...).
  (org-mouse-popup-global-menu): Replacing '(λ...) with
  (org-mode-hook): Replacing '(λ...) with #'(λ...).
  (org-agenda-mode-hook): Replacing '(λ...) with #'(λ...).
* #'(λ...).Replacing '(λ...) with #'(λ...).
  (org-mouse-context-menu): Replacing '(λ...) with #'(λ...).
* lisp/org-src.el: Replacing '(λ...) with #'(λ...).
  (org-src-mode-configure-edit-buffer): Replacing '(λ...) with #'(λ...).
* lisp/org-table.el: Replacing '(λ...) with #'(λ...).
  (org-table-fix-formulas-confirm): Replacing '(λ...) with #'(λ...).
* lisp/org.el: Replacing '(λ...) with #'(λ...).
  (org-confirm-shell-link-function): Replacing '(λ...) with
  (org-category): Replacing '(λ...) with #'(λ...).
* #'(λ...).Replacing '(λ...) with #'(λ...).
  (org-time-stamp-rounding-minutes): Replacing '(λ...) with #'(λ...).
2011-06-14 12:01:04 -07:00
Eric Schulte 4f084e1467 replacing calls to now-defunct function `interactive-p'
* lisp/org-agenda.el (org-agenda-redo): Replacing call to now-defunct
  function `interactive-p'.
  (org-agenda-show-1): Replacing call to now-defunct function
  `interactive-p'.
  (org-agenda-set-tags): Replacing call to now-defunct function `interactive-p'.
* lisp/org-ascii.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1-to-buffer): Replacing call to now-defunct
  function `interactive-p'.
  (org-export-as-utf8): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-utf8-to-buffer): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-ascii): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-docbook.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-docbook): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-html.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-html): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-latex.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-latex): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-macs.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-called-interactively-p): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-table.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-table-blank-field): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-column): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-dline): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sort-lines): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sum): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-rotate-recalc-marks): Replacing call to now-defunct
  function `interactive-p'.
  (org-table-eval-formula): Replacing call to now-defunct function
  `interactive-p'.
  (orgtbl-send-table): Replacing call to now-defunct function `interactive-p'.
* lisp/org.el: Replacing call to now-defunct function `interactive-p'.
  (org-mode): Replacing call to now-defunct function `interactive-p'.
  (org-copy-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-paste-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-store-link): Replacing call to now-defunct function
  `interactive-p'.
  (org-todo): Replacing call to now-defunct function `interactive-p'.
  (org-occur): Replacing call to now-defunct function `interactive-p'.
2011-06-14 11:37:59 -07:00
David Maus 48d970a916 Declare variable to keep byte compiler happy
* org-table.el (org-table-follow-field-mode): Declare variable to keep
  byte compiler happy.
2011-06-01 08:41:20 +02:00
David Maus 00040e708c Use `delete-char' instead of `delete-backward-char'
* org.el (org-self-insert-command): Use `delete-char' instead of
  `delete-backward-char'.
* org-table.el (orgtbl-self-insert-command): Dto.

According to the doc string `delete-backward-char' "is meant for
interactive use only; from Lisp, better use `delete-char' with a
negated argument."
2011-06-01 08:30:20 +02:00
Carsten Dominik 9e5ab4053e Avoid changing field positions with `org-table-get-field'
* lisp/org-table.el (org-table-get-field): Make sure the new field
content is at least one space character.
2011-05-26 08:39:46 +02:00
Carsten Dominik bffdfeb7fc Implement a minor mode for the editor following the cursor through the table
* doc/org.texi (Built-in table editor): Document the table field follow mode.
* lisp/org-table.el (org-table-exit-follow-field-mode-when-leaving-table):
New option.
(org-table-check-inside-data-field): New optional argument `noerror'.
When set, the function will only return nil instead of throwing an
error.
(org-table-edit-field): Interpret double prefix argument, and improve
the properties of the editing window.
(org-table-follow-field-mode): New minor mode.
(org-table-follow-fields-with-editor): New function.

The main purpose of this functionality is to make working with table
with long fields simpler, by always showing the full content of the
current field.  This functionality is based on the following
mailing list thread

http://thread.gmane.org/gmane.emacs.orgmode/41584

and contains ideas by Jonny, Juan Pechiar, and Michael Brand.
2011-05-11 10:11:45 +02:00
Julien Danjou 5c5468dc60 org-table: use point-min instead of 1
* lisp/org-table.el (org-table-cleanup-narrow-column-properties): Use
point-min rather than 1 when moving in the buffer.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-04-09 14:46:45 +02:00
Carsten Dominik 3d802ee691 Keep byte compiler happy
* lisp/org-table.el (org-table-formula-handle-first/last-rc): Bind `char'.
2011-03-20 10:06:25 +01:00
Carsten Dominik 622599ca07 Avoid infinite loop when converting a table with prefix arg 0
* lisp/org-table.el (org-table-convert-region): Throw error when SEPARATOR
is smaller than 1.
2011-03-19 07:42:13 +01:00
Carsten Dominik 3dd4745752 Tables: Make @< and $< point to row/column 1 in a stable way 2011-03-17 06:50:39 +01:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Bastien Guerry cc44c2b30a New custom variable `org-table-fix-formulas-confirm'.
* org-table.el (org-table-fix-formulas-confirm): new custom
variable.
(org-table-insert-column, org-table-delete-column)
(org-table-move-column, org-table-move-row)
(org-table-insert-row, org-table-kill-row): Use it.
2011-03-05 23:22:32 +01:00
Carsten Dominik 4d02ff89f5 Minor fix 2011-03-03 22:16:36 +01:00
Carsten Dominik df78e9ff4e ttt 2011-03-03 22:16:36 +01:00
Carsten Dominik 4161d85da8 Fix relative column references
* lisp/org-table.el (org-table-eval-formula): Treat relative column refs.

I cannot believe this did not work and nobody complained about this.
$-1 is supposed to refer to the value in the column to the left.  Now
this does work.
2011-03-03 22:16:35 +01:00
Carsten Dominik 3bff7ce776 Change default for `org-table-use-standard-references'.
* lisp/org-table.el (org-table-use-standard-references): Change default
to `from'.
2011-03-03 22:16:35 +01:00
Carsten Dominik 5631a309ab Use @> and $> for referring to last row and column 2011-03-03 22:16:35 +01:00
Bastien Guerry dc60852d24 Fix small typo in docstring. 2011-03-03 09:34:34 +01:00
Bastien Guerry 8892fe3f04 Fix small typo in docstring. 2011-03-03 09:30:16 +01:00
Carsten Dominik 8237c9ae6d Implement table formulas that apply to field ranges, fix minor issues
* lisp/org-table.el (org-table-fedit-finish): Read more general LHS of formulas.
(org-table-formula-handle-@L): New function to hanle @L references.
(org-table-current-ncol): New variable.
(org-table-line-to-dline): New function.
(org-table-get-stored-formulas): Accept range formulas as matches.
(org-table-get-specials): Compute and store the number of columns.
(org-table-get-range): New optional argument CORNERS-ONLY, to retrieve
only the region marked by the range, not the content.
(org-table-recalculate): Call `org-table-expand-lhs-ranges' to expand
range targets.  Also check for duplicate access to fields.
(org-table-expand-lhs-ranges): New funktion.
(org-table-get-remote-range): Bind `org-table-current-ncol' to protect
the caller's value.
(org-table-edit-formulas): Support highlighting of range targets.
(org-table-field-info): Handle renge formulas.

* doc/org.texi (Field and range formulas): Renamed from "Field formulas".
Document the use of range operators as targets.
(References): Document the new @L reference.
2011-03-02 18:32:19 +01:00
Carsten Dominik aaf0e2d6bb Get rid of some compiler warnings
* Makefile (lisp/org-special-blocks.elc): Add dependency on org-compat.el
* lisp/ob-ref.el (org-at-item-p): Declare function.
* lisp/org-agenda.el (diary-time-regexp): defvar.
* lisp/org-archive.el (org-archive-subtree): Bind local variable `infile-p'.
* lisp/org-capture.el (org-capture-insert-template-here): Get template
text from property list, to avoid byte compiler message.
* lisp/org-latex.el (org-export-latex-tables): Bind local variable `width'.
* lisp/org-special-blocks.el (org-compat): Add require statement.
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Bind local variable `const-str'.
* lisp/org.el (org-eval): Moved function here from org-agenda.el.
2011-03-01 07:24:14 +01:00
Bastien Guerry 1d404f8f96 * org-table.el (org-table-copy-down): fix docstring. 2011-02-26 17:16:41 +01:00
Bastien Guerry 03c33d0d38 Don't wrap org-entry-get into condition-case.
* ob.el (org-babel-params-from-properties): don't wrap
org-entry-get into condition-case.

* org-table.el (org-table-export): don't wrap org-entry-get
into condition-case.

* org.el (org-store-link): don't wrap org-entry-get into
condition-case.
2011-02-12 19:02:52 +01:00
Carsten Dominik 5f44294c83 Support #+CONSTANTS in non - Org-mode files
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Parse buffer for constants.

Patch by Seweryn
2010-12-12 13:22:11 +01:00
Carsten Dominik 7666ba421f Version number back to 7.4 2010-12-10 18:49:40 +01:00