~bzg/org-merge-driver

9acb13780be0853ca315e61237134b27bcbf159d — Andrew Young 10 years ago 0be446e
Add GPL License header to source files
M COPYING => COPYING +0 -52
@@ 620,55 620,3 @@ copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

M Makefile.am => Makefile.am +3 -0
@@ 3,3 3,6 @@ ACLOCAL_AMFLAGS = -I m4
SUBDIRS =  gnulib/lib src doc . tests
dist_doc_DATA = README
EXTRA_DIST = autogen.sh m4/gnulib-cache.m4

splint :
	splint -I./gnulib/lib -I. -I./src src/*.c

M src/debug.h => src/debug.h +16 -0
@@ 3,6 3,22 @@
 * #define DEBUG_FILE "debug.h"
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef DEBUG_H
#define DEBUG_H


M src/doc_elt.h => src/doc_elt.h +17 -0
@@ 1,6 1,23 @@
/**
 * @file doc_elt.h
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef DOC_ELT_H
#define DOC_ELT_H


M src/doc_elt_ops.h => src/doc_elt_ops.h +16 -0
@@ 2,6 2,22 @@
 * @file doc_elt_ops.h
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef DOC_ELT_OPS
#define DOC_ELT_OPS


M src/doc_elt_util.h => src/doc_elt_util.h +18 -0
@@ 1,6 1,24 @@
/**
 * @file doc_elt_util.h
 * @brief A collection of utilities for implementing document elements
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef DOC_ELT_UTIL
#define DOC_ELT_UTIL


M src/doc_ref.c => src/doc_ref.c +16 -0
@@ 2,6 2,22 @@
 * @file doc_ref.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include <stdlib.h>
#include <string.h>
#include "debug.h"

M src/doc_ref.h => src/doc_ref.h +16 -0
@@ 2,6 2,22 @@
 * @file doc_ref.h
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef DOC_REF_H
#define DOC_REF_H


M src/doc_stream.h => src/doc_stream.h +16 -0
@@ 2,6 2,22 @@
 * @file doc_stream.h
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef DOC_STREAM_H
#define DOC_STREAM_H


M src/main.c => src/main.c +21 -2
@@ 1,3 1,24 @@
/**
 * @file main.c
 * @brief Main entry point
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include "config.h"
#include <stdbool.h>
#include <stdlib.h>


@@ 15,9 36,7 @@
#include "print.h"
#include "doc_elt.h"
#include "org_document.h"
//#include "doc_elt_ops.h"
#include "org_parser.h"
//#include "smerger.h"

struct arguments;
typedef struct arguments arguments;

M src/merge_ctxt.c => src/merge_ctxt.c +20 -0
@@ 1,3 1,23 @@
/**
 * @file merge_ctxt.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include "stdlib.h"
#include "string.h"
#include "config.h"

M src/merge_ctxt.h => src/merge_ctxt.h +16 -0
@@ 5,6 5,22 @@
 * matching and merging process, along with all associated functions.
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef MERGE_CTXT_H
#define MERGE_CTXT_H


M src/org_document.c => src/org_document.c +17 -0
@@ 2,6 2,23 @@
 * @file org_document.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */


#include "debug.h"
#include "config.h"
#include "gl_array_list.h"

M src/org_document.h => src/org_document.h +19 -0
@@ 1,6 1,25 @@
/**
 * @file org_document.h
 * @brief Defines the root document element
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */


#ifndef ORG_DOCUMENT_H
#define ORG_DOCUMENT_H


M src/org_heading.c => src/org_heading.c +17 -0
@@ 2,6 2,23 @@
 * @file org_heading.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */


#include <stdlib.h>
#include <string.h>
#include <stdbool.h>

M src/org_heading.h => src/org_heading.h +18 -0
@@ 1,7 1,25 @@
/**
 * @file org_heading.h
 * @brief Defines an org mode heading
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */


#ifndef ORG_HEADING_H
#define ORG_HEADING_H


