Commit Graph

518 Commits

Author SHA1 Message Date
Bastien Guerry 66db8836b5 org-table.el (org-table-copy-down): Fix bug
* org-table.el (org-table-copy-down): When the text above does
not contain a number, fall back on incrementing by one.
2014-05-31 10:47:55 +02:00
Eric Abrahamsen 62950827ec Improve table column narrowing with variable-width strings
org-table.el (org-table-align): Use `org-string-width'.

This aims at better guessing how wide a narrowed table column should
actually be.  This won't work perfectly with variable-width scripts,
as it still only narrows in full-column increments, but it's better
than before.
2014-05-25 07:18:12 +02:00
Eric Abrahamsen 4af31090b4 Use string width in table field justification
org-table.el (org-table-justify-field-maybe): Use
`org-string-width' instead of `length' to calculate the visual
width of table cells.

This is useful for e.g. double-width charsets.
2014-05-25 07:18:06 +02:00
Bastien Guerry dd179e81f3 Minor reformatting 2014-05-24 11:52:36 +02:00
Bastien Guerry d6ac42b6aa Fix previous commit 2014-05-21 18:37:53 +02:00
Bastien Guerry 9c47412981 org-table.el (org-table-copy-down): Fix copying from a blank field
* org-table.el (org-table-copy-down): Fix copying from a blank
field.

Thanks to Michael Brand for reporting this.
2014-05-21 17:48:29 +02:00
Bastien Guerry 74168eea55 Merge branch 'maint' 2014-05-20 22:22:14 +02:00
Bastien Guerry b06dcf05a8 org-table.el (org-table-eval-formula): Fix conversion of inactive timestamps
* org-table.el (org-table-eval-formula): Fix conversion of
inactive timestamps to active ones.

Thanks to Gang Chen for reporting this.
2014-05-20 22:03:30 +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 b09ba2d4f1 Fix code typo in 7ac468
Thanks to Michael for reporting it.
2014-05-20 18:59:29 +02:00
Bastien Guerry 7ac468ff55 org-table.el (org-table-copy-increment): Change increment behavior
* org-table.el (org-table-copy-increment): Use a number as a
way to force a fixed increment value.
(org-table-copy-down): Increment by the difference between the
current field and the field in the row above.  This is the
default behavior.  To go back to the previous behavior (to
always increment by 1 unit), set `org-table-copy-increment'
to 1.

Thanks to Michael Brand for suggesting this.
2014-05-20 16:07:01 +02:00
Bastien Guerry 132da2db35 Let sort-by-time handle [H]H:MM strings and add a :sort parameter for clocktables
* org-clock.el (org-clocktable-write-default): New parameter
":sort" to sort a column by a sorting type.  E.g., a value of
:sort (1 . ?a) will sort the first column alphabetically.  The
sorting line is the third one, table-wise, which is usually
the first line that contains user data.

* org.texi (The clock table): Document the new :sort
parameter.

* org.el (org-do-sort): Recognize [H]H:MM strings as time
values and allow sort-by-time to process them.

* org-table.el (org-table-sort-lines): Mention that sorting by
time also recognize [H]H:MM time values.
2014-04-16 18:23:47 +02:00
Bastien Guerry 613333d665 Merge branch 'maint' 2014-03-20 15:07:11 +01:00
Bastien Guerry a3ec854cab Fix bugs wrt invisibility handline.
* org-compat.el (org-move-to-column): Always ignore invisible
text in agenda buffer, and when there is both a bracket link
and '(org-link) as a member of `buffer-invisibility-spec'.
Add a docstring.

* org.el (org-align-tags-here): Add docstring and remove
useless arguments when calling `org-move-to-column'.

* org-table.el (org-table-copy-down)
(org-table-find-dataline, org-table-move-row)
(org-table-insert-hline, org-table-kill-row):
* org-agenda.el (org-agenda-next-item)
(org-agenda-previous-item, org-agenda-todo)
(org-agenda-priority, org-agenda-show-new-time)
(org-agenda-clock-in, org-agenda-clock-out): Remove useless
arguments when calling `org-move-to-column'.

