Commit Graph

755 Commits

Author SHA1 Message Date
Nicolas Goaziou ae497f365e org-table: Also copy special star marker upon creating a row
* lisp/org-table.el (org-table-insert-row): Copy "*" character when in
  first column, as it is considered as a special marker then.
2019-01-12 11:36:40 +01:00
Bastien f584d37a67 Update copyright year 2019-01-01 11:50:56 +01:00
Nicolas Goaziou c475cc2886 org-table: Fix thinko
* lisp/org-table.el (org-table-line-to-dline): Do not assume dichotomy
  failed.

Reported-by: Lem Ming <ramboman777@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-09/msg00035.html>
2018-09-05 18:50:03 +02:00
Nicolas Goaziou ee4dbaff60 org-table: Avoid unnecessary table align
* lisp/org-table.el (org-table-copy-down): Avoid unnecessary table
  align.
2018-08-30 23:49:57 +02:00
Nicolas Goaziou c891b840d2 org-table: `org-table-fix-formulas-confirm' is not safe.
* lisp/org-table.el (org-table-fix-formulas-confirm): Funcall'ing
  a symbol is never safe, no matter what the symbol is.
2018-06-21 11:48:54 +02:00
Nicolas Goaziou 2918894f36 org-table: Tiny refactoring
* lisp/org-table.el (org-table-get-formula): Tiny refactoring.
(org-table-get-stored-formulas): Fix string.
2018-05-22 10:46:57 +02:00
Aaron Ecay 7106eab974 Many small code improvements
* lisp/org-capture.el (org-capture-member): Make obsolete; the old
definition was identical to ‘org-capture-get’ anyway.
(org-capture-mode-map): Move the calls to ‘define-key’ up to where the
variable is defined.
(org-capture-mode-hook): Small docstring tweak.
(org-capture-mode): Fix typo in mode lighter.
(org-capture-set-target-location, org-capture-place-item):
(org-capture-place-plain-text, org-capture-narrow):
(org-capture-empty-lines-after):
(org-capture-import-remember-templates): ‘if’ without else -> ‘when’
* lisp/org-colview.el (org-columns-edit-value): Change an error to a
user-error.
(org-columns-uncompile-format): Improve docstring.
* lisp/org-compat.el (org-remove-from-invisibility-spec): Make
obsolete, the underlying emacs function exists since 1997, commit 31aa282e.
(org-in-invisibility-spec-p, org-count-lines): ‘if’ without else -> ‘when’.
* lisp/org-element.el (org-element-swap-A-B):
* lisp/org-entities.el (org-entities-create-table):
* lisp/org-list.el (org-insert-item):
* lisp/org-macs.el (org-with-point-at, org-base-buffer):
(org-preserve-local-variables, org-overlay-display):
(org-overlay-before-string): ‘if’ without else -> ‘when’.
* lisp/org-eshell.el (org-eshell-open): Fix docstring typo.
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option/language):
(pcomplete/org-mode/file-option/startup):
(pcomplete/org-mode/file-option/options):
(pcomplete/org-mode/file-option/infojs_opt):
(pcomplete/org-mode/link, pcomplete/org-mode/tex):
(pcomplete/org-mode/todo, pcomplete/org-mode/searchhead):
(pcomplete/org-mode/tag, pcomplete/org-mode/prop): Avoid the formerly
misspelled ‘pcomplete-uniqify-list’ function.  It has a defalias in
emacs >= 27; we add our own for older emacsen.
(pcomplete/org-mode/file-option/bind): ‘if’ without else -> ‘when’.
* lisp/org-protocol.el (org-protocol-capture):
(org-protocol-convert-query-to-plist): ‘if’ without else -> ‘when’.
(org-protocol-do-capture): Pacify byte compiler, simplify conditional
logic.
* lisp/org-table.el (org-table-create-with-table.el): Simplify conditional
logic.
(org-table-create, org-table-convert-region, org-table-next-field):
(org-table-beginning-of-field, org-table-end-of-field):
* lisp/org-w3m.el (org-w3m-copy-for-org-mode): ‘if’ without else ->
‘when’.
* lisp/org.el (org-babel-do-load-languages, org-previous-link):
(org-refile): Use ‘(foo ...)’ instead of ‘(funcall 'foo ...)’.
(org-add-log-note): Convert a long cond into a cl-case.
(org-priority): Improve docstring, show a deprecation warning if the
‘show’ argument is passed (which was previously silently ignored).
Also, use ?\s instead of ?\ as a character literal for space.
(org-fast-tag-insert): Fix docstring typo.
(org-fill-element): ‘if’ without else -> ‘when’.
(org-on-target-p): Remove ancient compatibility alias.
2018-05-10 04:22:30 +01:00
Aaron Ecay 581fd90645 Fix declare-function and friends in org.el
* lisp/org-table.el (org-table-with-shrunk-field): Move from here...
* lisp/org-macs.el: ...to here

The move is necessary because this macro is used (at compile time) in
org.el.  We cannot leave its definition in org-table, because that
would lead to a require loop.  So we need to put it in org-macs, and
require the latter file in org.el also at compile time.

Finally, update and sort the declare-function calls.
2018-05-10 01:07:57 +01:00
Nicolas Goaziou 89071f287f org-table: Fix failing tests
* lisp/org-table.el (org-table-copy-region): Preserve return value.
  Sligthly improve docstring.
2018-04-29 00:31:35 +02:00
Bastien 5c8cb1e733 Add messages for `org-table-copy-region' and `org-copy-visible'
* lisp/org-table.el (org-table-copy-region):
* lisp/org.el (org-copy-visible): Add a message.
2018-04-28 12:52:20 +02:00
Nicolas Goaziou 3719cdd48e org-table: Fix shrunk hlines
* lisp/org-table.el (org-table--shrink-field): Handle properly shrunk
  hlines with a width cookie.
* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
  Add test.  Fix tests.

Reported-by: William Denton <wtd@pobox.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-04/msg00306.html>
2018-04-20 11:57:37 +02:00
Nicolas Goaziou e462125cfc org-table: Improve shrinking on right-aligned and centered columns
* lisp/org-table.el (org-table--make-shrinking-overlay): New function.
(org-table--shrink-field): Use new function.
(org-table--shrink-columns): Update function.
* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
  Update test.
2018-04-02 20:30:40 +02:00
Sebastian Reuße 88bf8aef28 org-table-sort-lines: Fix case-sensitive sorting
* org-table.el (org-table-sort-lines): Fix case sensitive sorting,
improve docstring.
* test-org-table.el (test-org-table/sort-lines): Enforce C locale when
testing alphabetic sorting.

‘sort-subr’ ignores ‘sort-fold-case’ when a predicate is provided. To
correctly handle case-sensitivity, we now bake it into the predicate.

Since we are now sorting according to the user’s locale, WITH-CASE
will not make a difference in most instances, since most locales
always sort case-insensitively (cf. how GNU sort ignores the ‘-f’
switch).  We now mention this in the function docstring.

In order to meaningfully test case-sensitive sorting, we now enforce
the C locale in the respective unit test.
2018-03-13 09:09:54 +01:00
Sebastian Reuße e64ff15f67 Fix alphabetic sorting for tables, plain lists
* org-table.el (org-table-sort-lines): Use collated sorting.
* org-list.el (org-sort-list): Use collated sorting.

Cf. commit 551d2f1fe.
2018-03-13 09:09:07 +01:00
Bastien 69e674f518 Merge branch 'maint' 2018-03-10 22:29:38 +01:00
Glenn Morris 04f06958ab Backport commit 16faff6a4 from Emacs
; * lisp/org/org-table.el: Replace obsolete alias in comment.
16faff6a46f28b4db2e9b91e52b27404303f3197
Glenn Morris
Fri Mar 9 12:43:21 2018 -0500
2018-03-09 23:41:47 -05:00
Nicolas Goaziou 58da7d4d17 org-table: Fix shrunk columns on hlines
* lisp/org-table.el (org-table--shrunk-field): Fix function when on
  a hline.
* testing/lisp/test-org-table.el (test-org-table/shrunk-columns): Add
  tests.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00231.html>
