GUIDLINES FOR CONTRIBUTORS ADDING A NEW LIBRARY 0. This library only accepts code with the modified bsd license in the (generated) file COPYING. 1. Create a new subdirectory of s48 or scsh for your library. Only touch files in your library's tree. 2. Your library's tree should have at least these files: AUTHORS -- (CHANGED in Sunterlib 0.6) a list of your library's copyright(s), keep the year up to date if you make changes to your library. If the code is from the public domain, then substitute "Public Domain" for "Copyright". BLURB -- a one or two line description of your library. It should start with the name of your library's directory followed by a colon. NEWS -- (NEW in Sunterlib 0.6) each contributed library has its own version number. Start with whatever version number is appropriate for your library. To avoid releasing different versions under the same number, if the Sunterlib version has changed, then bump the local version number before changing your library. Remember to keep the local NEWS file up to date with your library. Remember to keep the version number up to date with your package definition. pkg-def.scm -- (NEW in Sunterlib 0.6) the package definition for your library. Use the COPYING procedure to generate the COPYING file. For an example, see s48/args-fold/pkg-def.scm Our administration and the build systems depends on those files. README -- a text file documenting your library. Recomended package.scm -- (WAS interfaces.scm, packages.scm before Sunterlib 0.6) the interfaces and packages defined by your library. Recomended 3. Add an entry for your library to the NEWS file in the top-level directory of Sunterlib. CONVENTIONS Sunterlib welcomes contributions from many authors. Please help keep spacing consistant in the library: 1. Don't commit files indented with tabs. In (x)emacs, use: (setq-default indent-tabs-mode nil) 2. Use linefeed to end lines, not CR or CR-LF. 3. Don't commit files with trailing spaces. In (x)emacs, use "remove-trailing-spaces" use: (defun remove-trailing-spaces () "Remove trailing spaces from the end of the lines in the buffer" (interactive) (let ((p (point)) s) ;; Check for, and potentially remove whitespace appearing at the ;; end of different lines. (progn (goto-char (point-min)) ;; search for anything, but space, taab or newline: [^ \t\n]. ;; Record a matched substirng consisting of ;; one or more spaces and tabs: \\([ \t]) ;; at the end of the line: & ;; (while ;; (re-search-forward "[^ \t\n]\\([ \t]+\\)$" nil t) (re-search-forward "\\([ \t]+\\)$" nil t) (message "found trailing space at %d-%d" (match-beginning 0) (match-end 0)) (delete-region (match-beginning 0) (match-end 0))) (goto-char p) ; restore cursor nil))) If you want to make remove-trailing-spaces automatically, then this after-save-hook will check for trailing spaces AFTER every save. You can use undo to revert the modification (before saving the trimmed version) in the rare case that removing trailing spaces is not desired: (add-hook 'after-save-hook 'remove-trailing-spaces)