From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Davin Pearson Newsgroups: gmane.emacs.devel Subject: Re: Special Event: Davin reveals his own personal additions to Emacs. Date: Wed, 13 Jul 2022 10:35:55 +1200 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000005e070a05e3a34b56" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14255"; mail-complaints-to="usenet@ciao.gmane.io" To: Davin Pearson , emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jul 13 00:48:25 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oBOg5-0003Tf-6n for ged-emacs-devel@m.gmane-mx.org; Wed, 13 Jul 2022 00:48:25 +0200 Original-Received: from localhost ([::1]:59840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oBOg3-0006xl-UC for ged-emacs-devel@m.gmane-mx.org; Tue, 12 Jul 2022 18:48:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50342) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oBOUF-0002C1-9e for emacs-devel@gnu.org; Tue, 12 Jul 2022 18:36:14 -0400 Original-Received: from mail-yb1-xb2f.google.com ([2607:f8b0:4864:20::b2f]:41624) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oBOUC-0004qh-Na for emacs-devel@gnu.org; Tue, 12 Jul 2022 18:36:10 -0400 Original-Received: by mail-yb1-xb2f.google.com with SMTP id 6so16433308ybc.8 for ; Tue, 12 Jul 2022 15:36:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=zMLyHgX+AlbguLj72Jew7vNst/x1v/rm2FGvkBAsKVY=; b=dA3jsf4gEjYGT3gGFolnYA/8Les9IUWWm8au1O0hQJqvLQr0w82Xd8DYbIQvn6A0Sm ZFg68lQJam2W6P4UEJViZzwIGxKKMOEYsa1rOz76wBQ/bQB+PJwhM+iRC4HElmRKVQNP 8qWE4CrMji1tobrIT1hnS6K2iDLAu/B+pXO4U7pVjyoNlj0G9eYgiodbVgKIchclWG8j uSZhkIeio8oZRSQUrcABntoRI+qrsFwNH57HP+1MSFf57ZkBvfhrhm+qKcUqAEILgjAZ DAWLqqc+WhIExuFVwlQL2XguOTj2sbBe+WW6AT8QE8ZHtMK5jYIKCK1CTcwR8bf4u1Ab mvbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=zMLyHgX+AlbguLj72Jew7vNst/x1v/rm2FGvkBAsKVY=; b=cFFzARXjt0uVNV7zsuBwHX9d9qg3eKNZzt5EAUqhR23b1SHVo/iB/nbRhBYLrm9fWG dLTKD+5o0M5x8XRO21875m48Tf2LzQ0N6W0/kT3FFyBrE9vaT2bnrlKCPngPHRDPsFyB 0y8sDvAZkeIzYarfWqVoA6Qb6x3HaPzx9qAhnebOcT2NP3EcN/KJBZ19RBKaXvyv4xDg CKVD0yos/T3foAfNGIhE1qmE0bIcp9mfMBciuiamnm3egK3LvQFfkmaS83zlHE3UqbtA 9m2b3xXQF3WgddeJgs9U3WxQ8E6LHUOMfvj1tpCkaOkk5FNCmjS9n2xMRDZtrBmTZD/D p5Nw== X-Gm-Message-State: AJIora+FgkBMP/9SPAI0fzXRg9Q0IFcG7ftAZn85Zlb7eCq743OIo2Ot AhOnIIDAQ6ld1sz/VpNpADcVr/YribeO7dL2BaE= X-Google-Smtp-Source: AGRyM1vLWpFNZi2/TtiUZKJJaMyJDoAFTfugE8h1WQgWvIcrklIO4OsmqUrtlvER9M/dE8o4s/Ly7/ZIO3PGILTG6/w= X-Received: by 2002:a25:4c88:0:b0:66e:6be8:fc3f with SMTP id z130-20020a254c88000000b0066e6be8fc3fmr547494yba.637.1657665367179; Tue, 12 Jul 2022 15:36:07 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::b2f; envelope-from=davin.pearson@gmail.com; helo=mail-yb1-xb2f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:292098 Archived-At: --0000000000005e070a05e3a34b56 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, 10 Jul 2022 at 23:46, Jean Louis wrote: > * Davin Pearson [2022-07-10 06:39]: > > Click on the following link to take you to a gallery of Emacs > > screenshots showing the hows and whys I have added my own personal > > additions to Emacs. > > > > http://davinpearson.nz/screenshots > > Thanks David, those may be useful features for Emacs. > My name is Davin not David. I get this all the time. > I suggest that you read Emacs Lisp Manual and try understanding how to > make an Emacs package. This is because you have got many features and > other languages combined in package software package. It is better > separating it. > > You may evaluate this below: > > (info "(elisp) Packaging") > > When you start writing Emacs file you better set it up as proper > package that may be installed with M-x package-install-file or M-x > package-install-from-buffer > > I may recommend my package to help with it: > > Emacs: `package-header.el` your hj=C3=A4lpsam Package Header Assistant: > > https://hyperscope.link/3/7/7/3/0/Your-hj=C3=A4lpsam-Package-Header-Assis= tant-37730.html > > I do understand that you maybe use m4 to insert those package header > snippets. > > In general you do follow the guidelines. Let us say "yes.el", it > misses `provide' on the end, and M-x package-install-from-buffer fails > due to missing headers. Do you really want global scoping there? > > File: xyzdmp-reddy.el contains just "sdfsdsdf", is that wanted? > The purpose of this file is a verify that the syntax-highlighting works. > Instead of trying to update all files, I think you should have them > separated by their functionality and make separate packages. > > Once packages are ready feel free to send them to this mailing list > for possible inclusion in ELPA. What do you think about it? > > > Naming issues: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Please note that while it is possible, you should rather name your > modes like `css-mode` to be something else than those already well > common functions in main Emacs. For example, as you said, you could > name it `dmp-css-mode` as your function would overwrite the already > existing `css-mode'in Emacs. > > > Coding or style issues: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > I do not recommend `progn` standing alone in packages, seetting > load-path and requiring `dotmacs. It is better you prepare package > header properly, that will make your dependencies clear. > > `defun` shall placed always after one empty line. > ok I've got you on this point. > > You should not execute programs in packages or files, rather let user > invoke its functions by their will. > > Do not hard code paths, like: > "c:/sound-samples/emacs/appt-pause-break.wav" but you should include > such files in the package.tar.gz, read instructions how to do that. > > thank you > Parenthesis shall end together, not like this: > > (defun manifest--log-message (msg) > (save-excursion > (set-buffer manifest--buffer) > (goto-char (point-max)) > (setq latest-file (manifest--get-latest-file)) > (insert msg "\n") > ) > ) > > rather like: > > (defun manifest--log-message (msg) > (save-excursion > (set-buffer manifest--buffer) > (goto-char (point-max)) > (setq latest-file (manifest--get-latest-file)) > (insert msg "\n"))) > I prefer my own way of doing things, but I might have a solution that patches the files automatically before uploading them. > `defun' shall rather have its docstring or descriptions. > > And other issues. I am sure you may find useful functions for other > users to be published in your new packages. > > > Installation issues: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > You have made Makefile that will probably work on your system only. I > have not tried it, as I am afraid of my file system being changed > capriciously. > > > Licensing issues: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Emacs is licensed under GPL version 3 and later, thus all Emacs > packages that modify Emacs as whole program shall be published shall > be published under compatible license. > > In the package bundle I found only "Copyright (C) 2014-2015 Davin > Pearson" as in the file dmp-css.el. > > And I know you are generating compatible licenses, however, one cannot > just easily draw such conclusion without knowing that you could maybe > do that with m4, it means, at first sight, some users would or could > give up in getting packages. > > > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > In support of Richard M. Stallman > https://stallmansupport.org/ > --0000000000005e070a05e3a34b56 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Sun, 10 Jul 2022 at 23:46, Jean Louis = <bugs@gnu.support> wrote:
* Davin Pearson <davin.pearson@gmail.com> [2022-07-10 06:39]: > Click on the following link to take you to a gallery of Emacs
> screenshots showing the hows and whys I have added my own personal
> additions to Emacs.
>
> http://davinpearson.nz/screenshots

