Commit graph

831 commits

Author SHA1 Message Date
Mattias Engdegård b78583a1c1 Backport commit 770f76f05 from Emacs
Make regexps smaller and faster by removing terms that are superfluous
by virtue of standing next to another term that matches more.  See
https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00949.html
for details.

* lisp/ob-core.el (org-babel-remove-result):
* lisp/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
* lisp/org-capture.el (org-capture-set-target-location):
* lisp/org-compat.el (org-maybe-keyword-time-regexp):
* lisp/org-table.el (org-table-expand-lhs-ranges):
Remove subsumed repetitions.

Remove subsumed repetitions in regexps
770f76f050376bbd77a3cc8cf44db57cf855a27c
Mattias Engdegård
Thu Feb 20 16:05:18 2020 +0100
2020-03-15 22:51:31 -04:00
Mattias Engdegård 7265f2864e Backport commit af085ef40 from Emacs
* lisp/org-agenda.el (org-agenda-hide-tags-regexp)
(org-agenda-category-icon-alist):
* lisp/org-protocol.el (org-protocol-data-separator):
* lisp/org-table.el (org-table-number-regexp):
* lisp/ox-latex.el (org-latex-known-warnings):
Use 'regexp' instead of 'string' as type for values that are regexps
in defcustom declarations.

