unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [ELPA] Package proposal: relint (ex-trawl)
@ 2019-03-19 13:24 Mattias Engdegård
  2019-03-19 18:05 ` Eli Zaretskii
  0 siblings, 1 reply; 21+ messages in thread
From: Mattias Engdegård @ 2019-03-19 13:24 UTC (permalink / raw)
  To: emacs-devel

This is a proposal to add relint, an elisp regexp linter, to GNU ELPA.

Relint, previously called trawl, has been used to pester this list with regexp errors. Adding it to ELPA may make it more available to Emacs users who write their own elisp code.

Relint currently resides at https://github.com/mattiase/relint and is proposed as an external ELPA package.

The plan is still to integrate it with Emacs `make check' in some way, unless the developers dislike Makefile rules that use locally-installed external packages. It will not be mandatory.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-19 13:24 [ELPA] Package proposal: relint (ex-trawl) Mattias Engdegård
@ 2019-03-19 18:05 ` Eli Zaretskii
  2019-03-19 20:30   ` Mattias Engdegård
  0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-19 18:05 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: emacs-devel

> From: Mattias Engdegård <mattiase@acm.org>
> Date: Tue, 19 Mar 2019 14:24:42 +0100
> 
> The plan is still to integrate it with Emacs `make check' in some way, unless the developers dislike Makefile rules that use locally-installed external packages. It will not be mandatory.

If relint will be part of "make check", I think we'd want it in the
Emacs repository (only there or in addition to ELPA), so that one
could run the full test suite even when off-line.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-19 18:05 ` Eli Zaretskii
@ 2019-03-19 20:30   ` Mattias Engdegård
  2019-03-19 21:43     ` Stefan Monnier
  2019-03-20  5:52     ` Eli Zaretskii
  0 siblings, 2 replies; 21+ messages in thread
From: Mattias Engdegård @ 2019-03-19 20:30 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

19 mars 2019 kl. 19.05 skrev Eli Zaretskii <eliz@gnu.org>:
>> 
>> The plan is still to integrate it with Emacs `make check' in some way, unless the developers dislike Makefile rules that use locally-installed external packages. It will not be mandatory.
> 
> If relint will be part of "make check", I think we'd want it in the
> Emacs repository (only there or in addition to ELPA), so that one
> could run the full test suite even when off-line.

Then xr would have to be moved into the Emacs tree as well, since relint requires that package.

Just to clarify, since you mentioned "off-line": I do not propose any build step that would fetch anything over the network. An optional 'make check' step would not, I though, be different from optional libraries used in the build.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-19 20:30   ` Mattias Engdegård
@ 2019-03-19 21:43     ` Stefan Monnier
  2019-03-20  5:52     ` Eli Zaretskii
  1 sibling, 0 replies; 21+ messages in thread
From: Stefan Monnier @ 2019-03-19 21:43 UTC (permalink / raw)
  To: emacs-devel

> Just to clarify, since you mentioned "off-line": I do not propose any build
> step that would fetch anything over the network. An optional 'make check'
> step would not, I though, be different from optional libraries used in
> the build.

I was thinking of it as similar to adding a target to run Emacs
under valgrind.


        Stefan




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-19 20:30   ` Mattias Engdegård
  2019-03-19 21:43     ` Stefan Monnier
@ 2019-03-20  5:52     ` Eli Zaretskii
  2019-03-20 13:08       ` Stefan Monnier
  1 sibling, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-20  5:52 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: emacs-devel

> From: Mattias Engdegård <mattiase@acm.org>
> Date: Tue, 19 Mar 2019 21:30:21 +0100
> Cc: emacs-devel <emacs-devel@gnu.org>
> 
> > If relint will be part of "make check", I think we'd want it in the
> > Emacs repository (only there or in addition to ELPA), so that one
> > could run the full test suite even when off-line.
> 
> Then xr would have to be moved into the Emacs tree as well, since relint requires that package.

That'd be fine with me.

> Just to clarify, since you mentioned "off-line": I do not propose any build step that would fetch anything over the network. An optional 'make check' step would not, I though, be different from optional libraries used in the build.

My point is that "make check" is supposed to be an integral part of
any serious build of a program, including Emacs.  Whenever I build
Emacs for the first time on some machine, I always run the test suite.

I have a frequent use case whereby I need to work on systems that are
physically disconnected from the Internet (connected only to an
intra-enterprise network), and so having a package required for
testing that can only be downloaded from the Internet is a nuisance in
those cases.  When/if we have an arrangement that some of the ELPA
packages get tarred into a release tarball, this issue will all but
disappear for me, but we are not there yet, we are only discussing
whether and how to do that.

Thanks.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-20  5:52     ` Eli Zaretskii
@ 2019-03-20 13:08       ` Stefan Monnier
  2019-03-20 13:25         ` Eli Zaretskii
  0 siblings, 1 reply; 21+ messages in thread
