Skip to Content.
Sympa Menu

emacspeak - [Emacspeak] What do you think about creating org-table navigation functions?

Subject: Emacspeak discussion list

List archive

[Emacspeak] What do you think about creating org-table navigation functions?

Chronological Thread 
  • From: Parham Doustdar <parham90 AT>
  • To: Emacspeaks <emacspeak AT>
  • Subject: [Emacspeak] What do you think about creating org-table navigation functions?
  • Date: Wed, 13 Mar 2024 15:53:36 +0100

Hi all,
I wanted to create functions for myself to make navigation in org tables easier because I’m going to be using them a lot, and I thought it might be a good idea to contribute them. So I thought I’d do an RFC of sorts and ask you all for advice.
So here is the problem: currently, the way I navigate in tables is binding org functions (and one function that Raman has created called org-table-previous-row) to keyboard shortcuts, like this:
  • C-M-up: org-table-previous-row
  • C-M-down: org-table-next-row
  • C-M-left: org-table-previous-field
  • C-M-right: org-table-next-field
Now, the problem is that, since these functions are used by org for managing a table, they have a few shortcomings:
  • Org-table-next-row creates a row at the end of the table, instead of hitting a boundary and stopping. This means that every time you’re reviewing a table, you have to go one line too far and undo
  • Org-table-next-row also creates a new row when encountering a horizontal line, instead of skipping over it. This means that, for example, if you end up on the first line of the table, using it will create a line above the header, instead of skipping over the horizontal line
  • Org-table-previous-field and org-table-next-field move to the next row, instead of moving between the columns in the same row
  • Org-table-previous-line is already written by Raman and we can modify it and fix its issues
I want to note that the issues I listed above are not bugs. None of these functions are what I’d refer to as “review” functions, meaning that none of them have been created to review the table. It is assumed that the user can “see” the table without having to navigate in it. That’s why org-table-next-row is bound to RET, org-table-next-field and org-table-previous-field are bound to <TAB> and S-<TAB>, etc. In their respective contexts, they make total sense the way they are.
However, I need to have extra functions that deliver functionality closer to emacspeak-table.el, which allows you to safely “review” the table without modifying its structure.
To do that, we’d create functions like emacspeak-org-table-previous-row, emacspeak-org-table-next-row, etc, and bind them to the keyboard shortcuts I mentioned above.
What do you think?

Archive powered by MHonArc 2.6.19+.

Top of Page