mathworks / Emacs-MATLAB-Mode

Edit, lint, debug, and run MATLAB in Emacs
GNU General Public License v3.0
7 stars 0 forks source link

Improve org mode support #2

Open JohnC32 opened 2 months ago

JohnC32 commented 2 months ago

Improve org mode support such that org mode with matlab can be setup fairly easily

ouboub commented 2 months ago

"JC" == John Ciolfi @.***> writes:

Improve org mode support such that org mode with matlab can be setup fairly easily

Don't we have a org-mode branch for this? What is the state of art?

-- I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel I strongly condemn Putin's war of aggression against Ukraine. I support to deliver weapons to Ukraine's military. I support the EU and NATO membership of Ukraine.

JohnC32 commented 2 months ago

There are some changes needed in org mode for matlab that I need to upstream to org mode. After that I’d like to see about simplifying the setup so people can easily use org mode to author papers, thesis’s, etc. with matlab code and results.

On Mon, Aug 26, 2024 at 11:05 AM Uwe Brauer @.***> wrote:

"JC" == John Ciolfi @.***> writes:

Improve org mode support such that org mode with matlab can be setup fairly easily

Don't we have a org-mode branch for this? What is the state of art?

-- I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel I strongly condemn Putin's war of aggression against Ukraine. I support to deliver weapons to Ukraine's military. I support the EU and NATO membership of Ukraine.

— Reply to this email directly, view it on GitHub https://github.com/mathworks/Emacs-MATLAB-Mode/issues/2#issuecomment-2310440132, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJNJMWRKXM3MMYW57JUQQ3ZTM75BAVCNFSM6AAAAABNEFRKY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJQGQ2DAMJTGI . You are receiving this because you authored the thread.Message ID: @.***>

JohnC32 commented 4 days ago

Addressed with commit bb885d6

ouboub commented 3 days ago

"JC" == John Ciolfi @.***> writes:

Addressed with commit bb885d6

I am a bit confused. I just pulled. So there is a commit, or better said a series of commits on the default branch that addresses the improvment of the org mode support, not on the org-mode branch?

If you don't mind I merge that into the org-mode and try it out (then I might merge it back, I am not a fan of giving up or deleting branches,)

In any case I would like to run some testing especially comparing it with the python engine which I used, because last time I checked the native org-mode support had problems with fprintf. Today I am a bit busy though.

Please tell me whether my understanding of the branches is correct.

thanks

JohnC32 commented 3 days ago

Hi

This is a relatively small change. There’s matlab-org.el which fixes org-mode such that the matlab code blocks work without having to locally advise functions in org.

I’m preparing a patch for org-mode to fix matlab support for the long term. Once that patch is accepted, I’ll update matlab-org.el to detect if it is working without having the fixed org mode or the older org mode and do the right thing.

Thanks John

On Wed, Oct 30, 2024 at 3:04 AM Uwe Brauer @.***> wrote:

"JC" == John Ciolfi @.***> writes:

Addressed with commit bb885d6

I am a bit confused. I just pulled. So there is a commit, or better said a series of commits on the default branch that addresses the improvment of the org mode support, not on the org-mode branch?

If you don't mind I merge that into the org-mode and try it out (then I might merge it back, I am not a fan of giving up or deleting branches,)

In any case I would like to run some testing especially comparing it with the python engine which I used, because last time I checked the native org-mode support had problems with fprintf. Today I am a bit busy though.

Please tell me whether my understanding of the branches is correct.

thanks

— Reply to this email directly, view it on GitHub https://github.com/mathworks/Emacs-MATLAB-Mode/issues/2#issuecomment-2446020126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJNJMXFU4QPGISYFMCNYKTZ6CAJNAVCNFSM6AAAAABNEFRKY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGAZDAMJSGY . You are receiving this because you modified the open/close state.Message ID: @.***>

JohnC32 commented 3 days ago

Hi

I just noticed the org-mode branch. I didn't realize that was there.

I think the issue with fprintf is similar to the issue I created https://github.com/mathworks/Emacs-MATLAB-Mode/issues/16

