Commit Graph

27704 Commits

Author SHA1 Message Date
Ihor Radchenko a9a05dab81
lisp/org-src.el (org-src-lang-modes): Fix :type definition
Reported-by:  Mattias Engdegård <mattias.engdegard@gmail.com>
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71566
2024-06-15 16:15:45 +02:00
Ihor Radchenko be39e61c4e
Use emacs-internal coding system to read/write Elisp data
* lisp/org-persist.el (org-persist--read-elisp-file):
(org-persist--write-elisp-file):
* lisp/ox.el (org-export-async-start):

Suggested by Emacs maintainer.

Link: https://list.orgmode.org/861q4zy0va.fsf@gnu.org/
2024-06-15 15:45:40 +02:00
Ihor Radchenko 1387e36135
Update version number for the 9.7.4 release 2024-06-15 13:14:58 +02:00
Ihor Radchenko 55fd660b4e
org-element: Auto-undefer deferred properties that depend on buffer positions
* lisp/org-element.el (org-element--get-node-properties):
(org-element--headline-parse-title):
(org-element--headline-parse-title-raw):
(org-element--headline-parse-title-parse):
(org-element-comment-block-parser):
(org-element-example-block-parser):
(org-element-export-block-parser):
(org-element-latex-environment-parser):
(org-element-src-block-parser):
(org-element-table-parser):
(org-element--parse-generic-emphasis):
(org-element-export-snippet-parser):
(org-element-inline-babel-call-parser):
(org-element-latex-fragment-parser): Auto-undefer node properties that
are calculated based on buffer position of the node.  This will make
the return value of `org-element-at-point' a little more robust once
the buffer is modified.  The :begin/:end, and other positional
properties may not be up-to-date, but at least some other properties
may be "frozen" if they are undeferred early.  Auto-undefer is still
disabled for properties that do not depend on buffer positions and may
benefit from dynamic calculation that takes into account syntax
changes that are influenced by global variables.
2024-06-14 16:22:00 +02:00
Ihor Radchenko fd8ddf2874
org-clock-sum: Gracefully skip invalid CLOCK lines
* lisp/org-clock.el (org-clock-sum): Skip invalid CLOCK
lines (malformed or with times missing).  Display a warning.

This brings back the old behavior with such CLOCK lines being silently
skipped.  Now, we also display a warning.

Reported-by: Robert Nyman <RKNyman@NymanTechnology.com>
Link: https://list.orgmode.org/orgmode/0e2ed754-bc71-4558-9c46-f17d73981fe5@NymanTechnology.com/
2024-06-14 15:29:08 +02:00
Ihor Radchenko 2347eac669
lisp/org.el (org--dnd-rmc): Fix `read-multiple-choice' call
* lisp/org.el (org--dnd-rmc): Add docstring.  Fix the call to
`read-multiple-choice' when extended help ("?") is requested by the
user.

Reported-by: Johann Klähn <org-mode@web.jklaehn.de>
Link: https://orgmode.org/list/87ikyhg9qi.fsf@jklaehn.de
2024-06-14 15:03:49 +02:00
Ihor Radchenko bd8b861ee9
org-num-skip-tags: Avoid using function that is not pre-loaded in autoloads
* lisp/org-num.el (org-num-skip-tags): Make sure that function used
for :safe `defcustom' slot does not require functions that are not
defined in org-loaddefs.el.  This is because `org-num-skip-tags' is
autoloaded and cannot rely upon requires in org-num.el.  Instead, it
may only use pre-loaded functions and other autoloaded Org mode
functions.

Reported-by: Eli Zaretskii <eliz@gnu.org>
Link: https://yhetil.org/emacs-devel/868qzd9hjg.fsf@gnu.org/
2024-06-14 14:25:03 +02:00
Ihor Radchenko 4bb0719374
org-capture-templates: Remove no-longer-supported variants from :type spec
* lisp/org-capture.el (org-capture-templates): Remove "sexp" type from
allowed values of capture targets.  S-exp support has been removed in
f5645675a3.
2024-06-14 13:48:10 +02:00
Ihor Radchenko 13fdbf73ff
mk: Prevent search local id: db when building manuals
* mk/org-fixup.el (org-make-manual):
(org-make-guide):
(org-make-manuals): Disable local ID db when building Org
documentation.  This makes sure that local IDs on the build machine
can never influence the build process.

Reported-by: Eli Zaretskii <eliz@gnu.org>
Link: https://yhetil.org/emacs-devel/868qzd9hjg.fsf@gnu.org/
2024-06-14 11:40:20 +02:00
Ihor Radchenko d7b5c19daa
DnD: Create directory when `org-yank-image-save-method' is a directory
* lisp/org.el (org--dnd-attach-file): Make sure that target directory
is created before copying file when `org-yank-image-save-method' is
set to specific directory (not 'attach).

Reported-by: ISouthRain <isouthrain@qq.com>
Link: https://orgmode.org/list/tencent_AABB2DEBF7ABFBC795348C288E0EBFCFDD0A@qq.com
2024-06-13 18:03:50 +02:00
Ihor Radchenko 96113f3b59
org-export--set-variables: Fix variable assignment
* lisp/ox.el (org-export--set-variables): Assume that variables are
listed as (var value) - as a list.  Only use the second element of the
list as the value, following example in `org-export-get-environment'.
(org-export-get-environment): Use `org-export--set-variables'.
* testing/lisp/test-ox.el (test-org-export/bind-keyword): Add new
test.

Reported-by: Suhail Singh <suhailsingh247@gmail.com>
Link: https://orgmode.org/list/87cyonhuq3.fsf@gmail.com
2024-06-13 17:26:44 +02:00
Ihor Radchenko a13d8fe83b
org-babel-exp-process-buffer: Fix edge case when src block ends at eob
* lisp/ob-exp.el (org-babel-exp-process-buffer): When src block ends
at eob, do not leave the #+end_src behind after replacement.
2024-06-13 17:26:02 +02:00
Ihor Radchenko e4902995a0
org-babel: Reduce verbosity when running in batch mode
* lisp/ob-C.el (org-babel-C-header-to-C):
* lisp/ob-awk.el (org-babel-execute:awk):
* lisp/ob-core.el (org-babel-execute-src-block):
(org-babel-insert-result):
* lisp/ob-ditaa.el (org-babel-execute:ditaa):
* lisp/ob-gnuplot.el (org-babel-execute:gnuplot):
(org-babel-prep-session:gnuplot):
* lisp/ob-groovy.el (org-babel-execute:groovy):
* lisp/ob-maxima.el (org-babel-execute:maxima):
* lisp/ob-screen.el (org-babel-execute:screen):
* lisp/ob-sed.el (org-babel-execute:sed): Suppress progress messages
when running noninteractively (batch export, for example).  This
change follows the existing behavior of `org-babel-exp-src-block'.

