Re: [PATCH] Set Python shell in Org edit buffer

2024-01-28 Thread Jack Kamm
Ihor Radchenko  writes:

> Applied, onto main, fixing the oversight in
> org-src-associate-babel-session (now, it does not require session
> running).
> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=319563cef
>
> Since ESS already released a new version with my patch for ESS included,
> no advice is needed.

Thank you!



Re: [PATCH] Set Python shell in Org edit buffer

2024-01-28 Thread Jack Kamm
Ihor Radchenko  writes:

> Liu Hui  writes:
>
>> Yes, I have updated the text and you're welcome to improve it. Thanks!
>> From c503b2ed5116e2abae25459b09abc919074ac54a Mon Sep 17 00:00:00 2001
>> From: Liu Hui 
>> Date: Tue, 5 Dec 2023 11:40:38 +0800
>> Subject: [PATCH] Set Python shell in Org edit buffer
>
> Now, after amending `org-src-associate-babel-session' to execute even
> when no session is active, we can use
> `org-babel-python-associate-session'.
>
> Attaching tentative patch that should be equivalent to yours.

Thanks Ihor. I tested the patch and it seems to work well.



Re: Suggested manual changes - section 7.2 Special Properties

2024-01-28 Thread Tommy Kelly
> Can you give a link to the Reddit thread
> where this was discussed?

It’s here:
https://www.reddit.com/r/orgmode/s/3viPfF78Lr

In a nutshell, I was trying to understand how to have one of the columns in
column mode be the creation date of each headline. I thought that because I
almost always insert a clock entry when I create (using org-capture) a new
item then I already had the required timestamp — the first one in the clock
entry. However, it turns out that timestamp isn’t usable, and so the thread
was me looking for help in figuring out the best way to do it.

—


On Sun, Jan 28, 2024 at 02:39 Matt  wrote:

> Thank you for your suggestions.  Unfortunately, I'm not yet familiar with
> this part of Org.  Can you give a link to the Reddit thread where this was
> discussed?
>
> --
> Matt Trzcinski
> Emacs Org contributor (ob-shell)
> Learn more about Org mode at https://orgmode.org
> Support Org development at https://liberapay.com/org-mode
>
>


Re: Connecting to an Already Running Scheme REPL with org-babel

2024-01-28 Thread Hunter Jozwiak
Ihor Radchenko  writes:

> Hunter Jozwiak  writes:
>
>> i am curious whether or not it is possible to connect Org babel to a 
>> remotely running scheme REPL, more
>> specifically the Guile REPL that you get by running something like guix repl 
>> --listen=tcp:37146
>
> ob-scheme does not have such feature.
> Although, it might not be hard to implement.
>
> Check out `org-babel-scheme-get-repl' function. Now, it calls
>  (geiser impl)
> You would need
>  (geiser-connect impl host port)
> to connect to server.
>
> Of course, you'd also need to somehow get HOST and PORT values. For
> example, passing them all the way down from the header argument plist
> stored in PARAMS argument of `org-babel-execute:scheme' (->
> org-babel-scheme-execute-with-geiser -> org-babel-scheme-get-repl)
>
> Patches welcome!

Hello,

Here is a patch that provides this functionality.

From f64f82b34a7ec6418687fb9b028dda7a80059811 Mon Sep 17 00:00:00 2001
From: Hunter Jozwiak 
Date: Sun, 28 Jan 2024 21:48:05 -0500
Subject: [PATCH] org-mode: allow ob-scheme to accept a remote connection.

* lisp/org/ob-scheme.el (org-babel-scheme-get-repl): introduce two
optional variables  host  and port. If there are not given, just run
Geiser as before. In the case when  both are given, connect to the
remotely running Scheme process.
* lisp/org/ob-scheme (org-babel-scheme-execute-with-geiser,
org-babel-execute:scheme): take these  optional arguments into account.
---
 lisp/org/ob-scheme.el | 22 ++
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/lisp/org/ob-scheme.el b/lisp/org/ob-scheme.el
index d13b975084c..c9779185903 100644
--- a/lisp/org/ob-scheme.el
+++ b/lisp/org/ob-scheme.el
@@ -1,4 +1,4 @@
-;;; ob-scheme.el --- Babel Functions for Scheme  -*- lexical-binding: t; -*-
+;; ob-scheme.el --- Babel Functions for Scheme  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 2010-2024 Free Software Foundation, Inc.
 
@@ -54,7 +54,7 @@ geiser-debug-show-debug-p
 (defvar geiser-debug-jump-to-debug-p)  ; Defined in geiser-debug.el
 (defvar geiser-repl-use-other-window)  ; Defined in geiser-repl.el
 (defvar geiser-repl-window-allow-split)	; Defined in geiser-repl.el
-
+(declare-function geiser-connect "ext:geiser-repl" (impl  host port))
 (declare-function run-geiser "ext:geiser-repl" (impl))
 (declare-function geiser "ext:geiser-repl" (impl))
 (declare-function geiser-mode "ext:geiser-mode" ())
@@ -116,13 +116,17 @@ org-babel-scheme-get-buffer-impl
   (with-current-buffer (set-buffer buffer)
 geiser-impl--implementation))
 