From: Stefan Monnier @ 2019-03-20 13:08 UTC (permalink / raw)
  To: emacs-devel

> My point is that "make check" is supposed to be an integral part of
> any serious build of a program, including Emacs.  Whenever I build
> Emacs for the first time on some machine, I always run the test suite.

I don't think relint should be part of `make check` since its purpose is
very different (it doesn't try to verify the functional correctness of
the code by running it).

It should be a separate `make relint`.

You use `make check` above as a way to (try to) ensure that a build is
functional, and running relint will not help with that since it only
looks at the source code and not the resulting behavior.


        Stefan




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-20 13:08       ` Stefan Monnier
@ 2019-03-20 13:25         ` Eli Zaretskii
  2019-03-21 11:19           ` Mattias Engdegård
  0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-20 13:25 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Wed, 20 Mar 2019 09:08:17 -0400
> 
> > My point is that "make check" is supposed to be an integral part of
> > any serious build of a program, including Emacs.  Whenever I build
> > Emacs for the first time on some machine, I always run the test suite.
> 
> I don't think relint should be part of `make check`

I didn't suggest that it should, I just responded to such a
suggestion.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-20 13:25         ` Eli Zaretskii
@ 2019-03-21 11:19           ` Mattias Engdegård
  2019-03-21 14:26             ` Eli Zaretskii
  0 siblings, 1 reply; 21+ messages in thread
From: Mattias Engdegård @ 2019-03-21 11:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Stefan Monnier, emacs-devel

20 mars 2019 kl. 14.25 skrev Eli Zaretskii <eliz@gnu.org>:
>> 
>> I don't think relint should be part of `make check`
> 
> I didn't suggest that it should, I just responded to such a
> suggestion.

Eli and Stefan, thank you for clarifying. Given that the ambition is no longer 'make check' but the possible addition of a different make target, would you agree to adding relint as an external package in GNU ELPA?





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-21 11:19           ` Mattias Engdegård
@ 2019-03-21 14:26             ` Eli Zaretskii
  2019-03-22 14:17               ` Mattias Engdegård
  0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-21 14:26 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: monnier, emacs-devel

> From: Mattias Engdegård <mattiase@acm.org>
> Date: Thu, 21 Mar 2019 12:19:45 +0100
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
> 
> Eli and Stefan, thank you for clarifying. Given that the ambition is no longer 'make check' but the possible addition of a different make target, would you agree to adding relint as an external package in GNU ELPA?

What will you do if you get 2 contradicting answers? ;-)

If you want it on ELPA, why make a target for it in Emacs?  Why not
tell in the package's docs how to use it to lint Emacs regular
expressions?



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-21 14:26             ` Eli Zaretskii
@ 2019-03-22 14:17               ` Mattias Engdegård
  2019-03-22 14:31                 ` Stefan Monnier
  2019-03-22 14:49                 ` Eli Zaretskii
  0 siblings, 2 replies; 21+ messages in thread
From: Mattias Engdegård @ 2019-03-22 14:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Stefan Monnier, emacs-devel

21 mars 2019 kl. 15.26 skrev Eli Zaretskii <eliz@gnu.org>:
> 
>> Eli and Stefan, thank you for clarifying. Given that the ambition is no longer 'make check' but the possible addition of a different make target, would you agree to adding relint as an external package in GNU ELPA?
> 
> What will you do if you get 2 contradicting answers? ;-)

Nothing, of course. You all have vetoes.

> If you want it on ELPA, why make a target for it in Emacs?  Why not
> tell in the package's docs how to use it to lint Emacs regular
> expressions?

I was asked to integrate it with 'make check', but I'm sure make somethingelse would do just as well.
It was also suggested to me that I put it on ELPA, so why not make everyone happy.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 14:17               ` Mattias Engdegård
@ 2019-03-22 14:31                 ` Stefan Monnier
  2019-03-22 14:49                 ` Eli Zaretskii
  1 sibling, 0 replies; 21+ messages in thread
