Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-12 Thread Ihor Radchenko
Ihor Radchenko  writes:

>> ---
>> #+begin_src emacs-lisp
>> 
>> #+end_src
>> ---
> ...
> I cannot reproduce.

"---" turned out to be important.
This is not a bug.

After

(insert (org-element-interpret-data copy))

The point ends up at
--- line, which is not recognized as a source block. So,

(org-indent-block)

signals an error. This error is intended.

I updated the docstring to make it clear that error is thrown when not at
block.

Handled, on main.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=1aa4552e5

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



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread Ihor Radchenko
gerard.vermeu...@posteo.net writes:

>> This means that your Org mode git folder is not on main branch.
>> You can try
>>   git checkout main
>> 
>> or re-clone the Org repository:
>> 
>>   git clone https://git.savannah.gnu.org/cgit/emacs/org-mode.git/
>> 
>
> This is the output of "git checkout" in my Org repository clone:
>
> python-3.11.7:0→vermeulen@bt-pc226:~/VCS/org-mode% git checkout   
> (git)-[main]-
> Your branch is up to date with 'origin/main'.
>
> After "make repro" and (org-version) I get
>
> Org mode version 9.6.15 (release_9.6.15 @ 
> /Users/vermeulen/opt/share/emacs/30.0.50/lisp/org/)
>
> Something else on my system makes "make repro" behave unexpectedly.

Super-weird.

 If you still see the problem, we may need to narrow down the problem 
 on
 your side using debugger.
>>> 
>>> I have zero experience with the debugger.
>> 
>> As the last resort, we can do it by screen sharing in BBB/Jitsi.
>
> OK. I have Jitsi installed on my system, but not much experience in
> screen sharing.

You can just use browser. Use
https://bbb.emacsverse.org/b/iho-h7r-qg8-led link.

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



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread gerard . vermeulen




On 11.01.2024 18:28, Ihor Radchenko wrote:

gerard.vermeu...@posteo.net writes:


You can also try
cd /path/to/org/git
make repro


I get:

Debugger entered--Lisp error: (void-function org-element-begin)
   (org-element-begin copy)


This means that your Org mode git folder is not on main branch.
You can try
  git checkout main

or re-clone the Org repository:

  git clone https://git.savannah.gnu.org/cgit/emacs/org-mode.git/



This is the output of "git checkout" in my Org repository clone:

python-3.11.7:0→vermeulen@bt-pc226:~/VCS/org-mode% git checkout   
(git)-[main]-

Your branch is up to date with 'origin/main'.

After "make repro" and (org-version) I get

Org mode version 9.6.15 (release_9.6.15 @ 
/Users/vermeulen/opt/share/emacs/30.0.50/lisp/org/)


Something else on my system makes "make repro" behave unexpectedly.

If you still see the problem, we may need to narrow down the problem 
on

your side using debugger.


I have zero experience with the debugger.


As the last resort, we can do it by screen sharing in BBB/Jitsi.


OK. I have Jitsi installed on my system, but not much experience in
screen sharing.



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread Ihor Radchenko
gerard.vermeu...@posteo.net writes:

>> You can also try
>> cd /path/to/org/git
>> make repro
>> 
> I get:
>
> Debugger entered--Lisp error: (void-function org-element-begin)
>(org-element-begin copy)

This means that your Org mode git folder is not on main branch.
You can try
  git checkout main

or re-clone the Org repository:

  git clone https://git.savannah.gnu.org/cgit/emacs/org-mode.git/

>> If you still see the problem, we may need to narrow down the problem on
>> your side using debugger.
>
> I have zero experience with the debugger.

As the last resort, we can do it by screen sharing in BBB/Jitsi.

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



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread gerard . vermeulen




On 11.01.2024 17:01, Ihor Radchenko wrote:

gerard.vermeu...@posteo.net writes:

Try using released Emacs version. Emacs master builds are a subject 
of

unexpected bugs sometimes.


I get exactly the same results on Emacs-29.1 as on Emacs master.

For Emacs-29.1 (tar.xy) and Emacs master I have done (nothing 
special):

LIBRARY_PATH=/usr/local/Cellar/libgccjit/13.2.0/lib/gcc/13 make
configure="--prefix=${HOME}/opt --disable-ns-self-contained"


Strange.
You can also try
cd /path/to/org/git
make repro


I get:

Debugger entered--Lisp error: (void-function org-element-begin)
  (org-element-begin copy)
  (delete-region (org-element-begin copy) (org-element-end copy))
  (let ((copy (org-element-copy (org-element-at-point))) (n 0)) 
(delete-region (org-element-begin copy) (org-element-end copy)) (while 
(< n 2) (cl-incf n) (org-element-put-property copy :value (format "copy 
%s" n)) (insert (org-element-interpret-data copy)) (org-indent-block)))

  make-2-indent-fails()
  funcall-interactively(make-2-indent-fails)
  command-execute(make-2-indent-fails record)

I think it is strange that org-element-begin is void.


If you still see the problem, we may need to narrow down the problem on
your side using debugger.


I have zero experience with the debugger.




Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread Ihor Radchenko
gerard.vermeu...@posteo.net writes:

>> Try using released Emacs version. Emacs master builds are a subject of
>> unexpected bugs sometimes.
>
> I get exactly the same results on Emacs-29.1 as on Emacs master.
>
> For Emacs-29.1 (tar.xy) and Emacs master I have done (nothing special):
> LIBRARY_PATH=/usr/local/Cellar/libgccjit/13.2.0/lib/gcc/13 make 
> configure="--prefix=${HOME}/opt --disable-ns-self-contained"

Strange.
You can also try
cd /path/to/org/git
make repro

If you still see the problem, we may need to narrow down the problem on
your side using debugger.

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



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread gerard . vermeulen




On 11.01.2024 16:04, Ihor Radchenko wrote:

gerard.vermeu...@posteo.net writes:


I cannot reproduce.

...
This is strange:
I pulled the latest main and created a clean org-emacs directory
where I put a minimal init.el reading:
...
I have no idea what I can do now.
My Emacs is also recent main and built by me with minimal configure
options.


Try using released Emacs version. Emacs master builds are a subject of
unexpected bugs sometimes.


I get exactly the same results on Emacs-29.1 as on Emacs master.

For Emacs-29.1 (tar.xy) and Emacs master I have done (nothing special):
LIBRARY_PATH=/usr/local/Cellar/libgccjit/13.2.0/lib/gcc/13 make 
configure="--prefix=${HOME}/opt --disable-ns-self-contained"


Regards -- Gerard



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread Ihor Radchenko
gerard.vermeu...@posteo.net writes:

>> I cannot reproduce.
> ...
> This is strange:
> I pulled the latest main and created a clean org-emacs directory
> where I put a minimal init.el reading:
>...
> I have no idea what I can do now.
> My Emacs is also recent main and built by me with minimal configure 
> options.

Try using released Emacs version. Emacs master builds are a subject of
unexpected bugs sometimes.

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



Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread gerard . vermeulen




On 11.01.2024 13:37, Ihor Radchenko wrote:

gerard.vermeu...@posteo.net writes:


Below, I show 2 commands to be run with point on a source block.
I expect that those commands modify an Org file identically, but
they do not.  It fails when `org-indent-block' is called in a
loop after each `(insert (org-element-interpret-data copy))' and
it works when `org-indent-block' is called in a separate loop
after insertion of all `(org-element-interpret-data copy)'s:
...
Example block:
---
#+begin_src emacs-lisp

#+end_src
---
make-2-indent-fails results in
---
#+begin_src emacs-lisp
copy 1
#+end_src


I cannot reproduce.
I am seeing

make-2-indent-fails results in
---
#+begin_src emacs-lisp
copy 1
#+end_src
#+begin_src emacs-lisp
copy 2
#+end_src


On the latest main.


This is strange:
I pulled the latest main and created a clean org-emacs directory
where I put a minimal init.el reading:

(when (eq system-type 'darwin)
  (setopt ns-alternate-modifier nil
  ns-command-modifier 'meta
  ns-right-command-modifier 'super))

(push (expand-file-name "~/VCS/org-mode/lisp") load-path)
(require 'org)

After emacs --init-directory org-emacs, I get (code in the
result blocks got now indented):

Example block:
---
#+begin_src emacs-lisp

#+end_src
---
make-2-indent-fails results in
---
#+begin_src emacs-lisp
  copy 1
#+end_src
---
make-2-indent-works results in
---
#+begin_src emacs-lisp
  copy 1
#+end_src
#+begin_src emacs-lisp
  copy 2
#+end_src
---
I have no idea what I can do now.
My Emacs is also recent main and built by me with minimal configure 
options.





Re: [BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread Ihor Radchenko
gerard.vermeu...@posteo.net writes:

> Below, I show 2 commands to be run with point on a source block.
> I expect that those commands modify an Org file identically, but
> they do not.  It fails when `org-indent-block' is called in a
> loop after each `(insert (org-element-interpret-data copy))' and
> it works when `org-indent-block' is called in a separate loop
> after insertion of all `(org-element-interpret-data copy)'s:
> ...
> Example block:
> ---
> #+begin_src emacs-lisp
> 
> #+end_src
> ---
> make-2-indent-fails results in
> ---
> #+begin_src emacs-lisp
> copy 1
> #+end_src

I cannot reproduce.
I am seeing

make-2-indent-fails results in
---
#+begin_src emacs-lisp
copy 1
#+end_src
#+begin_src emacs-lisp
copy 2
#+end_src


On the latest main.

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



[BUG]: unexpected behavior related to org-indent-block

2024-01-11 Thread gerard . vermeulen

Below, I show 2 commands to be run with point on a source block.
I expect that those commands modify an Org file identically, but
they do not.  It fails when `org-indent-block' is called in a
loop after each `(insert (org-element-interpret-data copy))' and
it works when `org-indent-block' is called in a separate loop
after insertion of all `(org-element-interpret-data copy)'s:

#+begin_src emacs-lisp :results silent
(defun make-2-indent-fails ()
  "Make 2 modified blocks, but fails."
  (interactive)
  (let ((copy (org-element-copy (org-element-at-point)))
(n 0))
(delete-region (org-element-begin copy) (org-element-end copy))
(while (< n 2)
  (cl-incf n)
  (org-element-put-property copy :value (format "copy %s" n))
  (insert (org-element-interpret-data copy))
  (org-indent-block

(defun make-2-indent-works ()
  "Make 2 modified blocks, and works."
  (interactive)
  (let ((copy (org-element-copy (org-element-at-point)))
(n 0))
(delete-region (org-element-begin copy) (org-element-end copy))
(while (< n 2)
  (cl-incf n)
  (org-element-put-property copy :value (format "copy %s" n))
  (insert (org-element-interpret-data copy)))
(org-previous-block n)
(while (> n 0)
  (cl-decf n)
  (org-indent-block
#+end_src

Example block:
---
#+begin_src emacs-lisp

#+end_src
---
make-2-indent-fails results in
---
#+begin_src emacs-lisp
copy 1
#+end_src
---
make-2-indent-works results in
---
#+begin_src emacs-lisp
copy 1
#+end_src
#+begin_src emacs-lisp
copy 2
#+end_src
---

I think that it is also weird that this bug does not show up in
this ERT test while it does outside ERT:
#+begin_src emacs-lisp :results silent
(ert-deftest test-make-2-indent-fails ()
  "Test unfolded `make-2-indent-fails'."
  (org-test-with-temp-text "
,#+begin_src emacs-lisp

,#+end_src
"
(let ((copy (org-element-copy (org-element-at-point)))
  (word "copy")
  (n 0))
  (delete-region (org-element-begin copy) (org-element-end copy))
  (while (< n 2)
(cl-incf n)
(org-element-put-property copy :value (format "%s %s" word n))
;; Why does this work inside ERT and not outside ERT?
(insert (org-element-interpret-data copy))
(org-indent-block))
  (message "`%s'" (buffer-substring (point-min) (point-max)))
  (goto-char (point-min))
  (while (> n 0)
(cl-decf n)
(should (re-search-forward word)))
  (should-not (re-search-forward word nil 'noerror)
#+end_src

Regards -- Gerard