Reported-by: Eli Zaretskii <eliz@gnu.org>
Link: https://yhetil.org/emacs-devel/868qzd9hjg.fsf@gnu.org/
2024-06-13 15:16:54 +02:00
Ihor Radchenko 84945f9de0
orgtbl-gather-send-defs: Fix infinite loop when table is at bob
* lisp/org-table.el (orgtbl-gather-send-defs): Avoid infinite loop
when table is at the beginning of buffer.

Reported-by: Rustom Mody <rustompmody@gmail.com>
Link: https://orgmode.org/list/CAJ+Teoehk30LKVCTwMy0uREBHkNVBvrOLDZYboUQ4wBV6Fnwzw@mail.gmail.com
2024-06-12 15:31:45 +02:00
Ihor Radchenko a0950e9432
org-babel-execute-src-block: Handle code block moving point
* lisp/ob-core.el (org-babel-execute-src-block): Make sure that point
remain on src block after evaluation.  The function logic later
implicitly assumes that the point is on the block that has been
evaluated.
2024-06-12 12:47:48 +02:00
Ihor Radchenko 3e4c89e556
org-image--align: Fix image alignment when image is not inside paragraph
* lisp/org.el (org-image--align): Improve docstring.  Do not try to
align when image is not inside a paragraph.

Reported-by: Lin Sun <sunlin7.mail@gmail.com>
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71484
2024-06-11 12:44:57 +02:00
Kyle Meyer 9419dad48a Merge branch 'km/from-emacs-master' into bugfix 2024-06-10 18:34:04 -04:00
Stefan Monnier 008e6030ac Backport commit d3524560e from Emacs
* lisp/ox.el (org-export-filters-alist): Don't define as constant.