This fixes the issue about S-RET not placing the cursor in the right
table field when M-x org-toggle-link-display RET removed '(org-link)
from `buffer-invisibility-spec' and some other discrepancies (like
S-M-<up> not restoring point correctly when there is a bracket link
before point, or M-x org-clock-display RET not aligning overlays
correctly, etc.

Thanks to Matt Lundin and Michael Brand for tracking issues
about this.
2014-03-20 15:04:49 +01:00
Bastien Guerry 0db6b24164 Merge branch 'maint' 2014-02-06 09:58:30 +01:00
Bastien Guerry 323c7b3de2 org-table.el: Fix bugs about cursor repositioning
* org-table.el (org-table-copy-down)
(org-table-find-dataline, org-table-move-row)
(org-table-insert-hline, org-table-kill-row): Use
`org-move-to-column' with the IGNORE-INVISIBLE arg set to `t',
so that abbreviated rows don't interfer with setting the
cursor back at the correct position.

Thanks to Jason Lewis for reporting one of these bugs.
2014-02-06 09:58:17 +01:00
Bastien Guerry cf2c7e9f18 Merge branch 'maint' 2014-01-30 11:59:57 +01:00
Bastien Guerry ca69fdd884 org-table.el (org-table-field-info): Throw a user error when not at a table
* org-table.el (org-table-field-info): Throw a user error when
not at a table.
2014-01-30 11:58:28 +01:00
Michael Brand 46f6fe3655 TBLFM remote ref indirection: Fix start
* lisp/org-table.el (org-table-remote-reference-indirection): Change
the local variable START to a value that will be still valid after
`replace-match'.
2014-01-13 20:23:11 +01:00
Michael Brand 9a5b8a7434 TBLFM remote ref: Improve indirection
* lisp/org-table.el (org-table-remote-reference-indirection): Use the
optional arg START of `string-match' to improve performance and to
avoid endless loop on user error.
2014-01-12 11:52:40 +01:00
Michael Brand bc1d54b84b TBLFM remote ref: Add indirection of name or ID
* doc/org.texi (References): Add description for indirection of
NAME-OR-ID.

* lisp/org-table.el (org-table-eval-formula): Make use of
`org-table-remote-reference-indirection'.
(org-table-remote-reference-indirection): New function.

* testing/lisp/test-org-table.el
(test-org-table/remote-reference-indirect): Change to use remote
reference indirection.
2014-01-12 10:53:06 +01:00
Michael Brand 9c1bc61cce Merge branch 'maint' 2014-01-09 20:11:07 +01:00
Michael Brand 34af2fe7ff Fix multiple TBLFM
Simplify commit release_8.2.4-14-geb28fe4 and commit
release_8.2.5c-8-ga2619b7.

* org-table.el (org-table-fix-formulas): Handle multiple #+TBLFM lines
with `forward-line'.
2014-01-09 20:10:19 +01:00
Bastien Guerry e0f46e9a1d Merge branch 'maint' 2014-01-09 11:03:11 +01:00
Bastien Guerry a2619b7145 org-table.el (org-table-fix-formulas): Fix commit eb28fe
Thanks to Michael Brand for reporting this.
2014-01-09 11:03:01 +01:00
Bastien Guerry f8e1745440 Merge branch 'maint'
Conflicts:
	contrib/lisp/org-favtable.el
2014-01-07 14:19:03 +01:00
Bastien Guerry 7d9a883b50 Update copyright years again.
Hint: copyright years are all updated in Emacs.
2014-01-07 14:18:17 +01:00
Bastien Guerry c41f5075ac Merge branch 'maint'
Conflicts:
	contrib/lisp/org-favtable.el
2014-01-05 06:36:11 +01:00
Bastien Guerry 0beda99171 Revert "Update copyright years."
This reverts commit 21105594fc.
2014-01-05 06:28:07 +01:00
Bastien Guerry 096ff7e078 Merge branch 'maint'
Conflicts:
	contrib/lisp/org-favtable.el
2014-01-04 18:58:12 +01:00
Bastien Guerry 21105594fc Update copyright years. 2014-01-04 18:56:11 +01:00
Bastien Guerry b291cdbe6d Merge branch 'maint' 2013-12-22 10:10:02 +01:00
Bastien Guerry eb28fe41dc org-table.el (org-table-fix-formulas): Handle multiple #+tblfm: lines
* org-table.el (org-table-fix-formulas): Handle multiple
#+tblfm: lines.

