OSDN Git Service

Add short chapter in developer's guide on formatting source code.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Wed, 2 Feb 2000 16:25:04 +0000 (16:25 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Wed, 2 Feb 2000 16:25:04 +0000 (16:25 +0000)
doc/src/sgml/postgres.sgml
doc/src/sgml/programmer.sgml
doc/src/sgml/sources.sgml [new file with mode: 0644]

index 19e5c52..2546ef0 100644 (file)
@@ -91,6 +91,7 @@
 <!entity page     SYSTEM "page.sgml">
 <!entity protocol SYSTEM "protocol.sgml">
 <!entity signals  SYSTEM "signals.sgml">
+<!entity sources  SYSTEM "sources.sgml">
 ]>
 <!-- entity manpages SYSTEM "man/manpages.sgml" subdoc -->
 <Book Id="postgres">
@@ -268,6 +269,7 @@ Your name here...
     suggestions for future development.
    </Para>
   </PartIntro>
+   &sources;
    &arch-dev;
    &options;
    &geqo;
index f6c465a..8f26bb4 100644 (file)
@@ -1,9 +1,12 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.20 1999/12/06 16:37:11 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.21 2000/02/02 16:25:04 thomas Exp $
 
 Postgres Programmer's Guide.
 
 $Log: programmer.sgml,v $
+Revision 1.21  2000/02/02 16:25:04  thomas
+Add short chapter in developer's guide on formatting source code.
+
 Revision 1.20  1999/12/06 16:37:11  thomas
 Remove references to PostgreSQL as "public-domain" since that has a
  specific meaning wrt copyright (or lack thereof).
@@ -81,6 +84,7 @@ Make new file current.sgml to hold release info for the current release.
 <!entity page     SYSTEM "page.sgml">
 <!entity protocol SYSTEM "protocol.sgml">
 <!entity signals  SYSTEM "signals.sgml">
+<!entity sources  SYSTEM "sources.sgml">
 ]>
 
 <book id="programmer">
@@ -187,6 +191,7 @@ Disable it until we put in some info.
  
 <!-- development -->
  
+  &sources;
   &arch-dev; 
   &options;
   &geqo;
@@ -214,7 +219,7 @@ Disable it until we put in some info.
 
 <!-- Keep this comment at the end of the file
 Local variables:
-mode: sgml
+mode:sgml
 sgml-omittag:nil
 sgml-shorttag:t
 sgml-minimize-attributes:nil
@@ -224,7 +229,7 @@ sgml-indent-data:t
 sgml-parent-document:nil
 sgml-default-dtd-file:"./reference.ced"
 sgml-exposed-tags:nil
-sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-catalogs:("/usr/lib/sgml/CATALOG")
 sgml-local-ecat-files:nil
 End:
 -->
diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml
new file mode 100644 (file)
index 0000000..08a5e60
--- /dev/null
@@ -0,0 +1,76 @@
+ <chapter>
+  <title>Postgres Source Code</title>
+
+  <sect1>
+   <title>Formatting</title>
+
+   <para>
+    Source code formatting uses a 4 column tab spacing, currently with 
+    tabs preserved (i.e. tabs are not expanded to spaces).
+   </para>
+
+   <para>
+    For emacs, add the following (or something similar)
+    to your <filename>~/.emacs</filename> 
+    initialization file:
+
+    <programlisting>
+;; check for files with a path containing "postgres" or "pgsql"
+(setq auto-mode-alist (cons '("\\(postgres\\|pgsql\\).*\\.[ch]\\'" . pgsql-c-mode) auto-mode-alist))
+(setq auto-mode-alist (cons '("\\(postgres\\|pgsql\\).*\\.cc\\'" . pgsql-c-mode) auto-mode-alist))
+
+(defun pgsql-c-mode ()
+  ;; sets up formatting for Postgres C code
+  (interactive)
+  (c-mode)
+  (setq-default tab-width 4)
+  (c-set-style "bsd")             ; set c-basic-offset to 4, plus other stuff
+  (c-set-offset 'case-label '+)   ; tweak case indent to match PG custom
+  (setq indent-tabs-mode t))      ; make sure we keep tabs when indenting
+    </programlisting>
+   </para>
+
+   <para>
+    For <application>vi</application>, your
+    <filename>~/.vimrc</filename> or equivalent file should contain
+    the following:
+
+    <programlisting>
+set tabstop=4
+    </programlisting>
+
+    or equivalently from within vi, try
+
+    <programlisting>
+:set ts=4
+    </programlisting>
+   </para>
+
+   <para>
+    The text browsing tools <application>more</application> and
+    <application>less</application> can be invoked as
+
+    <programlisting>
+more -x4
+less -x4
+    </programlisting>
+   </para>
+  </sect1>
+ </chapter>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode:sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"./reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:("/usr/lib/sgml/CATALOG")
+sgml-local-ecat-files:nil
+End:
+-->