The matlab code blocks in https://github.com/mathworks/Emacs-MATLAB-Mode/blob/default/examples/matlab-and-org-mode/matlab-and-org-mode.org do work, but I think you are looking for "output" like code blocks which currently don't work due to issues in ob-octave.el. I understand how to fix, but won't be able to get to them for a couple days. Once I get these working, how about I take the content from matlab-and-org-mode-python.org https://github.com/mathworks/Emacs-MATLAB-Mode/compare/default...org-mode#diff-454090111252280e2a9219a8e2ba275ecc843015854f6c37c932224d0b8e1a80 and add it as a section to the existing matlab-and-org-mode.org to illustrate you can use other languages such as Python?

Thanks John

On Wed, Oct 30, 2024 at 6:54 AM John C @.***> wrote:

Hi

His is a relatively small change. There’s matlab-org.el which fixes org-mode such that the matlab code blocks work without having to locally advise functions in org.

I’m preparing a patch for org-mode to fix matlab support for the long term. Once that patch is accepted, I’ll update matlab-org.el to detect if it is working without having the fixed org mode or the older org mode and do the right thing.

Thanks John

On Wed, Oct 30, 2024 at 3:04 AM Uwe Brauer @.***> wrote:

"JC" == John Ciolfi @.***> writes:

Addressed with commit bb885d6

I am a bit confused. I just pulled. So there is a commit, or better said a series of commits on the default branch that addresses the improvment of the org mode support, not on the org-mode branch?

If you don't mind I merge that into the org-mode and try it out (then I might merge it back, I am not a fan of giving up or deleting branches,)

In any case I would like to run some testing especially comparing it with the python engine which I used, because last time I checked the native org-mode support had problems with fprintf. Today I am a bit busy though.

Please tell me whether my understanding of the branches is correct.

thanks

— Reply to this email directly, view it on GitHub https://github.com/mathworks/Emacs-MATLAB-Mode/issues/2#issuecomment-2446020126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJNJMXFU4QPGISYFMCNYKTZ6CAJNAVCNFSM6AAAAABNEFRKY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGAZDAMJSGY . You are receiving this because you modified the open/close state.Message ID: @.***>

ouboub commented 3 days ago

"JC" == John Ciolfi @.***> writes:

Ok, I propose I merge your changes into the org-mode branch now.

I think the issue with fprintf is similar to the issue I created https://github.com/mathworks/Emacs-MATLAB-Mode/issues/16

I am not sure, I think I will add an example of how the python engine works in comparison with the native implementation.

I am right now a bit busy so I try to do this in the afternoon/evening.

Uwe

JohnC32 commented 3 days ago

Should we be using branches or fork's? I like the github fork and then pull-request (PR) model. How about I try that with the fprintf fix when I get to it?

On Wed, Oct 30, 2024 at 7:10 AM John C @.***> wrote:

Hi

I just noticed the org-mode branch. I didn't realize that was there.

I think the issue with fprintf is similar to the issue I created https://github.com/mathworks/Emacs-MATLAB-Mode/issues/16

The matlab code blocks in https://github.com/mathworks/Emacs-MATLAB-Mode/blob/default/examples/matlab-and-org-mode/matlab-and-org-mode.org do work, but I think you are looking for "output" like code blocks which currently don't work due to issues in ob-octave.el. I understand how to fix, but won't be able to get to them for a couple days. Once I get these working, how about I take the content from matlab-and-org-mode-python.org https://github.com/mathworks/Emacs-MATLAB-Mode/compare/default...org-mode#diff-454090111252280e2a9219a8e2ba275ecc843015854f6c37c932224d0b8e1a80 and add it as a section to the existing matlab-and-org-mode.org to illustrate you can use other languages such as Python?

Thanks John

On Wed, Oct 30, 2024 at 6:54 AM John C @.***> wrote:

Hi

His is a relatively small change. There’s matlab-org.el which fixes org-mode such that the matlab code blocks work without having to locally advise functions in org.

I’m preparing a patch for org-mode to fix matlab support for the long term. Once that patch is accepted, I’ll update matlab-org.el to detect if it is working without having the fixed org mode or the older org mode and do the right thing.

Thanks John

On Wed, Oct 30, 2024 at 3:04 AM Uwe Brauer @.***> wrote:

"JC" == John Ciolfi @.***> writes:

Addressed with commit bb885d6

I am a bit confused. I just pulled. So there is a commit, or better said a series of commits on the default branch that addresses the improvment of the org mode support, not on the org-mode branch?