From: Stefan Monnier @ 2019-03-22 14:31 UTC (permalink / raw)
  To: emacs-devel

> Nothing, of course.  You all have vetoes.

I (hope I) don't.


        Stefan




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 14:17               ` Mattias Engdegård
  2019-03-22 14:31                 ` Stefan Monnier
@ 2019-03-22 14:49                 ` Eli Zaretskii
  2019-03-22 15:01                   ` Stefan Monnier
  1 sibling, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-22 14:49 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: monnier, emacs-devel

> From: Mattias Engdegård <mattiase@acm.org>
> Date: Fri, 22 Mar 2019 15:17:26 +0100
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
> 
> > If you want it on ELPA, why make a target for it in Emacs?  Why not
> > tell in the package's docs how to use it to lint Emacs regular
> > expressions?
> 
> I was asked to integrate it with 'make check', but I'm sure make somethingelse would do just as well.
> It was also suggested to me that I put it on ELPA, so why not make everyone happy.

My point was that I don't think we should have in our Makefiles
targets that require tools which are neither expected to be installed
on many systems nor come with the Emacs repository.  If people must
install add-on packages, then the glue to use those packages vis-a-vis
Emacs is better kept as part of the package.  E.g., you could have a
small Makefile in the package with a lint-emacs-regexps target.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 14:49                 ` Eli Zaretskii
@ 2019-03-22 15:01                   ` Stefan Monnier
  2019-03-22 15:20                     ` Eli Zaretskii
  0 siblings, 1 reply; 21+ messages in thread
From: Stefan Monnier @ 2019-03-22 15:01 UTC (permalink / raw)
  To: emacs-devel

> My point was that I don't think we should have in our Makefiles
> targets that require tools which are neither expected to be installed
> on many systems nor come with the Emacs repository.

What's the harm?  And it'll be a lot more convenient than "a small
Makefile in the package with a lint-emacs-regexps target" since that
Makefile would be hidden inside ~/.emacs.d/elpa and would have to be
told which Emacs you want to run and/or which source files you want
to check.


        Stefan




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:01                   ` Stefan Monnier
@ 2019-03-22 15:20                     ` Eli Zaretskii
  2019-03-22 15:49                       ` Stefan Monnier
  2019-03-26 14:14                       ` Mattias Engdegård
  0 siblings, 2 replies; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-22 15:20 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Fri, 22 Mar 2019 11:01:43 -0400
> 
> > My point was that I don't think we should have in our Makefiles
> > targets that require tools which are neither expected to be installed
> > on many systems nor come with the Emacs repository.
> 
> What's the harm?

The harm is that it's IME annoying to invoke a target only to be
presented with some error message which at best says some file or
program is missing.

What's the use of having a target that you cannot run?

> And it'll be a lot more convenient than "a small Makefile in the
> package with a lint-emacs-regexps target" since that Makefile would
> be hidden inside ~/.emacs.d/elpa and would have to be told which
> Emacs you want to run and/or which source files you want to check.

Nothing that cannot be solved by an Emacs command, right?



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:20                     ` Eli Zaretskii
@ 2019-03-22 15:49                       ` Stefan Monnier
  2019-03-22 16:12                         ` Stefan Monnier
                                           ` (3 more replies)
  2019-03-26 14:14                       ` Mattias Engdegård
  1 sibling, 4 replies; 21+ messages in thread
