emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Special Event: Davin reveals his own personal additions to Emacs.


From: Jean Louis
Subject: Re: Special Event: Davin reveals his own personal additions to Emacs.
Date: Sun, 10 Jul 2022 14:45:26 +0300
User-agent: Mutt/+ () (2022-06-11)

* 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.

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?

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.

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.

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")))

`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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]