Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-08-07 Thread Ihor Radchenko
Ihor Radchenko  writes:

> Thanks for the heads-up!
> Comment blocks are not supposed to contain Org markup, and thus it indeed
> makes sense to support them in org-edit-special and in structure
> templates.
>
> See the attached patch.

Applied onto main via a303a794f.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=a303a794f8c6f880aa8dc46f10179890bfd27423

-- 
Ihor Radchenko,
Org mode contributor,
Learn more about Org mode at https://orgmode.org/.
Support Org development at https://liberapay.com/org-mode,
or support my work at https://liberapay.com/yantar92



Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-08-04 Thread Ihor Radchenko
Uwe Brauer  writes:

>> See the attached patch.
>
> Are you going to commit that patch to master any time soon?
> I just pulled but cannot see it.

The patch task is scheduled for this Sunday.

> BTW, do you have any idea why columnview needs to many iterations if the 
> number of headings and parameters (I sent a bug report, but it seems a border 
> case, since nobody replied)

Sorry, I am not very familiar with columnview code. Hence, I did not
really investigate many of you patches hoping that someone else can
comment.

Best,
Ihor



Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-08-04 Thread Uwe Brauer

> Uwe Brauer  writes:

> Thanks for the heads-up!
> Comment blocks are not supposed to contain Org markup, and thus it indeed
> makes sense to support them in org-edit-special and in structure
> templates.

> See the attached patch.

Are you going to commit that patch to master any time soon?
I just pulled but cannot see it.

BTW, do you have any idea why columnview needs to many iterations if the number 
of headings and parameters (I sent a bug report, but it seems a border case, 
since nobody replied)


Uwe 


smime.p7s
Description: S/MIME cryptographic signature


Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-07-30 Thread Ihor Radchenko
Uwe Brauer  writes:

>> Headline markup has the top priority all the times.
> I am confused

Never mind then. I was explaining something you did not look for.




Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-07-30 Thread Uwe Brauer

> Uwe Brauer  writes:

> Thanks!


> To clarify, when you have

> * Heading

> #+begin_comment
> * Lorem ipsum
> #+end_comment


> it is not seen by Org as comment block.
> Instead, what Org "sees" is

> 
> * Heading

> 

> #+begin_comment
> 
> 
> 
> * Lorem ipsum

> 
> #+end_comment

> 
> 

> Headline markup has the top priority all the times.
I am confused

I have 
*** DONE Books
:PROPERTIES:
:Nr:   1
:Comp1:[X]
:Comp2:[X]
:END:


Now with our patch I mark the headings and its properties and then insert a 
comment block, so I obtain 

#+begin_src 

,*** DONE Books
:PROPERTIES:
:Nr:   1
:Comp1:[X]
:Comp2:[X]
:END:
#+end_src

Which is what I was looking for!