d3524560ee3cb075125f0af158d4af01cb2ab546
Stefan Monnier
Mon Jun 10 10:58:46 2024 -0400
2024-06-10 18:30:27 -04:00
Mattias Engdegård 6eab01c580 Backport commit 331573e40 from Emacs
* lisp/org-element.el (org-element-copy-buffer):
Repair incorrect escaping.
* lisp/org-macs.el (org--line-empty-p): Fix broken skip-set.
* lisp/org.el (org-setup-yank-dnd-handlers): Fix broken regexp.

Org: fix mistakes in regexp, skip set and doc string
331573e40731d6635acd366694493c26b480c230
Mattias Engdegård
Mon Jun 10 14:07:07 2024 +0200
2024-06-10 18:29:36 -04:00
Kyle Meyer ce350490ca ob-core: Fix indentation
* lisp/ob-core.el (org-babel-execute-src-block): Fix indentation of
line.

Emacs's bd80717d8e7 (Re-enable TTY glyph production for batch mode
frames on Android, 2024-06-10) reverted all changes from 8d1d9798f77
(Fix bootstrap of org.texi, 2024-06-10) aside from an indentation fix.
Apply the indentation fix to avoid overwriting it on sync.
2024-06-10 18:28:27 -04:00
Ihor Radchenko 4d4d59874c
Fix indirect buffer tracking
* lisp/org-fold-core.el
(org-fold-core-decouple-indirect-buffer-folds): Actually, add newly
created indirect buffer to the tracked list.
2024-06-10 11:16:00 +02:00
Kyle Meyer bb3800f904 Merge branch 'km/from-emacs-master' into bugfix 2024-06-09 20:52:14 -04:00
Stefan Kangas 2a6a0480d3 Backport commit 77d0eed74 from Emacs
; Fix typos
77d0eed74e1d934e28f364cb3adb06365e71335e
Stefan Kangas
Mon Jun 10 00:40:26 2024 +0200
2024-06-09 20:50:50 -04:00
Ihor Radchenko 0c06694666
etc/ORG-NEWS: Announce removal of searching inside hidden parts of links 2024-06-09 11:21:48 +02:00
Ihor Radchenko 915e883645
org-lint-misplaced-heading: Reduce false-positive rate
* lisp/org-lint.el (org-lint-misplaced-heading): Be more strict
matching potential misplaced headings - only do it on another heading
and inside paragraphs.