Use regexp type for regexps in defcustom declarations
af085ef40b961ca3466e8b2dfb7f722573e5a4cc
Mattias Engdegård
Thu Dec 26 16:50:58 2019 +0100
2020-03-15 22:51:31 -04:00
Bastien 6a1f6ee1f8 Tiny formatting fixes
* lisp/ox.el (org-export-table-dimensions):
* lisp/ox-texinfo.el (org-texinfo-template):
* lisp/ox-md.el (org-md-link):
* lisp/ox-icalendar.el (org-icalendar-use-UTC-date-time-p):
* lisp/ox-ascii.el (org-ascii-fixed-width):
* lisp/org.el (org-context):
* lisp/org-table.el (org-table-eval-formula)
(org-table-export):
* lisp/org-refile.el:
* lisp/org-plot.el (org-plot/gnuplot-to-grid-data):
* lisp/org-num.el (org-num):
* lisp/org-mouse.el (org-mouse-popup-global-menu)
(org-mouse-context-menu):
* lisp/org-macro.el (org-macro):
* lisp/org-lint.el (org-lint):
* lisp/org-keys.el (org-keys):
* lisp/org-duration.el:
* lisp/org-clock.el (org-clock-get-last-clock-out-time)
(org-clock-update-mode-line, org-find-open-clocks):
* lisp/org-agenda.el (org-diary)
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item)
(org-agenda-highlight-todo, org-cmp-alpha)
(org-agenda-filter-by-category):
* lisp/ol.el (org-link-expand-abbrev, ol):
* lisp/ol-docview.el (ol-docview):
* lisp/ol-bibtex.el (org-execute-file-search-in-bibtex)
(org-bibtex, org-bibtex-read):
* lisp/ol-bbdb.el (org-bbdb-anniversary-description):
* lisp/ob-tangle.el (org-babel-tangle-jump-to-org):
* lisp/ob-table.el (org-babel-table-truncate-at-newline):
* lisp/ob-stan.el:
* lisp/ob-sqlite.el (org-babel-sqlite-table-or-scalar):
* lisp/ob-sql.el:
* lisp/ob-shen.el:
* lisp/ob-shell.el (org-babel-prep-session:shell)
(org-babel-prep-session:shell):
* lisp/ob-sed.el (org-babel-execute:sed)
(org-babel-execute:sed):
* lisp/ob-screen.el:
* lisp/ob-sass.el:
* lisp/ob-ruby.el (org-babel-prep-session:ruby)
(org-babel-prep-session:ruby):
* lisp/ob-ref.el (org-babel-ref-resolve, ob-ref):
* lisp/ob-python.el (org-babel-prep-session:python)
(org-babel-prep-session:python):
* lisp/ob-plantuml.el:
* lisp/ob-picolisp.el:
* lisp/ob-perl.el:
* lisp/ob-org.el:
* lisp/ob-octave.el (org-babel-prep-session:octave)
(org-babel-prep-session:octave)
(org-babel-octave-evaluate-session):
* lisp/ob-ocaml.el:
* lisp/ob-mscgen.el (org-babel-execute:mscgen)
(org-babel-execute:mscgen):
* lisp/ob-maxima.el:
(ob-maxima):
* lisp/ob-matlab.el:
* lisp/ob-makefile.el:
* lisp/ob-lua.el (org-babel-prep-session:lua)
(org-babel-prep-session:lua):
* lisp/ob-lisp.el:
* lisp/ob-ledger.el:
* lisp/ob-latex.el (org-babel-expand-body:latex)
(org-babel-expand-body:latex, ob-latex):
* lisp/ob-js.el:
* lisp/ob-java.el:
* lisp/ob-io.el (org-babel-prep-session:io)
(org-babel-prep-session:io):
* lisp/ob-hledger.el:
* lisp/ob-haskell.el:
* lisp/ob-groovy.el (org-babel-groovy-wrapper-method)
(org-babel-groovy-evaluate):
* lisp/ob-gnuplot.el:
* lisp/ob-fortran.el (org-babel-expand-body:fortran)
(org-babel-expand-body:fortran):
* lisp/ob-forth.el (org-babel-forth-session-execute):
* lisp/ob-exp.el (ob-exp):
* lisp/ob-eval.el:
* lisp/ob-emacs-lisp.el:
* lisp/ob-ebnf.el:
* lisp/ob-dot.el:
* lisp/ob-ditaa.el:
* lisp/ob-css.el:
* lisp/ob-core.el (org-babel-put-rownames):
* lisp/ob-coq.el:
* lisp/ob-comint.el:
* lisp/ob-calc.el:
* lisp/ob-awk.el:
* lisp/ob-asymptote.el:
* lisp/ob-abc.el:
* lisp/ob-R.el (org-babel-prep-session:R): Formatting fixes.
2020-02-18 22:57:37 +01:00
Bastien 99f5f0ce1e org-table.el: Don't run table header mode with a timer
* lisp/org-table.el (org-table-header-set-header): Don't run
with a timer.
2020-02-11 21:42:54 +01:00
Bastien b7c654575c org-table.el: Use a smaller timer for org table header
* lisp/org-table.el (org-table-header-set-header): Use a
smaller timer, as the header line may not be correctly deleted
otherwise.
2020-02-08 16:16:42 +01:00
Bastien b13cf9deff Fix 62b9b63af 2020-02-08 07:23:17 +01:00
Bastien 62b9b63af8 org-table.el: Fix removal of the table header
* lisp/org-table.el (org-table-header-set-header): Ensure the
table header overlay is correctly deleted.  Lessen the timer.
2020-02-07 17:06:38 +01:00
Bastien ec6d01fd49 org-table.el: Implement org table header mode using an overlay
* lisp/org-table.el (org-table-row-get-visible-string): Update
docstring.
(org-table-header-set-header): Use an overlay instead of the
header line.
2020-02-07 03:08:08 +01:00
Bastien 9672a8da98 org-table.el: Use a local hook for table header minor mode
* lisp/org-table.el (org-table-header-set-header): Refactoring.
(org-table-header-line-mode): Use a local hook.
2020-02-07 00:11:33 +01:00
Bastien 7d74b5b769 org-table.el: Handle horizontal scrolling for table header
* lisp/org-table.el (org-table-header-set-header): Handle
horizontal scrolling.
2020-02-06 14:19:30 +01:00
Bastien a645fd8043 org-table.el (org-table-header-set-header): Tiny refactoring
* lisp/org-table.el (org-table-header-set-header): Tiny refactoring.
2020-02-05 09:06:43 +01:00
Bastien c2bc481e3d org-table.el: Enhance `org-table-header-set-header'
* lisp/org-table.el (org-table-header-set-header): Take
scroll-bar into account.

Thanks to Eric Fraga for reporting this.
2020-02-05 08:07:40 +01:00
Bastien e48d106696 Continue previous commit 2020-02-05 01:53:34 +01:00
Bastien c452dc38dc org-table.el: Enhancements to table header mode
* lisp/org-faces.el (org-table-header): New face.

* lisp/org-table.el (org-table-header-set-header): Rename from
`org-table-header-set-line'.  Use the new face.
2020-02-05 01:20:54 +01:00
Bastien ddab73ab54 Fix previous commit 2020-02-05 00:51:09 +01:00
Bastien c1297652be org-table.el (org-table-header-line-mode): Add a lighter
* lisp/org-table.el (org-table-header-line-mode): Add a lighter.
2020-02-05 00:45:17 +01:00
Bastien 04cb76571d org-table.el: Various fixes and enhancements
* lisp/org.el (org-mode): Obey `org-table-header-line-p'.

* lisp/org-table.el (org-table-row-get-visible-string): Fix
handling of shrunk cells.
(org-table-header-set-line): Minor enhancements.  Rename from
`org-table-set-header-line-format'.
(org-table-header-line-mode): Use `org-table-header-set-line'.
2020-02-04 18:14:29 +01:00
Bastien e076ed6e85 Merge branch 'maint' 2020-02-03 21:49:03 +01:00
Bastien 917917092d org-table.el: Restore window configuration when debugging formula
* lisp/org-table.el (org-table-eval-formula): Restore window
configuration when debugging table formula is done.

Thanks to Eric Fraga for reporting this.
2020-02-03 20:47:23 +01:00
Bastien 7d61bc5bcb org-table.el: Enhance `org-table-set-header-line-format'
* lisp/org-table.el (org-table-set-header-line-format): Use
'line-number face if relevant.
2020-02-03 13:24:34 +01:00
Bastien a557cfcfc6 org-table.el: Fix `org-table-set-header-line-format'
* lisp/org-table.el (org-table-set-header-line-format): Skip
non-data rows correctly.
2020-02-03 10:05:52 +01:00
Bastien 06d36ee60b Silent compiler warning 2020-02-02 20:09:17 +01:00
Bastien 34b6b425ed Merge branch 'maint' 2020-02-02 14:04:03 +01:00
Bastien 2a5f879c81 org-table.el: Fix message
* lisp/org-table.el (org-table-toggle-coordinate-overlays):
Fix the message sent when coordinates are not displayed.
2020-02-02 14:03:20 +01:00
Bastien eb5ff71c16 org-table.el: Enhance `org-table-set-header-line-format'
* lisp/org-table.el (org-table-set-header-line-format): Skip
lines setting column widths with <[0-9]+>.

