forked from fizx/libbow-osx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HACKING
74 lines (57 loc) · 2.6 KB
/
HACKING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
This file provides information for developers of `libbow'.
Source code revision control
============================
The BOW software package is revision-control-maintained as a CVS
repository, with CVS version 1.9.
CVS is available at ftp://ftp.gnu.org. Documentation is
available in texinfo format.
The repository used to be publically available, but due to firewall
constraints is not longer. If you are inside the firewall and have
checked out libbow, in order to compile libbow, you'll have to
create `./configure' from `./configure.in' by typing (in the bow
directory)
autoconf
(cd argp ; autoconf)
You must have the autoconf program installed on your system. It is
available from ftp://ftp.gnu.org/pub/gnu or its mirrors.
Coding standards
================
BOW coding follows the GNU coding standards. The standards are
described in a text file at
ftp://ftp.gnu.org/pub/gnu/GNUinfo/standards/standards.text
Please follow these standards in your code additions to BOW.
CVS and ChangeLog and emacs
===========================
BOW uses a GNU-style ChangeLog to document source code changes.
Please read the section of the GNU Coding Standards that describes
appropriate kinds of entries.
Please, please, please make a ChangeLog entry and CVS Commit Log
Message for every change you commit.
This process is highly facilitated by the use of emacs' cvs-mode,
and following emacs-lisp code:
(add-hook 'vc-checkin-hook 'vc-checkin-add-log)
;;; Insert the file's new log entries in ChangeLog.
(defun vc-checkin-add-log ()
(let ((log (find-change-log)))
(and log
(y-or-n-p (format "Update %s for %s changes? "
(file-relative-name log)
(file-relative-name buffer-file-name)))
(vc-comment-to-change-log nil log))))
(defadvice vc-checkin (around guess-defun compile activate)
"Insert a guessed defun name from `add-log-current-defun'."
(let ((defun-guess (and (not (ad-get-arg 2))
(equal (abbreviate-file-name
(file-truename (ad-get-arg 0)))
buffer-file-truename)
(add-log-current-defun))))
(prog1 ad-do-it
(if defun-guess
(insert "(" defun-guess "): ")))))
(setq vc-make-backup-files t)
(setq vc-initial-comment t)
Read the information about emacs' interface to CVS in the emacs
texinfo documentation. The above code adds extra functionality to
this interface---it offers to automatically create a ChangeLog
entry from the CVS commit message you type in the `*VC-Log*'
buffer.