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. 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älpsam Package Header Assistant:
https://hyperscope.link/3/7/7/3/0/Your-hjälpsam-Package-Header-Assistant-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:
==============
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:
=======================
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:
====================
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:
==================
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/