Link: https://orgmode.org/list/87a5jv77qs.fsf@gmail.com
2024-06-08 21:02:40 +02:00
Ihor Radchenko 6c862699a6
org-lint: Fix heuristics introduced in 51aea4946
* lisp/org-lint.el (org-lint-misplaced-heading): Use parser to query
whether we are inside a verbatim block.  `org-at-block-p' only
triggers on the begin line of blocks.
2024-06-07 16:53:29 +02:00
Ihor Radchenko 2f184485bf
Update version number for the 9.7.3 release 2024-06-06 16:49:56 +02:00
Ihor Radchenko e6c5f25c13
org-babel-exp-code: Fix exporting src blocks with :var arguments
* lisp/ob-exp.el (org-babel-exp-code): Do not use resolved argument
values when formatting the code block.  Resolved argument values may
contain awkward data like full (long) table contents, various Elisp
data (including non-printable), etc.  Simply using verbatim src block
parameters as they appear in the original buffer is more reliable.
(org-babel-exp-inline-code-template):
(org-babel-exp-code-template): Update docstrings, drop %flags
placeholder, which is no longer supported using the current src block
syntax.
* etc/ORG-NEWS (=ox-org= preserves header arguments in src blocks):
Drop "non-default" when explaining how header arguments are formatted.
We cannot know which values are default and which not without
resolving the values - something we cannot do as it turned out.
* testing/lisp/test-ob-exp.el (ob-exp/exports-inline-code):
(ob-export/export-src-block-with-flags):
(ob-export/body-with-coderef): Update the tests.
2024-06-06 14:44:01 +02:00
Ihor Radchenko 51aea49462
org-lint: Improve heuristics for unknown src block language
* lisp/org-lint.el (org-lint-suspicious-language-in-src-block): Do not
complain about src block languages without execute function if there
is <lang>-mode major mode available.

Reported-by: Suhail Singh <suhailsingh247@gmail.com>
Link: https://orgmode.org/list/874ja7ik7h.fsf@gmail.com
2024-06-05 17:08:50 +02:00
Ihor Radchenko 04d56f757f
mk/targets.mk (GITVERSION): Fix version string for ELPA build
* mk/targets.mk (GITVERSION): Use previous convention for the Org
version string on ELPA, where Org release tags are not available.
Instead of the new release_N/A-N/A prefix, use the Org version from
org.el file headers, as we did in Org 9.6.

Reported-by: Sharon Kimble <boudiccas@skimble09.plus.com>
Link: https://orgmode.org/list/87ikynyggt.fsf@skimble09.plus.com
2024-06-05 16:51:28 +02:00
Ihor Radchenko 223cc31ec7
org-log-beginning: Fix regression in c0b66bf
* lisp/org.el (org-log-beginning): Re-implement the bugfix attempted
in c0b66bf differently to avoid slurping blank lines when creating a
new logbook drawer.  Add more commentary to the function.

Reported-by: Christopher M. Miles <numbchild@gmail.com>

The reproducer:

* headline1
(point here)
* headline 2

(setq org-log-into-drawer t)

Press [C-c C-z] become bellowing content:

* headline1
:LOGBOOK:
- Note taken on [2024-06-05 Wed 12:49] \\
  kkk
:END:(point here)
* headline 2
2024-06-05 16:08:35 +02:00
Ihor Radchenko 589e1f38c1
Revert "org-log-beginning: Fix error creating LOGBOOK drawer at end of buffer"
This reverts commit c0b66bf9c1.

This itself caused a regression when inserting a new logbook drawer -
blank line is slurped.
2024-06-05 16:07:31 +02:00
Ihor Radchenko b8497aa7fe
org-lint: Do not warn about trailing *** lines inside blocks
* lisp/org-lint.el (org-lint-misplaced-heading): The chances that
there is a heading between #+begin... #+end lines is generally low.
So *** text instances are likely intended.

Reported-by: Suhail Singh <suhailsingh247@gmail.com>
Link: https://orgmode.org/list/87r0dc35ya.fsf@gmail.com
2024-06-05 15:13:44 +02:00
Ihor Radchenko ac1d58477a
org-element-cache: Fix indirect buffer tracking
* lisp/org-element.el (org-element--cache-setup-change-functions):
Make sure that indirect buffers are registered to be traversed in
`org-fold-core-cycle-over-indirect-buffers' in
`org-element--cache-active-p'.
`org-fold-core-decouple-indirect-buffer-folds' may not be called in
some scenarios when Org mode is active.

The reproducer that revealed the problem is in
https://orgmode.org/list/CAD6d+LUJ7St5_muvwqzE80EfHSoiMmZD+qDTAojeN0L7v+zsCQ@mail.gmail.com
2024-06-05 14:34:46 +02:00
Kyle Meyer de0df5b925
org-test: Fix zone-dependent miscalculation of days of week
* testing/org-test.el (org-test-day-of-weeks-seconds): Specify seconds
for formatting with UTC as time zone.
(org-test-day-of-weeks-abbrev):
(org-test-day-of-weeks-full): Use UTC as time zone when formatting
input.