Thanks to Daniel Gerber for reporting this problem.
2013-12-22 10:09:53 +01:00
Bastien Guerry b6a1584fa6 Merge branch 'maint' 2013-11-22 22:33:05 +01:00
Nicolas Richard 9ff70abc14 Use key-description on the keys mentionned by the functions defined by
`orgtbl-mode'.
2013-11-22 22:32:50 +01:00
Bastien Guerry 9214000c21 Merge branch 'maint'
Conflicts:
	doc/org.texi
2013-11-17 09:17:39 +01:00
Bastien Guerry a6210cc9c2 Backport Paul's fixes from Emacs trunk (1/2)
See http://article.gmane.org/gmane.emacs.diffs/123123
2013-11-17 09:12:41 +01:00
Bastien Guerry 668ba5de0e Merge branch 'maint' 2013-11-15 06:56:10 +01:00
Bastien Guerry bf012136bd Remove org-autoload.
* org-macs.el (org-autoload): Delete.

* org-docview.el ("docview"): Fix declarations and require
doc-view directly.

* org-id.el (org-id-copy)
(org-id-get-with-outline-path-completion)
(org-id-get-with-outline-drilling, org-id-new):
* org-colview.el:
(org-colview-initial-truncate-line-value)
(org-columns-open-link, org-string-to-number):
* org-clock.el:
(org-clock-put-overlay, org-count-quarter, org-clock-loaded):
* org-archive.el (org-get-local-archive-location):
* org-agenda.el (org-agenda-todo-custom-ignore-p):
Autoload.

Those functions were autoloaded from within calls to `org-autoload'
in org.el, we now autoload them from where they live.
2013-11-15 06:55:28 +01:00
Rick Frankel a2c71a6e35 org-table.el (org-table-recalculate): Generate user error if an hline relative reference is use on the LHS of a formula
* org-table.el (org-table-recalculate): Generate user error if
an hline relative reference is use on the LHS of a formula.

TINYCHANGE
2013-11-05 12:07:41 +01:00
Michael Brand fb5003ea63 org-table-transpose-table-at-point: Preserve indentation and point
* lisp/org-table.el (org-table-transpose-table-at-point): Preserve
indentatinon of first row. Restore point to transposed field in
transposed table.
2013-10-15 16:49:07 +02:00
Carsten Dominik 817cbca767 Allow regexp separator when converting the region to a table
* lisp/org-table.el (org-table-convert-region): Interpret string SEPARATOR
as regular expression.  Triple `C-u' prefix arg will read a regexp
from the user.
* doc/org.texi: Document that `C-c |' can take a regexp as a separator.

Patch modified from a proposal by Francois.
2013-09-29 12:27:09 +02:00
Michael Brand 0f5f58037d Fix table formula debugger error display
* lisp/org-table.el (org-table-eval-formula): Align the arrow pointing
to the error in a Calc formula to the other fomula debugger logs.
2013-09-07 16:21:38 +02:00
Carsten Dominik 4242b12d1b Fix typo. 2013-09-03 07:07:57 +02:00
Carsten Dominik 3f10db731c Improve docstring of `orgtbl-radio-table-templates'
* lisp/org-table.el (orgtbl-radio-table-templates): Improve docstring.
2013-09-02 11:33:54 +02:00
Carsten Dominik daf36fc918 Fix some issue with orgtbl-mode
* lisp/org-table.el (orgtbl-send-replace-tbl): Allow multiple spaces between
keywords in RECEIVE ORGTBL lines.
* doc/org.texi (A @LaTeX{} example): Fix typo in variable name.
2013-08-30 17:53:28 +02:00
Bastien Guerry 7be5f737f8 Merge branch 'maint' 2013-07-03 10:18:35 +02:00
Bastien Guerry 244aaa3d72 org-table.el (org-table-sum): Fix rounding error when summing times
* org-table.el (org-table-sum): Fix rounding error when
summing times.

Thanks to Paul Stansell for reporting this and to Nick Dokos for
providing the fix.

See http://mid.gmane.org/87ppv2atvf.fsf%40gmail.com for the
discussion of this bug.
2013-07-03 10:18:22 +02:00
Bastien Guerry 5a36318511 Merge branch 'maint' 2013-06-28 09:13:41 +02:00
Achim Gratz 30581835bd do not use mapcar* for transposing tables
* lisp/ob-core.el (org-babel-get-rownames),
  lisp/org-table.el (org-table-transpose-table-at-point): Replace the
  inadvertent use of mapcar* (from cl) by plain mapcar and direct cons
  manipulation.

The error was not caught at compilation time since both source files
require cl during compilation for using cl macros.  These were the
only uses of mapcar* in Org, but I didn't check for other cl
_functions_ (as opposed to macros, which would need to be checked if
their implementation uses cl functions).
2013-06-27 20:17:22 +02:00