-(defun org-babel-scheme-get-repl (impl name)
-  "Switch to a scheme REPL, creating it if it doesn't exist."
+(defun org-babel-scheme-get-repl (impl name  host port)
+  "Switch to a scheme REPL, creating it if it doesn't exist.
+
+If the variables host and port are set, connect to the running Scheme REPL."
   (let ((buffer (org-babel-scheme-get-session-buffer name)))
 (or buffer
 	(progn
   (if (fboundp 'geiser)
-  (geiser impl)
+  (if (and host port)
+  (geiser-connect impl host port)
+(geiser impl))
 ;; Obsolete since Geiser 0.26.
 	(run-geiser impl))
 	  (when name
@@ -159,7 +163,7 @@ org-babel-scheme-capture-current-message
,@body
(current-message
 
-(defun org-babel-scheme-execute-with-geiser (code output impl repl)
+(defun org-babel-scheme-execute-with-geiser (code output impl repl   host port)
   "Execute code in specified REPL.
 If the REPL doesn't exist, create it using the given scheme
 implementation.
@@ -175,7 +179,7 @@ org-babel-scheme-execute-with-geiser
   (let ((geiser-repl-window-allow-split nil)
 	(geiser-repl-use-other-window nil))
 	(let ((repl-buffer (save-current-buffer
-			 (org-babel-scheme-get-repl impl repl
+			 (org-babel-scheme-get-repl impl repl host port
 	  (when (not (eq impl (org-babel-scheme-get-buffer-impl
 			   (current-buffer
 	(message "Implementation mismatch: %s (%s) %s (%s)" impl (symbolp impl)
@@ -231,6 +235,8 @@ org-babel-execute:scheme
 		   geiser-scheme-implementation
 		   geiser-default-implementation
 		   (car geiser-active-implementations)))
+ (host (cdr (assq :host params)))
+ (port (cdr (assq :port params)))
 	 (session (org-babel-scheme-make-session-name
 		   source-buffer-name (cdr (assq :session params)) impl))
 	 (full-body (org-babel-expand-body:scheme body params))
@@ -240,7 +246,7 @@ org-babel-execute:scheme
 	   full-body		   ; code
 	   (string= result-type "output")  ; output?
 	   impl			   ; implementation
-	   (and (not (string= session "none")) session ; session
+	   (and (not (string= session "none")) session)  host port))) ; session
 	(let ((table
 	   (org-babel-reassemble-table
 		result
-- 
2.43.0



signature.asc
Description: PGP signature


Re: Agenda clocktable & archive issue

2024-01-28 Thread Andrew Hyatt

Ihor Radchenko  writes:

> Andrew Hyatt  writes:
>
>>> AFAIK, clocktable scope in agenda is controlled by the agenda's scope.
>>> If you have `org-agenda-archives-mode' enabled, archives will contribute
>>> to the agenda report as well.
>>
>> Thank you, I indeed didn't know that, and it did help. After some
>> digging around, it seems like the way to set this as a default is to set
>> (setq org-agenda-archives-mode t), which is a bit sketchy, since
>> normally you wouldn't set modes with setq, but by calling the mode. I
>> think this could be improved on, so I can send a patch for this if you
>> agree.
>
> The normal way is in org-agenda-hook - org-agenda-archives-mode it is a minor 
> mode.
>
> Still, I do not mind adding customization to enable it during startup,
> similar to the existing customizations:
> `org-agenda-start-with-log-mode',
> `org-agenda-start-with-entry-text-mode',
> `org-agenda-start-with-follow-mode', etc.

Thank you, that makes sense.  I've attached the patch.

>From 4eee33856af687564a522ab40ebed4ba5d848cf4 Mon Sep 17 00:00:00 2001
From: Andrew Hyatt 
Date: Sun, 28 Jan 2024 21:33:20 -0400
Subject: [PATCH] Add org-agenda-start-with-archives-mode

---
 lisp/org-agenda.el | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 20da364b5..92657aa86 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -1102,6 +1102,11 @@ removed from entry text before it is shown in the agenda."
   :group 'org-agenda
   :type 'string)
 
+(defcustom org-agenda-start-with-archives-mode nil
+  "Initial value of archive-mode in a newly created agenda window."
+  :group 'org-agenda-startup
+  :type 'boolean)
+
 (defvar org-agenda-entry-text-cleanup-hook nil
   "Hook that is run after basic cleanup of entry text to be shown in agenda.
 This cleanup is done in a temporary buffer, so the function may inspect and
@@ -2372,7 +2377,8 @@ The following commands are available:
 (setq org-agenda-follow-mode org-agenda-start-with-follow-mode
 	  org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode
 	  org-agenda-show-log org-agenda-start-with-log-mode
-	  org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode))
+	  org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode
+  org-agenda-archives-mode org-agenda-start-with-archives-mode))
   (add-to-invisibility-spec '(org-filtered))
   (org-fold-core-initialize `(,org-link--description-folding-spec
   ,org-link--link-folding-spec))
-- 
2.39.3 (Apple Git-145)



Re: [PATCH v2] org-id: allow using parent's existing id in links to headlines

2024-01-28 Thread Samuel Wales
sounds like a lot of contribution.  i do not want to impede anything
anybody else wants, but want to point out my user experience over
years in case useful to anybody.

my experiene is that context, search, and file links typically break
for me, as i change headers, refile, fix typos, change paths, etc.  so
i stick with just org-id and, for export, custom id where possible.
however, i would DEFINITELY also use org id link targets that are
puttable in various locations [e.g. id markers].
what i am pointing out is probably obvious, but might be worth
pointing out in a sentence in manual, or for setting defaults?


On 1/28/24, Rick Lupton  wrote:
> Hi,
>
> Thanks for trying it out.  Updated patches attached, comments below.
>
> On Mon, 18 Dec 2023, at 12:27 PM, Ihor Radchenko wrote:
>> I played around with the patch a bit and found a couple of rough edges:
>>
>> 1. When I try to open a link to non-existing search target, like
>>, I get a query to create a new
>>heading. If I reply "yes", a new heading is created. However, the
>>heading is created at the end of the file and is always level 1,
>>regardless of the "some-id" parent context.
>>It would make more sense to create a new heading at the end of the
>>id:some-id subtree.
>
> Fixed in updated patches -- first patch adds generic new flexibility to
> `org-insert-heading', second patch uses it so new headings now added at
> correct level at the end of the id:sub-id subtree.
>
>> 2. Consider the following setting:
>>(setq org-id-link-consider-parent-id t)
>>(setq org-id-link-to-org-use-id
>> 'create-if-interactive-and-no-custom-id)
>>
>>Then, create the following Org file
>>
>> * Sub
>> * Parent here
>> ** This is test
>> :PROPERTIES:
>> :ID:   fe40252e-0527-44c1-a990-12498991f167
>> :END:
>>
>> *** Sub 
>> :PROPERTIES:
>> :CUSTOM_ID:   subid
>> :END:
>>
>>When you M-x org-store-link, the stored link has ::*Sub instead of
>>the expected ::#subid
>
> Updated so that search strings prefer custom-ids (::#subid) to headline
> matches (::*Sub).  This makes this example behave as you expect.
>
> The correct behaviour of org-store-link doesn't seem totally obvious to me
> about id vs custom-id links.  Currently org-store-link has special logic to
> store TWO links (one , one ) when a
> CUSTOM_ID is present. In the manual, it says:
>
>  If the headline has a ‘CUSTOM_ID’ property, store a link to this
>  custom ID.  In addition or alternatively, depending on the value of
>  ‘org-id-link-to-org-use-id’, create and/or use a globally unique
>  ‘ID’ property for the link(1).  So using this command in Org
>  buffers potentially creates two links: a human-readable link from
>  the custom ID, and one that is globally unique and works even if
>  the entry is moved from file to file.  The ‘ID’ property can be
>  either a UUID (default) or a timestamp, depending on
>  ‘org-id-method’.  Later, when inserting the link, you need to
>  decide which one to use.
>
> That refers to ID links specifically, but now, using the generic link store
> functions, there is only the possibility to store one link type, so it's not
> possible to neatly keep exactly the same behaviour (i.e. for ID links but
> not for other external link types).
>
> I think the intention of what's described in the manual is to distinguish
> "human-readable" vs "persistent id" links.  There could be other types of
> "persistent id" links apart from org-id links, such as mu4e: links to email
> message-ids.  Therefore I've updated org-store-link to simply store a
>  link as an additional option, whether or not the
> first matched link was an org-id link (this is the current behaviour) or
> another external link type (this is changed behaviour).
>
> Added a note to ORG-NEWS about this.
>
>> 3. Consider
>>(setq org-id-link-consider-parent-id t)
>>(setq org-id-link-to-org-use-id t)
>>
>>Then, create a new empty Org file
>>M-x org-store-link with create a top-level properties drawer with ID
>>and store the link. However, that link will not be a simple ID link,
>>but also have ::PROPERTIES search string, which is not expected.
>
> This is because it is trying to link to the current line of the file, which
> contains the text "PROPERTIES".  On main, with (setq
> org-id-link-to-org-use-id nil), you see the equivalent behaviour (a link to
> [[file:test.org:::PROPERTIES:]]) when point is before the first heading.
> So, this seems consistent with non-org-id links?
>
> (these links don't actually work with the default value of
> `org-link-search-must-match-exact-headline', but I think that's a separate
> issue).
>
>>> +  #+vindex: org-id-link-consider-parent-id
>>> +  When ~org-id-link-consider-parent-id~ is ~t~, parent =ID= properties
>>> +  are considered.  This allows linking to specific targets, named
>>> +  blocks, or headlines (which may not have a globally unique =ID=
>>> +  themselves) within the context of 

Re: [PATCH v2] org-id: allow using parent's existing id in links to headlines

2024-01-28 Thread Rick Lupton
Hi,

Thanks for trying it out.  Updated patches attached, comments below.

On Mon, 18 Dec 2023, at 12:27 PM, Ihor Radchenko wrote:
> I played around with the patch a bit and found a couple of rough edges:
>
> 1. When I try to open a link to non-existing search target, like
>, I get a query to create a new
>heading. If I reply "yes", a new heading is created. However, the
>heading is created at the end of the file and is always level 1,
>regardless of the "some-id" parent context.
>It would make more sense to create a new heading at the end of the
>id:some-id subtree.

Fixed in updated patches -- first patch adds generic new flexibility to 
`org-insert-heading', second patch uses it so new headings now added at correct 
level at the end of the id:sub-id subtree.

> 2. Consider the following setting:
>(setq org-id-link-consider-parent-id t)
>(setq org-id-link-to-org-use-id 'create-if-interactive-and-no-custom-id)
>
>Then, create the following Org file
>
> * Sub
> * Parent here
> ** This is test
> :PROPERTIES:
> :ID:   fe40252e-0527-44c1-a990-12498991f167
> :END:
>
> *** Sub 
> :PROPERTIES:
> :CUSTOM_ID:   subid
> :END:
>
>When you M-x org-store-link, the stored link has ::*Sub instead of
>the expected ::#subid

Updated so that search strings prefer custom-ids (::#subid) to headline matches 
(::*Sub).  This makes this example behave as you expect.

The correct behaviour of org-store-link doesn't seem totally obvious to me 
about id vs custom-id links.  Currently org-store-link has special logic to 
store TWO links (one , one ) when a CUSTOM_ID 
is present. In the manual, it says:

 If the headline has a ‘CUSTOM_ID’ property, store a link to this
 custom ID.  In addition or alternatively, depending on the value of
 ‘org-id-link-to-org-use-id’, create and/or use a globally unique
 ‘ID’ property for the link(1).  So using this command in Org
 buffers potentially creates two links: a human-readable link from
 the custom ID, and one that is globally unique and works even if
 the entry is moved from file to file.  The ‘ID’ property can be
 either a UUID (default) or a timestamp, depending on
 ‘org-id-method’.  Later, when inserting the link, you need to
 decide which one to use.

That refers to ID links specifically, but now, using the generic link store 
functions, there is only the possibility to store one link type, so it's not 
possible to neatly keep exactly the same behaviour (i.e. for ID links but not 
for other external link types).

I think the intention of what's described in the manual is to distinguish 
"human-readable" vs "persistent id" links.  There could be other types of 
"persistent id" links apart from org-id links, such as mu4e: links to email 
message-ids.  Therefore I've updated org-store-link to simply store a 
 link as an additional option, whether or not the 
first matched link was an org-id link (this is the current behaviour) or 
another external link type (this is changed behaviour).

Added a note to ORG-NEWS about this.

> 3. Consider
>(setq org-id-link-consider-parent-id t)
>(setq org-id-link-to-org-use-id t)
>
>Then, create a new empty Org file
>M-x org-store-link with create a top-level properties drawer with ID
>and store the link. However, that link will not be a simple ID link,
>but also have ::PROPERTIES search string, which is not expected.

This is because it is trying to link to the current line of the file, which 
contains the text "PROPERTIES".  On main, with (setq org-id-link-to-org-use-id 
nil), you see the equivalent behaviour (a link to 
[[file:test.org:::PROPERTIES:]]) when point is before the first heading.  So, 
this seems consistent with non-org-id links?

(these links don't actually work with the default value of 
`org-link-search-must-match-exact-headline', but I think that's a separate 
issue).

>> +  #+vindex: org-id-link-consider-parent-id
>> +  When ~org-id-link-consider-parent-id~ is ~t~, parent =ID= properties
>> +  are considered.  This allows linking to specific targets, named
>> +  blocks, or headlines (which may not have a globally unique =ID=
>> +  themselves) within the context of a parent headline or file which
>> +  does.
>
> It would be nice to add an example, similar to what you did in the docstring.

Added.

>
>> -(defun org-man-store-link ()
>> +(defun org-man-store-link ( _interactive?)
>>"Store a link to a man page."
>>(when (memq major-mode '(Man-mode woman-mode))
>>  ;; This is a man page, we do make this link.
>> @@ -21312,13 +21324,15 @@ A review of =ol-man.el=:
>
> Please, update the actual built-in :store functions in lisp/ol-*.el to
> handle the new optional argument as well.

Updated.

>> + =org-link= store functions are passed an ~interactive?~ argument
>> +
>> +The ~:store:~ functions set for link types using
>> +~org-link-set-parameters~ are now passed an ~interactive?~ argument,
>> +indicating whether 

Re: Connecting to an Already Running Scheme REPL with org-babel

2024-01-28 Thread Ihor Radchenko
Hunter Jozwiak  writes:

> i am curious whether or not it is possible to connect Org babel to a remotely 
> running scheme REPL, more
> specifically the Guile REPL that you get by running something like guix repl 
> --listen=tcp:37146

ob-scheme does not have such feature.
Although, it might not be hard to implement.

Check out `org-babel-scheme-get-repl' function. Now, it calls
 (geiser impl)
You would need
 (geiser-connect impl host port)
to connect to server.

Of course, you'd also need to somehow get HOST and PORT values. For
example, passing them all the way down from the header argument plist
stored in PARAMS argument of `org-babel-execute:scheme' (->
org-babel-scheme-execute-with-geiser -> org-babel-scheme-get-repl)

Patches welcome!

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: Agenda clocktable & archive issue

2024-01-28 Thread Ihor Radchenko
Andrew Hyatt  writes:

>> AFAIK, clocktable scope in agenda is controlled by the agenda's scope.
>> If you have `org-agenda-archives-mode' enabled, archives will contribute
>> to the agenda report as well.
>
> Thank you, I indeed didn't know that, and it did help. After some
> digging around, it seems like the way to set this as a default is to set
> (setq org-agenda-archives-mode t), which is a bit sketchy, since
> normally you wouldn't set modes with setq, but by calling the mode. I
> think this could be improved on, so I can send a patch for this if you
> agree.

The normal way is in org-agenda-hook - org-agenda-archives-mode it is a minor 
mode.

Still, I do not mind adding customization to enable it during startup,
similar to the existing customizations:
`org-agenda-start-with-log-mode',
`org-agenda-start-with-entry-text-mode',
`org-agenda-start-with-follow-mode', etc.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [POLL] Any users setting `org-agenda-use-tag-inheritance' to nil or other non-default value?

2024-01-28 Thread Ihor Radchenko
ypuntot  writes:

> Sorry I didn't get it.
> I think it would help too to not overpopulate the agenda, but as I don't use 
> it, I don't vote.

Its main purpose is to make agenda faster to load. But tag inheritance
is no longer a performance bottleneck.

I do not understand what you mean by "overpopulate".

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [POLL] Any users setting `org-agenda-use-tag-inheritance' to nil or other non-default value?

2024-01-28 Thread ypuntot
Sorry I didn't get it.
I think it would help too to not overpopulate the agenda, but as I don't use 
it, I don't vote.

Best

Jan 28, 2024 22:12:39 Ihor Radchenko :

> ypuntot  writes:
> 
>> There are several reasons to disable tags inheritance.
>> 
>> For example, in project management there could be a tag for a direct 
>> responsible for a task, and a different tag for a different direct 
>> responsible for a subtask. I could want to see the tasks of the direct 
>> responsible, not the subtasks that are already in the hands of a different 
>> person.
>> It helps to not overpopulate results.
> 
> Indeed. We have `org-use-tag-inheritance' exactly for this purpose - it
> defines tag inheritance globally.
> 
> `org-agenda-use-tag-inheritance' is a layer on top that can disable
> `org-use-tag-inheritance' just in agenda.
> 
> My question is about `org-agenda-use-tag-inheritance', not about global
> Org settings for tag inheritance.
> 
> -- 
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at .
> Support Org development at ,
> or support my work at 



Re: Agenda clocktable & archive issue

2024-01-28 Thread Andrew Hyatt
Ihor Radchenko  writes:

> Andrew Hyatt  writes:
>
>> I've noticed that in the agenda, the clocktable report (from the "R"
>> key), does not include archive files, even when I have set clocktables
>> to do so in my init-file:
>>
>> (plist-put org-clocktable-defaults :scope 'agenda-with-archives)
>
> AFAIK, clocktable scope in agenda is controlled by the agenda's scope.
> If you have `org-agenda-archives-mode' enabled, archives will contribute
> to the agenda report as well.

Thank you, I indeed didn't know that, and it did help. After some
digging around, it seems like the way to set this as a default is to set
(setq org-agenda-archives-mode t), which is a bit sketchy, since
normally you wouldn't set modes with setq, but by calling the mode. I
think this could be improved on, so I can send a patch for this if you
agree.



Connecting to an Already Running Scheme REPL with org-babel

2024-01-28 Thread Hunter Jozwiak

Hello,

i am curious whether or not it is possible to connect Org babel to a
remotely running  scheme REPL, more specifically the Guile REPL that you
get by running something like src_shell[:exports code]{guix repl 
--listen=tcp:37146}

If so, what are the header arguments I need to put into place?

Thanks,

Hunter


signature.asc
Description: PGP signature


Re: [patch] improved: add TTL as defcustom to ox-icalendar

2024-01-28 Thread Jack Kamm
Ihor Radchenko  writes:

> LGTM. Thanks!

Thanks, I've applied now:

https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=da2b61b09e1eff957e6b2560a2f9c8509de6beac



Re: [POLL] Any users setting `org-agenda-use-tag-inheritance' to nil or other non-default value?

2024-01-28 Thread Ihor Radchenko
ypuntot  writes:

> There are several reasons to disable tags inheritance.
>
> For example, in project management there could be a tag for a direct 
> responsible for a task, and a different tag for a different direct 
> responsible for a subtask. I could want to see the tasks of the direct 
> responsible, not the subtasks that are already in the hands of a different 
> person.
> It helps to not overpopulate results.

Indeed. We have `org-use-tag-inheritance' exactly for this purpose - it
defines tag inheritance globally.

`org-agenda-use-tag-inheritance' is a layer on top that can disable
`org-use-tag-inheritance' just in agenda.

My question is about `org-agenda-use-tag-inheritance', not about global
Org settings for tag inheritance.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] ob-tangle: Add flag to optionally remove files before writing

2024-01-28 Thread Ihor Radchenko
Olivier Lischer  writes:

>> Thanks for the patch, but may you please explain why introducing such
>> variable is useful?
>
> Sure.
>
> I configure all my .dotfiles in an Org mode file and tangle the
> configuration in the right places. The tangled files are all
> read-only to prevent accidentally editing of the "right" configuration
> file. With the current tangling mechanism, this results in a "Permission
> denied" error because the function writes to a read-only file. In a
> earlier version this use case was possible because the file was
> recreated before writing to it.

Thanks for the explanation!

I suggest changing your patch, setting the default value of
`org-babel-tangle-remove-file-before-write' to 'auto.
This will keep the current behaviour but fall back to delete + write new
file when the tangle target is read-only.
That will avoid feature regression.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: Agenda clocktable & archive issue

2024-01-28 Thread Ihor Radchenko
Andrew Hyatt  writes:

> I've noticed that in the agenda, the clocktable report (from the "R"
> key), does not include archive files, even when I have set clocktables
> to do so in my init-file:
>
> (plist-put org-clocktable-defaults :scope 'agenda-with-archives)

AFAIK, clocktable scope in agenda is controlled by the agenda's scope.
If you have `org-agenda-archives-mode' enabled, archives will contribute
to the agenda report as well.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] Set Python shell in Org edit buffer

2024-01-28 Thread Ihor Radchenko
Liu Hui  writes:

> Yes, I have updated the text and you're welcome to improve it. Thanks!
> From c503b2ed5116e2abae25459b09abc919074ac54a Mon Sep 17 00:00:00 2001
> From: Liu Hui 
> Date: Tue, 5 Dec 2023 11:40:38 +0800
> Subject: [PATCH] Set Python shell in Org edit buffer

Now, after amending `org-src-associate-babel-session' to execute even
when no session is active, we can use
`org-babel-python-associate-session'.

Attaching tentative patch that should be equivalent to yours.

>From f8a748aee619f9fa3f9104321b33212447e7f952 Mon Sep 17 00:00:00 2001
Message-ID: 
From: Ihor Radchenko 
Date: Sun, 28 Jan 2024 21:29:25 +0100
Subject: [PATCH] ob-python: Set Python shell in Org edit buffer

* lisp/ob-python.el (org-babel-python-associate-session): New function
setting `python-shell-buffer-name' in *Org Src* buffer according to
source block's :session parameter.  This function will be triggered by
`org-src-associate-babel-session'.
* etc/ORG-NEWS (ob-python now sets ~python-shell-buffer-name~ in Org
edit buffers): Announce the change.

Link: https://orgmode.org/list/CAOQTW-MdC=jigf+3bevtfww+izszix7csbj+mz4ez2bqhdr...@mail.gmail.com
---
 etc/ORG-NEWS  | 7 +++
 lisp/ob-python.el | 6 ++
 2 files changed, 13 insertions(+)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index f9c916a9d..2163f00e1 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -13,6 +13,13 @@ Please send Org bug reports to mailto:emacs-orgmode@gnu.org.
 
 * Version 9.7 (not released yet)
 ** Important announcements and breaking changes
+*** ob-python now sets ~python-shell-buffer-name~ in Org edit buffers
+
+When editing a Python src block, the editing buffer is now associated
+with the Python shell specified by the src block's ~:session~ header,
+which means users can now send code directly from the edit buffer,
+e.g., using ~C-c C-c~, to the session specified in the Org buffer.
+
 *** ~org-edit-special~ no longer force-starts session in R and Julia source blocks
 
 Previously, when R/Julia source block had =:session= header argument
diff --git a/lisp/ob-python.el b/lisp/ob-python.el
index 4d7492e2b..2f62d7353 100644
--- a/lisp/ob-python.el
+++ b/lisp/ob-python.el
@@ -83,6 +83,12 @@ (defcustom org-babel-python-None-to 'hline
   :package-version '(Org . "8.0")
   :type 'symbol)
 
+(defun org-babel-python-associate-session (session)
+  "Associate Python code buffer with an Python session.
+Make SESSION without earmuffs be the Python buffer name."
+  (setq-local python-shell-buffer-name
+  (org-babel-python-without-earmuffs session)))
+
 (defun org-babel-execute:python (body params)
   "Execute Python BODY according to PARAMS.
 This function is called by `org-babel-execute-src-block'."
-- 
2.43.0


-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 


[POLL] Any users setting `org-agenda-use-tag-inheritance' to nil or other non-default value?

2024-01-28 Thread ypuntot
There are several reasons to disable tags inheritance.

For example, in project management there could be a tag for a direct 
responsible for a task, and a different tag for a different direct responsible 
for a subtask. I could want to see the tasks of the direct responsible, not the 
subtasks that are already in the hands of a different person.
It helps to not overpopulate results.

Other use cases, like people that use :prj: tag for projects, subtasks could be 
not projects:
http://juanreyero.com/article/emacs/org-teams.html

Packages must exist that have functionalities based on tasks inheritance:
https://github.com/gizmomogwai/org-tagged/issues/8


Re: [PATCH] ob-tangle: Add flag to optionally remove files before writing

2024-01-28 Thread Olivier Lischer


Ihor Radchenko  writes:

> Olivier Lischer  writes:
>
>> In December last year was a change introduced, that a file should not be
>> removed before
>> tangling (https://lists.gnu.org/r/emacs-orgmode/2021-05/msg00337.html).
>> In an older bug report
>> (https://lists.gnu.org/r/emacs-orgmode/2021-05/msg00337.html)
>> the decision was to remove the file before writing.
>> I added a variable to switch between both behaviors.
>
> Thanks for the patch, but may you please explain why introducing such
> variable is useful?

Sure.

I configure all my .dotfiles in an Org mode file and tangle the
configuration in the right places. The tangled files are all
read-only to prevent accidentally editing of the "right" configuration
file. With the current tangling mechanism, this results in a "Permission
denied" error because the function writes to a read-only file. In a
earlier version this use case was possible because the file was
recreated before writing to it.
There are also other people with the same workflow. See an older post to
the mailing list
(https://lists.gnu.org/r/emacs-orgmode/2021-05/msg00337.html).

Some other have the opposite problem. They do not want the function to
remove the file before tangling because it is a symlink.
See this post on the mailing list
(https://list.orgmode.org/orgmode/caphku6o9nfvmafme3_ahmpjea_2qm0mjmfx6qppt8uiq94k...@mail.gmail.com/)

To achieve both use cases, I think an additional variable could be
useful.

Best Regards
Oli



Re: [PATCH] Set Python shell in Org edit buffer

2024-01-28 Thread Ihor Radchenko
Jack Kamm  writes:

> Ihor Radchenko  writes:
>
>>> My concern is that advising `ess-request-a-process' would cause
>>> maintenance burden on ob-R. It would require some knowledge about the
>>> ESS internals to maintain properly.
>>
>> Not really. I only meant writing an advice iff our request is accepted
>> by ESS devs. Then, all we need is to advice the earlier versions of ESS
>> and remove the advice after the new ESS release (we only support the
>> latest release of the optional third-party packages:
>> https://orgmode.org/worg/org-maintenance.html#emacs-compatibility). No
>> changes to advice will be needed in future.
>>
>> I plan to propose a patch for ESS soon and see if it is going to be
>> accepted.
>
> In that case, this sounds great. Hope the ESS devs are receptive!

Applied, onto main, fixing the oversight in
org-src-associate-babel-session (now, it does not require session
running).
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=319563cef

Since ESS already released a new version with my patch for ESS included,
no advice is needed.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Agenda clocktable & archive issue

2024-01-28 Thread Andrew Hyatt


I've noticed that in the agenda, the clocktable report (from the "R"
key), does not include archive files, even when I have set clocktables
to do so in my init-file:

(plist-put org-clocktable-defaults :scope 'agenda-with-archives)

First of all, I think it makes more logical sense to include archives,
since there isn't anything about archiving that means the times that the
items are worked on are no longer important for reports.

But, even if that's not the case, it should be that the user can change
this, but right now it's all hardcoded in the org-agenda-list function.
The reason it doesn't is because in org-dblock-write:clocktable, the
plists are combined with the params taking precedence, which probably
doesn't make sense. In this case, the params are the defaults, and
org-clocktable-defaults are the things I can modify, so it seems like
org-clocktable-defaults should take preference.

I'm happy to send a patch to fix this, but not sure what the best
solution here.  My guess is that the safest fix is to make another
variable for whether the report should include archives or not.  But I
suspect the best fix is to make the org-clocktable-defaults take
precedence.

Is my understanding of this correct?  Any thoughts on what should be
done here?



Re: org-open-at-point while on "normal" text

2024-01-28 Thread Ihor Radchenko
Rainer Dunker  writes:

> Recently there was an Org Mode upgrade from version 9.4.4 to 9.6.6 on my 
> machine, and since then, C-c C-o on "normal" text behaves differently: 
> Instead of raising the no link error, it opens the "Select link to open" 
> menu. As I understand, this behaviour should occur when point is on the 
> section's headline, but not when it's just somewhere within the section.
>
> I tracked this down to a changed behaviour of the org-element-at-point 
> function. Suppose I have a buffer in Org Mode containing these two lines:
>
>* headline
>text

I am unable to reproduce the problem on the latest stable version of Org
mode - 9.6.17.

May you upgrade Org mode and let us know if you are still experiencing
the problem?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: New try at multi-lingual export to latex/pdf using pdflatex and babel

2024-01-28 Thread Pedro Andres Aranda Gutierrez
No worries.. next try ;-)

Best, /PA

On Sun, 28 Jan 2024 at 14:43, Ihor Radchenko  wrote:

> Pedro Andres Aranda Gutierrez  writes:
>
> >> "Pedro A. Aranda"  writes:
> >>
> >> > I've been reading a bit. What I propose is an alternative way to
> handle
> >> > all the tricky parts of font and character handling with fontspec in
> >> > lualatex and xetex. This package restricts the use of the ams*
> packages
> >> > to pdflatex, because fontenc handles that internally and produces
> >> > package collisions.
> >>
> >> > Attached is the final version of the patch.
> >>
> >> Thanks!
> >> May you also add a comment to the code explaining the rationale right
> >> there?
>
> > Here you are. I hope the couple of words suffice ;-)
>
> Sorry, I was not clear.
> I did not mean to ask about amending the docstring.
> I meant literal code comments, explaining why we have duplicate amsmath
> entries and why we restrict certain packages to specific compilers.
>
> Also, the above quoted paragraph with rationale of the patch should go
> into the commit message. See
> https://orgmode.org/worg/org-contribute.html#commit-messages
>
> --
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at .
> Support Org development at ,
> or support my work at 
>


-- 
Fragen sind nicht da, um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler

Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run
a leader-deposed hook here, but we can't yet
From 0beed8846195717e6db051033cac8fd942f89c53 Mon Sep 17 00:00:00 2001
From: "Pedro A. Aranda Gutierrez" 
Date: Sun, 28 Jan 2024 17:51:23 +0100
Subject: [PATCH] Refine packages for font management

* lisp/org.el: Change `org-latex-default-packages-alist' to
refine font management depending on the latex compiler.

Differentiate between pdflatex and lualatex/xetex
packages for font management. lualatex/xetex should use
fontspec instead of fontenc/inputenc. When using
fontspec, you need to load amsmath before fontspec 
and you don't need amssymb.
  
---

 lisp/org.el | 26 +-
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 796545392..539a128f1 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -3421,15 +3421,21 @@ header, or they will be appended."
 	  (default-value var)))
 
 (defcustom org-latex-default-packages-alist
-  '(("AUTO" "inputenc"  t ("pdflatex"))
+  '(;; amsmath before fontspec for lualatex and xetex
+("" "amsmath"   t ("lualatex" "xetex"))
+;; fontspec ASAP for lualatex and xetex
+("" "fontspec"  t ("lualatex" "xetex"))
+;; inputenc and fontenc are for pdflatex only
+("AUTO" "inputenc"  t ("pdflatex"))
 ("T1"   "fontenc"   t ("pdflatex"))
 ("" "graphicx"  t)
 ("" "longtable" nil)
 ("" "wrapfig"   nil)
 ("" "rotating"  nil)
 ("normalem" "ulem"  t)
-("" "amsmath"   t)
-("" "amssymb"   t)
+;; amsmath and amssymb after inputenc/fontenc for pdflatex
+("" "amsmath"   t ("pdflatex"))
+("" "amssymb"   t ("pdflatex"))
 ("" "capt-of"   nil)
 ("" "hyperref"  nil))
   "Alist of default packages to be inserted in the header.
@@ -3440,7 +3446,9 @@ incompatibility with another package you are using.
 The packages in this list are needed by one part or another of
 Org mode to function properly:
 
+- fontspec: for font and character selection in lualatex and xetex
 - inputenc, fontenc:  for basic font and character selection
+  in pdflatex
 - graphicx: for including images
 - longtable: For multipage tables
 - wrapfig: for figure placement
@@ -3448,8 +3456,8 @@ Org mode to function properly:
 - ulem: for underline and strike-through
 - amsmath: for subscript and superscript and math environments
 - amssymb: for various symbols used for interpreting the entities
-  in `org-entities'.  You can skip some of this package if you don't
-  use any of the symbols.
+  in `org-entities'.  You can skip some of this package if you
+  don't use any of the symbols.
 - capt-of: for captions outside of floats
 - hyperref: for cross references
 
@@ -15211,20 +15219,20 @@ INCREMENT-STEP divisor."
 	(setq hour (mod hour 24))
 	(setq pos-match-group 1
   new (format "-%02d:%02d" hour minute)))
-   
+
((org-pos-in-match-range pos 6) ;; POS on "dmwy" repeater char.
 	(setq pos-match-group 6
   new (car (rassoc (+ nincrements (cdr (assoc (match-string 6 ts-string) idx))) idx
-   
+
((org-pos-in-match-range pos 5) ;; POS on X in "Xd" repeater.
 	(setq pos-match-group 5
   ;; Never drop below X=1.
   new (format "%d" (max 1 (+ nincrements (string-to-number (match-string 5 ts-string)))
-   
+
((org-pos-in-match-range pos 9) ;; POS on "dmwy" repeater in warning interval.
 	(setq 

Re: bug#68687: [PATCH] Use text/org media type

2024-01-28 Thread Eli Zaretskii
> Cc: 68...@debbugs.gnu.org, emacs-orgmode@gnu.org
> Date: Sun, 28 Jan 2024 23:35:09 +0700
> From: Max Nikulin 
> 
> On 27/01/2024 10:38, Richard Stallman wrote:
> > 
> > What is the purpose for which text/org would be used?
> > In what situations would we want to send files in Org format
> > and why would it be useful to formally label them?
> 
> I am rather confused by these questions. Media types appears in the 
> Content-Type header. Applications decide how to treat content basing on 
> media type description. E.g. Thunderbird may be configured to display 
> text attachments inline, but if the same attachment uses 
> application/vnd.lotus-organizer then an external application must be 
> invoked to see its text.
> 
> De-facto Org files are used in various projects. Received or fetched Org 
> files must be treated with some precautions, but it is another story.

I think Richard lacks the broader context: that text/org is supposed
to appear in the Content-Type header in email messages, and the MUA is
supposed to display this content in received email messages according
to user expectations, which generally follow how Org buffers display
text.



org-open-at-point while on "normal" text

2024-01-28 Thread Rainer Dunker
Hello All,

typing C-c C-o to follow a link while point is on "normal" text instead of a 
link, this results in error "no link found"; okay.

Recently there was an Org Mode upgrade from version 9.4.4 to 9.6.6 on my 
machine, and since then, C-c C-o on "normal" text behaves differently: Instead 
of raising the no link error, it opens the "Select link to open" menu. As I 
understand, this behaviour should occur when point is on the section's 
headline, but not when it's just somewhere within the section.

I tracked this down to a changed behaviour of the org-element-at-point 
function. Suppose I have a buffer in Org Mode containing these two lines:

   * headline
   text

If I place point within the word "text" and evaluate the expression ...

(org-element-property :parent (org-element-property :parent 
(org-element-at-point)))

... this results in "(headline (:raw-value "headline" :begin 1 ...", apparently 
meaning that I just navigated the document structure tree from the text 
paragraph up to the section headline.

Doing the same test on another machine with Org Mode 9.4.4, the expression 
results in nil. And as far as I understand, this is the expected behaviour: 
Starting with (org-element-at-point) and following the chain of parent 
relations in the structure tree should not reach the headline. I found this 
explanation in both the Org Element API reference in section 1.1 ...

https://orgmode.org/worg/dev/org-element-api.html#local

... as well as in this mailing list post:

https://lists.gnu.org/archive/html/emacs-orgmode/2020-02/msg00226.html

I also noticed that, between these two Org Mode versions, the 
org-element-at-point function has been completely rewritten. Now my question 
is: Is the changed behaviour--and, as a consequence, also that of 
org-open-at-point--intended or rather a bug?

Regards,

Rainer Dunker



Re: bug#68687: [PATCH] Use text/org media type

2024-01-28 Thread Max Nikulin

On 27/01/2024 10:38, Richard Stallman wrote:


What is the purpose for which text/org would be used?
In what situations would we want to send files in Org format
and why would it be useful to formally label them?


I am rather confused by these questions. Media types appears in the 
Content-Type header. Applications decide how to treat content basing on 
media type description. E.g. Thunderbird may be configured to display 
text attachments inline, but if the same attachment uses 
application/vnd.lotus-organizer then an external application must be 
invoked to see its text.


De-facto Org files are used in various projects. Received or fetched Org 
files must be treated with some precautions, but it is another story.




[SUMMARY] #5 [[bbb:OrgMeetup]] on Wed, Jan 17, 19:00 UTC+3

2024-01-28 Thread Ihor Radchenko


We had a rather long discussion this time. Took a while to summarize.

Here is a summary of the discussed topics + comment log

- Gerard demoed a bug he found when indenting a emacs-lisp src block
  The bug with all the details is reported in
  https://list.orgmode.org/878r4makff.fsf@localhost/T/#t
  
- Tim asked to add a new Org mode customization equivalent to
  ~org-capture-bookmark~ for ~org-refile~. For now, ~org-refile~ sets a
  bookmark unconditionally, which interferes with org-bookmark-heading
  package (https://github.com/alphapapa/org-bookmark-heading/ now
  creates unwanted IDs after every refile command). The proposed
  feature would make this behavior customizeable. We will be waiting
  for Tim to request the feature officially on the mailing list.

  We always welcome bug reports, feature requests, suggestions, and
  valuable discussions on Org mailing list. Just drop us an email. See
  https://orgmode.org/manual/Feedback.html#Feedback
  
- Gerard demoed a problem he experiences with Org mode code blocks.
  Every time he executes a python code block, several long messages
  are generated - they pollute =*Messages*= buffer.

  It turned out that these messages are produced by his personal
  changes to ob-python. 

  Indeed, Emacs is both blessed and cursed by the ability to curve it
  according to own liking. The boundaries between built-in Emacs
  code, packages, and personal tweaks are often fuzzy. Some personal
  config features may become so much into the muscle memory that it
  becomes surprising not to find them in a bare-bones Emacs.

  - Gerard's personal tweaks to ob-python are noteworthy.

He was able to make eglot (bult-in Emacs LSP support) work inside
=*Org Src*= buffers when editing Org mode code blocks with =C-c '=
(~org-edit-special~). His approach is roughly the following:

1. Tangle the original Org buffer to generate actual python
   file on disk
2. Find the edited code block in the tangled python file and
   narrow to the corresponding region
3. Associate Org edit buffer with that region in actual file
4. =eglot= can now generate meaningful info, provide completions,
   and diagnostics - all as expected

This kind of feature is what we eventually want to have in Org
mode. See the previous discussion in 
https://list.orgmode.org/orgmode/87bkqmdhqz@gmail.com/
This is a bit tricky though - there are edge cases that one needs
to address. For example, it is not clear what to do with =<>=
references inside code blocks, especially when they are generated
as a side effect of running some (potentially remote and
CPU-consuming) code (=<>=)

Gerard's work is still WIP.

  - Gerard also mentioned a bug with tangling python blocks.

Org mode provides header argument =:comments link= that makes it
possible to link between Org src blocks and their location in the
tangled file even when the Org sources contain duplicates. This is
the basis of ~org-babel-detangle~ command - it searches for special
anchor comments Org inserts around the tangled code blocks to
determine their origin.

Gerard observed that the inserted comments sometimes cause Python
to complain about incorrect indentation. However, he did not have
a reproducer to demonstrate the problem.

If somebody reading this is familiar with such problem, please
report it to Org mailing list, so that it can be fixed. See
https://orgmode.org/manual/Feedback.html#Feedback

There is also one interesting idea to implement
tangling/detangling without a need to have special anchor comments -
http://leoeditor.com/appendices.html#the-mulder-ream-update-algorithm

- Jack asked about the timeline for next major Org release

  - Previous minor Org mode releases were actually closer to
major. They introduced major new features (like citations), and
generally had a huge number of changes.

We now clarified the criteria for major releases in
https://orgmode.org/worg/org-maintenance.html#release-types

  - We may still do a couple of minor releases before we

1. Finalize the citation support. In particular, we must complete
   the documentation - the existing manual section about citation
   is far from complete
2. Merge the long-awaited new asynchronous LaTeX preview system by Tecosaur.
   https://list.orgmode.org/orgmode/87lek2up0w@tec.tecosaur.net/
3. Address the annoying ~org-assert-version~ problem. 
   The newest Emacs (master) has new ~require-with-check~ that can
   be used to address the mixed installation problem more
   reliably.
   (I tried to use this approach in the past, but it creates
   strange problems with compilation presumably caused by complex
   dependencies between Org libraries - untangling these
   dependencies is WIP)

  - Citation manual can really have more love

- It is awkward when blog posts are 

Re: New try at multi-lingual export to latex/pdf using pdflatex and babel

2024-01-28 Thread Ihor Radchenko
Pedro Andres Aranda Gutierrez  writes:

>> "Pedro A. Aranda"  writes:
>>
>> > I've been reading a bit. What I propose is an alternative way to handle
>> > all the tricky parts of font and character handling with fontspec in
>> > lualatex and xetex. This package restricts the use of the ams* packages
>> > to pdflatex, because fontenc handles that internally and produces
>> > package collisions.
>>
>> > Attached is the final version of the patch.
>>
>> Thanks!
>> May you also add a comment to the code explaining the rationale right
>> there?

> Here you are. I hope the couple of words suffice ;-)

Sorry, I was not clear.
I did not mean to ask about amending the docstring.
I meant literal code comments, explaining why we have duplicate amsmath
entries and why we restrict certain packages to specific compilers.

Also, the above quoted paragraph with rationale of the patch should go
into the commit message. See
https://orgmode.org/worg/org-contribute.html#commit-messages

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [patch] improved: add TTL as defcustom to ox-icalendar

2024-01-28 Thread Ihor Radchenko
Jack Kamm  writes:

> I've updated the patch so that it applies cleanly onto the latest main,
> and also fixed a few issues including the ones Ihor pointed out above.
>
> Let me know if there are any issues -- otherwise I'll apply it to main
> in the near future.

LGTM. Thanks!

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: Suggested manual changes - section 7.2 Special Properties

2024-01-28 Thread Matt
Thank you for your suggestions.  Unfortunately, I'm not yet familiar with this 
part of Org.  Can you give a link to the Reddit thread where this was discussed?

--
Matt Trzcinski
Emacs Org contributor (ob-shell)
Learn more about Org mode at https://orgmode.org
Support Org development at https://liberapay.com/org-mode