Thanks David, those may be useful features for Emacs.
=
My name is Davin not David.=C2=A0 I get this all=C2=A0 the t= ime.
=C2=A0
I suggest that you read Emacs Lisp Manual and try understanding how to
make an Emacs package. This is because you have got many features and
other languages combined in package software package. It is better
separating it.

You may evaluate this below:

(info "(elisp) Packaging")

When you start writing Emacs file you better set it up as proper
package that may be installed with M-x package-install-file or M-x
package-install-from-buffer

I may recommend my package to help with it:

Emacs: `package-header.el` your hj=C3=A4lpsam Package Header Assistant: https://hype= rscope.link/3/7/7/3/0/Your-hj=C3=A4lpsam-Package-Header-Assistant-37730.htm= l

I do understand that you maybe use m4 to insert those package header
snippets.

In general you do follow the guidelines. Let us say "yes.el", it<= br> misses `provide' on the end, and M-x package-install-from-buffer fails<= br> due to missing headers. Do you really want global scoping there?

File: xyzdmp-reddy.el contains just "sdfsdsdf", is that wanted?

The purpose of this file is a verify tha= t the syntax-highlighting works.
=C2=A0
Instead of trying to update all files, I think you should have them
separated by their functionality and make separate packages.

Once packages are ready feel free to send them to this mailing list
for possible inclusion in ELPA. What do you think about it?


Naming issues:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Please note that while it is possible, you should rather name your
modes like `css-mode` to be something else than those already well
common functions in main Emacs. For example, as you said, you could
name it `dmp-css-mode` as your function would overwrite the already
existing `css-mode'in Emacs.


