mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
Reformatted and regrouped.
This commit is contained in:
parent
0dcbc17a4e
commit
d2bd3d8dce
1 changed files with 23 additions and 19 deletions
42
HACKING
42
HACKING
|
@ -1,5 +1,7 @@
|
||||||
Here are some guidelines for members of the Guile developers team.
|
Here are some guidelines for members of the Guile developers team.
|
||||||
|
|
||||||
|
CVS conventions ======================================================
|
||||||
|
|
||||||
- We use CVS to manage the Guile sources. The repository lives on
|
- We use CVS to manage the Guile sources. The repository lives on
|
||||||
egcs.cygnus.com, in /egcs/carton/cvsfiles; you will need an account on
|
egcs.cygnus.com, in /egcs/carton/cvsfiles; you will need an account on
|
||||||
that machine to access the repository. Also, for security reasons,
|
that machine to access the repository. Also, for security reasons,
|
||||||
|
@ -30,22 +32,31 @@ The Guile sources live in several modules:
|
||||||
- guile-oops --- The Guile Object-Oriented Programming System (talk to mdj)
|
- guile-oops --- The Guile Object-Oriented Programming System (talk to mdj)
|
||||||
- guile-www --- A Guile module for making HTTP requests.
|
- guile-www --- A Guile module for making HTTP requests.
|
||||||
|
|
||||||
- As for any part of Project GNU, changes to Guile should follow the
|
- We check Makefile.in and configure files into CVS, as well as the
|
||||||
GNU coding standards. The standards are available via anonymous FTP
|
files they are built from (Makefile.am, configure.in); we do not check
|
||||||
from prep.ai.mit.edu, as /pub/gnu/standards/standards.texi and
|
in Makefiles or header files generated by configuration scripts. The
|
||||||
make-stds.texi.
|
|
||||||
|
|
||||||
- Check Makefile.in and configure files into CVS, as well as any files
|
|
||||||
used to create them (Makefile.am, configure.in); don't check in
|
|
||||||
Makefiles or header files generated by configuration scripts. The
|
|
||||||
general rule is that you should be able to check out a working
|
general rule is that you should be able to check out a working
|
||||||
directory of Guile from CVS, and then type "configure" and "make".
|
directory of Guile from CVS, and then type "configure" and "make",
|
||||||
|
without running any other tools.
|
||||||
|
|
||||||
- Make sure your changes compile and work, at least on your own
|
- Make sure your changes compile and work, at least on your own
|
||||||
machine, before checking them into the main branch of the Guile
|
machine, before checking them into the main branch of the Guile
|
||||||
repository. If you really need to check in untested changes, make a
|
repository. If you really need to check in untested changes, make a
|
||||||
branch.
|
branch.
|
||||||
|
|
||||||
|
- Include each log entry in both the ChangeLog and in the CVS logs.
|
||||||
|
If you're using Emacs, the pcl-cvs interface to CVS has features to
|
||||||
|
make this easier; it checks the ChangeLog, and generates good default
|
||||||
|
CVS log entries from that.
|
||||||
|
|
||||||
|
|
||||||
|
Coding standards =====================================================
|
||||||
|
|
||||||
|
- As for any part of Project GNU, changes to Guile should follow the
|
||||||
|
GNU coding standards. The standards are available via anonymous FTP
|
||||||
|
from prep.ai.mit.edu, as /pub/gnu/standards/standards.texi and
|
||||||
|
make-stds.texi.
|
||||||
|
|
||||||
- When you make a user-visible change (i.e. one that should be
|
- When you make a user-visible change (i.e. one that should be
|
||||||
documented, and appear in NEWS, put an asterisk in column zero of the
|
documented, and appear in NEWS, put an asterisk in column zero of the
|
||||||
start of the ChangeLog entry, like so:
|
start of the ChangeLog entry, like so:
|
||||||
|
@ -58,11 +69,6 @@ When you've written a NEWS entry and updated the documentation, go
|
||||||
ahead and remove the asterisk. I will use the asterisks to find and
|
ahead and remove the asterisk. I will use the asterisks to find and
|
||||||
document changes that haven't been dealt with before a release.
|
document changes that haven't been dealt with before a release.
|
||||||
|
|
||||||
- Include each log entry in both the ChangeLog and in the CVS logs.
|
|
||||||
If you're using Emacs, the pcl-cvs interface to CVS has features to
|
|
||||||
make this easier; it checks the ChangeLog, and generates good default
|
|
||||||
CVS log entries from that.
|
|
||||||
|
|
||||||
- There's no need to keep a change log for documentation files. This
|
- There's no need to keep a change log for documentation files. This
|
||||||
is because documentation is not susceptible to bugs that are hard to
|
is because documentation is not susceptible to bugs that are hard to
|
||||||
fix. Documentation does not consist of parts that must interact in a
|
fix. Documentation does not consist of parts that must interact in a
|
||||||
|
@ -70,11 +76,6 @@ precisely engineered fashion; to correct an error, you need not know
|
||||||
the history of the erroneous passage. (This is copied from the GNU
|
the history of the erroneous passage. (This is copied from the GNU
|
||||||
coding standards.)
|
coding standards.)
|
||||||
|
|
||||||
- If you add or remove files, don't forget to update the appropriate
|
|
||||||
part of the relevant Makefile.am files, and regenerate the
|
|
||||||
Makefile.in. If you forget this, the snapshot and distribution
|
|
||||||
processes will not work.
|
|
||||||
|
|
||||||
- Make sure you have papers from people before integrating their
|
- Make sure you have papers from people before integrating their
|
||||||
changes or contributions. This is very frustrating, but very
|
changes or contributions. This is very frustrating, but very
|
||||||
important to do right. From maintain.texi, "Information for
|
important to do right. From maintain.texi, "Information for
|
||||||
|
@ -100,6 +101,9 @@ until we have the necessary papers.
|
||||||
- When you make substantial changes to a file, add the current year to
|
- When you make substantial changes to a file, add the current year to
|
||||||
the list of years in the copyright notice at the top of the file.
|
the list of years in the copyright notice at the top of the file.
|
||||||
|
|
||||||
|
|
||||||
|
Helpful hints ========================================================
|
||||||
|
|
||||||
- [From Mikael Djurfeldt] When working on the Guile internals, it is
|
- [From Mikael Djurfeldt] When working on the Guile internals, it is
|
||||||
quite often practical to implement a scheme-level procedure which
|
quite often practical to implement a scheme-level procedure which
|
||||||
helps you examine the feature you're working on.
|
helps you examine the feature you're working on.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue