On 04/04/21 1:20 am, Nicolas Goaziou wrote:
> Ramesh Nedunchezian <rameshnedunchez...@outlook.com> writes:
> 
>> The advantage is you move to an error, fix it, then M-g M-n, fix it
>> and so on and so forth.
> 
> But all reports are not errors. You may not want to fix them all either.
> OTOH, you lose the ability to hide or ignore unwanted reports, or sort
> them by trust level. 

If you are using `compilation-minor-mode'--yes, the minor mode and not
the major mode--you can have goodness of /both/ tabulated list mode
and compilation mode.

Here is an attempt.

    (require 'compile)

    (add-to-list 'compilation-error-regexp-alist 'org-lint)

    (add-to-list 'compilation-error-regexp-alist-alist
                 (list 'org-lint 
"^[[:blank:]]+\\([[:digit:]]+\\)[[:blank:]]+\\(high\\|low\\)[[:blank:]]+\\(.+\\)$"
                       (lambda nil
                         (buffer-file-name org-lint--source-buffer))
                       1 nil nil 1))

    (add-hook 'org-lint--report-mode-hook
              (defun turn-on-compilation-minor-mode ()
                (compilation-minor-mode 1)))


If you mix `compilation-minor-mode' and `tabulated-list-mode', then
you may have to revise the key bindings so that they don't run in to
each other.


1. C-x C-f myfile.org.  (See below)

2. M-x org-lint

3. Goto `Warnings' column and press 'S'.  Satisfy yourself that
   tabulated list commands are still available.  Note that the line
   numbers are in "arbitrary"  order.

4. Go to a random line.  Press RET.  Press M-g M-n (or M-g M-p)
   couple of times.  Satisfy yourself that the order of traversal is
   controlled by the cursor's position in the report buffer.

   Seek a random position in org buffer.  Say, bob or eob.  Press M-g
   M-n (or M-g M-p) couple of times.  Satisfy yourself that the order
   of traversal is controlled by the cursor's position in the report
   buffer.


Contents of myfile.org: (Note that I have replicated the first tree
 many more times to get a large number of errors)

  * Getting the source

  - Start with source that is cloned directly from Savannah[fn:1].
    Using a clone of a clone does not work.

    If you are a member of Emacs Project use,  

    #+begin_src
          git clone <membername>@git.savannah.gnu.org:/srv/git/emacs/elpa.git
    #+end_src

    If you are not a member use,

    #+begin_src shell
          git clone https://git.savannah.gnu.org/git/emacs/elpa.git
    #+end_src


  - You must then do some setup:

    #+begin_src
           make setup
    #+end_src

    That leaves the =packages= directory empty; you must check out the
    ones you want.

  * Getting the source

  - Start with source that is cloned directly from Savannah[fn:1].
    Using a clone of a clone does not work.

    If you are a member of Emacs Project use,  

    #+begin_src
          git clone <membername>@git.savannah.gnu.org:/srv/git/emacs/elpa.git
    #+end_src

    If you are not a member use,

    #+begin_src shell
          git clone https://git.savannah.gnu.org/git/emacs/elpa.git
    #+end_src


  - You must then do some setup:

    #+begin_src
           make setup
    #+end_src

    That leaves the =packages= directory empty; you must check out the
    ones you want.



  * Getting the source

  - Start with source that is cloned directly from Savannah[fn:1].
    Using a clone of a clone does not work.

    If you are a member of Emacs Project use,  

    #+begin_src
          git clone <membername>@git.savannah.gnu.org:/srv/git/emacs/elpa.git
    #+end_src

    If you are not a member use,

    #+begin_src shell
          git clone https://git.savannah.gnu.org/git/emacs/elpa.git
    #+end_src


  - You must then do some setup:

    #+begin_src
           make setup
    #+end_src

    That leaves the =packages= directory empty; you must check out the
    ones you want.



  * Getting the source

  - Start with source that is cloned directly from Savannah[fn:1].
    Using a clone of a clone does not work.

    If you are a member of Emacs Project use,  

    #+begin_src
          git clone <membername>@git.savannah.gnu.org:/srv/git/emacs/elpa.git
    #+end_src

    If you are not a member use,

    #+begin_src shell
          git clone https://git.savannah.gnu.org/git/emacs/elpa.git
    #+end_src


  - You must then do some setup:

    #+begin_src
           make setup
    #+end_src

    That leaves the =packages= directory empty; you must check out the
    ones you want.



  * Getting the source

  - Start with source that is cloned directly from Savannah[fn:1].
    Using a clone of a clone does not work.

    If you are a member of Emacs Project use,  

    #+begin_src
          git clone <membername>@git.savannah.gnu.org:/srv/git/emacs/elpa.git
    #+end_src

    If you are not a member use,

    #+begin_src shell
          git clone https://git.savannah.gnu.org/git/emacs/elpa.git
    #+end_src


  - You must then do some setup:

    #+begin_src
           make setup
    #+end_src

    That leaves the =packages= directory empty; you must check out the
    ones you want.
   

Reply via email to