Coding or style issues:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

I do not recommend `progn` standing alone in packages, seetting
load-path and requiring `dotmacs. It is better you prepare package
header properly, that will make your dependencies clear.

`defun` shall placed always after one empty line.

=
ok I've got you on this point.

You should not execute programs in packages or files, rather let user
invoke its functions by their will.

Do not hard code paths, like:
"c:/sound-samples/emacs/appt-pause-break.wav" but you should incl= ude
such files in the package.tar.gz, read instructions how to do that.

thank you
=C2=A0
Parenthesis shall end together, not like this:

(defun manifest--log-message (msg)
=C2=A0 (save-excursion
=C2=A0 =C2=A0 (set-buffer manifest--buffer)
=C2=A0 =C2=A0 (goto-char (point-max))
=C2=A0 =C2=A0 (setq latest-file (manifest--get-latest-file))
=C2=A0 =C2=A0 (insert msg "\n")
=C2=A0 =C2=A0 )
=C2=A0 )

rather like:

(defun manifest--log-message (msg)
=C2=A0 (save-excursion
=C2=A0 =C2=A0 (set-buffer manifest--buffer)
=C2=A0 =C2=A0 (goto-char (point-max))
=C2=A0 =C2=A0 (setq latest-file (manifest--get-latest-file))
=C2=A0 =C2=A0 (insert msg "\n")))

=
I prefer my own way of doing things, but I might have
a solu= tion=C2=A0 that patches the files automatically before
uploading = them.
=C2=A0
`defun' shall rather have its docstring or descriptions.

And other issues. I am sure you may find useful functions for other
users to be published in your new packages.


Installation issues:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

You have made Makefile that will probably work on your system only. I
have not tried it, as I am afraid of my file system being changed
capriciously.


Licensing issues:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Emacs is licensed under GPL version 3 and later, thus all Emacs
packages that modify Emacs as whole program shall be published shall
be published under compatible license.

In the package bundle I found only "Copyright (C) 2014-2015 Davin
Pearson" as in the file dmp-css.el.

And I know you are generating compatible licenses, however, one cannot
just easily draw such conclusion without knowing that you could maybe
do that with m4, it means, at first sight, some users would or could
give up in getting packages.


--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/
--0000000000005e070a05e3a34b56--