All contributions are welcome!
The following things are probably always needed:
Please try to be constructive, if you have a bug. Try to detail how to reproduce the error so we can try to fix it. Also try to run the latest version of webpaste alone without alot of other packages.
Just start emacs like this: emacs -Q
. Then paste the example below to set
up webpaste (also eval the buffer M-x eval-buffer RET
).
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(package-refresh-contents)
(package-install 'webpaste)
(require 'webpaste)
(global-set-key (kbd "C-c C-p C-b") 'webpaste-paste-buffer)
(global-set-key (kbd "C-c C-p C-r") 'webpaste-paste-region)
After that you do the settings you need to reproduce it (like providers and other stuff).
MELPA has a good section about code style. And since this package is in MELPA, we should aim to follow their guidelines even though the package is already included.
Never leave trailing spaces on a line in any file. And end all files with exactly one newline. Not more or less than that.
All lines should be indented with spaces only. Tabs aren’t allowed.
If you do changes to comments anywhere, run M-x checkdoc
in that buffer to
check the documentation style guidelines.
Please run flycheck with flycheck-package in your editor to get hints and highlights of errors. Only one error is allowed in each file.
In webpaste.el this allowed error is:
Cannot open load file: No such file or directory, request
This is due to the (require 'request)
at the beginning of the file. This is
ok that it fails. All other errors must be fixed. For example documentation
and other hints.
And for the tests it’s okay with another error which is:
Cannot open load file: No such file or directory, webpaste
This is due to the same reasons as above.
Make sure the tests works, for regular unit tests. Just run make unit
. If
you have changed something that might affect providers functionality or just
want to make sure all the providers works, you can run make integration
.