From: Uwe Brauer <oub@mat.ucm.es>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: Uwe Brauer <oub@mat.ucm.es>, emacs-orgmode@gnu.org
Subject: Re: [BUG] columnview cannot deal with more than 100 headings [N/A (N/A @ /home/oub/emacs/site-lisp/packages/org/)]
Date: Sun, 16 Oct 2022 14:10:24 +0200 [thread overview]
Message-ID: <87a65wnf4f.fsf@mat.ucm.es> (raw)
In-Reply-To: 877d10rx0q.fsf@localhost
[-- Attachment #1.1: Type: text/plain, Size: 1079 bytes --]
>>> "IR" == Ihor Radchenko <yantar92@posteo.net> writes:
> Uwe Brauer <oub@mat.ucm.es> writes:
>> I attach a file that hopefully explains the problem.
>>
>> That file contains 109 heading, each heading has 17 different properties when all of them are included in the
>> #+BEGIN: columnview
>> #+END:
>>
>> Block then not all headings are included. It seems to work with 15 properties but not for all 17.
> I tried your file on the latest main, but I do not see anything
> obviously wrong. Could you please clarify what you expect to see?
Ok then, I will pull and install the latest master/main.
BTW, you send me some time ago (the <2022-07-30>) a patch that allowed
edit-comment-blk: support COMMENT blocks
Is this now in master/main? It is very convenient for my workflow
For you convenience I attach the patch below
Regards
--
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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-Support-interactive-editing-of-comment-blocks.patch --]
[-- Type: text/x-diff, Size: 5064 bytes --]
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.
+\\<org-src-mode-map>
+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 (&optional code edit-buffer-name)
"Edit the source or example block at point.
\\<org-src-mode-map>
diff --git a/lisp/org.el b/lisp/org.el
index 937892ef3..d75894590 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8869,7 +8869,8 @@ (defun org-insert-structure-template (type)
(region-end (and region? (copy-marker (region-end))))
(extended? (string-match-p "\\`\\(src\\|export\\)\\'" type))
(verbatim? (string-match-p
- (concat "\\`" (regexp-opt '("example" "export" "src")))
+ (concat "\\`" (regexp-opt '("example" "export"
+ "src" "comment")))
type))
(upcase? (string= (car (split-string type))
(upcase (car (split-string type))))))
@@ -16979,6 +16980,7 @@ (defun org-edit-special (&optional arg)
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 comment block, call `org-edit-comment-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'.
@@ -17025,6 +17027,7 @@ (defun org-edit-special (&optional arg)
(`table-row (call-interactively 'org-table-edit-formulas))
(`example-block (org-edit-src-code))
(`export-block (org-edit-export-block))
+ (`comment-block (org-edit-comment-block))
(`fixed-width (org-edit-fixed-width-region))
(`latex-environment (org-edit-latex-environment))
(`planning
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]
next prev parent reply other threads:[~2022-10-16 12:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-20 19:22 [BUG] columnview cannot deal with more than 100 headings [N/A (N/A @ /home/oub/emacs/site-lisp/packages/org/)] Uwe Brauer
2022-07-21 16:02 ` [a kludge] (was: [BUG] columnview cannot deal with more than 100 headings [N/A (N/A @ /home/oub/emacs/site-lisp/packages/org/)]) Uwe Brauer
2022-07-22 16:12 ` [Problem persits] (was: [a kludge]) Uwe Brauer
2022-07-24 16:11 ` [restarting helps, memory problem?] (was: [Problem persits]) Uwe Brauer
2022-10-16 8:30 ` [BUG] columnview cannot deal with more than 100 headings [N/A (N/A @ /home/oub/emacs/site-lisp/packages/org/)] Ihor Radchenko
2022-10-16 12:10 ` Uwe Brauer [this message]
2022-10-17 8:41 ` Ihor Radchenko
2022-10-18 14:31 ` Uwe Brauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a65wnf4f.fsf@mat.ucm.es \
--to=oub@mat.ucm.es \
--cc=emacs-orgmode@gnu.org \
--cc=yantar92@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).