2018-02-14 18:48:48 +01:00
Nicolas Goaziou 3558e6e835 Merge branch 'maint' 2018-02-05 15:37:15 +01:00
Tim Landscheidt 61a885a399 Make manual and URL links in docstrings clickable 2018-02-05 15:27:12 +01:00
Nicolas Goaziou 33a9eef11f Allow editing partially shrunk columns
* lisp/org-table.el (org-table-with-shrunk-field): New macro.
(org-table-get-field):
(org-table-toggle-column-width): Use new macro.
(org-table--shrunk-field): Update function.
(org-table--shrink-field): When there is a width cookie, leave first
characters editable.

* lisp/org.el (org-self-insert-command):
(org-delete-backward-char):
(org-delete-char): Small refactoring.  Handle shrink overlays.

* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
  Update tests.
2018-01-25 23:57:11 +01:00
Nicolas Goaziou 5411435633 org-table: Tiny rewording to docstring
* lisp/org-table.el (org-table--read-column-selection): Tiny
  rewording.
2018-01-25 23:42:58 +01:00
Nicolas Goaziou 9cf9f56ff6 org-table: Fix `org-table-current-column' on hlines
* lisp/org-table.el (org-table-current-column): Return a meaningful
  value also on hlines.
(org-table-toggle-column-width): Use `org-table-current-column'
instead of re-inventing wheel.

* testing/lisp/test-org-table.el (test-org-table/current-column): New
  test.
2018-01-25 22:55:53 +01:00
Nicolas Goaziou 66bbe54a75 org-table: Small refactoring
* lisp/org-table.el (org-table-align): Small refactoring.
2018-01-23 00:40:13 +01:00
Nicolas Goaziou 0155441358 Merge branch 'maint' 2018-01-19 18:22:00 +01:00
Tim Landscheidt b289a65be7 Use https for links to orgmode.org
TINYCHANGE
2018-01-19 18:14:58 +01:00
Nicolas Goaziou b65fe0f7a2 Merge branch 'maint' 2018-01-07 10:56:02 +01:00
Nicolas Goaziou 0c93296f83 org-table: Obey to `org-table-formula-create-columns'
* lisp/org-table.el (org-table-recalculate): Return an error when the
  formula cannot create a necessary column.
(org-table-formula-create-columns): Fix docstring.
* testing/lisp/test-org-table.el (test-org-table/field-formula-outside-table):
  Fix tests.
2018-01-07 10:55:30 +01:00
Kyle Meyer d94f7024bc Merge branch 'maint' 2018-01-07 00:28:35 -05:00
Kyle Meyer 3e1641ef0a Update copyright years 2018-01-07 00:27:54 -05:00
Nicolas Goaziou 837e1b4249 Merge branch 'maint' 2018-01-03 15:26:38 +01:00
Nicolas Goaziou 7e8e12be21 org-table: Improve a docstring
* lisp/org-table.el (org-table-import): Improve docstring.

Fixes: 22597
2018-01-03 15:25:33 +01:00
Bastien 9067b8427d Merge branch 'maint' of code.orgmode.org:bzg/org-mode into maint 2018-01-01 13:06:12 +01:00
Nicolas Goaziou e9f30779de Merge branch 'maint' 2017-12-31 15:49:55 +01:00
Nicolas Goaziou af58a6dbf7 Change Org-mode into Org mode
* lisp/ob-core.el (org-babel-result-to-file):
* lisp/ob-picolisp.el:
* lisp/org-agenda.el (org-check-for-org-mode):
(org-search-view):
(org-tags-view):
(org-agenda-cleanup-fancy-diary):
(org-agenda-get-day-entries):
* lisp/org-table.el (orgtbl-mode):
* lisp/org-w3m.el (org-w3m-copy-for-org-mode):
* lisp/org.el (org-modules):
(org-startup-options):
(org-fontify-meta-lines-and-blocks):
* mk/default.mk:
* mk/manfull.pl:
* mk/org-fixup.el (org-make-org-version):
(org-make-org-loaddefs):
* mk/orgcard2txt.pl (rep_esc):
* mk/targets.mk ($(info):
* testing/README:
(Example):
* testing/examples/no-heading.org:
* testing/examples/normal.org: Change Org-mode into Org mode
2017-12-31 15:48:09 +01:00
Nicolas Goaziou d4d9e90d19 org-table: Small optimization
* lisp/org-table.el (org-table-check-inside-data-field): Add optional
  argument.
(org-table-find-dataline): Do not call `org-at-table-p' needlessly.
(org-table-delete-column):
(org-table-move-column):
(org-table-copy-region):
(org-table-eval-formula): Use new argument.
(org-table-force-dataline): Small refactoring.

