Improve shell parser: add `alias` kind and fix comments/quotes
withdraw ctags.conf.d patch

In 30b1c6f7a4bff6a1f88bcdf9eac81073056cb58b I introduced code
which loads option files under
/etc/ctags.conf.d, /usr//local/etc/ctags.conf.d and ~/.ctags.d
automatically when ctags process starts.

Withdraw the patch here. After learning systemd I have recognized that
there are two purposes for installing option files to a directory: (1)
autoload, a user want to specify a set of option files to be loaded
automatically when ctags starts, and (2) library, a user wants to
stock common (or popular) option files and enable them when needed.

/etc/ctags.conf.d, /usr//local/etc/ctags.conf.d and ~/.ctags.d are
not enough to handle these tow purposes.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
set fishman-ctags own values to PROGRAM_NAME and PROGRAM_URL

To avoid a bug of fishman-ctags being reported to
exuberant-ctags, change the name and url.

TODO: PROGRAM_COPYRIGHT, AUTHOR_NAME and AUTHOR_EMAIL.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add /usr/share/ctags/{configs,corpora} to {ConfigPathList,CorpusPathList}

All config files and corpus files maintained in as part of fishman-ctags will
go these directory.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add /etc/ctags/{configs,corpora} to {ConfigPathList,CorpusPathList}

All config files and corpus files introduced or customized by the user site
will go these directory. These directories take precedence over /usr/share/ctags.

Consider following command line:

	 $ ctags --options=mib ...

In this case mib.ctags is searched following directories with following order:

/etc/ctags/configs/mib.ctags
/usr/share/ctags/configs/mib.ctags

If CTAGS_DATA_PATH environment variable is given, it takes precedence over
above built-in two directories.

	 $ CTAGS_DATA_PATH=A:B ctags --options=mib ...

In this case mib.ctags is searched following directories with following order:

A/mib.ctags
B/mib.ctags
/etc/ctags/configs/mib.ctags
/usr/share/ctags/configs/mib.ctags

Data search path can be specified with --data-dir=[+]DIR option, too.
--data-dir takes precedence over above built-in two directories and
the environment variable.

	 $ CTAGS_DATA_PATH=A:B ctags --data-dir=+DIR --options=mib ...

In this case mib.ctags is searched following directories with following order:

DIR/mib.ctags
A/mib.ctags
B/mib.ctags
/etc/ctags/configs/mib.ctags
/usr/share/ctags/configs/mib.ctags

	 $ CTAGS_DATA_PATH=A:B ctags --data-dir=DIR --options=mib ...

In this case mib.ctags is searched just DIR/mib.ctags.
This is useful to write a test case for a parser.

NOTE: --data-dir option affects after loading ~/.ctags.

TODO: .ctags.d under home directory.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: introduce gethome()

The ways to get home directory are different in platforms.
The knowledge of the difference should be maintained in
a single place.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Split sh unit tests into several dirs
Add 'ash' as extension and alias for 'sh'
add ~/.ctags.d/{configs,corpora} to {ConfigPathList,CorpusPathList}

TODO: MSDOS_STYLE_PATH
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add "Option library" and "Loading option recursively"

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Merge pull request #81 from blueyed/sh-add-ash-alias

Add 'ash' as extension and alias for 'sh'
Merge pull request #77 from blueyed/improve-sh

Improve shell parser: add `alias` kind and fix comments/quotes
report the command line when a test case is failed

Like this:
Testing Units/option-langmap-ext--pat-ext...passed
Testing Units/option-langmap-pat--ext...FAILED
	differences left in Units/option-langmap-pat--ext.d/DIFF.TMP
	cmdline:  ./ctags --options=NONE --data-dir=Data ...
Testing Units/option-langmap-pat--pat-ext...passed

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
prepare the way to gather test cases for known bugs

We expect tests under Units are passed. If you see "FAILED",
you think there is something wrong.

With the patch we can gather test cases for known bugs.
Gathered test cases are all failed but we know they
waill be failed because we have not fixed bugs associated
with the tests yet. In this case the result message "FAILED"
is not what we want.

Use ".b" as suffix instead of ".d", the message is changed
to "failed but KNOWN bug" even if the test case is failed.

NOTE: Don't add too complext and many test cases as ".b".
Remember ctags is not any kind of compiler or interpreter.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add a document how to write and contribute an option library

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add a test case for heredoc of shell

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Test: Remove show-leak-kinds argument from Valgrind options
write about .b directory

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
rename "configs" to "optlib"

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
recompile if Makefile is changed

The result of compilation depends the value of ALL_CPPFLAGS variable
of Makefile.in. In other words *.o should be compiled again when
Makefile is changed. This pacth adds Makefile to prerequisites of
$(OBJECTS) target.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>