If you don't mind I merge that into the org-mode and try it out (then I might merge it back, I am not a fan of giving up or deleting branches,)

In any case I would like to run some testing especially comparing it with the python engine which I used, because last time I checked the native org-mode support had problems with fprintf. Today I am a bit busy though.

Please tell me whether my understanding of the branches is correct.

thanks

— Reply to this email directly, view it on GitHub https://github.com/mathworks/Emacs-MATLAB-Mode/issues/2#issuecomment-2446020126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJNJMXFU4QPGISYFMCNYKTZ6CAJNAVCNFSM6AAAAABNEFRKY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGAZDAMJSGY . You are receiving this because you modified the open/close state.Message ID: @.***>

ouboub commented 3 days ago

"JC" == John Ciolfi @.***> writes:

Should we be using branches or fork's? I like the github fork and then pull-request (PR) model.

I thought pull requests are useful for those users, that do not have write access. I understand the logic is

  1. Fork (basically a clone)
  2. Clone it locally if needed
  3. Create a new branch
  4. commit
  5. Start a pull request.

But for collaborators that do have write access, I find branches much more natural and useful,

  1. I pull
  2. I inspect/we discuss
  3. I merge into default.

Since Nidish created another pull request, I will create an issue discussing this topic.

How about I try that with the fprintf fix when I get to it?

JohnC32 commented 2 days ago

Hi

I think we are still learning how to best advance matlab-mode now that we have github. We really appreciate the help you give and are happy to use the workflows you'd like us to do. If you like branches, then let's use that. Can you update the CONTRIBUGING.org for people with write access to cover this case. We already have the PR case covered.

Note, the PR model doesn't require creating a branch. You fork, make changes, then ask for a pull request (PR). From my limited contributions in github projects, this seems to be the way most are run.

Note, my contributions are done on my own time. My day job is working on Simulink, so my contributions will be somewhat sporadic. We I get free time, I'll help with items. Two items I'd like to get in better shape are org-mode and code navigation by enabling the matlab language server in Emacs (I have it working but still need to polish it).

Thanks John

ouboub commented 2 days ago

"JC" == John Ciolfi @.***> writes:

Hi I think we are still learning how to best advance matlab-mode now that we have github. We really appreciate the help you give and are happy to use the workflows you'd like us to do.

Thanks but I also do that out of self interest 😇

If you like branches, then let's use that. Can you update the CONTRIBUGING.org for people with write access to cover this case. We already have the PR case covered.

Ok I will try to do later, right now I want commit a change to the org-mode branch concerning the comparison between the native org-mode engine and the python based one.

Note, the PR model doesn't require creating a branch. You fork, make changes, then ask for a pull request (PR). From my limited contributions in github projects, this seems to be the way most are run.

Well that depends

  1. On the maintainers, for example the MELPA maintainers not only required a branch in my fork but even strongly encouraged me to ammed my commits (which then implies that I have to use push -f, which I dislike)

  2. On what you want to do:

    1. Is it a bug/document fix or something short

    2. Or a new feature, that requires testing and a couple of commits then I think a branch is best suited, to guarantee the development is not interrupted.

But in any case, if you have write access why

1. Don't you (or someone else) just commit to the default branch,
   you have done this before

2. And as it was the case of Nidish, you want to introduce a new
   feature, a new branch seems to be best suited, because I have to
   test the code locally so I have to pull anyway. So having a
   branch on the main repository simplifies the workflow in my
   experience. But I am curious to know whey people with write
   access find PR easier to deal with.

Note, my contributions are done on my own time. My day job is working on Simulink, so my contributions will be somewhat sporadic.

Simulink, aha I see, then I know whom to ask next 😉 (but this is off topic)

We I get free time, I'll help with items. Two items I'd like to get in better shape are org-mode and code navigation by enabling the matlab language server in Emacs (I have it working but still need to polish it).

Thanks, I appreciate a lot your contributions and I am most interested in the org-mode interface since this is what I use most (besides coding in the numerical course I teach). Uwe

JohnC32 commented 1 day ago

If you'd like to look at the changes I make prior to putting them on the default branch, then using either fork's or branches is a nice benfit which will help prevent mistakes. So, I'm happy to work on a branch or do PR's.

For very simple stuff sending to default makes sense.

Thanks