> Yup. Probably, we can make org-insert-structure-template more smart and
> remove the block when user selects the same block as the existing one.
> It should be controlled by defcustom though (t nil 'ask). Wrapping a
> comment block inside comment block can be a valid use case.


That would be nice.

Uwe 
> Best,
> Ihor


-- 
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 


smime.p7s
Description: S/MIME cryptographic signature


Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-07-30 Thread Ihor Radchenko
Uwe Brauer  writes:

>> Uwe Brauer  writes:
>
>> I am sorry, but I am not familiar with the feature you are referring to.
>
> I applied your patch and did a bit of testing: works flawlessly.

Thanks!

>> Either way, both src and comment blocks are supposed to contain
>> arbitrary non-parseable text, which should not contribute to the
>> statistics? calculations.
>
> With your patch, I can confirm this, before it did not since *** was not 
> «escaped»

To clarify, when you have

* Heading

#+begin_comment
* Lorem ipsum
#+end_comment

it is not seen by Org as comment block.
Instead, what Org "sees" is


* Heading


#+begin_comment



* Lorem ipsum


#+end_comment



Headline markup has the top priority all the times.

>> AFAIK, you cannot. At least, not using an existing command. What you can
>> instead do is open C-c ' window, copy the unescaped text, exit the
>> window, remove the block, and yank the unescaped text.
>
> I see, (patches are welcome I presume )

Yup. Probably, we can make org-insert-structure-template more smart and
remove the block when user selects the same block as the existing one.
It should be controlled by defcustom though (t nil 'ask). Wrapping a
comment block inside comment block can be a valid use case.

Best,
Ihor



Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-07-30 Thread Uwe Brauer

> Uwe Brauer  writes:

> I am sorry, but I am not familiar with the feature you are referring to.

I applied your patch and did a bit of testing: works flawlessly.

> Either way, both src and comment blocks are supposed to contain
> arbitrary non-parseable text, which should not contribute to the
> statistics? calculations.

With your patch, I can confirm this, before it did not since *** was not 
«escaped»

> AFAIK, you cannot. At least, not using an existing command. What you can
> instead do is open C-c ' window, copy the unescaped text, exit the
> window, remove the block, and yank the unescaped text.

I see, (patches are welcome I presume )

thanks for the trick with C-c '

Uwe 

-- 
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 


smime.p7s
Description: S/MIME cryptographic signature


Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-07-29 Thread Ihor Radchenko
Uwe Brauer  writes:

>> Uwe Brauer  writes:
>
> Thanks for the patch (this is against the latest master I presume?)
>> Thanks for the heads-up!
>> Comment blocks are not supposed to contain Org markup, and thus it indeed
>> makes sense to support them in org-edit-special and in structure
>> templates.
>
>> See the attached patch.
>
> I test and report back: BTW
>
> 1. The feature I require can only be achieved by using a «src» block
>not a comment block. A bit contra intuitive I say

I am sorry, but I am not familiar with the feature you are referring to.
Either way, both src and comment blocks are supposed to contain
arbitrary non-parseable text, which should not contribute to the
statistics? calculations.

> 2. Suppose I once mark a lot of headings and add a src block (which
>add the required «,» to the *, how do I later get rid of the src
>block *and* the «,»

AFAIK, you cannot. At least, not using an existing command. What you can
instead do is open C-c ' window, copy the unescaped text, exit the
window, remove the block, and yank the unescaped text.

Best,
Ihor



Re: [PATCH] Re: the comment environment does not work for checkboxes

2022-07-29 Thread Uwe Brauer

> Uwe Brauer  writes:

Thanks for the patch (this is against the latest master I presume?)
> Thanks for the heads-up!
> Comment blocks are not supposed to contain Org markup, and thus it indeed
> makes sense to support them in org-edit-special and in structure
> templates.

> See the attached patch.

I test and report back: BTW

1. The feature I require can only be achieved by using a «src» block
   not a comment block. A bit contra intuitive I say

2. Suppose I once mark a lot of headings and add a src block (which
   add the required «,» to the *, how do I later get rid of the src
   block *and* the «,»

Uwe 


smime.p7s
Description: S/MIME cryptographic signature


[PATCH] Re: the comment environment does not work for checkboxes

2022-07-29 Thread Ihor Radchenko
Uwe Brauer  writes:

> Thanks, a couple of remarks
>
> 1. It does not work! I Presume you mean «C-c '» no «C-c C-'»? Well
>this is bound to  is edit special
> ...
>
> Comments block are not listed and as I said it seems not to work, if
> what you say is the correct syntax, then there  is a bug, since
>
> 1. when I mark the region,
>
> 2. Run org-insert-structure-template,
>
> 3. Select comment, it should then lead to 

Thanks for the heads-up!
Comment blocks are not supposed to contain Org markup, and thus it indeed
makes sense to support them in org-edit-special and in structure
templates.

See the attached patch.

Best,
Ihor

>From 4913df3f84b6d1d0fc5cc0f613dca42abe47821d Mon Sep 17 00:00:00 2001
Message-Id: <4913df3f84b6d1d0fc5cc0f613dca42abe47821d.1659158779.git.yanta...@gmail.com>
From: Ihor Radchenko 
Date: Sat, 30 Jul 2022 13:24:10 +0800
Subject: [PATCH] Support interactive editing of comment blocks

* lisp/org-src.el (org-edit-comment-block): New command to edit
comment block elements.  The command auto-escapes Org markup inside.
(org-src--contents-area):
* lisp/org.el (org-insert-structure-template):
(org-edit-special): Support comment blocks.
* etc/ORG-NEWS (Interactive commands now support escaping text inside
comment blocks):
(New command ~org-edit-comment-block~ to edit comment block at point):
Document the new features.

See https://orgmode.org/list/87y1wc3ruw@mat.ucm.es
---
 etc/ORG-NEWS| 19 ++-
 lisp/org-src.el | 25 -
 lisp/org.el |  5 -
 3 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 478fcf95c..0bc3fa638 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -141,6 +141,14 @@ discouraged when working with Org files.
 
 ** New features
 
+*** Interactive commands now support escaping text inside comment blocks
+
+~org-edit-special~ and ~org-insert-structure-template~ now handle
+comment blocks.
+
+See [[*New command ~org-edit-comment-block~ to edit comment block at
+point]].
+
 *** New customization option =org-property-separators=
 A new alist variable to control how properties are combined.
 
@@ -253,6 +261,16 @@ instance,
 includes all available items in the printed bibliography.
 ** New functions and changes in function arguments
 
+*** New command ~org-edit-comment-block~ to edit comment block at point
+
+As the contents of comments blocks is not parsed as Org markup, the
+headlines and keywords inside should be escaped, similar to src
+blocks, example blocks, and export blocks.  This in inconvenient to do
+manually and ~org-edit-special~ is usually advised to edit text in
+such kind of blocks.
+
+Now, comment block editing is also supported via this new function.
+
 *** New function ~org-element-cache-map~ for quick mapping across Org elements
 
 When element cache is enabled, the new function provides the best
@@ -266,7 +284,6 @@ to ~org-element--cache-map-statistics~ and
 ~org-element--cache-map-statistics-threshold~.
 
 ~org-scan-tags~ and tag views in agenda utilise the new function.
-
 *** New function ~org-element-at-point-no-context~
 
 This function is like ~org-element-at-point~, but it does not try to
diff --git a/lisp/org-src.el b/lisp/org-src.el
index b7e0af50e..0249af60b 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -384,7 +384,7 @@ (defun org-src--contents-area (datum)
(let ((beg (org-element-property :contents-begin datum))
 	 (end (org-element-property :contents-end datum)))
 	 (list beg end (buffer-substring-no-properties beg end
-  ((memq type '(example-block export-block src-block))
+  ((memq type '(example-block export-block src-block comment-block))
(list (progn (goto-char (org-element-property :post-affiliated datum))
 		(line-beginning-position 2))
 	 (progn (goto-char (org-element-property :end datum))
@@ -1161,6 +1161,29 @@ (defun org-edit-export-block ()
(lambda () (org-escape-code-in-region (point-min) (point-max)
 t))
 
+(defun org-edit-comment-block ()
+  "Edit comment block at point.
+\\
+A new buffer is created and the block is copied into it, and the
+buffer is switched into Org mode.
+
+When done, exit with `\\[org-edit-src-exit]'.  The edited text \
+will then replace the area in the Org mode buffer.
+
+Throw an error when not at a comment block."
+  (interactive)
+  (let ((element (org-element-at-point)))
+(unless (and (eq (org-element-type element) 'comment-block)
+		 (org-src--on-datum-p element))
+  (user-error "Not in a comment block"))
+(org-src--edit-element
+ element
+ (org-src--construct-edit-buffer-name (buffer-name) "org")
+ 'org-mode
+ (lambda () (org-escape-code-in-region (point-min) (point-max)))
+ (org-unescape-code-in-string (org-element-property :value element)))
+t))
+
 (defun org-edit-src-code ( code edit-buffer-name)
   "Edit the source or example block at point.
 \\
diff --git a/lisp/org.el b/lisp/org.el
index 

Re: the comment environment does not work for checkboxes

2022-07-29 Thread Uwe Brauer
>>> "AB" == Arne Babenhauserheide  writes:

> Uwe Brauer  writes:

>> #+BEGIN_COMMENT
>>  WAIT  Computer
>> :PROPERTIES:
>> :Nr:   4
>> :Comp1:[X]
>> :Comp2:[X]
>> :END:
>> #+END_COMMENT

>> Does not. Any idea why?

> In a block, you must escape * as ,* — open the environment with C-c C-'
> and save it the same way, then it escapes them for you.

Thanks, a couple of remarks

1. It does not work! I Presume you mean «C-c '» no «C-c C-'»? Well
   this is bound to  is edit special

,
| C-c ' runs the command org-edit-special (found in org-mode-map), which
| is an interactive compiled Lisp function in ‘org.el’.
| 
| It is bound to H-e, C-c ', C-c C-l,   
| ,.
| 
| (org-edit-special  ARG)
| 
| Call a special editor for the element at point.
| When at a table, call the formula editor with ‘org-table-edit-formulas’.
| When in a source code block, call ‘org-edit-src-code’.
| When in a fixed-width region, call ‘org-edit-fixed-width-region’.
| When in an export block, call ‘org-edit-export-block’.
| When in a LaTeX environment, call ‘org-edit-latex-environment’.
| When at an INCLUDE, SETUPFILE or BIBLIOGRAPHY keyword, visit the included 
file.
| When at a footnote reference, call ‘org-edit-footnote-reference’.
| When at a planning line call, ‘org-deadline’ and/or ‘org-schedule’.
| When at an active timestamp, call ‘org-time-stamp’.
| When at an inactive timestamp, call ‘org-time-stamp-inactive’.
| On a link, call ‘ffap’ to visit the link at point.
| Otherwise, return a user error.
`


Comments block are not listed and as I said it seems not to work, if
what you say is the correct syntax, then there  is a bug, since

1. when I mark the region,

2. Run org-insert-structure-template,

3. Select comment, it should then lead to 

#+BEGIN_COMMENT
, WAIT  Computer
 :PROPERTIES:
 :Nr:   4
 :Comp1:[X]
 :Comp2:[X]
 :END:
#+END_COMMENT

Automatically, but it does *not*.

So I am a bit puzzled.

Uwe 

> Best wishes,
> Arne

-- 
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 


smime.p7s
Description: S/MIME cryptographic signature


Re: the comment environment does not work for checkboxes

2022-07-29 Thread Dr. Arne Babenhauserheide

Uwe Brauer  writes:

> #+BEGIN_COMMENT
>  WAIT  Computer
>  :PROPERTIES:
>  :Nr:   4
>  :Comp1:[X]
>  :Comp2:[X]
>  :END:
> #+END_COMMENT

> Does not. Any idea why?

In a block, you must escape * as ,* — open the environment with C-c C-'
and save it the same way, then it escapes them for you.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de


signature.asc
Description: PGP signature