From: Stefan Monnier @ 2019-03-22 15:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

> The harm is that it's IME annoying to invoke a target only to be
> presented with some error message which at best says some file or
> program is missing.

Then we should start removing the `dvi`, `pdf`, `html`, `info`, and
`ps` targets in doc/emacs/Makefile.

> What's the use of having a target that you cannot run?

Why would you run it if you don't have the tool installed?

>> And it'll be a lot more convenient than "a small Makefile in the
>> package with a lint-emacs-regexps target" since that Makefile would
>> be hidden inside ~/.emacs.d/elpa and would have to be told which
>> Emacs you want to run and/or which source files you want to check.
> Nothing that cannot be solved by an Emacs command, right?

As conveniently as "make relint"?  I think it cannot be solved by an
Emacs command provided by relint, no.


        Stefan



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:49                       ` Stefan Monnier
@ 2019-03-22 16:12                         ` Stefan Monnier
  2019-03-22 18:18                         ` Stefan Monnier
                                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 21+ messages in thread
From: Stefan Monnier @ 2019-03-22 16:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

>> The harm is that it's IME annoying to invoke a target only to be
>> presented with some error message which at best says some file or
>> program is missing.
> Then we should start removing the `dvi`, `pdf`, `html`, `info`, and
> `ps` targets in doc/emacs/Makefile.

Oh and the $(srcdir)/configure in the main Makefile, of course.


        Stefan



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:49                       ` Stefan Monnier
  2019-03-22 16:12                         ` Stefan Monnier
@ 2019-03-22 18:18                         ` Stefan Monnier
  2019-03-22 18:36                         ` T.V Raman
  2019-03-23  2:33                         ` Richard Stallman
  3 siblings, 0 replies; 21+ messages in thread
From: Stefan Monnier @ 2019-03-22 18:18 UTC (permalink / raw)
  To: emacs-devel

>> The harm is that it's IME annoying to invoke a target only to be
>> presented with some error message which at best says some file or
>> program is missing.
> Then we should start removing the `dvi`, `pdf`, `html`, `info`, and
> `ps` targets in doc/emacs/Makefile.

I see that I was overreacting, because of my frustration in the other
thread.  So let me clarify that the `make relint` target is not that
important: very few people will want to run such an Emacs-wide make
target (more interesting will be to run it occasionally on your own
packages, like checkdoc).

So the only part that matters is to include the package in GNU ELPA.
Whether we also add a `make relint` target is of no consequence.


        Stefan




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:49                       ` Stefan Monnier
  2019-03-22 16:12                         ` Stefan Monnier
  2019-03-22 18:18                         ` Stefan Monnier
@ 2019-03-22 18:36                         ` T.V Raman
  2019-03-23  2:33                         ` Richard Stallman
  3 siblings, 0 replies; 21+ messages in thread
From: T.V Raman @ 2019-03-22 18:36 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

Also, such an error is not an annoyance, it's a timely tip for what you
need to complete the task.>> The harm is that it's IME annoying to invoke a target only to be
>> presented with some error message which at best says some file or
>> program is missing.
>
> Then we should start removing the `dvi`, `pdf`, `html`, `info`, and
> `ps` targets in doc/emacs/Makefile.
>
>> What's the use of having a target that you cannot run?
>
> Why would you run it if you don't have the tool installed?
>
>>> And it'll be a lot more convenient than "a small Makefile in the
>>> package with a lint-emacs-regexps target" since that Makefile would
>>> be hidden inside ~/.emacs.d/elpa and would have to be told which
>>> Emacs you want to run and/or which source files you want to check.
>> Nothing that cannot be solved by an Emacs command, right?
>
> As conveniently as "make relint"?  I think it cannot be solved by an
> Emacs command provided by relint, no.
>
>
>         Stefan
>

-- 
Id: kg:/m/0285kf1 



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:49                       ` Stefan Monnier
                                           ` (2 preceding siblings ...)
  2019-03-22 18:36                         ` T.V Raman