Thanks to Bernard Hugueney for suggesting this.
2020-02-02 12:54:06 +01:00
Bastien d303b6af29 org-table.el: Don't use `if-let' to avoid requiring subr-x.el
* lisp/org-table.el (org-table-row-get-visible-string): Don't
use `if-let' to avoid requiring subr-x.el.
2020-02-01 21:58:28 +01:00
Bastien 2ba8430b93 Fix previous commit 2020-02-01 17:34:33 +01:00
Bastien fbd8aea6d2 org-table.el: Fixes to `org-table-set-header-line-format'
* lisp/org-table.el (org-table-row-get-visible-string): New
function.
(org-table-set-header-line-format): Use it to handle shrunk
columns.  Also fix handling of `display-line-numbers-mode'.
2020-02-01 17:21:34 +01:00
Bastien 4dcfd7e9db Fix previous commit 2020-02-01 13:18:15 +01:00
Bastien 340bd61777 org-table.el: Check `display-line-numbers-mode' availability
* lisp/org-table.el (org-table-set-header-line-format): Check
whether the `display-line-numbers-mode' command is available.
2020-02-01 13:14:26 +01:00
Bastien 110b034151 Replace "org-table-electric-header" by "org-table-header-line"
* lisp/org-table.el (org-table-header-line-p)
(org-table-header-line-mode): Replace
"org-table-electric-header" by "org-table-header-line".

* doc/org-manual.org (Miscellaneous): Ditto.

Thanks to Samuel Wales for suggesting this name.
2020-02-01 09:52:57 +01:00
Bastien c83f889826 org-table.el: Adapt `org-table-set-header-line-format' again
* lisp/org-table.el (org-table-set-header-line-format): Adapt
to `display-line-numbers-mode'.
2020-01-31 21:24:12 +01:00
Bastien fb9eb697d6 org-table.el: Fix `org-table-set-header-line-format' for org-indent-mode
* lisp/org-table.el (org-table-set-header-line-format): When
`org-indent-mode' is turned on, adapt the header's left space
to size of the line prefix.
2020-01-31 21:19:45 +01:00
Bastien 759c1567b1 org-table.el: Silence compiler warnings 2020-01-30 11:54:51 +01:00
Bastien 0aff90f499 Run `org-table-electric-header-mode' with a tiny timer
* lisp/org-table.el (org-table-electric-header-mode): Autoload and
run with timer.
2020-01-29 21:35:04 +01:00
Bastien 57721a1cb0 Handle header line scaling for `org-table-electric-header-mode'
* lisp/org-table.el (org-table-temp-header-remapping): New variable.
(org-table-set-header-line-format): Scale the header line properly.
(org-table-electric-header-mode): Don't run outside `org-mode'.
2020-01-29 17:14:12 +01:00
Bastien b476ffd266 Implement the `org-table-electric-header-mode' minor mode
* lisp/org-table.el (org-table-electric-header-p): New option.
(org-table-temp-header-line, org-table-electric-header-mode): New
variables.
(org-table-set-header-line-format)
(org-table-electric-header-mode): New minor mode to display the
table's current first row as the header line when this first row
is not visible anymore.

* doc/org-manual.org (Miscellaneous): Document
`org-table-electric-header-mode'.
2020-01-29 15:17:32 +01:00
Bastien 241750b3c2 Use number-to-string' instead of int-to-string'
* lisp/org.el (org-end-of-subtree): Use `number-to-string' instead
of `int-to-string'.

