#+author: conao3 #+date: <2019-06-04 Tue> * Contributing leaf.el Here is how software developers can contribute to ~leaf.el~. ~leaf.el~ is planning to attach to Emacs, so you need to sign FSF to promote it. ** Copyright assignments Fill below form and send . You also find more information at org-mode's [[https://orgmode.org/worg/org-contribute.html#copyright-issues][contribution page]]. #+begin_example Please email the following information to assign@gnu.org, and we will send you the assignment form for your past and future changes. Please use your full legal name (in ASCII characters) as the subject line of the message. ---------------------------------------------------------------------- REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES [What is the name of the program or package you're contributing to?] leaf.el, which is planned to be included in ELPA, the Emacs official package archive. [Did you copy any files or text written by someone else in these changes? Even if that material is free software, we need to know about it.] [Do you have an employer who might have a basis to claim to own your changes? Do you attend a school which might make such a claim?] [For the copyright registration, what country are you a citizen of?] [What year were you born?] [Please write your email address here.] [Please write your postal address here.] [Which files have you changed so far, and which new files have you written so far?] #+end_example ** Testing leaf.el ~leaf.el~ has a lot of testcase and *every commit* pass them. And you also solve all warnings of byte-compiler except backquote issue. #+begin_src bash # fork leaf.el on GitHub. cd /your/working/dir git clone git@github.com:{you}/leaf.el.git cd leaf.el # install git-hook in /your/working/dir/leaf.el/.git make # Change leaf.el code and commit. git add . git commit # Run test before commit automatically. : # If fail testcase, the commit is refused. # push your repository and create pull-request. git push origin master #+end_src If you get output like this, my request will be satisfied. #+begin_src bash git commit docker run -itd --name B06273B-emacs-test--ubuntu-min-23.4 conao3/emacs:ubuntu-min-23.4 /bin/sh > /dev/null docker run -itd --name B06273B-emacs-test--ubuntu-min-24.1 conao3/emacs:ubuntu-min-24.1 /bin/sh > /dev/null docker run -itd --name B06273B-emacs-test--ubuntu-min-24.5 conao3/emacs:ubuntu-min-24.5 /bin/sh > /dev/null docker run -itd --name B06273B-emacs-test--ubuntu-min-25.1 conao3/emacs:ubuntu-min-25.1 /bin/sh > /dev/null docker run -itd --name B06273B-emacs-test--alpine-min-25.3 conao3/emacs:alpine-min-25.3 /bin/sh > /dev/null docker run -itd --name B06273B-emacs-test--alpine-min-26.1 conao3/emacs:alpine-min-26.1 /bin/sh > /dev/null docker run -itd --name B06273B-emacs-test--alpine-min-26.2 conao3/emacs:alpine-min-26.2 /bin/sh > /dev/null Loading /test/cort-test.el (source)... In toplevel form: leaf.el:413:1:Warning: !! The file uses old-style backquotes !! This functionality has been obsolete for more than 10 years already and will be removed soon. See (elisp)Backquote in the manual. Wrote /test/leaf.elc Wrote /test/leaf.elc Wrote /test/leaf.elc Loading /test/cort-test.el (source)... Loading /test/cort-test.el (source)... Loading /test/cort-test.el (source)... Loading /test/cort-test.el (source)... Loading /test/cort-test.el (source)... Loading /test/cort-test.el (source)... ===== Run 215 Tests, 215 Expected, 0 Failed, 0 Errored on Emacs-23.4.1 ===== ===== Run 220 Tests, 220 Expected, 0 Failed, 0 Errored on Emacs-24.1.1 ===== ===== Run 220 Tests, 220 Expected, 0 Failed, 0 Errored on Emacs-24.5.1 ===== ===== Run 220 Tests, 220 Expected, 0 Failed, 0 Errored on Emacs-25.1.1 ===== ===== Run 220 Tests, 220 Expected, 0 Failed, 0 Errored on Emacs-25.3.1 ===== ===== Run 220 Tests, 220 Expected, 0 Failed, 0 Errored on Emacs-26.1 ===== ===== Run 220 Tests, 220 Expected, 0 Failed, 0 Errored on Emacs-26.2 ===== #+end_src You also use ~make check~ to show all test log and ~make allcheck~ to show all test log of all Emacs. ** Add testcase You solve some issue or you add some new keywords, you should add testcase to ensure leaf.el work well in the future. I don't care where it is. Create a new cort-test block or add a test to an existing testcase block. If testcases cited in the README, it should also be corrected.