@ 2019-03-23  2:33                         ` Richard Stallman
  3 siblings, 0 replies; 21+ messages in thread
From: Richard Stallman @ 2019-03-23  2:33 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: eliz, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > What's the use of having a target that you cannot run?

  > Why would you run it if you don't have the tool installed?

I'd like to point out that this way of stating a point
is a little unkind.  It is not a big deal, but I'm sure you
can make your respective points in a kinder way.

(I'm not saying anything about the question itself.)

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-22 15:20                     ` Eli Zaretskii
  2019-03-22 15:49                       ` Stefan Monnier
@ 2019-03-26 14:14                       ` Mattias Engdegård
  2019-03-26 16:00                         ` Eli Zaretskii
  1 sibling, 1 reply; 21+ messages in thread
From: Mattias Engdegård @ 2019-03-26 14:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Stefan Monnier, emacs-devel

22 mars 2019 kl. 16.20 skrev Eli Zaretskii <eliz@gnu.org>:
> 
> What's the use of having a target that you cannot run?

Thanks for clarifying. In that case, no new make target will be added.
Would you accept relint as a GNU ELPA package then?




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [ELPA] Package proposal: relint (ex-trawl)
  2019-03-26 14:14                       ` Mattias Engdegård
@ 2019-03-26 16:00                         ` Eli Zaretskii
  0 siblings, 0 replies; 21+ messages in thread
From: Eli Zaretskii @ 2019-03-26 16:00 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: monnier, emacs-devel

> From: Mattias Engdegård <mattiase@acm.org>
> Date: Tue, 26 Mar 2019 15:14:13 +0100
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
> 
> 22 mars 2019 kl. 16.20 skrev Eli Zaretskii <eliz@gnu.org>:
> > 
> > What's the use of having a target that you cannot run?
> 
> Thanks for clarifying. In that case, no new make target will be added.
> Would you accept relint as a GNU ELPA package then?

I didn't object to having relint there in the first place, so sure,
fine with me.

Thanks.



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-03-26 16:00 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-19 13:24 [ELPA] Package proposal: relint (ex-trawl) Mattias Engdegård
2019-03-19 18:05 ` Eli Zaretskii
2019-03-19 20:30   ` Mattias Engdegård
2019-03-19 21:43     ` Stefan Monnier
2019-03-20  5:52     ` Eli Zaretskii
2019-03-20 13:08       ` Stefan Monnier
2019-03-20 13:25         ` Eli Zaretskii
2019-03-21 11:19           ` Mattias Engdegård
2019-03-21 14:26             ` Eli Zaretskii
2019-03-22 14:17               ` Mattias Engdegård
2019-03-22 14:31                 ` Stefan Monnier
2019-03-22 14:49                 ` Eli Zaretskii
2019-03-22 15:01                   ` Stefan Monnier
2019-03-22 15:20                     ` Eli Zaretskii
2019-03-22 15:49                       ` Stefan Monnier
2019-03-22 16:12                         ` Stefan Monnier
2019-03-22 18:18                         ` Stefan Monnier
2019-03-22 18:36                         ` T.V Raman
2019-03-23  2:33                         ` Richard Stallman
2019-03-26 14:14                       ` Mattias Engdegård
2019-03-26 16:00                         ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.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).