* lisp/org-table.el (org-table-edit-field)
(org-table-fix-formulas, org-table-analyze, orgtbl-make-binding)
(org-table-field-info): Ditto.

* lisp/org-macs.el (org-shorten-string): Ditto.

* lisp/org-agenda.el (org-get-time-of-day): Ditto.
2020-01-28 20:19:24 +01:00
Bastien e982108445 Fix "Maintainer: " entry in the header
* lisp/org.el:
* lisp/org-table.el:
* lisp/org-list.el:
* lisp/org-attach.el:
* lisp/org-agenda.el: Fix "Maintainer: " entry in the header.
2020-01-27 14:55:15 +01:00
Bastien 3b3d577ee7 Add maintainer
(Continue testing post-receive hook.)
2020-01-26 12:57:53 +01:00
Kyle Meyer ff5fc050d3 Update copyright year to 2020 2020-01-01 13:38:46 -05:00
Paul Eggert ac90e86c32 Backport commit d1a791f8e from Emacs
Spelling fixes
d1a791f8edc1b8f2189b6f1b3be7b946fef1edbc
Paul Eggert
Mon Dec 9 18:45:18 2019 -0800
2019-12-11 21:19:55 -05:00
Paul Eggert 9c5174e235 Backport commit ab612302b from Emacs
* lisp/org-table.el (org-table-wrap-region): Avoid
repetition-of-repetition in regexp.

Fix regex repetition of repetitions
ab612302b4917fec5846922f3d8ffafa673c0d36
Paul Eggert
Wed Dec 4 16:54:24 2019 -0800
2019-12-04 21:19:51 -05:00
Jonas Bernoulli 5117d8a159 Fix typos 2019-11-16 17:17:36 -05:00
Kyle Meyer 6f5516953f Merge branch 'maint' 2019-08-25 11:51:12 -04:00
Paul Eggert 190a3b6c4e Backport commit 221a3272a from Emacs
* lisp/org-table.el (org-table-message-once-per-second):
Fix bug when clock difference goes past a 65536-second boundary.
Don’t assume particular format for current-time result.

Fix org-table 65536-second bug
221a3272ad4a1befb41dda2990d672782bc0257f
Paul Eggert
Mon Aug 19 18:05:15 2019 -0700

Note(km): time-less-p and time-subtract have been replaced with the
corresponding Org compatibility functions.
2019-08-25 11:47:17 -04:00
Kyle Meyer 57e254e67c Merge branch 'maint' 2019-07-14 11:14:54 -04:00
Konstantin Kharlamov c0d699e9ba Backport commit dfc322d77 from Emacs
* lisp/org-mobile.el (org-mobile-copy-agenda-files)
(org-mobile-update-checksum-for-capture-file):
* lisp/org-table.el (org-table-number-regexp):
Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
(Bug#36167)

Replace manually crafted hex regexes with [:xdigit:]
dfc322d77fd1ce3aa4d852e0ff07bb36944f6432
Konstantin Kharlamov
Sat Jul 6 10:54:25 2019 +0300
2019-07-14 11:12:12 -04:00
Nicolas Goaziou b855acc878 Merge branch 'maint' 2019-06-28 17:50:53 +02:00
Nicolas Goaziou 7bc6f8d619 org-table: Prevent formula evaluation from widening all tables
* lisp/org-table.el (org-table-recalculate): When a formula is
  evaluated, do not expand shrunk columns across the whole buffer.
2019-06-28 17:49:25 +02:00