Avoid calling format-time-string with the local time zone because that
gives the wrong result in some cases.  For example, 2222222 is
supposed to produce the locale's name for "Tuesday" but, when the
local time zone is +0000, (format-time-string "%A" 2222222) returns
the locale's name for "Monday".
2024-06-04 15:01:31 +02:00
Ihor Radchenko 2ee94bb065
Reapply "lisp/ox-html.el: Restore org-svg class."
This reverts commit 895a367a67.
2024-06-03 11:16:15 +02:00
Ihor Radchenko 77e77f051c
Reapply "ox-html: Use <img> tags for svgs, not <object>"
This reverts commit 302bc6393a.

It turns out that <object ...> tags with data pointing outside the
website are not rendered by the modern
qtwebengine (linked svgs in https://orgmode.org/tools.html are not
rendered). Even though Firefox does render the same page, it no longer
appears safe to use <object ...> for svg.  So, we have to use <img...>
with its limitations.
2024-06-03 11:14:41 +02:00
Ihor Radchenko 8e8e635eba
Revert "lisp/ox-html.el: Convert :alt to :aria-label attribute in svg images"
This reverts commit 0e5ac43324.
2024-06-03 11:14:31 +02:00
Ihor Radchenko 5f050580d8
lisp/org.el (org--dnd-attach-file): Load org-attach
This is necessary to make sure that `org-attach-method' variable is
available.
2024-06-03 11:10:07 +02:00
Ihor Radchenko 0477df8aab
org-setup-yank-dnd-handlers: Support MacOS dnd URIs
* lisp/org.el (org-setup-yank-dnd-handlers): MacOS uses
"file:/Users/juergenfenn/Desktop/test-file.jpeg" instead of file:///
stype URIs in DND data.  Handle this URI style.

We do not need to worry about converting the URI -
`org--dnd-local-file-handler' uses `dnd-get-local-file-name' that
takes care about URI-to-path conversion.

Reported-by: Juergen Fenn <jfenn@gmx.net>
Link: https://orgmode.org/list/875xur1aql.fsf@localhost
2024-06-03 11:10:06 +02:00
Kyle Meyer 671ca44df0 test-org-clock: Fix typo in test name 2024-06-01 17:10:58 -04:00
Ihor Radchenko 9ad3360d76
etc/ORG-NEWS: Fix unintentional list markup
* etc/ORG-NEWS (Images and files in clipboard can be pasted): More
"29." away from beginning of line.  It was parsed as list.
2024-06-01 20:31:17 +02:00
Ihor Radchenko 88dd2cea35
Update version number for the 9.7.2 release 2024-06-01 14:49:45 +02:00
Ihor Radchenko 5b8159228a
etc/ORG-NEWS: Move user-facing changes near the top 2024-06-01 14:49:18 +02:00
Ihor Radchenko 0ea4dc166c
org-html-latex-environment: Fix error when environment is non-math
* lisp/ox-html.el (org-html-latex-environment): Do not try to compute
caption for non-math environments.
2024-06-01 14:47:43 +02:00
Ihor Radchenko f737e7213d
Update version number for the 9.7.1 release 2024-06-01 11:14:24 +02:00
Ihor Radchenko 9189ccacd5
etc/ORG-NEWS: Remove "unreleased" from Version 9.7 2024-06-01 11:12:30 +02:00
Ihor Radchenko 5fe70f2d66
Update version number for the 9.7 release 2024-06-01 10:59:57 +02:00
Ihor Radchenko eec8ba4087
Merge branch 'bugfix' 2024-06-01 10:58:39 +02:00
Ihor Radchenko dc485a6590
lisp/org-persist.el: Ignore lock files when writing cache
* lisp/org-persist.el (org-persist--write-elisp-file): Ignore locks.

Reported-by: Greg Minshall <minshall@umich.edu>
Link: https://orgmode.org/list/574109.1715751441@archlinux
2024-05-30 15:31:20 +02:00