This patch limits the number of calls to `org-at-table-p'.
2017-12-30 00:58:11 +01:00
Bastien 58c9bedfd5 Merge branch 'maint' 2017-12-29 18:58:41 +01:00
Bastien d792b57ffc org-table: Correctly match ".[0-9]+" as a number
* lisp/org-table.el (org-table-copy-down): Correctly match
".[0-9]+" as a number.
2017-12-29 18:14:42 +01:00
Nicolas Goaziou 401890986c Revert "org-table: Improve bidirectional reordering in tables"
This reverts commit f4ae1941c9.
2017-12-28 12:29:04 +01:00
Nicolas Goaziou a343b0000a org-table: Improve bidirectional reordering in tables
* lisp/org-table.el (org-table-separator-space): New variable.
(org-table-align): Use new variable.
2017-12-23 23:42:46 +01:00
Nicolas Goaziou f4ae1941c9 org-table: Improve bidirectional reordering in tables
* lisp/org-table.el (org-table-separator-space): New variable.
(org-table-align): Use new variable.
2017-12-23 23:37:45 +01:00
Nicolas Goaziou bdaf5dacf4 Merge branch 'maint' 2017-12-02 17:27:53 +01:00
Nicolas Goaziou ca43c1f262 Fix RET past the last column of a table
* lisp/org.el (org-return): Split the table before first column or
  after last one.
* lisp/org-table.el (org-table-next-row): Remove code handling split.

* testing/lisp/test-org.el (test-org/return): Add test.
2017-12-02 17:23:03 +01:00
Nicolas Goaziou b8d473a04f org-table: Insert new column to the right instead of the left
* lisp/org-table.el (org-table-insert-column): Insert new column to
  the right instead of the left.

* testing/lisp/test-org-table.el (test-org-table/insert-column): New
  test.
2017-11-19 23:22:16 +01:00
Nicolas Goaziou de289d1fe8 Merge branch 'maint' 2017-11-15 22:50:56 +01:00
Nicolas Goaziou 946f76d707 org-table: Better fix for `:org-untouchable'
* lisp/org-table.el (org-table-recalculate): Fix typo in existing
  `remove-text-properties' call instead of adding a new one.

Also, cleaning property before processing formulas is more robust,
e.g., if last process raised an error.
2017-11-15 22:47:06 +01:00
Nicolas Goaziou 8ff3673dfc Merge branch 'maint' 2017-11-15 17:41:48 +01:00
Nicolas Goaziou 6059c3a057 org-table: Clean left-over `:org-untouchable' property
* lisp/org-table.el (org-table-recalculate): Clean `:org-untouchable'
  property once we no longer need it.

* testing/lisp/test-org-table.el (test-org-table/formula-priority):
  New test.

Reported-by: Ruy Exel <ruyexel@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-11/msg00159.html>
2017-11-15 17:40:22 +01:00
Nicolas Goaziou f474c7149b
org-table: Fix compatibility with Emacs 24.3
* lisp/org-table.el (org-table-align): Call `split-string' with the
  expected number of arguments in Emacs 24.3.

Reported-by: thomas <thomas@friendlyvillagers.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00430.html>
2017-10-29 09:15:01 +01:00
Kyle Meyer 0b83168465 Adjust version numbers of unreleased changes
* lisp/org-table.el (org-table-shrunk-column-indicator):
* lisp/org.el (org-startup-shrink-all-tables): Update Org version to 9.2
and Emacs version to 27.1.
(customize-package-emacs-version-alist): Map Org 9.2 to Emacs 27.1.

Emacs 26.1 is now in the pretest phase, and the version for Emacs's
development branch is 27.1.
2017-10-08 13:44:33 -04:00
Kyle Meyer 1a946d04e4 Merge branch 'maint' 2017-10-01 20:56:08 -04:00