M src/org_lexer.c => src/org_lexer.c +33 -16
@@ 476,6 476,23 @@ static yyconst flex_int16_t yy_chk[117] =
#line 1 "org_lexer.l"
/* Org Mode file lexer -*-c-*- */
#line 3 "org_lexer.l"

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

 /* Org Mode lexer */
#include <stdio.h>
#include <stdlib.h>


@@ 498,7 515,7 @@ void headline_aoeaoe (org_heading *heading, char *string, size_t len, yyscan_t s
/* Rule Start Conditions */


#line 502 "org_lexer.c"
#line 519 "org_lexer.c"

#define INITIAL 0
#define heading 1


@@ 731,7 748,7 @@ YY_DECL
	register int yy_act;
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;

#line 32 "org_lexer.l"
#line 49 "org_lexer.l"


 /*


@@ 739,7 756,7 @@ YY_DECL
  * "** Heading blah blah "
  */
 /* start of a heading */
#line 743 "org_lexer.c"
#line 760 "org_lexer.c"

	if ( !yyg->yy_init )
		{


@@ 832,7 849,7 @@ do_action:	/* This label is used only to access EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
#line 39 "org_lexer.l"
#line 56 "org_lexer.l"
{
   debug_msg (LEXER, 4, "heading start\n");



@@ 870,7 887,7 @@ YY_RULE_SETUP
/* start of a plain text segment */
case 2:
YY_RULE_SETUP
#line 74 "org_lexer.l"
#line 91 "org_lexer.l"
{
  BEGIN(text);
  yymore ();


@@ 881,7 898,7 @@ YY_RULE_SETUP
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
#line 81 "org_lexer.l"
#line 98 "org_lexer.l"
{
  debug_msg (LEXER, 5, "text finish line\n");



@@ 925,7 942,7 @@ YY_RULE_SETUP
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
#line 121 "org_lexer.l"
#line 138 "org_lexer.l"
{
  debug_msg (LEXER, 5, "text add newline\n");



@@ 977,7 994,7 @@ YY_RULE_SETUP
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
#line 169 "org_lexer.l"
#line 186 "org_lexer.l"
{
   debug_msg (LEXER, 3, "property start\n");
   /* Create a temporary data store */


@@ 1004,7 1021,7 @@ YY_RULE_SETUP
/* skip white space */
case 6:
YY_RULE_SETUP
#line 193 "org_lexer.l"
#line 210 "org_lexer.l"
{
  /* store the offset to the start of the value */
  org_property_set_value_length ((org_property *)yyextra->curr_elt, yyextra->src,


@@ 1017,7 1034,7 @@ YY_RULE_SETUP
case 7:
/* rule 7 can match eol */
YY_RULE_SETUP
#line 202 "org_lexer.l"
#line 219 "org_lexer.l"
{
  /* Set the property text.
   * At this point, the values of the property look like this:


@@ 1114,7 1131,7 @@ YY_RULE_SETUP
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
#line 295 "org_lexer.l"
#line 312 "org_lexer.l"
{
   debug_msg (LEXER, 3, "PROPERTIES drawer start\n");
   /* Create a temporary data store */


@@ 1166,7 1183,7 @@ YY_RULE_SETUP
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
#line 343 "org_lexer.l"
#line 360 "org_lexer.l"
{
   debug_msg (LEXER, 3, "END Drawer\n");



@@ 1229,7 1246,7 @@ case YY_STATE_EOF(property_skipwhitespace):
case YY_STATE_EOF(property_value):
case YY_STATE_EOF(property_finish):
case YY_STATE_EOF(property_drawer):
#line 397 "org_lexer.l"
#line 414 "org_lexer.l"
{
  debug_msg (LEXER, 5, "EOF\n");
  if (yyextra->curr_elt != NULL)


@@ 1249,10 1266,10 @@ case YY_STATE_EOF(property_drawer):
	YY_BREAK
case 10:
YY_RULE_SETUP
#line 414 "org_lexer.l"
#line 431 "org_lexer.l"
ECHO;
	YY_BREAK
#line 1256 "org_lexer.c"
#line 1273 "org_lexer.c"

	case YY_END_OF_BUFFER:
		{


@@ 2405,7 2422,7 @@ void yyfree (void * ptr , yyscan_t yyscanner)

#define YYTABLES_NAME "yytables"

#line 414 "org_lexer.l"
#line 431 "org_lexer.l"




M src/org_lexer.h => src/org_lexer.h +1 -1
@@ 332,7 332,7 @@ extern int yylex (yyscan_t yyscanner);
#undef YY_DECL
#endif

#line 414 "org_lexer.l"
#line 431 "org_lexer.l"


#line 339 "org_lexer.h"

M src/org_lexer.l => src/org_lexer.l +17 -0
@@ 1,5 1,22 @@
 /* Org Mode file lexer -*-c-*- */
%{

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

 /* Org Mode lexer */
#include <stdio.h>
#include <stdlib.h>

M src/org_parser.c => src/org_parser.c +20 -0
@@ 1,3 1,23 @@
/**
 * @file org_parser.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

M src/org_parser.h => src/org_parser.h +17 -0
@@ 1,5 1,22 @@
/**
 * @file org_parser.h
 * @brief Parses document elements into a document structure
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef ORG_PARSER_H

M src/org_property.c => src/org_property.c +20 -0
@@ 1,3 1,23 @@
/**
 * @file org_property.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include "debug.h"
#include "print.h"
#include "doc_elt_util.h"

M src/org_property.h => src/org_property.h +18 -0
@@ 1,7 1,25 @@
/**
 * @file org_property.h
 * @brief Defines a property element
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */


#ifndef ORG_PROPERTY_H
#define ORG_PROPERTY_H


M src/org_text.c => src/org_text.c +17 -0
@@ 1,6 1,23 @@
/**
 * @file org_text.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include <stdlib.h>
#include <string.h>
#include <assert.h>

M src/org_text.h => src/org_text.h +21 -0
@@ 1,3 1,24 @@
/**
 * @file org_text.h
 * @brief Defines a text element
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef ORG_TEXT_H
#define ORG_TEXT_H


M src/parse_ctxt.c => src/parse_ctxt.c +20 -0
@@ 1,3 1,23 @@
/**
 * @file parse_ctxt.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include "stdlib.h"
#include "string.h"
#include "config.h"

M src/parse_ctxt.h => src/parse_ctxt.h +16 -0
@@ 7,6 7,22 @@
 * the doc_elts.
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef PARSE_CTXT
#define PARSE_CTXT


M src/print.c => src/print.c +20 -0
@@ 1,3 1,23 @@
/**
 * @file print.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include <stdlib.h>
#include "doc_stream.h"
#include "print_ctxt.h"

M src/print.h => src/print.h +16 -0
@@ 3,6 3,22 @@
 * @brief the print library
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef PRINT_H
#define PRINT_H
#include "doc_stream.h"

M src/print_ctxt.c => src/print_ctxt.c +20 -0
@@ 1,3 1,23 @@
/**
 * @flie print_ctxt.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include "config.h"
#include "debug.h"
#include "print.h"

M src/print_ctxt.h => src/print_ctxt.h +17 -1
@@ 5,9 5,25 @@
 * associated functions.
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef PRINT_CTXT_H
#define PRINT_CTXT_H
//#include "print.h"

#include "stdbool.h"

/**

M src/smerger.c => src/smerger.c +20 -0
@@ 1,3 1,23 @@
/**
 * @flie smerger.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include <string.h>

#include "config.h"

M src/smerger.h => src/smerger.h +16 -0
@@ 8,6 8,22 @@
 * using a document-wide search merger.
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef SMERGER_H
#define SMERGER_H


M src/string_merge.c => src/string_merge.c +20 -0
@@ 1,3 1,23 @@
/**
 * @file string_merge.c
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#include "string.h"
#include "assert.h"
#include "stddef.h"

M src/string_merge.h => src/string_merge.h +18 -0
@@ 1,6 1,24 @@
/**
 * @file string_merge.h
 * @brief Provide utilities for merging strings of text
 */

/*
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either vers* ion 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef STRING_MERGE_H
#define STRING_MERGE_H