Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 83017133de | |||
|
|
f7e79ab403 |
246
Makefile
Executable file → Normal file
246
Makefile
Executable file → Normal file
@ -6,7 +6,7 @@ endif
|
||||
|
||||
all: elisp-all
|
||||
|
||||
elisp-all: org-mode auctex sunrise-commander
|
||||
elisp-all:
|
||||
#elisp-all: ess
|
||||
#apel flim semi wanderlust
|
||||
|
||||
@ -24,12 +24,6 @@ post_clone_cmd-emacswiki :=\
|
||||
echo '!*' > .git/info/sparse-checkout &&\
|
||||
echo '[a-z]*.el' >> .git/info/sparse-checkout
|
||||
|
||||
GIT_DIRS += use-package
|
||||
URL-use-package := https://github.com/jwiegley/use-package.git
|
||||
|
||||
GIT_DIRS += yaml-mode
|
||||
URL-yaml-mode := https://github.com/yoshiki/yaml-mode.git
|
||||
|
||||
#GIT_DIRS += apel
|
||||
#URL-apel := http://github.com/wanderlust/apel.git
|
||||
|
||||
@ -42,44 +36,6 @@ URL-yaml-mode := https://github.com/yoshiki/yaml-mode.git
|
||||
#GIT_DIRS += wanderlust
|
||||
#URL-wanderlust := http://github.com/wanderlust/wanderlust.git
|
||||
|
||||
GIT_DIRS += org-mode
|
||||
URL-org-mode := https://code.orgmode.org/bzg/org-mode.git
|
||||
ifeq (${HOSTENV},w32)
|
||||
post_clone_cmd-emacswiki :=\
|
||||
cd org-mode &&\
|
||||
git config core.filemode false
|
||||
endif
|
||||
|
||||
#GIT_DIRS += gnus
|
||||
#URL-gnus := http://git.gnus.org/gnus.git
|
||||
|
||||
#GIT_DIRS += w3
|
||||
#URL-w3 := http://git.savannah.gnu.org/r/w3.git
|
||||
|
||||
GIT_DIRS += bbdb
|
||||
URL-bbdb := http://git.savannah.gnu.org/r/bbdb.git
|
||||
|
||||
GIT_DIRS += auctex
|
||||
URL-auctex := http://git.savannah.gnu.org/r/auctex.git
|
||||
|
||||
GIT_DIRS += emacs-jabber
|
||||
URL-emacs-jabber := http://git.code.sf.net/p/emacs-jabber/git
|
||||
|
||||
GIT_DIRS += doxymacs
|
||||
URL-doxymacs := git://doxymacs.git.sourceforge.net/gitroot/doxymacs/doxymacs
|
||||
|
||||
GIT_DIRS += htmlize
|
||||
URL-htmlize := http://github.com/emacsmirror/htmlize.git
|
||||
|
||||
#GIT_DIRS += ess
|
||||
#URL-ess := https://github.com/emacs-ess/ESS.git
|
||||
|
||||
GIT_DIRS += sunrise-commander
|
||||
URL-sunrise-commander := https://github.com/escherdragon/sunrise-commander.git
|
||||
|
||||
#BZR_DIRS += dvc
|
||||
#URL-dvc := http://bzr.xsteve.at/dvc
|
||||
|
||||
$(foreach d,$(HG_DIRS) ,$(call eval-vcs-template,HG_TMPL,$d))
|
||||
$(foreach d,$(GIT_DIRS),$(call eval-vcs-template,GIT_TMPL,$d))
|
||||
#$(foreach d,$(GIT_DIRS),$(call info-vcs-template,GIT_TMPL,$d))
|
||||
@ -87,206 +43,6 @@ $(foreach d,$(BZR_DIRS),$(call eval-vcs-template,BZR_TMPL,$d))
|
||||
$(foreach d,$(SVN_DIRS),$(call eval-vcs-template,SVN_TMPL,$d))
|
||||
$(foreach d,$(CVS_DIRS),$(call eval-vcs-template,CVS_TMPL,$d))
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# auctex
|
||||
# #########################################################################
|
||||
.PHONY: auctex
|
||||
auctex/configure: auctex/autogen.sh auctex/configure.ac
|
||||
cd $(@D) && ./autogen.sh
|
||||
|
||||
auctex/Makefile: auctex/configure Makefile | $(DOT_DIR)/share/texmf/.dir
|
||||
cd $(@D) && ./configure\
|
||||
--infodir=$(INFO_DIR)\
|
||||
--datarootdir=$(DOT_DIR)/share\
|
||||
--localstatedir=$(DOT_DIR)/var\
|
||||
--with-lispdir=$(LISP_DIR)\
|
||||
--with-texmf-dir=$(DOT_DIR)/share/texmf\
|
||||
|
||||
auctex: auctex/Makefile
|
||||
$(MAKE) -C $(DIR-$@) clean
|
||||
$(MAKE) -C $(DIR-$@) lisp info install\
|
||||
EMACS="$(EMACS) --eval '(setq vc-handled-backends nil)'"
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# reftex
|
||||
# #########################################################################
|
||||
.PHONY: reftex
|
||||
cd reftex:
|
||||
$(MAKE) -C $(DIR-$@) clean
|
||||
$(MAKE) -C $(DIR-$@) lisp info install\
|
||||
infodir=$(INFO_DIR)\
|
||||
lispdir=$(LISP_DIR)/reftex\
|
||||
EMACS=$(EMACS)
|
||||
|
||||
# #########################################################################
|
||||
# ess
|
||||
# #########################################################################
|
||||
.PHONY: ess
|
||||
ess:
|
||||
-install-info --info-dir=$(INFO_DIR) --remove $(INFO_DIR)/ess.info
|
||||
$(MAKE) -C $(DIR-$@) all install\
|
||||
PREFIX=$(DOT_DIR)\
|
||||
LISPDIR=$(LISP_DIR)/ess\
|
||||
ETCDIR=$(LISP_DIR)/ess/etc\
|
||||
INFODIR=$(INFO_DIR)\
|
||||
EMACS=$(or $(EMACS_CYGWIN),$(call fixpath-shell,$(EMACS)))
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# doxymacs
|
||||
# #########################################################################
|
||||
.PHONY: doxymacs
|
||||
doxymacs/configure: doxymacs/bootstrap doxymacs/configure.ac $(MAKEFILE_LIST)
|
||||
cd $(@D) && ./bootstrap
|
||||
|
||||
doxymacs/Makefile: doxymacs/configure Makefile
|
||||
cd $(@D) && ./configure\
|
||||
--prefix=$(LISP_DIR)/doxymacs\
|
||||
--bindir=$(BIN_DIR)\
|
||||
--with-lispdir=$(LISP_DIR)/doxymacs\
|
||||
|
||||
doxymacs: doxymacs/Makefile $(wildcard doxymacs/lisp/*.el)
|
||||
$(MAKE) -C $(DIR-$@) clean
|
||||
$(MAKE) -C $(DIR-$@) all install\
|
||||
EMACS=$(EMACS)
|
||||
|
||||
# EMACSFLAGS
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# gnus
|
||||
# #########################################################################
|
||||
.PHONY: gnus
|
||||
gnus/configure :| gnus/.git
|
||||
|
||||
gnus/Makefile: $(MAKEFILE_LIST) gnus/configure
|
||||
cd $(@D) && ./configure\
|
||||
--prefix=$(LISP_DIR)/gnus\
|
||||
--infodir=$(INFO_DIR)\
|
||||
|
||||
gnus: gnus/Makefile
|
||||
$(MAKE) -C $(DIR-$@) clean
|
||||
$(MAKE) -C $(DIR-$@) all\
|
||||
EMACS="$(EMACS) --eval '(setq vc-handled-backends nil)'"\
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# dvc
|
||||
# #########################################################################
|
||||
.PHONY: dvc
|
||||
dvc/configure: $(MAKEFILE_LIST) dvc/configure.ac
|
||||
cd $(@D) && autoreconf
|
||||
|
||||
dvc/Makefile: dvc/configure Makefile
|
||||
cd $(@D) && ./configure\
|
||||
--prefix=$(LISP_DIR)/dvc\
|
||||
--with-lispdir=$(LISP_DIR)/dvc\
|
||||
--bindir=$(BIN_DIR)\
|
||||
--infodir=$(INFO_DIR)\
|
||||
|
||||
dvc: dvc/Makefile
|
||||
-install-info --info-dir=$(INFO_DIR) --remove $(INFO_DIR)/dvc.info
|
||||
$(MAKE) -C $(DIR-$@) clean
|
||||
$(MAKE) -C $(DIR-$@) all install\
|
||||
EMACS="$(EMACS) --eval '(setq vc-handled-backends nil)'"\
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# org-mode
|
||||
# #########################################################################
|
||||
.PHONY: org-mode
|
||||
org-mode:
|
||||
-install-info --info-dir=$(INFO_DIR) --remove $(INFO_DIR)/org
|
||||
$(MAKE) -C $(DIR-$@) cleanall\
|
||||
prefix=$(DOT_DIR)\
|
||||
infodir=$(INFO_DIR)\
|
||||
lispdir=$(LISP_DIR)/org-mode\
|
||||
datadir=$(DOT_DIR)/share/org-mode
|
||||
$(MAKE) -C $(DIR-$@) doc install install-info install-lisp\
|
||||
EMACS="$(EMACS) --eval '(setq vc-handled-backends nil)'"\
|
||||
prefix=$(DOT_DIR)\
|
||||
infodir=$(INFO_DIR)\
|
||||
lispdir=$(LISP_DIR)/org-mode\
|
||||
datadir=$(DOT_DIR)/share/org-mode
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# emacs-jabber
|
||||
# #########################################################################
|
||||
.PHONY: emacs-jabber
|
||||
emacs-jabber/configure : $(MAKEFILE_LIST)
|
||||
cd $(@D) && autoreconf -i
|
||||
|
||||
emacs-jabber/Makefile: emacs-jabber/configure
|
||||
cd $(@D) && ./configure
|
||||
|
||||
emacs-jabber: emacs-jabber/Makefile
|
||||
$(MAKE) -C $(DIR-$@) install\
|
||||
EMACS=$(EMACS)\
|
||||
prefix=$(DOT_DIR)\
|
||||
lispdir=$(LISP_DIR)/jabber\
|
||||
infodir=$(INFO_DIR)\
|
||||
libexecdir=$(LISP_DIR)/jabber/bin\
|
||||
abs_builddir=$(call emacspath,$(ELISP_DIR)/emacs-jabber)
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# bbdb
|
||||
# #########################################################################
|
||||
.PHONY: bbdb
|
||||
bbdb/configure : $(MAKEFILE_LIST) bbdb/configure.ac
|
||||
cd $(@D) && autoreconf -i
|
||||
|
||||
bbdb/Makefile :\
|
||||
bbdb/configure\
|
||||
bbdb/Makefile.in\
|
||||
bbdb/doc/Makefile.in\
|
||||
bbdb/lisp/Makefile.in\
|
||||
bbdb/tex/Makefile.in\
|
||||
| $(DOT_DIR)/share/texmf/.dir
|
||||
cd $(@D) && ./configure\
|
||||
EMACS=$(call fixpath-shell,$(EMACS))\
|
||||
--prefix=$(DOT_DIR)\
|
||||
--datarootdir=$(DOT_DIR)\
|
||||
--datadir=$(DOT_DIR)/share/texmf\
|
||||
--with-lispdir=$(LISP_DIR)/bbdb\
|
||||
|
||||
bbdb: bbdb/Makefile
|
||||
$(MAKE) -C $(DIR-$@) install
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# w3
|
||||
# #########################################################################
|
||||
.PHONY: w3
|
||||
w3/Makefile : $(MAKEFILE_LIST)\
|
||||
w3/configure
|
||||
cd $(@D) && ./configure\
|
||||
--with-emacs=$(call fixpath-shell,$(EMACS))\
|
||||
--prefix=$(DOT_DIR)\
|
||||
--with-lispdir=$(LISP_DIR)/w3\
|
||||
--libexecdir=$(LISP_DIR)/w3/bin\
|
||||
--datadir=$(DOT_DIR)/share\
|
||||
--infodir=$(INFO_DIR)\
|
||||
|
||||
# --with-gnus=$(ELISP_DIR)/gnus\
|
||||
|
||||
w3: w3/Makefile
|
||||
$(MAKE) -C $(DIR-$@) install
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# yaml-mode
|
||||
# #########################################################################
|
||||
.PHONY: yaml-mode
|
||||
yaml-mode:
|
||||
$(MAKE) -C $(DIR-$@) install\
|
||||
EMACS=$(EMACS)\
|
||||
INSTALLLIBDIR=$(LISP_DIR)\
|
||||
|
||||
|
||||
# #########################################################################
|
||||
# apel
|
||||
# #########################################################################
|
||||
|
||||
@ -1,130 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import os.path as path
|
||||
from shutil import copyfile
|
||||
from glob import glob
|
||||
|
||||
SCRIPTNAME = path.basename(sys.argv[0])
|
||||
SCRIPTDIR = sys.path[0]
|
||||
|
||||
EL_OBSOLETE = [
|
||||
'appt.el',
|
||||
'buff-menu+.el',
|
||||
'cal-opts.el',
|
||||
'calendar+.el',
|
||||
'cc-mode+.el',
|
||||
'character-fold+.el',
|
||||
'def-face-const.el',
|
||||
'dired-details+.el',
|
||||
'highlight-fns.el',
|
||||
'line-num.el',
|
||||
'sort+.el',
|
||||
'vc+.el',
|
||||
'vc-.el',
|
||||
'vc-hooks+.el',
|
||||
]
|
||||
|
||||
EL_INVESTIGATE = [
|
||||
'cmds-menu.el',
|
||||
'delsel.el',
|
||||
'descr-text+.el',
|
||||
'doremi-cmd.el',
|
||||
'doremi-frm.el',
|
||||
'doremi-mac.el',
|
||||
'doremi.el',
|
||||
'face-remap+.el',
|
||||
'facemenu+.el',
|
||||
'filesets+.el',
|
||||
'find-func+.el',
|
||||
'font-lock-menus.el',
|
||||
'fuzzy-match.el',
|
||||
'help-macro+.el',
|
||||
'highlight-chars.el',
|
||||
'hl-defined.el',
|
||||
'hl-spotlight.el',
|
||||
'imenu+.el',
|
||||
'isearch-prop.el',
|
||||
'lib-requires.el',
|
||||
'mkhtml.el',
|
||||
'modeline-win.el',
|
||||
'mouse3.el',
|
||||
'narrow-indirect.el',
|
||||
'oneonone.el',
|
||||
'palette.el',
|
||||
'pretty-lambdada.el',
|
||||
'setup-keys.el',
|
||||
'showkey.el',
|
||||
'start-opt.el',
|
||||
'subr+.el',
|
||||
'ucs-cmds.el',
|
||||
'unaccent.el',
|
||||
'zoom-frm.el',
|
||||
]
|
||||
|
||||
EL_EXCLUDE = [
|
||||
'autofit-frame.el',
|
||||
'delsel.el',
|
||||
'echo-bell.el',
|
||||
'emacs-init.el',
|
||||
'emacsbug+.el',
|
||||
'eyedropper.el',
|
||||
'modeline-char.el',
|
||||
'naked.el',
|
||||
'reveal-next.el',
|
||||
'setup-cygwin.el',
|
||||
'setup.el',
|
||||
'start.el',
|
||||
'thumb-frm.el',
|
||||
'w32browser-dlgopen.el',
|
||||
'wimpy-del.el',
|
||||
'yes-no.el',
|
||||
]
|
||||
|
||||
EL_IGNORED = EL_OBSOLETE + EL_INVESTIGATE + EL_EXCLUDE
|
||||
|
||||
EL_FILES = sorted([x for x in glob('*.el') + glob('*/*.el')
|
||||
if path.basename(x) not in EL_IGNORED],
|
||||
key=lambda x: path.basename(x))
|
||||
|
||||
DST_DIRS = [
|
||||
path.realpath(path.join(SCRIPTDIR, '../../lisp/icicles')),
|
||||
path.realpath(path.join(SCRIPTDIR, '../../lisp/bmkp')),
|
||||
path.realpath(path.join(SCRIPTDIR, '../../lisp/adams')),
|
||||
#path.realpath(path.join(SCRIPTDIR, '../../lisp')),
|
||||
]
|
||||
|
||||
def find_destinations(p, dirs):
|
||||
ret = []
|
||||
for dst in dirs:
|
||||
if path.exists(path.join(dst, path.basename(p))):
|
||||
ret.append(path.join(dst, path.basename(p)))
|
||||
if len(ret) == 0:
|
||||
return None
|
||||
elif len(ret) == 1:
|
||||
return ret[0]
|
||||
return ret
|
||||
|
||||
|
||||
def main():
|
||||
for el in EL_FILES:
|
||||
dst = find_destinations(el, DST_DIRS)
|
||||
if dst:
|
||||
if isinstance(dst, str):
|
||||
copyfile(el, dst)
|
||||
else:
|
||||
print('[WRN] duplicate destination:', dst)
|
||||
else:
|
||||
print('[WRN] could not find', path.basename(el))
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ret = 200
|
||||
try:
|
||||
ret = main()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
finally:
|
||||
pass
|
||||
sys.exit(ret)
|
||||
@ -1,138 +0,0 @@
|
||||
appt
|
||||
apropos-fn-var
|
||||
apropos-plus
|
||||
apu
|
||||
autofit-frame
|
||||
autoload-plus
|
||||
bindings-plus
|
||||
bookmark-plus
|
||||
browse-kill-ring-plus
|
||||
buff-menu-plus
|
||||
cal-opts
|
||||
calendar-plus
|
||||
cc-mode-plus
|
||||
character-fold-plus
|
||||
character-fold-plus
|
||||
cmds-menu
|
||||
col-highlight
|
||||
compile-
|
||||
compile-20
|
||||
compile-plus
|
||||
crosshairs
|
||||
cursor-chg
|
||||
cus-edit-plus
|
||||
def-face-const
|
||||
delsel
|
||||
descr-text-plus
|
||||
diff-plus
|
||||
diff-plus20
|
||||
dired-details-plus
|
||||
dired-plus
|
||||
dired-sort-menu-plus
|
||||
doremi
|
||||
doremi-cmd
|
||||
doremi-frm
|
||||
doremi-mac
|
||||
echo-bell
|
||||
ediff-plus
|
||||
emacs-init
|
||||
emacsbug-plus
|
||||
eyedropper
|
||||
face-remap-plus
|
||||
facemenu-plus
|
||||
faces-plus
|
||||
ffap-
|
||||
files-plus
|
||||
filesets-plus
|
||||
find-dired-
|
||||
find-dired-plus
|
||||
find-func-plus
|
||||
finder-plus
|
||||
fit-frame
|
||||
font-lock-menus
|
||||
font-lock-plus
|
||||
frame-cmds
|
||||
frame-fns
|
||||
fuzzy-match
|
||||
grep-plus
|
||||
help-fns-plus
|
||||
help-macro-plus
|
||||
help-mode-plus
|
||||
help-plus
|
||||
help-plus20
|
||||
hexrgb
|
||||
hide-comnt
|
||||
highlight
|
||||
highlight-chars
|
||||
highlight-fns
|
||||
hl-defined
|
||||
hl-line-plus
|
||||
hl-spotlight
|
||||
icicles
|
||||
icomplete-plus
|
||||
imenu-plus
|
||||
info-20
|
||||
info-plus
|
||||
isearch-plus
|
||||
isearch-prop
|
||||
lacarte
|
||||
lib-requires
|
||||
line-num
|
||||
ls-lisp-20
|
||||
ls-lisp-plus
|
||||
macros-plus
|
||||
mb-depth-plus
|
||||
menu-bar-plus
|
||||
misc-cmds
|
||||
misc-fns
|
||||
mkhtml
|
||||
modeline-char
|
||||
modeline-posn
|
||||
modeline-win
|
||||
mouse-plus
|
||||
mouse3
|
||||
naked
|
||||
narrow-indirect
|
||||
novice-plus
|
||||
oneonone
|
||||
options-plus
|
||||
outline-plus
|
||||
palette
|
||||
pp-c-l
|
||||
pp-plus
|
||||
pretty-lambdada
|
||||
replace-plus
|
||||
reveal-next
|
||||
ring-plus
|
||||
savehist-20-plus
|
||||
second-sel
|
||||
setnu-plus
|
||||
setup
|
||||
setup-cygwin
|
||||
setup-keys
|
||||
showkey
|
||||
simple-plus
|
||||
sort-plus
|
||||
start
|
||||
start-opt
|
||||
strings
|
||||
subr-21
|
||||
subr-plus
|
||||
synonyms
|
||||
thing-cmds
|
||||
thingatpt-plus
|
||||
thump-frm
|
||||
timer-plus
|
||||
tool-bar-plus
|
||||
ucs-cmds
|
||||
unaccent
|
||||
vc-
|
||||
vc-hooks-plus
|
||||
vc-plus
|
||||
w32-browser
|
||||
w32browser-dlgopen
|
||||
wid-edit-plus
|
||||
wimpy-del
|
||||
window-plus
|
||||
yes-no
|
||||
zoom-frm
|
||||
23
doxymacs/.gitignore
vendored
23
doxymacs/.gitignore
vendored
@ -1,23 +0,0 @@
|
||||
aclocal.m4
|
||||
autom4te.cache/*
|
||||
c/.deps/*
|
||||
c/doxymacs_parser
|
||||
c/doxymacs_parser.o
|
||||
c/Makefile
|
||||
c/Makefile.in
|
||||
config.log
|
||||
config.status
|
||||
configure
|
||||
depcomp
|
||||
install-sh
|
||||
lisp/doxymacs.el
|
||||
lisp/doxymacs.elc
|
||||
lisp/elc-stamp
|
||||
lisp/Makefile
|
||||
lisp/Makefile.in
|
||||
lisp/xml-parse.elc
|
||||
Makefile
|
||||
Makefile.in
|
||||
missing
|
||||
no-autoconf/Makefile
|
||||
no-autoconf/Makefile.in
|
||||
@ -1,6 +0,0 @@
|
||||
$Id: AUTHORS,v 1.8 2005/04/01 00:31:44 ryants Exp $
|
||||
|
||||
Ryan T. Sammartino <ryan.sammartino at gmail dot com>
|
||||
Kris Verbeeck <kris.verbeeck at advalvas dot be>
|
||||
|
||||
|
||||
342
doxymacs/COPYING
342
doxymacs/COPYING
@ -1,342 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
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
|
||||
convey 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 2 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, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision 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, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This 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 Library General
|
||||
Public License instead of this License.
|
||||
|
||||
$Id: COPYING,v 1.1 2001/03/25 00:41:47 ryants Exp $
|
||||
@ -1,327 +0,0 @@
|
||||
2010-03-07 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
|
||||
* lisp/doxymacs.el.in: Feature #1569376: Insert doxygen commands
|
||||
interactively:
|
||||
(doxymacs-insert-command-history, doxymacs-commands,
|
||||
doxymacs-insert-command, doxymacs-read-arg): New variables and
|
||||
functions for feature #1569376.
|
||||
|
||||
2010-02-19 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
|
||||
* lisp/doxymacs.el.in: Patch #2954452: New C++! documentation
|
||||
style (thanks Robert Jørgensgaard Engdahl).
|
||||
(doxymacs-JavaDoc-function-comment-template): Bug #1862867: Remove
|
||||
unnecessary tailing whitespace.
|
||||
|
||||
2010-02-18 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
|
||||
* lisp/doxymacs.el.in: support new tparam doxygen command.
|
||||
|
||||
2007-06-10 Ryan T. Sammartino <ryan.sammartino@gmail.com> (1.8.0)
|
||||
* NEWS, configure.ac: prepare for new version release.
|
||||
* lisp/doxymacs.el.in: documentation update.
|
||||
|
||||
|
||||
2007-02-02 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
* lisp/doxymacs.el.in:
|
||||
(doxymacs-mode, doxymacs-doxygan-keywords): Bug #1490021:
|
||||
Allow spaces in @param [in] style documentation.
|
||||
(doxymacs-user-mail-address): Bug #1496399:
|
||||
New function.
|
||||
(doxymacs-JavaDoc-file-comment-template,
|
||||
doxymacs-Qt-file-comment-template,
|
||||
doxymacs-C++-file-comment-template): Use new function to
|
||||
get user's e-mail address.
|
||||
|
||||
2006-04-22 Ryan T. Sammartino <ryan.sammartino@gmail.com> (1.7.0)
|
||||
|
||||
* doxymacs_parser.c:
|
||||
Bug #1459026: Fix compile warning with gcc 4.0.
|
||||
* lisp/doxymacs.el.in: minor documentation updates.
|
||||
(doxymacs-mode): Feature #1338245: Add tokens to filladapt
|
||||
to match doxygen markup.
|
||||
* example/doc/*: Update to use doxygen 1.4.4 output.
|
||||
* NEWS, README, configure.ac: prepare for new version release.
|
||||
|
||||
2005-06-04 Ryan T. Sammartino <ryan.sammartino@gmail.com> (1.6.0)
|
||||
|
||||
* NEWS, README: prepare for new version release.
|
||||
|
||||
* lisp/doxymacs.el.in: minor documentation updates.
|
||||
|
||||
* c/doxymacs_parser.c: minor documentation updates.
|
||||
|
||||
|
||||
2005-04-14 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
|
||||
* lisp/doxymacs.el.in:
|
||||
(doxymacs-url-exists-p): New function.
|
||||
(doxymacs-load-tags): Use new function.
|
||||
(doxymacs-symbol-near-point): New function (to clean up
|
||||
symbol-near-point hack).
|
||||
(doxymacs-lookup): Use new function.
|
||||
|
||||
2005-04-13 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
* lisp/doxymacs.el.in: feature request #868413
|
||||
(doxymacs-browse-url-function): New customizable variable.
|
||||
(doxymacs-display-url): Use new variable.
|
||||
|
||||
2005-04-12 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
|
||||
* lisp/doxymacs.el.in: bug #990123
|
||||
(doxymacs-group-comment-start),
|
||||
(doxymacs-group-comment-end): New strings for grouping comments.
|
||||
(doxymacs-insert-grouping-comments): Use new strings instead of
|
||||
old templates.
|
||||
(doxymacs-group-begin-comment-template),
|
||||
(doxymacs-group-end-comment-template),
|
||||
(doxymacs-JavaDoc-group-begin-comment-template),
|
||||
(doxymacs-JavaDoc-group-end-comment-template),
|
||||
(doxymacs-Qt-group-begin-comment-template),
|
||||
(doxymacs-Qt-group-end-comment-template),
|
||||
(doxymacs-C++-group-begin-comment-template),
|
||||
(doxymacs-C++-group-end-comment-template): Remove old templates
|
||||
for grouping comments.
|
||||
(doxymacs-doxygen-keywords): New doxygen keywords.
|
||||
|
||||
2005-04-01 Ryan T. Sammartino <ryan.sammartino@gmail.com>
|
||||
|
||||
* AUTHORS, README: update contact info.
|
||||
|
||||
* example/src/doxy.conf: update for new doxygen.
|
||||
|
||||
* example/src/aclass.h: try new @param[in] etc.
|
||||
|
||||
* example/doc/html/*: regenerate.
|
||||
|
||||
* lisp/doxymacs.el.in (doxymacs-doxygen-keywords): patch #1102042:
|
||||
handle @param[in], etc.
|
||||
(doxymacs-font-lock): patch #1024026: use font-lock-add-keywords,
|
||||
if available.
|
||||
|
||||
* aclocal/libxml.m4: update from libxml source.
|
||||
|
||||
* c/Makefile.am: fix link issues with newer libxml.
|
||||
|
||||
* configure.ac: update libxml2 version requirements to match what
|
||||
was used for libxml.m4.
|
||||
|
||||
2003-01-25 Ryan T. Sammartino <ryants@shaw.ca> (1.5.0)
|
||||
|
||||
* NEWS: version 1.5.0 news.
|
||||
|
||||
* INSTALL: add instructions on avoiding byte compiling and
|
||||
configuring.
|
||||
|
||||
* configure.ac: set version to 1.5.0.
|
||||
|
||||
* no-autoconf/Makefile.am: new file.
|
||||
|
||||
2003-01-20 Georg Drenkhahn <georg-d at users dot sourceforge dot net>
|
||||
|
||||
* lisp/doxymacs.el.in (doxymacs-doxygen-keywords): patch 667164:
|
||||
fix retval fontification
|
||||
|
||||
2003-01-12 Ryan T. Sammartino <ryants@shaw.ca>
|
||||
|
||||
* configure.ac: add "C++" to help string for --with-default-style.
|
||||
|
||||
2003-01-11 Ryan T. Sammartino <ryants@shaw.ca>
|
||||
|
||||
Feature #665470: C++ style.
|
||||
Bug #665099: @var missing.
|
||||
Bug #665372: @example not fontified properly.
|
||||
* lisp/doxymacs.el.in (doxymacs-doxygen-keywords): fix var,
|
||||
example, image, dotfile, other commands.
|
||||
(doxymacs-doxygen-style): new C++ style.
|
||||
(doxymacs-command-character): new variable.
|
||||
(doxymacs-C++-blank-multiline-comment-template): new template.
|
||||
(doxymacs-C++-blank-singleline-comment-template): new template.
|
||||
(doxymacs-doxygen-command-char): new function.
|
||||
(doxymacs-JavaDoc-file-comment-template): use
|
||||
doxymacs-doxygen-command-char
|
||||
(doxymacs-Qt-file-comment-template): ditto.
|
||||
(doxymacs-JavaDoc-function-comment-template): ditto.
|
||||
(doxymacs-Qt-function-comment-template): ditto.
|
||||
(doxymacs-parm-tempo-element): ditto and add C++ style.
|
||||
(doxymacs-C++-file-comment-template): new template.
|
||||
(doxymacs-C++-function-comment-template): new template.
|
||||
(doxymacs-C++-group-begin-comment-template): new template.
|
||||
(doxymacs-C++-group-end-comment-template): new template.
|
||||
(doxymacs-invalid-style): add C++ style.
|
||||
(doxymacs-insert-member-comment): add C++ style.
|
||||
|
||||
2003-01-06 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
|
||||
* configure.ac: mention EMACSLOADPATH in the help.
|
||||
* INSTALL, lisp/doxymacs.el.in: mention EMACS, EMACSLOADPATH;
|
||||
other documentation fixups.
|
||||
|
||||
2003-01-05 Ryan T. Sammartino <ryants at shaw dot ca> (1.4.0)
|
||||
|
||||
* Autoconf-ise the project.
|
||||
|
||||
2002-12-09 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
* c/doxymacs_parser.c: terminate Encoded string with \0.
|
||||
* lisp/doxymacs.el: set the doxytags buffer modified flag to false
|
||||
to avoid asking user if OK to kill modified buffer.
|
||||
|
||||
2002-12-08 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
* lisp/doxymacs.el, c/doxymacs_parser.c: work around apparent bug in
|
||||
Doxygen 1.2.18.
|
||||
* c/doxymacs_parser.c: fix memory leak.
|
||||
|
||||
2002-12-08 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
* lisp/doxymacs.el: move to association lists to support multiple
|
||||
Doxygen generates.
|
||||
* INSTALL: update instructions.
|
||||
* TODO: update.
|
||||
|
||||
2002-11-30 Georg Drenkhahn <georg-d at users dot sourceforge dot net>
|
||||
* lisp/doxymacs.el: several FIXMEs fixed, user-defined "void" types
|
||||
(doxymacs-void-types).
|
||||
|
||||
2002-08-31 Ryan T. Sammartino <ryants at shaw dot ca> (1.3.2)
|
||||
* lisp/doxymacs.el: functions with blank lines in their argument
|
||||
list confused doxymacs-extract-args-list fixed.
|
||||
|
||||
2002-09-05 Ryan T. Sammartino <ryants at shaw dot ca> (1.3.1)
|
||||
* c/doxymacs_parser.c: fix compilation issues on Mac OS X.
|
||||
|
||||
2002-04-01 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
* lisp/doxymacs.el, README: make note of the fact that doxymacs
|
||||
seems to work with GNU Emacs 21.2.1 and XEmacs 21.4 (patch 6)
|
||||
|
||||
2001-11-19 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
* lisp/doxymacs.el, README: make note of the fact that doxymacs
|
||||
seems to work with XEmacs 21.4 (patch 5) and GNU Emacs 21.1.1
|
||||
|
||||
2001-11-04 Ryan T. Sammartino <ryants at shaw dot ca> (1.3.0)
|
||||
* lisp/doxymacs.el: add documentation for default templates.
|
||||
Implement grouping comments (C-c d @).
|
||||
|
||||
2001-11-01 Ryan T. Sammartino <ryants at shaw dot ca>
|
||||
* README, AUTHORS, ...: make note that Ryan's homepage and e-mail
|
||||
address have changed.
|
||||
|
||||
2001-09-30 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el, README: make note of the fact that doxymacs
|
||||
seems to work with XEmacs 21.4 (patch 4)
|
||||
|
||||
2001-09-15 Ryan T. Sammartino <ryants at home dot com> (1.2.1)
|
||||
* lisp/doxymacs.el: fix bug #460396: invalid number of arguments
|
||||
to doxymacs-parm-tempo-element in
|
||||
doxymacs-Qt-function-comment-template
|
||||
|
||||
2001-08-26 Ryan T. Sammartino <ryants at home dot com> (1.2.0)
|
||||
* lisp/doxymacs.el: implement feature request #454122 (single line
|
||||
member comments) and feature request #454123 (key bindings
|
||||
description in mode help). Clean up template code to make it
|
||||
easier to add new templates and catch bad settings. Clean up
|
||||
documentation to be more standards conforming.
|
||||
* INSTALL: documentation update.
|
||||
* README: if people have success/failure with untested {X}Emacs
|
||||
versions, let the authors know.
|
||||
|
||||
2001-08-23 Ryan T. Sammartino <ryants at home dot com> (1.1.4)
|
||||
* lisp/doxymacs.el: fix bug #454563... missing @endlink in
|
||||
fontification; fix @b, @em, @c, @p, and @link fontification. Also
|
||||
clean up the fontification code a bit.
|
||||
|
||||
2001-07-08 Ryan T. Sammartino <ryants at home dot com> (1.1.3)
|
||||
* c/doxymacs_parser.c, c/Makefile: Make the external XML parser
|
||||
work with the latest libxml2. Now we require libxml2 version
|
||||
2.3.4 or greater.
|
||||
|
||||
2001-07-04 Ryan T. Sammartino <ryants at home dot com> (1.1.2)
|
||||
* lisp/doxymacs.el: GNU Emacs doesn't support ?: in regexps, so
|
||||
take them out.
|
||||
|
||||
2001-06-20 Ryan T. Sammartino <ryants at home dot com> (1.1.1)
|
||||
* lisp/doxymacs.el: fix bug #432837 missing @see keyword and fix
|
||||
bug #432836 Font lock for @ingroup not correct
|
||||
|
||||
2001-06-12 Ryan T. Sammartino <ryants at home dot com> (1.1.0)
|
||||
* lisp/doxymacs.el: add font lock keywords for Doxygen keywords
|
||||
|
||||
2001-06-06 Ryan T. Sammartino <ryants at home dot com> (1.0.0)
|
||||
* lisp/doxymacs.el: fix bug #427660 "mouse selection problems".
|
||||
|
||||
2001-05-26 Ryan T. Sammartino <ryants at home dot com> (0.2.1)
|
||||
* lisp/doxymacs.el: fix bug #427351 "thinks "void" is a parameter"
|
||||
and bug #427350 "can't document constructors/destructors", and
|
||||
generally made the whole doxymacs-find-next-func function much
|
||||
more robust. Small update to default styles when inserting
|
||||
functions that return "void"
|
||||
* INSTALL: a tip on automatically going into doxymacs-mode
|
||||
whenever in C/C++ mode
|
||||
|
||||
2001-05-21 Ryan T. Sammartino <ryants at home dot com> (0.2.0)
|
||||
* lisp/doxymacs.el: now can optionally use the external XML parser
|
||||
to speed things up. Some documentation updates.
|
||||
* c/doxymacs_parser.c, c/Makefile: new files. doxymacs_parser.c is
|
||||
the external XML parser.
|
||||
* INSTALL: documentation updates.
|
||||
|
||||
2001-05-12 Ryan T. Sammartino <ryants at home dot com> (0.1.2)
|
||||
* lisp/doxymacs.el: bug fixes for GNU Emacs: symbol-near-point and
|
||||
user-mail-address
|
||||
* lisp/xml-parse.el: make sure progress-function is bound before
|
||||
calling.
|
||||
* TODO: removed "test on other version of {X}Emacs" item.
|
||||
* README: let people know on which versions of {X}Emacs this has been
|
||||
tested on.
|
||||
|
||||
2001-05-09 Ryan T. Sammartino <ryants at home dot com> (0.1.1)
|
||||
* lisp/doxymacs.el: change C-? to C-c d ?, add progress info while
|
||||
parsing XML file, and some small optimisations.
|
||||
|
||||
2001-05-07 Ryan T. Sammartino <ryants at home dot com> (0.1.0)
|
||||
* lisp/doxymacs.el: Minor mode (thanks to Kris) and default key
|
||||
bindings.
|
||||
* INSTALL: some better instructions (I hope)
|
||||
|
||||
2001-05-06 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: Now using tempo templates for inserting comments.
|
||||
Also allows for user-defined styles.
|
||||
* TODO: we need some good end-user documentation.
|
||||
* AUTHORS: acknowledge patch from Andreas Fuchs.
|
||||
|
||||
2001-04-29 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: Now parse XML tags file generated by doxygen
|
||||
directly.
|
||||
* lisp/xml-parse.el: Add this file so that people don't need to go
|
||||
download things from all over the place just to get doxymacs working.
|
||||
* perl/doxytags.pl: No longer necessary, now that we can parse the
|
||||
XML tags file generated by doxygen.
|
||||
|
||||
2001-04-22 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: Function documentation
|
||||
|
||||
2001-04-18 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: Going with Kris' "new style" look up
|
||||
code. It's excellent, and exactly what I wanted. Thanks Kris. Also
|
||||
incorprated Andreas Fuchs' patch for loading tags from a URL.
|
||||
|
||||
2001-04-11 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: insert blank or "file" doxygen comments with style
|
||||
specified by the user.
|
||||
|
||||
2001-03-31 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: if symbol matches more than one entry in the tags,
|
||||
you can now select which one you really mean (but please take a look
|
||||
at the FIXME comment before doxymacs-choose-match) and slightly
|
||||
changed the format of the list that doxymacs-get-matches returns.
|
||||
* perl/doxytag.pl, example/doc/doxy.tag: added some more info to the
|
||||
third column of doxytag.pl's output.
|
||||
* TODO: removed the "choose which symbol you really mean" item (yay!).
|
||||
|
||||
2001-03-28 Ryan T. Sammartino <ryants at home dot com>
|
||||
* lisp/doxymacs.el: applied patch from Kris Verbeeck so that
|
||||
doxymacs customisation stuff is under the "Tools" group. Also
|
||||
removed doxymacs-browser, since we'll just use the user's default
|
||||
browser anyways. Minor formatting changes as well.
|
||||
* README: added doxymacs' URL
|
||||
|
||||
2001-03-24 Ryan T. Sammartino <ryants at home dot com>
|
||||
* doxymacs: Initial CVS check in.
|
||||
@ -1,84 +0,0 @@
|
||||
$Id: INSTALL,v 1.15 2003/01/26 01:49:55 ryants Exp $
|
||||
|
||||
Doxymacs depends on the following packages:
|
||||
|
||||
- W3 http://www.cs.indiana.edu/usr/local/www/elisp/w3/docs.html
|
||||
- tempo http://www.lysator.liu.se/~davidk/elisp/
|
||||
- libxml2 http://www.libxml.org/
|
||||
|
||||
Be sure these are properly configured and installed before proceeding.
|
||||
|
||||
- Use the configure script to configure doxymacs:
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
Use ./configure --help for help on customising your configuration.
|
||||
|
||||
If you get
|
||||
|
||||
!! File error (("Cannot open load file" "url"))
|
||||
|
||||
(or something similar) then set the variable EMACSLOADPATH before
|
||||
doing make:
|
||||
|
||||
$ EMACSLOADPATH=... make
|
||||
|
||||
where ... is a colon separated list of directories to search for
|
||||
packages. To byte compile with XEmacs, set the variable EMACS:
|
||||
|
||||
$ EMACS=xemacs make
|
||||
|
||||
If you would rather not byte compile the .el files at all, then do:
|
||||
|
||||
$ make ELCFILES=
|
||||
$ make install ELCFILES=
|
||||
|
||||
If you do not want to run or cannot run configure then some pre-baked
|
||||
.el files are available in the no-autoconf/ directory; simply copy
|
||||
these to somewhere in your load-path.
|
||||
|
||||
- Customise the variable doxymacs-doxygen-dirs.
|
||||
Doxymacs customisation can be done from the Options | Customize menu,
|
||||
under Emacs | Programming | Tools | Doxymacs.
|
||||
|
||||
- If your tags file is quite large (say, > 1 MB), consider setting
|
||||
doxymacs-use-external-xml-parser to t and be sure to set
|
||||
doxymacs-external-xml-parser-executable to the right value (the
|
||||
default should usually be fine). A suitable program is distributed
|
||||
in the directory doxymacs/c/. With an 11 MB XML tag file, the
|
||||
internal process takes 20 minutes on a PIII 800 with 1 GB of RAM,
|
||||
whereas the external process takes 12 seconds.
|
||||
|
||||
- Put (require 'doxymacs) in your .emacs
|
||||
|
||||
- Invoke doxymacs-mode with M-x doxymacs-mode. To have doxymacs-mode invoked
|
||||
automatically when in C/C++ mode, put
|
||||
|
||||
(add-hook 'c-mode-common-hook 'doxymacs-mode)
|
||||
|
||||
in your .emacs.
|
||||
|
||||
- If you want Doxygen keywords fontified use M-x doxymacs-font-lock.
|
||||
To do it automatically, add the following to your .emacs:
|
||||
|
||||
(defun my-doxymacs-font-lock-hook ()
|
||||
(if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
|
||||
(doxymacs-font-lock)))
|
||||
(add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)
|
||||
|
||||
This will add the Doxygen keywords to c-mode and c++-mode only.
|
||||
|
||||
- Default key bindings are:
|
||||
- C-c d ? will look up documentation for the symbol under the point.
|
||||
- C-c d r will rescan your Doxygen tags file.
|
||||
- C-c d RET will prompt you for a Doxygen command to enter, and its
|
||||
arguments.
|
||||
- C-c d f will insert a Doxygen comment for the next function.
|
||||
- C-c d i will insert a Doxygen comment for the current file.
|
||||
- C-c d ; will insert a Doxygen comment for the current member.
|
||||
- C-c d m will insert a blank multi-line Doxygen comment.
|
||||
- C-c d s will insert a blank single-line Doxygen comment.
|
||||
- C-c d @ will insert grouping comments around the current region.
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# $Id: Makefile.am,v 1.2 2003/01/26 01:49:55 ryants Exp $
|
||||
|
||||
SUBDIRS = c lisp no-autoconf
|
||||
@ -1,82 +0,0 @@
|
||||
$Id: NEWS,v 1.20 2007/06/10 13:17:24 ryants Exp $
|
||||
|
||||
10/06/2007 Version 1.8.0 released.
|
||||
Fix bug #1490021: Allow spaces in @param [in] style documentation.
|
||||
Fix bug #1496399: Use better way to get user's e-mail address.
|
||||
|
||||
22/04/2006 Version 1.7.0 released.
|
||||
Fix bug #1459026: compile warning with gcc 4.0.
|
||||
Feature request #1338245: make filladapt mode doxygen aware
|
||||
of @param to nicely indent parameter lists.
|
||||
Update the example HTML files with doxygen 1.4.4.
|
||||
|
||||
04/06/2005 Version 1.6.0 released.
|
||||
Many bug fixes for newer versions of {X}emacs. Some additions to
|
||||
fontification to handle new Doxygen constructs. Can now customise
|
||||
the browser that doxymacs uses to display documentation.
|
||||
|
||||
NOTE: doxymacs-group-comment-start and doxymacs-group-comment-end
|
||||
are no longer tempo templates but are now just plain strings.
|
||||
|
||||
|
||||
25/01/2003 Version 1.5.0 released.
|
||||
New C++ style. Pre-baked .el files for people who do not have
|
||||
autoconf. Several small fontification bug fixes.
|
||||
|
||||
05/01/2003 Version 1.4.0 released.
|
||||
doxymacs now uses autoconf to configure, build and install itself.
|
||||
|
||||
31/08/2002 Version 1.3.2 released.
|
||||
Fix bug #601028: functions with blank lines in their argument lists
|
||||
confused doxymacs-extract-args-list.
|
||||
|
||||
09/05/2002 Version 1.3.1 released.
|
||||
Fix issues compiling doxymacs_parser.c on Mac OS X.
|
||||
|
||||
04/11/2001 Version 1.3.0 released.
|
||||
Implement new grouping command (C-c d @) which inserts Doxygen
|
||||
grouping comments around the current region.
|
||||
|
||||
15/09/2001 Version 1.2.1 released.
|
||||
Fix a bug in Qt style comments.
|
||||
|
||||
26/08/2001 Version 1.2.0 released.
|
||||
Better on-line documentation. New "member comment" command which
|
||||
works much like M-; (indent-for-comment).
|
||||
|
||||
23/08/2001 Version 1.1.4 released.
|
||||
minor bugfixes.
|
||||
|
||||
08/07/2001 Version 1.1.3 released.
|
||||
The external XML parser now requires libxml2 version 2.3.4 or
|
||||
greater.
|
||||
|
||||
04/07/2001 Version 1.1.2 released.
|
||||
GNU Emacs doesn't understand ?: in regexps, so take them out.
|
||||
|
||||
20/06/2001 Version 1.1.1 released.
|
||||
Fix bug #432837 missing @see keyword and fix bug #432836 Font
|
||||
lock for @ingroup not correct.
|
||||
|
||||
12/06/2001 Version 1.1.0 released.
|
||||
New feature: font lock for Doxygen keywords.
|
||||
|
||||
06/06/2001 Version 1.0.0 released.
|
||||
The first stable release. There are still some bugs left (see
|
||||
the FIXMEs in lisp/doxymacs.el), but they are both sufficiently
|
||||
rare and hard to fix that they don't warrant holding up a stable
|
||||
release.
|
||||
|
||||
26/05/2001 Version 0.2.1 released.
|
||||
Er... forgot to update this file the past few releases.
|
||||
Oh well. Look at the ChangeLog if you really care.
|
||||
|
||||
09/05/2001 Version 0.1.1 released.
|
||||
Bug fix: C-? is a bad choice for "look up", since it causes the
|
||||
DEL key to be mapped to "look up"... changed it to C-c d ?.
|
||||
Feature add: Progress info as it parses XML tag file.
|
||||
|
||||
07/05/2001 Version 0.1.0 (Alpha) released.
|
||||
This represents the first public release of doxymacs. It works for us,
|
||||
now let's see if it works for other people too.
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
doxymacs
|
||||
Copyright (C) 2001-2010 Ryan T. Sammartino
|
||||
ryan.sammartino at gmail dot com
|
||||
|
||||
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 2, 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.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
doxymacs is an e-lisp package for making doxygen usage easier under XEmacs.
|
||||
|
||||
doxymacs homepage: http://doxymacs.sourceforge.net/
|
||||
|
||||
Doxymacs has been tested on and works with:
|
||||
- GNU Emacs 20.7.1, 21.1.1, 21.2.1, 21.3, 21.4.1, 23.1.1
|
||||
- XEmacs 21.1 (patch 14), 21.4 (patch 4, 5, 6, 17)
|
||||
|
||||
If you have success or failure with other versions of {X}Emacs, please
|
||||
let the authors know.
|
||||
|
||||
See COPYING for the full text of the license under which is this work
|
||||
is being made available.
|
||||
|
||||
See ChangeLog for recent changes.
|
||||
|
||||
See AUTHORS for a list of people to blame for this mess.
|
||||
|
||||
See TODO for a list of things that you can help out with.
|
||||
|
||||
See INSTALL for instructions on how to install and use this.
|
||||
|
||||
Feel free to contact me about any issues you may have, or to volunteer
|
||||
to help out.
|
||||
|
||||
Ryan T. Sammartino
|
||||
ryan.sammartino at gmail dot com
|
||||
|
||||
$Id: README,v 1.13 2006/04/23 01:20:15 ryants Exp $
|
||||
@ -1,11 +0,0 @@
|
||||
$Id: TODO,v 1.15 2003/01/06 00:45:30 ryants Exp $
|
||||
|
||||
lisp/doxymacs.el.in:
|
||||
- fix all FIXMEs (of course)
|
||||
- automatic testing (DejaGnu).
|
||||
- other stuff?
|
||||
|
||||
README:
|
||||
INSTALL:
|
||||
- better end-user documentation
|
||||
|
||||
@ -1,188 +0,0 @@
|
||||
# Configure paths for LIBXML2
|
||||
# Mike Hommey 2004-06-19
|
||||
# use CPPFLAGS instead of CFLAGS
|
||||
# Toshio Kuratomi 2001-04-21
|
||||
# Adapted from:
|
||||
# Configure paths for GLIB
|
||||
# Owen Taylor 97-11-3
|
||||
|
||||
dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
|
||||
dnl
|
||||
AC_DEFUN([AM_PATH_XML2],[
|
||||
AC_ARG_WITH(xml-prefix,
|
||||
[ --with-xml-prefix=PFX Prefix where libxml is installed (optional)],
|
||||
xml_config_prefix="$withval", xml_config_prefix="")
|
||||
AC_ARG_WITH(xml-exec-prefix,
|
||||
[ --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional)],
|
||||
xml_config_exec_prefix="$withval", xml_config_exec_prefix="")
|
||||
AC_ARG_ENABLE(xmltest,
|
||||
[ --disable-xmltest Do not try to compile and run a test LIBXML program],,
|
||||
enable_xmltest=yes)
|
||||
|
||||
if test x$xml_config_exec_prefix != x ; then
|
||||
xml_config_args="$xml_config_args"
|
||||
if test x${XML2_CONFIG+set} != xset ; then
|
||||
XML2_CONFIG=$xml_config_exec_prefix/bin/xml2-config
|
||||
fi
|
||||
fi
|
||||
if test x$xml_config_prefix != x ; then
|
||||
xml_config_args="$xml_config_args --prefix=$xml_config_prefix"
|
||||
if test x${XML2_CONFIG+set} != xset ; then
|
||||
XML2_CONFIG=$xml_config_prefix/bin/xml2-config
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(XML2_CONFIG, xml2-config, no)
|
||||
min_xml_version=ifelse([$1], ,2.0.0,[$1])
|
||||
AC_MSG_CHECKING(for libxml - version >= $min_xml_version)
|
||||
no_xml=""
|
||||
if test "$XML2_CONFIG" = "no" ; then
|
||||
no_xml=yes
|
||||
else
|
||||
XML_CPPFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
|
||||
XML_LIBS=`$XML2_CONFIG $xml_config_args --libs`
|
||||
xml_config_major_version=`$XML2_CONFIG $xml_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
xml_config_minor_version=`$XML2_CONFIG $xml_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
xml_config_micro_version=`$XML2_CONFIG $xml_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test "x$enable_xmltest" = "xyes" ; then
|
||||
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
|
||||
LIBS="$XML_LIBS $LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed libxml is sufficiently new.
|
||||
dnl (Also sanity checks the results of xml2-config to some extent)
|
||||
dnl
|
||||
rm -f conf.xmltest
|
||||
AC_TRY_RUN([
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
int xml_major_version, xml_minor_version, xml_micro_version;
|
||||
int major, minor, micro;
|
||||
char *tmp_version;
|
||||
|
||||
system("touch conf.xmltest");
|
||||
|
||||
/* Capture xml2-config output via autoconf/configure variables */
|
||||
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||
tmp_version = (char *)strdup("$min_xml_version");
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string from xml2-config\n", "$min_xml_version");
|
||||
exit(1);
|
||||
}
|
||||
free(tmp_version);
|
||||
|
||||
/* Capture the version information from the header files */
|
||||
tmp_version = (char *)strdup(LIBXML_DOTTED_VERSION);
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &xml_major_version, &xml_minor_version, &xml_micro_version) != 3) {
|
||||
printf("%s, bad version string from libxml includes\n", "LIBXML_DOTTED_VERSION");
|
||||
exit(1);
|
||||
}
|
||||
free(tmp_version);
|
||||
|
||||
/* Compare xml2-config output to the libxml headers */
|
||||
if ((xml_major_version != $xml_config_major_version) ||
|
||||
(xml_minor_version != $xml_config_minor_version) ||
|
||||
(xml_micro_version != $xml_config_micro_version))
|
||||
{
|
||||
printf("*** libxml header files (version %d.%d.%d) do not match\n",
|
||||
xml_major_version, xml_minor_version, xml_micro_version);
|
||||
printf("*** xml2-config (version %d.%d.%d)\n",
|
||||
$xml_config_major_version, $xml_config_minor_version, $xml_config_micro_version);
|
||||
return 1;
|
||||
}
|
||||
/* Compare the headers to the library to make sure we match */
|
||||
/* Less than ideal -- doesn't provide us with return value feedback,
|
||||
* only exits if there's a serious mismatch between header and library.
|
||||
*/
|
||||
LIBXML_TEST_VERSION;
|
||||
|
||||
/* Test that the library is greater than our minimum version */
|
||||
if ((xml_major_version > major) ||
|
||||
((xml_major_version == major) && (xml_minor_version > minor)) ||
|
||||
((xml_major_version == major) && (xml_minor_version == minor) &&
|
||||
(xml_micro_version >= micro)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
|
||||
xml_major_version, xml_minor_version, xml_micro_version);
|
||||
printf("*** You need a version of libxml newer than %d.%d.%d. The latest version of\n",
|
||||
major, minor, micro);
|
||||
printf("*** libxml is always available from ftp://ftp.xmlsoft.org.\n");
|
||||
printf("***\n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
|
||||
printf("*** being found. The easiest way to fix this is to remove the old version\n");
|
||||
printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
|
||||
printf("*** correct copy of xml2-config. (In this case, you will have to\n");
|
||||
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$no_xml" = x ; then
|
||||
AC_MSG_RESULT(yes (version $xml_config_major_version.$xml_config_minor_version.$xml_config_micro_version))
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$XML2_CONFIG" = "no" ; then
|
||||
echo "*** The xml2-config script installed by LIBXML could not be found"
|
||||
echo "*** If libxml was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the XML2_CONFIG environment variable to the"
|
||||
echo "*** full path to xml2-config."
|
||||
else
|
||||
if test -f conf.xmltest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run libxml test program, checking why..."
|
||||
CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
|
||||
LIBS="$LIBS $XML_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <stdio.h>
|
||||
], [ LIBXML_TEST_VERSION; return 0;],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
|
||||
echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means LIBXML was incorrectly installed"
|
||||
echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
|
||||
XML_CPPFLAGS=""
|
||||
XML_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(XML_CPPFLAGS)
|
||||
AC_SUBST(XML_LIBS)
|
||||
rm -f conf.xmltest
|
||||
])
|
||||
@ -1,5 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
aclocal
|
||||
automake --gnu --add-missing
|
||||
autoconf
|
||||
@ -1,12 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# $Id: Makefile.am,v 1.2 2005/04/01 06:20:06 ryants Exp $
|
||||
|
||||
bin_PROGRAMS = doxymacs_parser
|
||||
|
||||
doxymacs_parser_SOURCES = doxymacs_parser.c
|
||||
|
||||
INCLUDES = $(XML_CPPFLAGS)
|
||||
|
||||
AM_CFLAGS = -Wall -Werror -fexpensive-optimizations -fomit-frame-pointer
|
||||
|
||||
doxymacs_parser_LDADD = $(XML_LIBS)
|
||||
@ -1,682 +0,0 @@
|
||||
/*
|
||||
* doxymacs_parser.c
|
||||
* Copyright (C) 2001 Ryan T. Sammartino
|
||||
* <ryan.sammartino at gmail dot com>
|
||||
*
|
||||
* A utility program used by doxymacs to speed up building the look up
|
||||
* completion list from a Doxygen XML file.
|
||||
*
|
||||
* This file requires libxml version 2.6.13 or greater, which you can
|
||||
* get from http://www.libxml.org/
|
||||
*
|
||||
* 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 2
|
||||
* 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Doxymacs homepage: http://doxymacs.sourceforge.net/
|
||||
*
|
||||
* $Id: doxymacs_parser.c,v 1.12 2006/04/23 00:05:33 ryants Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/tree.h>
|
||||
|
||||
|
||||
/* Our completion list */
|
||||
|
||||
typedef struct _desc_url_list
|
||||
{
|
||||
char *desc;
|
||||
char *url;
|
||||
|
||||
struct _desc_url_list *next;
|
||||
} desc_url_list;
|
||||
|
||||
typedef struct _completion_list
|
||||
{
|
||||
char *symbol;
|
||||
desc_url_list *descs;
|
||||
|
||||
struct _completion_list *next;
|
||||
} completion_list;
|
||||
|
||||
completion_list *comp_list = NULL;
|
||||
|
||||
|
||||
/* A hash for quick look up of a symbol's entry in the completion list */
|
||||
|
||||
#define HASH_SIZE 11213
|
||||
|
||||
typedef struct _hash_entry
|
||||
{
|
||||
completion_list *cl;
|
||||
|
||||
struct _hash_entry *next;
|
||||
} hash_entry;
|
||||
|
||||
hash_entry *symbol_hash[HASH_SIZE];
|
||||
|
||||
inline unsigned int hash(const char *s)
|
||||
{
|
||||
unsigned int h = 0;
|
||||
|
||||
while (*s)
|
||||
{
|
||||
h += *s++;
|
||||
}
|
||||
|
||||
return abs(h % HASH_SIZE);
|
||||
}
|
||||
|
||||
inline void AddToHash(completion_list *cl)
|
||||
{
|
||||
unsigned int h = hash(cl->symbol);
|
||||
hash_entry **cur = &symbol_hash[h];
|
||||
|
||||
hash_entry *new = (hash_entry *)malloc(sizeof(hash_entry));
|
||||
|
||||
new->cl = cl;
|
||||
new->next = *cur;
|
||||
|
||||
*cur = new;
|
||||
}
|
||||
|
||||
/* mmmmm... free hash */
|
||||
inline void FreeHash(void)
|
||||
{
|
||||
unsigned int i;
|
||||
for (i = 0; i < HASH_SIZE; i++)
|
||||
{
|
||||
hash_entry *cur = symbol_hash[i];
|
||||
|
||||
while (cur)
|
||||
{
|
||||
hash_entry *tmp = cur;
|
||||
|
||||
cur = cur->next;
|
||||
|
||||
free(tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* XML Helper Functions */
|
||||
|
||||
inline char *XMLTagChild(xmlNodePtr node, const char *name)
|
||||
{
|
||||
xmlNodePtr cur = node->xmlChildrenNode;
|
||||
|
||||
while (cur)
|
||||
{
|
||||
if (!xmlStrcmp(cur->name, (const xmlChar *) name))
|
||||
{
|
||||
xmlNodePtr cur_child = cur->xmlChildrenNode;
|
||||
if (cur_child)
|
||||
{
|
||||
return (char *)cur_child->content;
|
||||
}
|
||||
else
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
inline char *XMLTagAttr(xmlNodePtr node, const char *attr)
|
||||
{
|
||||
xmlAttrPtr props = node->properties;
|
||||
|
||||
while (props)
|
||||
{
|
||||
if (!xmlStrcmp(props->name, (const xmlChar *) attr))
|
||||
{
|
||||
xmlNodePtr props_child = props->xmlChildrenNode;
|
||||
if (props_child)
|
||||
{
|
||||
return (char *)props_child->content;
|
||||
}
|
||||
else
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* Look up functions for symbols and descriptions */
|
||||
|
||||
inline completion_list *LookUpSymbol(const char *symbol)
|
||||
{
|
||||
unsigned int h = hash(symbol);
|
||||
hash_entry *cur = symbol_hash[h];
|
||||
|
||||
while (cur)
|
||||
{
|
||||
completion_list *cl = cur->cl;
|
||||
|
||||
if (!strcmp(cl->symbol, symbol))
|
||||
{
|
||||
return cl;
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
inline desc_url_list *LookUpDesc(completion_list *entry, const char *desc)
|
||||
{
|
||||
desc_url_list *cur = entry->descs;
|
||||
|
||||
while (cur)
|
||||
{
|
||||
if (!strcmp(cur->desc, desc))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return cur;
|
||||
}
|
||||
|
||||
/* Add the given name, description and url to our completion list */
|
||||
|
||||
inline int AddToCompletionList(const char *name,
|
||||
const char *desc, const char *url)
|
||||
{
|
||||
completion_list *check;
|
||||
|
||||
check = LookUpSymbol(name);
|
||||
|
||||
if (check)
|
||||
{
|
||||
/* There is already a symbol with the same name in the list */
|
||||
if (!LookUpDesc(check, desc))
|
||||
{
|
||||
/* If there is not yet a symbol with this desc, add it. */
|
||||
/* FIXME: what to do if there is already a symbol?? */
|
||||
desc_url_list *new_desc =
|
||||
(desc_url_list *)malloc(sizeof(desc_url_list));
|
||||
|
||||
if (!new_desc)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
new_desc->desc = (char *)desc;
|
||||
new_desc->url = (char *)url;
|
||||
new_desc->next = check->descs;
|
||||
|
||||
check->descs = new_desc;
|
||||
}
|
||||
/* Free the name, which was strdup'ed */
|
||||
free((char*)name);
|
||||
}
|
||||
else
|
||||
{
|
||||
completion_list *new_entry =
|
||||
(completion_list *)malloc(sizeof(completion_list));
|
||||
|
||||
if (!new_entry)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
new_entry->symbol = (char *)name;
|
||||
|
||||
new_entry->descs = (desc_url_list *)malloc(sizeof(desc_url_list));
|
||||
|
||||
if (!new_entry->descs)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
new_entry->descs->desc = (char *)desc;
|
||||
new_entry->descs->url = (char *)url;
|
||||
new_entry->descs->next = NULL;
|
||||
|
||||
new_entry->next = comp_list;
|
||||
|
||||
comp_list = new_entry;
|
||||
|
||||
AddToHash(new_entry);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Encode the given string so that {X}Emacs will understand it */
|
||||
inline char *Encode(const char *s)
|
||||
{
|
||||
unsigned int extra_len = 0;
|
||||
char *c = (char *)s;
|
||||
|
||||
if (!s)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
while (*c)
|
||||
{
|
||||
/* Is this all that needs to be escaped? */
|
||||
if (*c == '\\' || *c == '"')
|
||||
{
|
||||
extra_len++;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
|
||||
if (!extra_len)
|
||||
{
|
||||
char *ret = strdup(s);
|
||||
|
||||
if (!ret)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
char *ret = (char *)malloc(strlen(s) + extra_len + 1);
|
||||
char *r = ret;
|
||||
|
||||
if (!ret)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
while (*s)
|
||||
{
|
||||
if (*s == '\\')
|
||||
{
|
||||
*r++ = '\\';
|
||||
*r++ = '\\';
|
||||
}
|
||||
else if (*s == '"')
|
||||
{
|
||||
*r++ = '\\';
|
||||
*r++ = '"';
|
||||
}
|
||||
else
|
||||
{
|
||||
*r++ = *s;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
*r = '\0';
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
/* Output the completion list in a way {X}Emacs can easily read in */
|
||||
|
||||
inline int OutputCompletionList(void)
|
||||
{
|
||||
completion_list *cur = comp_list;
|
||||
|
||||
printf("(");
|
||||
|
||||
while (cur)
|
||||
{
|
||||
desc_url_list *desc = cur->descs;
|
||||
char *encoded_symbol = Encode(cur->symbol);
|
||||
|
||||
if (!encoded_symbol)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("(\"%s\" ", encoded_symbol);
|
||||
|
||||
free(encoded_symbol);
|
||||
|
||||
while (desc)
|
||||
{
|
||||
char *encoded_desc = Encode(desc->desc);
|
||||
char *encoded_url = Encode(desc->url);
|
||||
|
||||
if (!encoded_desc || !encoded_url)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("(\"%s\" . \"%s\")", encoded_desc, encoded_url);
|
||||
|
||||
free(encoded_desc);
|
||||
free(encoded_url);
|
||||
|
||||
if (desc->next)
|
||||
{
|
||||
printf(" ");
|
||||
}
|
||||
desc = desc->next;
|
||||
}
|
||||
|
||||
printf(")");
|
||||
|
||||
if (cur->next)
|
||||
{
|
||||
printf(" ");
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
printf(")\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Clean up */
|
||||
|
||||
inline void FreeCompletionList(void)
|
||||
{
|
||||
completion_list *cur = comp_list;
|
||||
|
||||
while (cur)
|
||||
{
|
||||
desc_url_list *desc = cur->descs;
|
||||
completion_list *tmp_cl = cur;
|
||||
|
||||
while (desc)
|
||||
{
|
||||
desc_url_list *tmp_desc = desc;
|
||||
|
||||
desc = desc->next;
|
||||
|
||||
free(tmp_desc->desc);
|
||||
free(tmp_desc->url);
|
||||
free(tmp_desc);
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
|
||||
free(tmp_cl->symbol);
|
||||
free(tmp_cl);
|
||||
}
|
||||
}
|
||||
|
||||
/* Add the members of a compound to the completion list */
|
||||
|
||||
inline int AddCompoundMembers(xmlNodePtr compound,
|
||||
const char *name, const char *url)
|
||||
{
|
||||
xmlNodePtr child = compound->xmlChildrenNode;
|
||||
int ret = 0;
|
||||
|
||||
while (child && !ret)
|
||||
{
|
||||
if (!xmlStrcmp(child->name, (const xmlChar *) "member"))
|
||||
{
|
||||
char *member_name = XMLTagChild(child, "name");
|
||||
char *member_anchor = XMLTagChild(child, "anchor");
|
||||
char *member_args = XMLTagChild(child, "arglist");
|
||||
|
||||
/* member_args can be NULL... just means there's no args */
|
||||
if (!member_name || !member_anchor)
|
||||
{
|
||||
fprintf(stderr, "Invalid Doxygen tags file\n");
|
||||
ret = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
char *member_name_copy = strdup(member_name);
|
||||
|
||||
char *member_url = (char *)malloc(strlen(url) +
|
||||
strlen(member_anchor) +
|
||||
2);
|
||||
char *member_desc = (char *)malloc(strlen(name) +
|
||||
strlen(member_name) +
|
||||
(member_args ?
|
||||
strlen(member_args) : 0) +
|
||||
3);
|
||||
|
||||
if (member_url && member_desc && member_name_copy)
|
||||
{
|
||||
sprintf(member_url, "%s#%s", url, member_anchor);
|
||||
sprintf(member_desc,
|
||||
"%s::%s%s",
|
||||
name, member_name, member_args ? member_args : "");
|
||||
|
||||
if (AddToCompletionList(member_name_copy,
|
||||
member_desc, member_url) < 0)
|
||||
{
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
|
||||
if (member_url)
|
||||
{
|
||||
free(member_url);
|
||||
}
|
||||
if (member_desc)
|
||||
{
|
||||
free(member_desc);
|
||||
}
|
||||
if (member_name_copy)
|
||||
{
|
||||
free(member_name_copy);
|
||||
}
|
||||
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
child = child->next;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlNodePtr cur;
|
||||
int ret = 0;
|
||||
int res;
|
||||
#define BUFF_SIZE 25 * 1024
|
||||
char buff[BUFF_SIZE];
|
||||
|
||||
LIBXML_TEST_VERSION;
|
||||
|
||||
comp_list = NULL;
|
||||
memset(symbol_hash, 0, sizeof(symbol_hash));
|
||||
|
||||
res = fread(buff, 1, 4, stdin);
|
||||
if (res > 0) {
|
||||
xmlParserCtxtPtr ctxt = xmlCreatePushParserCtxt(NULL, NULL,
|
||||
buff, res, "stdin");
|
||||
|
||||
if (!ctxt)
|
||||
{
|
||||
fprintf(stderr, "Failed to parse XML file\n");
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
while ((res = fread(buff, 1, BUFF_SIZE, stdin)) > 0)
|
||||
{
|
||||
if (xmlParseChunk(ctxt, buff, res, 0) != 0)
|
||||
{
|
||||
fprintf(stderr, "Failed to parse XML file\n");
|
||||
ret = -1;
|
||||
xmlFreeParserCtxt(ctxt);
|
||||
goto abort;
|
||||
}
|
||||
}
|
||||
if (xmlParseChunk(ctxt, buff, 0, 1) != 0)
|
||||
{
|
||||
fprintf(stderr, "Failed to parse XML file\n");
|
||||
ret = -1;
|
||||
xmlFreeParserCtxt(ctxt);
|
||||
goto abort;
|
||||
}
|
||||
doc = ctxt->myDoc;
|
||||
xmlFreeParserCtxt(ctxt);
|
||||
}
|
||||
|
||||
if (!doc)
|
||||
{
|
||||
fprintf(stderr, "Failed to parse XML file\n");
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
cur = xmlDocGetRootElement(doc);
|
||||
if (!cur)
|
||||
{
|
||||
fprintf(stderr, "Empty XML document\n");
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
if (xmlStrcmp(cur->name, (const xmlChar *) "tagfile"))
|
||||
{
|
||||
fprintf(stderr, "Invalid Doxygen tag file, root node != tagfile\n");
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur)
|
||||
{
|
||||
if (cur->type == XML_ELEMENT_NODE)
|
||||
{
|
||||
char *compound_name = XMLTagChild(cur, "name");
|
||||
char *compound_kind = XMLTagAttr(cur, "kind");
|
||||
char *compound_url = XMLTagChild(cur, "filename");
|
||||
char *compound_desc;
|
||||
char *compound_name_copy;
|
||||
char *compound_url_copy;
|
||||
|
||||
if (!compound_name || !compound_kind || !compound_url)
|
||||
{
|
||||
fprintf(stderr, "Invalid Doxygen tags file\n");
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
compound_desc = (char *)malloc(strlen(compound_kind) +
|
||||
strlen(compound_name) + 3);
|
||||
|
||||
if (!compound_desc)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
sprintf(compound_desc, "%s %s", compound_kind, compound_name);
|
||||
|
||||
/* Workaround for apparent Doxygen 1.2.18 bug */
|
||||
{
|
||||
int copy_url = 1;
|
||||
/* Some compounds don't get the .html in the URL */
|
||||
if (strcmp(compound_url + strlen(compound_url)
|
||||
- strlen(".html"),
|
||||
".html") != 0)
|
||||
{
|
||||
compound_url_copy = (char *)malloc(strlen(compound_url) +
|
||||
strlen(".html") + 1);
|
||||
sprintf(compound_url_copy, "%s.html", compound_url);
|
||||
compound_url = compound_url_copy;
|
||||
copy_url = 0;
|
||||
}
|
||||
compound_name_copy = strdup(compound_name);
|
||||
if (copy_url)
|
||||
{
|
||||
compound_url_copy = strdup(compound_url);
|
||||
}
|
||||
else
|
||||
{
|
||||
compound_url_copy = compound_url;
|
||||
}
|
||||
}
|
||||
|
||||
if (!compound_name_copy || !compound_url_copy)
|
||||
{
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
ret = -1;
|
||||
|
||||
if (compound_name_copy)
|
||||
{
|
||||
free(compound_name_copy);
|
||||
}
|
||||
if (compound_url_copy)
|
||||
{
|
||||
free(compound_url_copy);
|
||||
}
|
||||
|
||||
goto abort;
|
||||
}
|
||||
|
||||
if (AddToCompletionList(compound_name_copy,
|
||||
compound_desc,
|
||||
compound_url_copy) < 0)
|
||||
{
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
if (AddCompoundMembers(cur, compound_name, compound_url) < 0)
|
||||
{
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
if (OutputCompletionList() < 0)
|
||||
{
|
||||
ret = -1;
|
||||
goto abort;
|
||||
}
|
||||
|
||||
abort:
|
||||
FreeHash();
|
||||
|
||||
FreeCompletionList();
|
||||
|
||||
if (doc)
|
||||
{
|
||||
xmlFreeDoc(doc);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -1,58 +0,0 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl $Id: configure.ac,v 1.11 2007/06/10 13:17:24 ryants Exp $
|
||||
AC_INIT(doxymacs, 1.8.0, http://sourceforge.net/projects/doxymacs)
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
|
||||
AC_REVISION($Revision: 1.11 $)
|
||||
|
||||
AC_CONFIG_SRCDIR(c/doxymacs_parser.c)
|
||||
|
||||
AM_INIT_AUTOMAKE(doxymacs, 1.8.0)
|
||||
|
||||
AC_PREFIX_DEFAULT(${HOME})
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
AM_PATH_LISPDIR
|
||||
|
||||
dnl Checks for libraries.
|
||||
AM_PATH_XML2(2.6.13)
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_CHECK_FUNCS(strdup)
|
||||
|
||||
dnl Doxymacs specific configure options
|
||||
AC_ARG_WITH(default-style,
|
||||
AC_HELP_STRING([--with-default-style=STYLE],
|
||||
[Default Doxygen style to use. One of "JavaDoc", "Qt", "C++" or "C++!". Default "JavaDoc". ]),
|
||||
DOXYMACS_DEFAULT_STYLE="$withval", DOXYMACS_DEFAULT_STYLE="JavaDoc")
|
||||
|
||||
AC_ARG_WITH(external-xml-parser,
|
||||
AC_HELP_STRING([--with-external-xml-parser],
|
||||
[Use external default xml parser by default. Default is to use internal xml parser.]),
|
||||
DOXYMACS_USE_EXTERNAL_XML_PARSER="t", DOXYMACS_USE_EXTERNAL_XML_PARSER="nil")
|
||||
|
||||
AC_SUBST(DOXYMACS_DEFAULT_STYLE)
|
||||
AC_SUBST(DOXYMACS_USE_EXTERNAL_XML_PARSER)
|
||||
|
||||
dnl Here is a hack to get the REAL bindir without any other
|
||||
dnl embedded variables.
|
||||
AC_CONFIG_COMMANDS_PRE([abs_bindir=${bindir} ; while echo ${abs_bindir} | grep '${[[A-Za-z0-9_]]\+}' > /dev/null ; do abs_bindir=`eval echo ${abs_bindir}` ; done ; DOXYMACS_PARSER=${abs_bindir}/doxymacs_parser${EXEEXT}])
|
||||
|
||||
AC_SUBST(DOXYMACS_PARSER)
|
||||
|
||||
AC_ARG_VAR(EMACS, [How to invoke emacs (e.g. EMACS=xemacs to use XEmacs).])
|
||||
AC_ARG_VAR(EMACSLOADPATH, [Default load-path for EMACS.])
|
||||
|
||||
AC_CONFIG_FILES([Makefile c/Makefile lisp/Makefile lisp/doxymacs.el
|
||||
no-autoconf/Makefile])
|
||||
|
||||
AC_OUTPUT
|
||||
@ -1,54 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1995 Free Software Foundation, Inc.
|
||||
# François Pinard <pinard@iro.umontreal.ca>, 1995.
|
||||
#
|
||||
# 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 2, 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This script byte-compiles all `.el' files which are part of its
|
||||
# arguments, using GNU Emacs, and put the resulting `.elc' files into
|
||||
# the current directory, so disregarding the original directories used
|
||||
# in `.el' arguments.
|
||||
#
|
||||
# This script manages in such a way that all Emacs LISP files to
|
||||
# be compiled are made visible between themselves, in the event
|
||||
# they require or load-library one another.
|
||||
|
||||
if test $# = 0; then
|
||||
echo 1>&2 "No files given to $0"
|
||||
exit 1
|
||||
else
|
||||
if test -z "$EMACS" || test "$EMACS" = "t"; then
|
||||
# Value of "t" means we are running in a shell under Emacs.
|
||||
# Just assume Emacs is called "emacs".
|
||||
EMACS=emacs
|
||||
fi
|
||||
|
||||
tempdir=elc.$$
|
||||
mkdir $tempdir
|
||||
cp $* $tempdir
|
||||
cd $tempdir
|
||||
|
||||
echo "(setq load-path (cons \"..\" load-path))" > script
|
||||
$EMACS -batch -q -l script -f batch-byte-compile *.el
|
||||
mv *.elc ..
|
||||
|
||||
cd ..
|
||||
rm -fr $tempdir
|
||||
fi
|
||||
@ -1,134 +0,0 @@
|
||||
<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
|
||||
<tagfile>
|
||||
<compound kind="file">
|
||||
<name>aclass.h</name>
|
||||
<path>/home/rts/Projects/doxymacs/example/src/</path>
|
||||
<filename>aclass_8h</filename>
|
||||
<class kind="class">Foo</class>
|
||||
<class kind="struct">blah</class>
|
||||
<class kind="struct">baz</class>
|
||||
<namespace>NameSpaceTest</namespace>
|
||||
<member kind="define">
|
||||
<type>#define</type>
|
||||
<name>SOME_OBSCURE_DEFINE</name>
|
||||
<anchorfile>aclass_8h.html</anchorfile>
|
||||
<anchor>a7a597155a7a2c7edf98291e4196f6f37</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="enumeration">
|
||||
<name>_blah</name>
|
||||
<anchorfile>aclass_8h.html</anchorfile>
|
||||
<anchor>aff7431c1e83d4cf5f4810ed8e9dc2e7e</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="enumvalue">
|
||||
<name>FOO_SNAZ</name>
|
||||
<anchorfile>aclass_8h.html</anchorfile>
|
||||
<anchor>aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="enumvalue">
|
||||
<name>Foo</name>
|
||||
<anchorfile>aclass_8h.html</anchorfile>
|
||||
<anchor>aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="variable">
|
||||
<type>int</type>
|
||||
<name>foobazbar</name>
|
||||
<anchorfile>namespaceNameSpaceTest.html</anchorfile>
|
||||
<anchor>a5f0fd9588d8e6d4aaf2ff4ad20d7e60b</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
</compound>
|
||||
<compound kind="struct">
|
||||
<name>baz</name>
|
||||
<filename>structbaz.html</filename>
|
||||
<member kind="variable">
|
||||
<type>int</type>
|
||||
<name>z</name>
|
||||
<anchorfile>structbaz.html</anchorfile>
|
||||
<anchor>aa5d83e88ff56e3e2511d5f9335106e78</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
</compound>
|
||||
<compound kind="struct">
|
||||
<name>blah</name>
|
||||
<filename>structblah.html</filename>
|
||||
<member kind="variable">
|
||||
<type>int</type>
|
||||
<name>x</name>
|
||||
<anchorfile>structblah.html</anchorfile>
|
||||
<anchor>afa9a06361ecd9f06902546449295d4c7</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="variable">
|
||||
<type>int</type>
|
||||
<name>y</name>
|
||||
<anchorfile>structblah.html</anchorfile>
|
||||
<anchor>a7867e67a7099e4420c9de686a68eb6c8</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
</compound>
|
||||
<compound kind="class">
|
||||
<name>Foo</name>
|
||||
<filename>classFoo.html</filename>
|
||||
<member kind="enumeration">
|
||||
<name>blah_blah</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>a9fbd006a5c0ff9ddb4f02a950d4e862c</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="enumvalue">
|
||||
<name>BAZ</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="enumvalue">
|
||||
<name>BAZ2</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
<member kind="function">
|
||||
<type></type>
|
||||
<name>Foo</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>a400553bba3f44d1d4b82a0be2bf575b6</anchor>
|
||||
<arglist>(int blah)</arglist>
|
||||
</member>
|
||||
<member kind="function">
|
||||
<type></type>
|
||||
<name>GetBlah</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>a1d524237312eaafba8838e9c354df460</anchor>
|
||||
<arglist>(void) const </arglist>
|
||||
</member>
|
||||
<member kind="function" protection="private">
|
||||
<type></type>
|
||||
<name>Foo</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>aefff6cbdd4727b0b1da2c7c00f529a02</anchor>
|
||||
<arglist>(int &in, int &out, int &inout)</arglist>
|
||||
</member>
|
||||
<member kind="variable" protection="private">
|
||||
<type>int</type>
|
||||
<name>_blah</name>
|
||||
<anchorfile>classFoo.html</anchorfile>
|
||||
<anchor>a4e5ef452fe3f664199e8c5e91754e0e2</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
</compound>
|
||||
<compound kind="namespace">
|
||||
<name>NameSpaceTest</name>
|
||||
<filename>namespaceNameSpaceTest.html</filename>
|
||||
<member kind="variable">
|
||||
<type>int</type>
|
||||
<name>foobazbar</name>
|
||||
<anchorfile>namespaceNameSpaceTest.html</anchorfile>
|
||||
<anchor>a5f0fd9588d8e6d4aaf2ff4ad20d7e60b</anchor>
|
||||
<arglist></arglist>
|
||||
</member>
|
||||
</compound>
|
||||
</tagfile>
|
||||
@ -1,65 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Test project: aclass.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.4 -->
|
||||
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div>
|
||||
<h1>aclass.h</h1><a href="aclass_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// $Id: aclass_8h-source.html,v 1.6 2006/04/23 01:04:30 ryants Exp $</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// This is just some silly sample file to test out doxymacs with.</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#ifndef _ACLASS_H_</span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor"></span><span class="preprocessor">#define _ACLASS_H_</span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor"></span>
|
||||
<a name="l00006"></a>00006
|
||||
<a name="l00007"></a><a class="code" href="aclass_8h.html#a0">00007</a> <span class="preprocessor">#define SOME_OBSCURE_DEFINE 76</span>
|
||||
<a name="l00008"></a>00008 <span class="preprocessor"></span>
|
||||
<a name="l00013"></a><a class="code" href="classFoo.html">00013</a> <span class="keyword">class </span><a class="code" href="classFoo.html">Foo</a>
|
||||
<a name="l00014"></a>00014 {
|
||||
<a name="l00015"></a>00015 <span class="keyword">public</span>:
|
||||
<a name="l00021"></a><a class="code" href="classFoo.html#a0">00021</a> <a class="code" href="classFoo.html#a0">Foo</a>(<span class="keywordtype">int</span> <a class="code" href="structblah.html">blah</a>)
|
||||
<a name="l00022"></a>00022 : <a class="code" href="aclass_8h.html#a4">_blah</a>(blah)
|
||||
<a name="l00023"></a>00023 {}
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00028"></a><a class="code" href="classFoo.html#a1">00028</a> <a class="code" href="classFoo.html#a1">GetBlah</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="aclass_8h.html#a4">_blah</a>; }
|
||||
<a name="l00029"></a>00029
|
||||
<a name="l00030"></a><a class="code" href="classFoo.html#w2">00030</a> <span class="keyword">enum</span> <a class="code" href="classFoo.html#w2">blah_blah</a>
|
||||
<a name="l00031"></a>00031 {
|
||||
<a name="l00032"></a>00032 <a class="code" href="classFoo.html#w2w0">BAZ</a>,
|
||||
<a name="l00033"></a>00033 <a class="code" href="classFoo.html#w2w1">BAZ2</a>,
|
||||
<a name="l00034"></a>00034 };
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="keyword">private</span>:
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00045"></a><a class="code" href="classFoo.html#d0">00045</a> <a class="code" href="classFoo.html#a0">Foo</a>(<span class="keywordtype">int</span> &in, <span class="keywordtype">int</span> &out, <span class="keywordtype">int</span> &inout) { out = in + inout; }
|
||||
<a name="l00046"></a>00046
|
||||
<a name="l00048"></a><a class="code" href="classFoo.html#r0">00048</a> <span class="keywordtype">int</span> <a class="code" href="aclass_8h.html#a4">_blah</a>;
|
||||
<a name="l00049"></a>00049 };
|
||||
<a name="l00050"></a>00050
|
||||
<a name="l00052"></a><a class="code" href="structblah.html">00052</a> <span class="keyword">struct </span><a class="code" href="structblah.html">blah</a>
|
||||
<a name="l00053"></a>00053 {
|
||||
<a name="l00054"></a><a class="code" href="structblah.html#o0">00054</a> <span class="keywordtype">int</span> <a class="code" href="structblah.html#o0">x</a>;
|
||||
<a name="l00055"></a><a class="code" href="structblah.html#o1">00055</a> <span class="keywordtype">int</span> <a class="code" href="structblah.html#o1">y</a>;
|
||||
<a name="l00056"></a>00056 };
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00058"></a><a class="code" href="structbaz.html">00058</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
|
||||
<a name="l00059"></a>00059 <span class="keyword"></span>{
|
||||
<a name="l00060"></a><a class="code" href="structbaz.html#o0">00060</a> <span class="keywordtype">int</span> z;
|
||||
<a name="l00061"></a>00061 } <a class="code" href="structbaz.html">baz</a>;
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00064"></a><a class="code" href="aclass_8h.html#a4">00064</a> <span class="keyword">enum</span> <a class="code" href="aclass_8h.html#a4">_blah</a>
|
||||
<a name="l00065"></a>00065 {
|
||||
<a name="l00066"></a>00066 <a class="code" href="aclass_8h.html#a4a2">FOO_SNAZ</a>,
|
||||
<a name="l00067"></a>00067 <a class="code" href="classFoo.html">Foo</a>
|
||||
<a name="l00068"></a>00068 };
|
||||
<a name="l00069"></a>00069
|
||||
<a name="l00071"></a><a class="code" href="namespaceNameSpaceTest.html">00071</a> <span class="keyword">namespace </span>NameSpaceTest
|
||||
<a name="l00072"></a>00072 {
|
||||
<a name="l00073"></a><a class="code" href="namespaceNameSpaceTest.html#a0">00073</a> <span class="keywordtype">int</span> <a class="code" href="namespaceNameSpaceTest.html#a0">foobazbar</a>;
|
||||
<a name="l00074"></a>00074 }
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00076"></a>00076 <span class="preprocessor">#endif // _ACLASS_H_</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 22 17:58:57 2006 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,108 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: aclass.h File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>aclass.h File Reference</h1>
|
||||
<p><a href="aclass_8h_source.html">Go to the source code of this file.</a></p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan="2"><h2>Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFoo.html">Foo</a></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">This class does <a class="el" href="structblah.html" title="This struct does something useless.">blah</a>. <a href="classFoo.html#_details">More...</a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structblah.html">blah</a></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">This struct does something useless. <a href="structblah.html#_details">More...</a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structbaz.html">baz</a></td></tr>
|
||||
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceNameSpaceTest.html">NameSpaceTest</a></td></tr>
|
||||
|
||||
<p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Some namespace. </p>
|
||||
<br/></td></tr>
|
||||
</p>
|
||||
<tr><td colspan="2"><h2>Defines</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="aclass_8h.html#a7a597155a7a2c7edf98291e4196f6f37">SOME_OBSCURE_DEFINE</a> 76</td></tr>
|
||||
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e">_blah</a> { <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611">FOO_SNAZ</a>,
|
||||
<a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6">Foo</a>
|
||||
}</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>This is a useless enum. </p>
|
||||
<a href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e">More...</a><br/></td></tr>
|
||||
<tr><td colspan="2"><h2>Variables</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">NameSpaceTest::foobazbar</a></td></tr>
|
||||
</table>
|
||||
<hr/><h2>Define Documentation</h2>
|
||||
<a class="anchor" id="a7a597155a7a2c7edf98291e4196f6f37"></a><!-- doxytag: member="aclass.h::SOME_OBSCURE_DEFINE" ref="a7a597155a7a2c7edf98291e4196f6f37" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define SOME_OBSCURE_DEFINE 76</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00007">7</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/><h2>Enumeration Type Documentation</h2>
|
||||
<a class="anchor" id="aff7431c1e83d4cf5f4810ed8e9dc2e7e"></a><!-- doxytag: member="aclass.h::_blah" ref="aff7431c1e83d4cf5f4810ed8e9dc2e7e" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">enum <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e">_blah</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>This is a useless enum. </p>
|
||||
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"><em><a class="anchor" id="aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611"></a><!-- doxytag: member="FOO_SNAZ" ref="aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611" args="" -->FOO_SNAZ</em> </td><td>
|
||||
<p>More silly stuff. </p>
|
||||
</td></tr>
|
||||
<tr><td valign="top"><em><a class="anchor" id="aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6"></a><!-- doxytag: member="Foo" ref="aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6" args="" -->Foo</em> </td><td>
|
||||
</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00064">64</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
<p><div class="fragment"><pre class="fragment"><a name="l00065"></a>00065 {
|
||||
<a name="l00066"></a>00066 <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611" title="More silly stuff.">FOO_SNAZ</a>,
|
||||
<a name="l00067"></a>00067 <a class="code" href="classFoo.html" title="This class does blah.">Foo</a>
|
||||
<a name="l00068"></a>00068 };
|
||||
</pre></div></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,84 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: aclass.h Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>aclass.h</h1><a href="aclass_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// $Id: aclass.h,v 1.3 2005/04/01 06:05:06 ryants Exp $</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// This is just some silly sample file to test out doxymacs with.</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#ifndef _ACLASS_H_</span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor"></span><span class="preprocessor">#define _ACLASS_H_</span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor"></span>
|
||||
<a name="l00006"></a>00006
|
||||
<a name="l00007"></a><a class="code" href="aclass_8h.html#a7a597155a7a2c7edf98291e4196f6f37">00007</a> <span class="preprocessor">#define SOME_OBSCURE_DEFINE 76</span>
|
||||
<a name="l00008"></a>00008 <span class="preprocessor"></span>
|
||||
<a name="l00013"></a><a class="code" href="classFoo.html">00013</a> <span class="keyword">class </span><a class="code" href="classFoo.html" title="This class does blah.">Foo</a>
|
||||
<a name="l00014"></a>00014 {
|
||||
<a name="l00015"></a>00015 <span class="keyword">public</span>:
|
||||
<a name="l00021"></a><a class="code" href="classFoo.html#a400553bba3f44d1d4b82a0be2bf575b6">00021</a> <a class="code" href="classFoo.html#a400553bba3f44d1d4b82a0be2bf575b6" title="The constructor.">Foo</a>(<span class="keywordtype">int</span> <a class="code" href="structblah.html" title="This struct does something useless.">blah</a>)
|
||||
<a name="l00022"></a>00022 : <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e" title="This is a useless enum.">_blah</a>(blah)
|
||||
<a name="l00023"></a>00023 {}
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00028"></a><a class="code" href="classFoo.html#a1d524237312eaafba8838e9c354df460">00028</a> <a class="code" href="classFoo.html#a1d524237312eaafba8838e9c354df460" title="Gets the current value of blah.">GetBlah</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e" title="This is a useless enum.">_blah</a>; }
|
||||
<a name="l00029"></a>00029
|
||||
<a name="l00030"></a><a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">00030</a> <span class="keyword">enum</span> <a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">blah_blah</a>
|
||||
<a name="l00031"></a>00031 {
|
||||
<a name="l00032"></a><a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">00032</a> <a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">BAZ</a>,
|
||||
<a name="l00033"></a><a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">00033</a> <a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">BAZ2</a>,
|
||||
<a name="l00034"></a>00034 };
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="keyword">private</span>:
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00045"></a><a class="code" href="classFoo.html#aefff6cbdd4727b0b1da2c7c00f529a02">00045</a> <a class="code" href="classFoo.html#aefff6cbdd4727b0b1da2c7c00f529a02" title="Testing the in/out parameter stuff.">Foo</a>(<span class="keywordtype">int</span> &in, <span class="keywordtype">int</span> &out, <span class="keywordtype">int</span> &inout) { out = in + inout; }
|
||||
<a name="l00046"></a>00046
|
||||
<a name="l00048"></a><a class="code" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2">00048</a> <span class="keywordtype">int</span> <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e" title="This is a useless enum.">_blah</a>;
|
||||
<a name="l00049"></a>00049 };
|
||||
<a name="l00050"></a>00050
|
||||
<a name="l00052"></a><a class="code" href="structblah.html">00052</a> <span class="keyword">struct </span><a class="code" href="structblah.html" title="This struct does something useless.">blah</a>
|
||||
<a name="l00053"></a>00053 {
|
||||
<a name="l00054"></a><a class="code" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">00054</a> <span class="keywordtype">int</span> <a class="code" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">x</a>;
|
||||
<a name="l00055"></a><a class="code" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">00055</a> <span class="keywordtype">int</span> <a class="code" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">y</a>;
|
||||
<a name="l00056"></a>00056 };
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00058"></a><a class="code" href="structbaz.html">00058</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
|
||||
<a name="l00059"></a>00059 {
|
||||
<a name="l00060"></a><a class="code" href="structbaz.html#aa5d83e88ff56e3e2511d5f9335106e78">00060</a> <span class="keywordtype">int</span> z;
|
||||
<a name="l00061"></a>00061 } <a class="code" href="structbaz.html">baz</a>;
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00064"></a><a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e">00064</a> <span class="keyword">enum</span> <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e" title="This is a useless enum.">_blah</a>
|
||||
<a name="l00065"></a>00065 {
|
||||
<a name="l00066"></a><a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611">00066</a> <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611" title="More silly stuff.">FOO_SNAZ</a>,
|
||||
<a name="l00067"></a><a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6">00067</a> <a class="code" href="classFoo.html" title="This class does blah.">Foo</a>
|
||||
<a name="l00068"></a>00068 };
|
||||
<a name="l00069"></a>00069
|
||||
<a name="l00071"></a><a class="code" href="namespaceNameSpaceTest.html">00071</a> <span class="keyword">namespace </span>NameSpaceTest
|
||||
<a name="l00072"></a>00072 {
|
||||
<a name="l00073"></a><a class="code" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">00073</a> <span class="keywordtype">int</span> <a class="code" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">foobazbar</a>;
|
||||
<a name="l00074"></a>00074 }
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00076"></a>00076 <span class="preprocessor">#endif // _ACLASS_H_</span>
|
||||
</pre></div></div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,38 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="structbaz.html">baz</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="structblah.html">blah</a></td><td class="indexvalue">This struct does something useless </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classFoo.html">Foo</a></td><td class="indexvalue">This class does <a class="el" href="structblah.html" title="This struct does something useless.">blah</a> </td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,41 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Foo Member List</h1>This is the complete list of members for <a class="el" href="classFoo.html">Foo</a>, including all inherited members.<table>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2">_blah</a></td><td><a class="el" href="classFoo.html">Foo</a></td><td><code> [private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">BAZ</a> enum value</td><td><a class="el" href="classFoo.html">Foo</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">BAZ2</a> enum value</td><td><a class="el" href="classFoo.html">Foo</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">blah_blah</a> enum name</td><td><a class="el" href="classFoo.html">Foo</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#a400553bba3f44d1d4b82a0be2bf575b6">Foo</a>(int blah)</td><td><a class="el" href="classFoo.html">Foo</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#aefff6cbdd4727b0b1da2c7c00f529a02">Foo</a>(int &in, int &out, int &inout)</td><td><a class="el" href="classFoo.html">Foo</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classFoo.html#a1d524237312eaafba8838e9c354df460">GetBlah</a>(void) const </td><td><a class="el" href="classFoo.html">Foo</a></td><td><code> [inline]</code></td></tr>
|
||||
</table></div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,219 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Foo Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Foo Class Reference</h1><!-- doxytag: class="Foo" -->
|
||||
<p>This class does <a class="el" href="structblah.html" title="This struct does something useless.">blah</a>.
|
||||
<a href="#_details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="aclass_8h_source.html">aclass.h</a>></code></p>
|
||||
|
||||
<p><a href="classFoo-members.html">List of all members.</a></p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">blah_blah</a> { <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">BAZ</a>,
|
||||
<a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">BAZ2</a>
|
||||
}</td></tr>
|
||||
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFoo.html#a400553bba3f44d1d4b82a0be2bf575b6">Foo</a> (int <a class="el" href="structblah.html">blah</a>)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The constructor. <a href="#a400553bba3f44d1d4b82a0be2bf575b6"></a><br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFoo.html#a1d524237312eaafba8838e9c354df460">GetBlah</a> (void) const </td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the current value of <a class="el" href="structblah.html" title="This struct does something useless.">blah</a>. <a href="#a1d524237312eaafba8838e9c354df460"></a><br/></td></tr>
|
||||
<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFoo.html#aefff6cbdd4727b0b1da2c7c00f529a02">Foo</a> (int &in, int &out, int &inout)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Testing the in/out parameter stuff. <a href="#aefff6cbdd4727b0b1da2c7c00f529a02"></a><br/></td></tr>
|
||||
<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2">_blah</a></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">This is a measure of our blahness. <a href="#a4e5ef452fe3f664199e8c5e91754e0e2"></a><br/></td></tr>
|
||||
</table>
|
||||
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
||||
<p>This class does <a class="el" href="structblah.html" title="This struct does something useless.">blah</a>. </p>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00013">13</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
<hr/><h2>Member Enumeration Documentation</h2>
|
||||
<a class="anchor" id="a9fbd006a5c0ff9ddb4f02a950d4e862c"></a><!-- doxytag: member="Foo::blah_blah" ref="a9fbd006a5c0ff9ddb4f02a950d4e862c" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">enum <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">Foo::blah_blah</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"><em><a class="anchor" id="a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed"></a><!-- doxytag: member="BAZ" ref="a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed" args="" -->BAZ</em> </td><td>
|
||||
</td></tr>
|
||||
<tr><td valign="top"><em><a class="anchor" id="a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0"></a><!-- doxytag: member="BAZ2" ref="a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0" args="" -->BAZ2</em> </td><td>
|
||||
</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00030">30</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
<p><div class="fragment"><pre class="fragment"><a name="l00031"></a>00031 {
|
||||
<a name="l00032"></a>00032 <a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">BAZ</a>,
|
||||
<a name="l00033"></a>00033 <a class="code" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">BAZ2</a>,
|
||||
<a name="l00034"></a>00034 };
|
||||
</pre></div></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" id="a400553bba3f44d1d4b82a0be2bf575b6"></a><!-- doxytag: member="Foo::Foo" ref="a400553bba3f44d1d4b82a0be2bf575b6" args="(int blah)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Foo::Foo </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>blah</em></td>
|
||||
<td> ) </td>
|
||||
<td><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>The constructor. </p>
|
||||
<dl><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="structblah.html" title="This struct does something useless.">blah</a></em> </td><td>Some kind of fish. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00021">21</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
<p><div class="fragment"><pre class="fragment"><a name="l00022"></a>00022 : <a class="code" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2" title="This is a measure of our blahness.">_blah</a>(<a class="code" href="structblah.html" title="This struct does something useless.">blah</a>)
|
||||
<a name="l00023"></a>00023 {}
|
||||
</pre></div></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aefff6cbdd4727b0b1da2c7c00f529a02"></a><!-- doxytag: member="Foo::Foo" ref="aefff6cbdd4727b0b1da2c7c00f529a02" args="(int &in, int &out, int &inout)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Foo::Foo </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"> <em>in</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"> <em>out</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"> <em>inout</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Testing the in/out parameter stuff. </p>
|
||||
<dl><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>in</em> </td><td>An "in" parameter </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>out</em> </td><td>An "out" parameter </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>inout</em> </td><td>An "inout" parameter </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00045">45</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
<p><div class="fragment"><pre class="fragment"><a name="l00045"></a>00045 { out = in + inout; }
|
||||
</pre></div></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" id="a1d524237312eaafba8838e9c354df460"></a><!-- doxytag: member="Foo::GetBlah" ref="a1d524237312eaafba8838e9c354df460" args="(void) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Foo::GetBlah </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td>
|
||||
<td> ) </td>
|
||||
<td> const<code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Gets the current value of <a class="el" href="structblah.html" title="This struct does something useless.">blah</a>. </p>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00028">28</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
<p><div class="fragment"><pre class="fragment"><a name="l00028"></a>00028 { <span class="keywordflow">return</span> <a class="code" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e" title="This is a useless enum.">_blah</a>; }
|
||||
</pre></div></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" id="a4e5ef452fe3f664199e8c5e91754e0e2"></a><!-- doxytag: member="Foo::_blah" ref="a4e5ef452fe3f664199e8c5e91754e0e2" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2">Foo::_blah</a><code> [private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>This is a measure of our blahness. </p>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00048">48</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="aclass_8h_source.html">aclass.h</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,38 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Alphabetical List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_F">F</a></div>
|
||||
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> B </div></td></tr></table>
|
||||
</td><td><a class="el" href="structbaz.html">baz</a> </td><td><a class="el" href="structblah.html">blah</a> </td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> F </div></td></tr></table>
|
||||
</td><td><a class="el" href="classFoo.html">Foo</a> </td></tr></table><div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_F">F</a></div>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,498 +0,0 @@
|
||||
/* The standard CSS for doxygen */
|
||||
|
||||
body, table, div, p, dl {
|
||||
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* @group Heading Levels */
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
font-size: 150%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.multicol {
|
||||
-moz-column-gap: 1em;
|
||||
-webkit-column-gap: 1em;
|
||||
-moz-column-count: 3;
|
||||
-webkit-column-count: 3;
|
||||
}
|
||||
|
||||
p.startli, p.startdd {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
p.endli {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
p.enddd {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
caption {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
span.legend {
|
||||
font-size: 70%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.qindex, div.navtab{
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
div.qindex, div.navpath {
|
||||
width: 100%;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
div.navtab {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
/* @group Link Styling */
|
||||
|
||||
a {
|
||||
color: #153788;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contents a:visited {
|
||||
color: #1b77c5;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a.qindex {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.qindexHL {
|
||||
font-weight: bold;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
border: 1px double #9295C2;
|
||||
}
|
||||
|
||||
.contents a.qindexHL:visited {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
a.el {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.elRef {
|
||||
}
|
||||
|
||||
a.code {
|
||||
}
|
||||
|
||||
a.codeRef {
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
dl.el {
|
||||
margin-left: -1cm;
|
||||
}
|
||||
|
||||
.fragment {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
pre.fragment {
|
||||
border: 1px solid #CCCCCC;
|
||||
background-color: #f5f5f5;
|
||||
padding: 4px 6px;
|
||||
margin: 4px 8px 4px 2px;
|
||||
}
|
||||
|
||||
div.ah {
|
||||
background-color: black;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 3px
|
||||
}
|
||||
|
||||
div.groupHeader {
|
||||
margin-left: 16px;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.groupText {
|
||||
margin-left: 16px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
body {
|
||||
background: white;
|
||||
color: black;
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
td.indexkey {
|
||||
background-color: #e8eef2;
|
||||
font-weight: bold;
|
||||
border: 1px solid #CCCCCC;
|
||||
margin: 2px 0px 2px 0;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
td.indexvalue {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #CCCCCC;
|
||||
padding: 2px 10px;
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
tr.memlist {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
p.formulaDsp {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img.formulaDsp {
|
||||
|
||||
}
|
||||
|
||||
img.formulaInl {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div.center {
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
div.center img {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
img.footer {
|
||||
border: 0px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* @group Code Colorization */
|
||||
|
||||
span.keyword {
|
||||
color: #008000
|
||||
}
|
||||
|
||||
span.keywordtype {
|
||||
color: #604020
|
||||
}
|
||||
|
||||
span.keywordflow {
|
||||
color: #e08000
|
||||
}
|
||||
|
||||
span.comment {
|
||||
color: #800000
|
||||
}
|
||||
|
||||
span.preprocessor {
|
||||
color: #806020
|
||||
}
|
||||
|
||||
span.stringliteral {
|
||||
color: #002080
|
||||
}
|
||||
|
||||
span.charliteral {
|
||||
color: #008080
|
||||
}
|
||||
|
||||
span.vhdldigit {
|
||||
color: #ff00ff
|
||||
}
|
||||
|
||||
span.vhdlchar {
|
||||
color: #000000
|
||||
}
|
||||
|
||||
span.vhdlkeyword {
|
||||
color: #700070
|
||||
}
|
||||
|
||||
span.vhdllogic {
|
||||
color: #ff0000
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
.search {
|
||||
color: #003399;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
form.search {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
input.search {
|
||||
font-size: 75%;
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
background-color: #e8eef2;
|
||||
}
|
||||
|
||||
td.tiny {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
.dirtab {
|
||||
padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
|
||||
th.dirtab {
|
||||
background: #e8eef2;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0;
|
||||
border: none;
|
||||
border-top: 1px solid #666;
|
||||
}
|
||||
|
||||
/* @group Member Descriptions */
|
||||
|
||||
.mdescLeft, .mdescRight,
|
||||
.memItemLeft, .memItemRight,
|
||||
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
||||
background-color: #FAFAFA;
|
||||
border: none;
|
||||
margin: 4px;
|
||||
padding: 1px 0 0 8px;
|
||||
}
|
||||
|
||||
.mdescLeft, .mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.memItemLeft, .memItemRight, .memTemplParams {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.memItemLeft, .memTemplItemLeft {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.memTemplParams {
|
||||
color: #606060;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Member Details */
|
||||
|
||||
/* Styles for detailed member documentation */
|
||||
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #606060;
|
||||
font-weight: normal;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.memnav {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.memitem {
|
||||
padding: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.memproto, .memdoc {
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
|
||||
.memproto {
|
||||
padding: 0;
|
||||
background-color: #d5e1e8;
|
||||
font-weight: bold;
|
||||
-webkit-border-top-left-radius: 8px;
|
||||
-webkit-border-top-right-radius: 8px;
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
-moz-border-radius-topleft: 8px;
|
||||
-moz-border-radius-topright: 8px;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||
|
||||
}
|
||||
|
||||
.memdoc {
|
||||
padding: 2px 5px;
|
||||
background-color: #eef3f5;
|
||||
border-top-width: 0;
|
||||
-webkit-border-bottom-left-radius: 8px;
|
||||
-webkit-border-bottom-right-radius: 8px;
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
-moz-border-radius-bottomleft: 8px;
|
||||
-moz-border-radius-bottomright: 8px;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||
}
|
||||
|
||||
.paramkey {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.paramtype {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.paramname {
|
||||
color: #602020;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.paramname em {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Directory (tree) */
|
||||
|
||||
/* for the tree view */
|
||||
|
||||
.ftvtree {
|
||||
font-family: sans-serif;
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
||||
/* these are for tree view when used as main index */
|
||||
|
||||
.directory {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.directory h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
/*
|
||||
The following two styles can be used to replace the root node title
|
||||
with an image of your choice. Simply uncomment the next two styles,
|
||||
specify the name of your image and be sure to set 'height' to the
|
||||
proper pixel height of your image.
|
||||
*/
|
||||
|
||||
/*
|
||||
.directory h3.swap {
|
||||
height: 61px;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url("yourimage.gif");
|
||||
}
|
||||
.directory h3.swap span {
|
||||
display: none;
|
||||
}
|
||||
*/
|
||||
|
||||
.directory > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.directory p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.directory div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.directory img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
||||
/* these are for tree view when not used as main index */
|
||||
|
||||
.directory-alt {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.directory-alt h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.directory-alt > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.directory-alt p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.directory-alt div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.directory-alt img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
address {
|
||||
font-style: normal;
|
||||
color: #333;
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 KiB |
@ -1,36 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: File Index</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="aclass_8h.html">aclass.h</a> <a href="aclass_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,71 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
Here is a list of all class members with links to the classes they belong to:<ul>
|
||||
<li>_blah
|
||||
: <a class="el" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2">Foo</a>
|
||||
</li>
|
||||
<li>BAZ
|
||||
: <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">Foo</a>
|
||||
</li>
|
||||
<li>BAZ2
|
||||
: <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">Foo</a>
|
||||
</li>
|
||||
<li>blah_blah
|
||||
: <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">Foo</a>
|
||||
</li>
|
||||
<li>Foo()
|
||||
: <a class="el" href="classFoo.html#a400553bba3f44d1d4b82a0be2bf575b6">Foo</a>
|
||||
</li>
|
||||
<li>GetBlah()
|
||||
: <a class="el" href="classFoo.html#a1d524237312eaafba8838e9c354df460">Foo</a>
|
||||
</li>
|
||||
<li>x
|
||||
: <a class="el" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">blah</a>
|
||||
</li>
|
||||
<li>y
|
||||
: <a class="el" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">blah</a>
|
||||
</li>
|
||||
<li>z
|
||||
: <a class="el" href="structbaz.html#aa5d83e88ff56e3e2511d5f9335106e78">baz</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,47 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members - Enumerations</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
<li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>blah_blah
|
||||
: <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862c">Foo</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,50 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members - Enumerator</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
|
||||
<li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>BAZ
|
||||
: <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862ca551af527291c62badc07f5731648c7ed">Foo</a>
|
||||
</li>
|
||||
<li>BAZ2
|
||||
: <a class="el" href="classFoo.html#a9fbd006a5c0ff9ddb4f02a950d4e862cacba6ac26da56f9234ebf45f6398cb9c0">Foo</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,50 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members - Functions</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>Foo()
|
||||
: <a class="el" href="classFoo.html#a400553bba3f44d1d4b82a0be2bf575b6">Foo</a>
|
||||
</li>
|
||||
<li>GetBlah()
|
||||
: <a class="el" href="classFoo.html#a1d524237312eaafba8838e9c354df460">Foo</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,56 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members - Variables</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>_blah
|
||||
: <a class="el" href="classFoo.html#a4e5ef452fe3f664199e8c5e91754e0e2">Foo</a>
|
||||
</li>
|
||||
<li>x
|
||||
: <a class="el" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">blah</a>
|
||||
</li>
|
||||
<li>y
|
||||
: <a class="el" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">blah</a>
|
||||
</li>
|
||||
<li>z
|
||||
: <a class="el" href="structbaz.html#aa5d83e88ff56e3e2511d5f9335106e78">baz</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,55 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Defines</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
Here is a list of all file members with links to the files they belong to:<ul>
|
||||
<li>_blah
|
||||
: <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e">aclass.h</a>
|
||||
</li>
|
||||
<li>Foo
|
||||
: <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6">aclass.h</a>
|
||||
</li>
|
||||
<li>FOO_SNAZ
|
||||
: <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611">aclass.h</a>
|
||||
</li>
|
||||
<li>SOME_OBSCURE_DEFINE
|
||||
: <a class="el" href="aclass_8h.html#a7a597155a7a2c7edf98291e4196f6f37">aclass.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,46 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>SOME_OBSCURE_DEFINE
|
||||
: <a class="el" href="aclass_8h.html#a7a597155a7a2c7edf98291e4196f6f37">aclass.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,46 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Defines</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>_blah
|
||||
: <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7e">aclass.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,49 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Defines</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>Foo
|
||||
: <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaca2a3a2b2da8e517565fb654a86639b6">aclass.h</a>
|
||||
</li>
|
||||
<li>FOO_SNAZ
|
||||
: <a class="el" href="aclass_8h.html#aff7431c1e83d4cf5f4810ed8e9dc2e7eaff576ecff55813a881ead287578a3611">aclass.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,18 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.4 -->
|
||||
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindexHL" href="globals.html">File Members</a></div>
|
||||
<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>foobazbar
|
||||
: <a class="el" href="namespaceNameSpaceTest.html#a0">aclass.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 22 17:58:57 2006 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,27 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Main Page</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Test project Documentation</h1></div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,58 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: NameSpaceTest Namespace Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>NameSpaceTest Namespace Reference</h1>
|
||||
<p>Some namespace.
|
||||
<a href="#_details">More...</a></p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan="2"><h2>Variables</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">foobazbar</a></td></tr>
|
||||
</table>
|
||||
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
||||
<p>Some namespace. </p>
|
||||
<hr/><h2>Variable Documentation</h2>
|
||||
<a class="anchor" id="a5f0fd9588d8e6d4aaf2ff4ad20d7e60b"></a><!-- doxytag: member="NameSpaceTest::foobazbar" ref="a5f0fd9588d8e6d4aaf2ff4ad20d7e60b" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">NameSpaceTest::foobazbar</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00073">73</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,44 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
Here is a list of all namespace members with links to the namespace documentation for each member:<ul>
|
||||
<li>foobazbar
|
||||
: <a class="el" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">NameSpaceTest</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,44 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Class Members</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<ul>
|
||||
<li>foobazbar
|
||||
: <a class="el" href="namespaceNameSpaceTest.html#a5f0fd9588d8e6d4aaf2ff4ad20d7e60b">NameSpaceTest</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,36 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Namespace Index</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="namespaceNameSpaceTest.html">NameSpaceTest</a></td><td class="indexvalue">Some namespace </td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,35 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>baz Member List</h1>This is the complete list of members for <a class="el" href="structbaz.html">baz</a>, including all inherited members.<table>
|
||||
<tr class="memlist"><td><a class="el" href="structbaz.html#aa5d83e88ff56e3e2511d5f9335106e78">z</a></td><td><a class="el" href="structbaz.html">baz</a></td><td></td></tr>
|
||||
</table></div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,63 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: baz Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>baz Struct Reference</h1><!-- doxytag: class="baz" -->
|
||||
<p><code>#include <<a class="el" href="aclass_8h_source.html">aclass.h</a>></code></p>
|
||||
|
||||
<p><a href="structbaz-members.html">List of all members.</a></p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structbaz.html#aa5d83e88ff56e3e2511d5f9335106e78">z</a></td></tr>
|
||||
</table>
|
||||
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00058">58</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
<hr/><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" id="aa5d83e88ff56e3e2511d5f9335106e78"></a><!-- doxytag: member="baz::z" ref="aa5d83e88ff56e3e2511d5f9335106e78" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="structbaz.html#aa5d83e88ff56e3e2511d5f9335106e78">baz::z</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00060">60</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="aclass_8h_source.html">aclass.h</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,36 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>blah Member List</h1>This is the complete list of members for <a class="el" href="structblah.html">blah</a>, including all inherited members.<table>
|
||||
<tr class="memlist"><td><a class="el" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">x</a></td><td><a class="el" href="structblah.html">blah</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">y</a></td><td><a class="el" href="structblah.html">blah</a></td><td></td></tr>
|
||||
</table></div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,83 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<title>Test project: blah Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>blah Struct Reference</h1><!-- doxytag: class="blah" -->
|
||||
<p>This struct does something useless.
|
||||
<a href="#_details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="aclass_8h_source.html">aclass.h</a>></code></p>
|
||||
|
||||
<p><a href="structblah-members.html">List of all members.</a></p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">x</a></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">y</a></td></tr>
|
||||
</table>
|
||||
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
||||
<p>This struct does something useless. </p>
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00052">52</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
<hr/><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" id="afa9a06361ecd9f06902546449295d4c7"></a><!-- doxytag: member="blah::x" ref="afa9a06361ecd9f06902546449295d4c7" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="structblah.html#afa9a06361ecd9f06902546449295d4c7">blah::x</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00054">54</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a7867e67a7099e4420c9de686a68eb6c8"></a><!-- doxytag: member="blah::y" ref="a7867e67a7099e4420c9de686a68eb6c8" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="structblah.html#a7867e67a7099e4420c9de686a68eb6c8">blah::y</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Definition at line <a class="el" href="aclass_8h_source.html#l00055">55</a> of file <a class="el" href="aclass_8h_source.html">aclass.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="aclass_8h_source.html">aclass.h</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on Sat Feb 27 15:34:03 2010 for Test project by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 35 B |
Binary file not shown.
|
Before Width: | Height: | Size: 706 B |
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB |
@ -1,105 +0,0 @@
|
||||
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
|
||||
|
||||
DIV.tabs
|
||||
{
|
||||
float : left;
|
||||
width : 100%;
|
||||
background : url("tab_b.gif") repeat-x bottom;
|
||||
margin-bottom : 4px;
|
||||
}
|
||||
|
||||
DIV.tabs UL
|
||||
{
|
||||
margin : 0px;
|
||||
padding-left : 10px;
|
||||
list-style : none;
|
||||
}
|
||||
|
||||
DIV.tabs LI, DIV.tabs FORM
|
||||
{
|
||||
display : inline;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs FORM
|
||||
{
|
||||
float : right;
|
||||
}
|
||||
|
||||
DIV.tabs A
|
||||
{
|
||||
float : left;
|
||||
background : url("tab_r.gif") no-repeat right top;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
font-size : 80%;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
DIV.tabs A:hover
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs A:link, DIV.tabs A:visited,
|
||||
DIV.tabs A:active, DIV.tabs A:hover
|
||||
{
|
||||
color: #1A419D;
|
||||
}
|
||||
|
||||
DIV.tabs SPAN
|
||||
{
|
||||
float : left;
|
||||
display : block;
|
||||
background : url("tab_l.gif") no-repeat left top;
|
||||
padding : 5px 9px;
|
||||
white-space : nowrap;
|
||||
}
|
||||
|
||||
DIV.tabs #MSearchBox
|
||||
{
|
||||
float : right;
|
||||
display : inline;
|
||||
font-size : 1em;
|
||||
}
|
||||
|
||||
DIV.tabs TD
|
||||
{
|
||||
font-size : 80%;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Commented Backslash Hack hides rule from IE5-Mac \*/
|
||||
DIV.tabs SPAN {float : none;}
|
||||
/* End IE5-Mac hack */
|
||||
|
||||
DIV.tabs A:hover SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs LI.current A
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs LI.current SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
padding-bottom : 6px;
|
||||
}
|
||||
|
||||
DIV.navpath
|
||||
{
|
||||
background : none;
|
||||
border : none;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
text-align : center;
|
||||
margin : 2px;
|
||||
padding : 2px;
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
// $Id: aclass.h,v 1.3 2005/04/01 06:05:06 ryants Exp $
|
||||
// This is just some silly sample file to test out doxymacs with.
|
||||
#ifndef _ACLASS_H_
|
||||
#define _ACLASS_H_
|
||||
|
||||
|
||||
#define SOME_OBSCURE_DEFINE 76
|
||||
|
||||
/**
|
||||
* This class does blah.
|
||||
*
|
||||
*/
|
||||
class Foo
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* The constructor.
|
||||
*
|
||||
* @param blah Some kind of fish.
|
||||
*/
|
||||
Foo(int blah)
|
||||
: _blah(blah)
|
||||
{}
|
||||
|
||||
/**
|
||||
* Gets the current value of blah.
|
||||
*/
|
||||
GetBlah(void) const { return _blah; }
|
||||
|
||||
enum blah_blah
|
||||
{
|
||||
BAZ,
|
||||
BAZ2,
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* Testing the in/out parameter stuff.
|
||||
*
|
||||
* @param[in] in An "in" parameter
|
||||
* @param[out] out An "out" parameter
|
||||
* @param[in,out] inout An "inout" parameter
|
||||
*/
|
||||
Foo(int &in, int &out, int &inout) { out = in + inout; }
|
||||
|
||||
/** This is a measure of our blahness. */
|
||||
int _blah;
|
||||
};
|
||||
|
||||
/** This struct does something useless */
|
||||
struct blah
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int z;
|
||||
} baz;
|
||||
|
||||
/** This is a useless enum */
|
||||
enum _blah
|
||||
{
|
||||
FOO_SNAZ, /**< More silly stuff. */
|
||||
Foo
|
||||
};
|
||||
|
||||
/** Some namespace */
|
||||
namespace NameSpaceTest
|
||||
{
|
||||
int foobazbar;
|
||||
}
|
||||
|
||||
#endif // _ACLASS_H_
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,284 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Doxymacs = Doxygen + Emacs</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Doxymacs</h1>
|
||||
<p>
|
||||
Doxymacs is <a href="http://www.doxygen.org">Doxygen</a> +
|
||||
{X}Emacs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The purpose of the doxymacs project is to create a LISP package
|
||||
that will make using Doxygen from within {X}Emacs easier.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=23584&release_id=514962">Version 1.8.0</a>,
|
||||
released 2007-06-10, has the following features:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
ability to <a
|
||||
href="http://sourceforge.net/project/screenshots.php?group_id=23584&ssid=13275">look
|
||||
up documentation</a> for symbols from {X}Emacs in the browser
|
||||
of your choice.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a
|
||||
href="http://sourceforge.net/project/screenshots.php?group_id=23584&ssid=13271">easily
|
||||
insert Doxygen style comments</a> into source.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
optionally use an "external" (<i>i.e.</i> written in C) XML
|
||||
parser to speed up building the completion list.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a
|
||||
href="http://sourceforge.net/project/screenshots.php?group_id=23584&ssid=13277">fontify
|
||||
Doxygen keywords</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Please direct any bug reports or feature requests to the
|
||||
appropriate forum on <a
|
||||
href="http://sourceforge.net/projects/doxymacs/">Doxymacs'
|
||||
SourceForge</a> page.
|
||||
</p>
|
||||
|
||||
<h2>Requirements</h2>
|
||||
|
||||
Doxymacs depends on the following packages:
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<a href="http://www.cs.indiana.edu/usr/local/www/elisp/w3/docs.html">W3</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="http://www.lysator.liu.se/~davidk/elisp/">tempo</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
version 2.6.13 or greater of <a
|
||||
href="http://www.libxml.org/">libxml2</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Make sure these are properly configured and installed before
|
||||
proceeding.
|
||||
|
||||
<h2>Installation</h2>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
Use the configure script to configure and build doxymacs:
|
||||
<pre>
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make install
|
||||
</pre>
|
||||
|
||||
Be sure to put <code>${datadir}/share/${EMACS}/site-lisp</code>
|
||||
in your <code>load-path</code> in your <code>.emacs</code>
|
||||
file, or wherever you configured the .elc files to end up.
|
||||
<br /><br />
|
||||
<b>NOTE</b> If you get:
|
||||
<pre>
|
||||
!! File error (("Cannot open load file" "url"))
|
||||
</pre>
|
||||
(or something similar) when you do <code>make</code>,
|
||||
then set the variable <code>EMACSLOADPATH</code>:
|
||||
<pre>
|
||||
$ EMACSLOADPATH=... make
|
||||
</pre>
|
||||
where <code>...</code> is a colon separated list of directories
|
||||
to seach for packages.
|
||||
<br /><br />
|
||||
To byte compile with XEmacs, set the variable <code>EMACS</code>:
|
||||
<pre>
|
||||
$ EMACS=xemacs make
|
||||
</pre>
|
||||
|
||||
If you want to avoid byte-compiling altogether:
|
||||
<pre>
|
||||
$ make ELCFILES=
|
||||
$ make install ELCFILES=
|
||||
</pre>
|
||||
|
||||
For a complete list of configuration options:
|
||||
<pre>
|
||||
$ ./configure --help
|
||||
</pre>
|
||||
|
||||
If you do not want to run or cannot run <code>configure</code>
|
||||
then pre-baked <code>.el</code> files are available in the
|
||||
<code>no-autoconf/</code> directory; simply
|
||||
copy these to somewhere in your <code>load-path</code>.
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Customise the variables <code>doxymacs-doxygen-root</code> and
|
||||
<code>doxymacs-doxygen-tags</code>. You can customise these
|
||||
via the customisation menu Programming | Tools | Doxymacs.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
(Optional) Customise <code>doxymacs-doxygen-style</code>. The
|
||||
default is "JavaDoc". See <a
|
||||
href="http://www.stack.nl/~dimitri/doxygen/docblocks.html#docblocks">the
|
||||
Doxygen manual</a> for examples of the four available styles
|
||||
(JavaDoc, Qt, C++ and C++!).
|
||||
</li>
|
||||
|
||||
<li>
|
||||
To use the external XML parser, set
|
||||
<code>doxymacs-use-external-xml-parser</code> to non-nil (can
|
||||
be done via the customisation menu).
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Put <code>(require 'doxymacs)</code> in your <code>.emacs</code>
|
||||
file.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Invoke <code>doxymacs-mode</code> with <code>M-x
|
||||
doxymacs-mode</code>. To have <code>doxymacs-mode</code>
|
||||
automatically come up whenever you visit a C/C++ file, put
|
||||
<code>(add-hook 'c-mode-common-hook'doxymacs-mode)</code> in
|
||||
your <code>.emacs</code>.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
If you want Doxygen keywords fontified use <code>M-x
|
||||
doxymacs-font-lock</code>. To do it automatically, add
|
||||
the following to your <code>.emacs</code>:
|
||||
|
||||
<pre>
|
||||
(defun my-doxymacs-font-lock-hook ()
|
||||
(if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
|
||||
(doxymacs-font-lock)))
|
||||
(add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)
|
||||
</pre>
|
||||
|
||||
This will add the Doxygen keywords to c-mode and c++-mode
|
||||
only.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Default key bindings are:
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<code>C-c d ?</code> will look up documentation for the symbol
|
||||
under the point.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d r</code> will rescan your Doxygen tags file.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d f</code> will insert a Doxygen comment for the
|
||||
next function.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d i</code> will insert a Doxygen comment for the
|
||||
current file.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d ;</code> will insert a Doxygen comment for a
|
||||
member variable on the current line (like <code>M-;</code>).
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d m</code> will insert a blank multi-line Doxygen
|
||||
comment.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d s</code> will insert a blank single-line Doxygen
|
||||
comment.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<code>C-c d @</code> will insert grouping comments around the
|
||||
current region.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Doxymacs has been tested on and works with:
|
||||
|
||||
<ul>
|
||||
<li>GNU Emacs 20.7.1, 21.1.1, 21.2.1, 21.3, 21.4.1, 23.1.1.</li>
|
||||
<li>XEmacs 21.1 (patch 14), XEmacs 21.4 (patch 4, 5, 6, 17).</li>
|
||||
<li>Up to doxygen version 1.4.4</li>
|
||||
</ul>
|
||||
|
||||
If you have success or failure with other versions of {X}Emacs and
|
||||
doxygen, please let the authors know.
|
||||
|
||||
<p>
|
||||
|
||||
<h2>Links</h2>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<a href="http://sourceforge.net/projects/doxymacs/">Doxymacs
|
||||
SourceForge Project.</a> Go here to request help, submit a
|
||||
patch, or ask for a feature.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=23584&release_id=514962">Release
|
||||
1.8.0</a> Download it now.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="https://sourceforge.net/scm/?type=git&group_id=23584">Git
|
||||
Repository</a> For bleeding edge people and developers.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=23584" width="88" height="31" border="0" alt="SourceForge Logo"></A>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="http://validator.w3.org/check/referer"><img border="0"
|
||||
src="http://www.w3.org/Icons/valid-html401"
|
||||
alt="Valid HTML 4.01!" height="31" width="88"></a>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
<address><a href="mailto:ryan.sammartino@gmail.com">Ryan T. Sammartino</a></address>
|
||||
<!-- Created: Sun Jan 5 18:21:52 PST 2003 -->
|
||||
<!-- hhmts start -->Last modified: Fri Feb 19 21:39:29 GMT 2010 <!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- Local Variables: -->
|
||||
<!-- mode: html -->
|
||||
<!-- sgml-indent-step: 2 -->
|
||||
<!-- End: -->
|
||||
@ -1,6 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# $Id: Makefile.am,v 1.2 2003/01/06 00:45:15 ryants Exp $
|
||||
|
||||
lisp_LISP = xml-parse.el doxymacs.el
|
||||
|
||||
EXTRA_DIST = xml-parse.el
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,379 +0,0 @@
|
||||
;;; xml-parse --- code to efficiently read/write XML data with Elisp
|
||||
;;;
|
||||
;;; $Id: xml-parse.el,v 1.4 2001/05/12 22:36:13 ryants Exp $
|
||||
|
||||
;; Copyright (C) 2001 John Wiegley.
|
||||
|
||||
;; Author: John Wiegley <johnw@gnu.org>
|
||||
;; Version: 1.5
|
||||
;; Created: Feb 15, 2001
|
||||
;; Keywords: convenience languages lisp xml parse data
|
||||
;; URL: http://www.gci-net.com/~johnw/emacs.html
|
||||
|
||||
;; This file is NOT (yet) part of GNU Emacs.
|
||||
|
||||
;; This 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This software 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 GNU Emacs; see the file COPYING. If not, write to the
|
||||
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
;; Boston, MA 02111-1307, USA.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; XML is yet another way of expressing recursive, attributed data
|
||||
;; structures -- something which Lisp has had the capacity to do for
|
||||
;; decades.
|
||||
;;
|
||||
;; The approach taken by xml-parse.el is to read XML data into Lisp
|
||||
;; structures, and allow those same Lisp structures to be written out
|
||||
;; as XML. It should facilitate the manipulation and use of XML by
|
||||
;; Elisp programs.
|
||||
|
||||
;; NOTE: This is not a validating parser, and makes no attempt to read
|
||||
;; DTDs. See psgml.el if you need that kind of power.
|
||||
;;
|
||||
;; Also, tags beginning with <? or <! are not parsed, but merely
|
||||
;; included in the resulting data structure as separate string
|
||||
;; entries. These may be tested for using the function
|
||||
;; `xml-tag-special-p'. If present, they are treated just like normal
|
||||
;; text, and will be inserted along with everything else. If they
|
||||
;; occur *before* the opening tag of an XML tree, they will not appear
|
||||
;; in the parsed data, since such "pre-tags" are not the child of any
|
||||
;; tag.
|
||||
|
||||
;; Here is the format of the Lisp data structure used:
|
||||
;;
|
||||
;; (TAG CHILD...)
|
||||
;;
|
||||
;; Where TAG is either a string (naming the tag) or a list. The list
|
||||
;; form is used to identify attributes, and has the format:
|
||||
;;
|
||||
;; (TAG-NAME (ATTR-NAME . ATTR-VALUE)...)
|
||||
;;
|
||||
;; After the TAG, there can be zero or more child structures, which
|
||||
;; are either literal strings, or the same "TAG CHILD..." structure as
|
||||
;; the parent. See `insert-xml' for an EBNF grammar of this layout.
|
||||
|
||||
;; EXAMPLE: Given the following DocBook XML data:
|
||||
;;
|
||||
;; <book id="compiler">
|
||||
;; <bookinfo>
|
||||
;; <bookbiblio>
|
||||
;; <title>My own book!</title>
|
||||
;; <edition>First</edition>
|
||||
;; <authorgroup>
|
||||
;; <author>
|
||||
;; <firstname>John</firstname>
|
||||
;; <surname>Wiegley</surname>
|
||||
;; </author>
|
||||
;; </authorgroup>
|
||||
;; </bookbiblio>
|
||||
;; </bookinfo>
|
||||
;; <chapter>
|
||||
;; <title>A very small chapter</title>
|
||||
;; <para>Wonder where the content is...</para>
|
||||
;; </chapter>
|
||||
;; </book>
|
||||
;;
|
||||
;; It would be parsed into this Lisp structure:
|
||||
;;
|
||||
;; '(("book" ("id" . "compiler"))
|
||||
;; ("bookinfo"
|
||||
;; ("bookbiblio"
|
||||
;; ("title" "My own book!")
|
||||
;; ("edition" "FIrst")
|
||||
;; ("authorgroup"
|
||||
;; ("author"
|
||||
;; ("firstname" "John")
|
||||
;; ("surname" "Wiegley")))))
|
||||
;; ("chapter"
|
||||
;; ("title" "A very small chapter")
|
||||
;; ("para" "Wonder where the content is...")))
|
||||
;;
|
||||
;; Now it can easily be modified and interpreted using ordinary Lisp
|
||||
;; code, without the ordeal of manipulating textual XML. When you're
|
||||
;; done modifying it, you can write it back out (complete with proper
|
||||
;; indentation and newlines) using:
|
||||
;;
|
||||
;; (insert-xml <DATA> t)
|
||||
;;
|
||||
;; See the documentation for `read-xml' and `insert-xml' for more
|
||||
;; information.
|
||||
;;
|
||||
;; There are also a set of helper functions for accessing parts of a
|
||||
;; parsed tag:
|
||||
;;
|
||||
;; xml-tag-name get the name of a tag
|
||||
;; xml-tag-attrlist returns a tag's attribute alist
|
||||
;; xml-tag-attr lookup a specific tag attribute
|
||||
;; xml-tag-children returns a tag's child list
|
||||
;; xml-tag-child lookup a specific child tag by name
|
||||
;;
|
||||
;; Also, the attribute list and child lists can be searched using
|
||||
;; `assoc', since they roughly have the same format as an alist.
|
||||
|
||||
;;;###autoload
|
||||
(defun read-xml (&optional progress-callback)
|
||||
"Parse XML data at point into a Lisp structure.
|
||||
See `insert-xml' for a description of the format of this structure.
|
||||
Point is left at the end of the XML structure read."
|
||||
(cdr (xml-parse-read progress-callback)))
|
||||
|
||||
(defsubst xml-tag-with-attributes-p (tag)
|
||||
"Does the TAG have attributes or not?"
|
||||
(listp (car tag)))
|
||||
|
||||
(defsubst xml-tag-name (tag)
|
||||
"Return the name of an xml-parse'd XML TAG."
|
||||
(cond ((xml-tag-text-p tag)
|
||||
(car tag))
|
||||
((xml-tag-with-attributes-p tag)
|
||||
(caar tag))
|
||||
(t (car tag))))
|
||||
|
||||
(defun xml-tag-text-p (tag)
|
||||
"Is the given TAG really just a text entry?"
|
||||
(stringp tag))
|
||||
|
||||
(defsubst xml-tag-special-p (tag)
|
||||
"Return the name of an xml-parse'd XML TAG."
|
||||
(and (xml-tag-text-p tag)
|
||||
(eq (aref tag 0) ?\<)))
|
||||
|
||||
(defsubst xml-tag-attrlist (tag)
|
||||
"Return the attribute list of an xml-parse'd XML TAG."
|
||||
(and (not (stringp (car tag)))
|
||||
(cdar tag)))
|
||||
|
||||
(defsubst xml-tag-attr (tag attr)
|
||||
"Return a specific ATTR of an xml-parse'd XML TAG."
|
||||
(cdr (assoc attr (xml-tag-attrlist tag))))
|
||||
|
||||
(defsubst xml-tag-children (tag)
|
||||
"Return the list of child tags of an xml-parse'd XML TAG."
|
||||
(cdr tag))
|
||||
|
||||
(defun xml-tag-child (tag name)
|
||||
"Return the first child matching NAME, of an xml-parse'd XML TAG."
|
||||
(catch 'found
|
||||
(let ((children (xml-tag-children tag)))
|
||||
(while children
|
||||
(if (string= name (xml-tag-name (car children)))
|
||||
(throw 'found (car children)))
|
||||
(setq children (cdr children))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun insert-xml (data &optional add-newlines public system depth ret-depth)
|
||||
"Insert DATA, a recursive Lisp structure, at point as XML.
|
||||
DATA has the form:
|
||||
|
||||
ENTRY ::= (TAG CHILD*)
|
||||
CHILD ::= STRING | ENTRY
|
||||
TAG ::= TAG_NAME | (TAG_NAME ATTR+)
|
||||
ATTR ::= (ATTR_NAME . ATTR_VALUE)
|
||||
TAG_NAME ::= STRING
|
||||
ATTR_NAME ::= STRING
|
||||
ATTR_VALUE ::= STRING
|
||||
|
||||
If ADD-NEWLINES is non-nil, newlines and indentation will be added to
|
||||
make the data user-friendly.
|
||||
|
||||
If PUBLIC and SYSTEM are non-nil, a !DOCTYPE tag will be added at the
|
||||
top of the document to identify it as an XML document.
|
||||
|
||||
DEPTH is normally for internal use only, and controls the depth of the
|
||||
indentation."
|
||||
(when (and (not depth) public system)
|
||||
(insert "<?xml version=\"1.0\"?>\n")
|
||||
(insert "<!DOCTYPE " (if (stringp (car data))
|
||||
(car data)
|
||||
(caar data))
|
||||
" PUBLIC \"" public "\"\n \"" system "\">\n"))
|
||||
(if (stringp data)
|
||||
(insert data)
|
||||
(let ((node (car data)) (add-nl t))
|
||||
(and depth (bolp)
|
||||
(insert (make-string (* depth 2) ? )))
|
||||
(if (stringp node)
|
||||
(insert "<" node)
|
||||
(setq node (caar data))
|
||||
(insert "<" node)
|
||||
(let ((attrs (cdar data)))
|
||||
(while attrs
|
||||
(insert " " (caar attrs) "=\"" (cdar attrs) "\"")
|
||||
(setq attrs (cdr attrs)))))
|
||||
(if (null (cdr data))
|
||||
(insert "/>")
|
||||
(insert ">")
|
||||
(setq data (cdr data))
|
||||
(while data
|
||||
(and add-newlines add-nl
|
||||
(not (stringp (car data)))
|
||||
(insert ?\n))
|
||||
(setq add-nl (insert-xml (car data) add-newlines
|
||||
nil nil (1+ (or depth 0)))
|
||||
data (cdr data)))
|
||||
(when add-nl
|
||||
(and add-newlines (insert ?\n))
|
||||
(and depth (insert (make-string (* depth 2) ? ))))
|
||||
(insert "</" node ">"))
|
||||
t)))
|
||||
|
||||
;;;###autoload
|
||||
(defun xml-reformat-tags ()
|
||||
"If point is on the open bracket of an XML tag, reformat that tree.
|
||||
Note that this only works if the opening tag starts at column 0."
|
||||
(interactive)
|
||||
(save-excursion
|
||||
(let* ((beg (point)) (tags (read-xml)))
|
||||
(delete-region beg (point))
|
||||
(insert-xml tags t))))
|
||||
|
||||
;;; Internal Functions
|
||||
|
||||
|
||||
;;; RTS did this 30/04/2001
|
||||
(if (featurep 'xemacs)
|
||||
(defalias 'match-string-no-properties 'match-string))
|
||||
|
||||
|
||||
(defun xml-parse-profile ()
|
||||
(interactive)
|
||||
(let ((elp-function-list
|
||||
'(buffer-substring-no-properties
|
||||
char-after
|
||||
char-before
|
||||
forward-char
|
||||
looking-at
|
||||
match-string-no-properties
|
||||
match-beginning
|
||||
match-end
|
||||
point
|
||||
re-search-forward
|
||||
read-xml
|
||||
xml-parse-read
|
||||
search-forward
|
||||
string=
|
||||
stringp
|
||||
substring
|
||||
xml-parse-concat)))
|
||||
(elp-instrument-list)))
|
||||
|
||||
(defsubst xml-parse-skip-tag ()
|
||||
(cond
|
||||
((eq (char-after) ??)
|
||||
(search-forward "?>"))
|
||||
((looking-at "!--")
|
||||
(search-forward "-->"))
|
||||
(t ; must be <!...>
|
||||
(re-search-forward "[[>]")
|
||||
(if (eq (char-before) ?\[)
|
||||
(let ((depth 1))
|
||||
(while (and (> depth 0)
|
||||
(if (re-search-forward "[][]")
|
||||
t
|
||||
(error "Pos %d: Unclosed open bracket in <! tag")))
|
||||
(if (eq (char-before) ?\[)
|
||||
(setq depth (1+ depth))
|
||||
(setq depth (1- depth))))
|
||||
(search-forward ">"))))))
|
||||
|
||||
(defsubst xml-parse-add-non-ws (text lst)
|
||||
(let ((i 0) (l (length text)) non-ws)
|
||||
(while (< i l)
|
||||
(unless (memq (aref text i) '(?\n ?\t ? ))
|
||||
(setq i l non-ws t))
|
||||
(setq i (1+ i)))
|
||||
(if (not non-ws)
|
||||
lst
|
||||
(setcdr lst (list text))
|
||||
(cdr lst))))
|
||||
|
||||
(defsubst xml-parse-concat (beg end lst)
|
||||
"Add the string from BEG to END to LST, ignoring pure whitespace."
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(while (search-forward "<" end t)
|
||||
(setq lst (xml-parse-add-non-ws
|
||||
(buffer-substring-no-properties beg (1- (point))) lst)
|
||||
beg (1- (point)))
|
||||
(xml-parse-skip-tag)
|
||||
(setq lst (xml-parse-add-non-ws
|
||||
(buffer-substring-no-properties beg (point)) lst)
|
||||
beg (point)))
|
||||
(if (/= beg end)
|
||||
(setq lst (xml-parse-add-non-ws
|
||||
(buffer-substring-no-properties beg end) lst)))
|
||||
lst))
|
||||
|
||||
(defun xml-parse-read (&optional progress-callback)
|
||||
(let ((beg (search-forward "<" nil t)) after)
|
||||
(if progress-callback
|
||||
(funcall progress-callback
|
||||
(* (/ (float (point)) (float (point-max))) 100)))
|
||||
(while (and beg (memq (setq after (char-after)) '(?! ??)))
|
||||
(xml-parse-skip-tag)
|
||||
(setq beg (search-forward "<" nil t)))
|
||||
(when beg
|
||||
(if (eq after ?/)
|
||||
(progn
|
||||
(search-forward ">")
|
||||
(cons (1- beg)
|
||||
(buffer-substring-no-properties (1+ beg) (1- (point)))))
|
||||
(skip-chars-forward "^ \t\n/>")
|
||||
(cons
|
||||
(1- beg)
|
||||
(progn
|
||||
(setq after (point))
|
||||
(skip-chars-forward " \t\n")
|
||||
(let* ((single (eq (char-after) ?/))
|
||||
(tag (buffer-substring-no-properties beg after))
|
||||
attrs data-beg data)
|
||||
;; handle the attribute list, if present
|
||||
(cond
|
||||
(single
|
||||
(skip-chars-forward " \t\n/>"))
|
||||
((eq (char-after) ?\>)
|
||||
(forward-char 1))
|
||||
(t
|
||||
(let* ((attrs (list t))
|
||||
(lastattr attrs)
|
||||
(end (search-forward ">")))
|
||||
(goto-char after)
|
||||
(while (re-search-forward
|
||||
"\\([^ \t\n=]+\\)=\"\\([^\"]+\\)\"" end t)
|
||||
(let ((attr (cons (match-string-no-properties 1)
|
||||
(match-string-no-properties 2))))
|
||||
(setcdr lastattr (list attr))
|
||||
(setq lastattr (cdr lastattr))))
|
||||
(goto-char end)
|
||||
(setq tag (cons tag (cdr attrs))
|
||||
single (eq (char-before (1- end)) ?/)))))
|
||||
;; return the tag and its data
|
||||
(if single
|
||||
(list tag)
|
||||
(setq tag (list tag))
|
||||
(let ((data-beg (point)) (tag-end (last tag)))
|
||||
(while (and (setq data (xml-parse-read progress-callback))
|
||||
(not (stringp (cdr data))))
|
||||
(setq tag-end (xml-parse-concat data-beg (car data)
|
||||
tag-end)
|
||||
data-beg (point))
|
||||
(setcdr tag-end (list (cdr data)))
|
||||
(setq tag-end (cdr tag-end)))
|
||||
(xml-parse-concat data-beg (or (car data)
|
||||
(point-max)) tag-end)
|
||||
tag)))))))))
|
||||
|
||||
(provide 'xml-parse)
|
||||
|
||||
;;; xml-parse.el ends here
|
||||
@ -1,15 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# $Id: Makefile.am,v 1.1 2003/01/26 01:49:56 ryants Exp $
|
||||
|
||||
# When creating the tarball, create .el files with default values
|
||||
# substituted in the .el.in files for people who don't want to run
|
||||
# autoconf.
|
||||
|
||||
EXTRA_DIST=doxymacs.el xml-parse.el
|
||||
CONFIG_CLEAN_FILES=doxymacs.el xml-parse.el
|
||||
|
||||
doxymacs.el: ${top_srcdir}/lisp/doxymacs.el.in ${top_srcdir}/configure.ac
|
||||
sed -e 's/\@VERSION\@/${VERSION}/g ; s/\@DOXYMACS_DEFAULT_STYLE\@/${DOXYMACS_DEFAULT_STYLE}/g ; s/\@DOXYMACS_USE_EXTERNAL_XML_PARSER\@/nil/g ; s/\@DOXYMACS_PARSER\@//g' < $< > $@
|
||||
|
||||
xml-parse.el: ${top_srcdir}/lisp/xml-parse.el
|
||||
cp $< $@
|
||||
340
dvc/COPYING
340
dvc/COPYING
@ -1,340 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
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
|
||||
convey 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 2 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, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision 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, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This 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 Library General
|
||||
Public License instead of this License.
|
||||
136
dvc/INSTALL
136
dvc/INSTALL
@ -1,136 +0,0 @@
|
||||
THE VERY QUICK INSTALLATION GUIDE
|
||||
=================================
|
||||
|
||||
Since nobody reads long documentation, here's a very short
|
||||
installation guide:
|
||||
|
||||
$ autoconf # only needed when the configure script is not present
|
||||
$ cd dvc/
|
||||
$ mkdir ++build/
|
||||
$ cd ++build/
|
||||
$ ../configure
|
||||
$ make
|
||||
[ possibly make install ]
|
||||
|
||||
And add
|
||||
|
||||
(load-file "/path/to/dvc/++build/dvc-load.el")
|
||||
|
||||
to your ~/.emacs.el
|
||||
|
||||
For the details, see below.
|
||||
|
||||
|
||||
USING CONFIGURE
|
||||
===============
|
||||
|
||||
0) If you get DVC from the revision control, the ./configure script is
|
||||
not included. You have to run "autoreconf" or "autoconf" to recreate it.
|
||||
|
||||
1) Select your emacs flavor, this is the option --with-emacs and its
|
||||
default is emacs (GNU Emacs). Choose a prefix for the installation
|
||||
with --prefix, by default /usr/local.
|
||||
|
||||
The default locations are as follows:
|
||||
|
||||
a) GNU Emacs: lisp files goto ${prefix}/share/emacs/site-lisp and
|
||||
info files to ${prefix}/info (overridable with --with-lispdir=...
|
||||
and --infodir=...)
|
||||
|
||||
b) XEmacs: lisp files goto ${prefix}/lib/xemacs/site-packages/lisp/xtla and info
|
||||
files to ${prefix}/lib/xemacs/site-packages/info, (overridable
|
||||
with --with-infodir=... and --infodir=...)
|
||||
|
||||
ATTENTION: Files byte-compiled with GNU Emacs are NOT COMPATIBLE with the
|
||||
XEmacs and you may experience strange problems during startup when doing
|
||||
so. Thus ensure you are configuring with --with-emacs=xemacs when
|
||||
installing DVC for XEmacs!
|
||||
|
||||
a) GNU Emacs users run:
|
||||
./configure
|
||||
|
||||
b) XEmacs users run:
|
||||
./configure --with-emacs=xemacs
|
||||
|
||||
It is possible to build DVC in a separate directory. For instance, type
|
||||
|
||||
mkdir emacs_build; cd emacs_build;
|
||||
../configure --with-emacs=emacs
|
||||
|
||||
2) Compile the lisp files and info by running:
|
||||
make
|
||||
|
||||
3) Installing the files
|
||||
|
||||
Run the following command:
|
||||
make install
|
||||
|
||||
a) The easy way
|
||||
|
||||
The files dvc.el generated in the build directory and in
|
||||
the install directory do everything for you: Manually, you can
|
||||
run
|
||||
|
||||
M-x load-file RET /path/to/install/share/emacs/site-lisp/dvc/dvc-load.el RET
|
||||
|
||||
(usefull when you want to load DVC after starting "emacs -q"!),
|
||||
or add
|
||||
|
||||
(load-file "/path/to/install/share/emacs/site-lisp/dvc/dvc-load.el")
|
||||
|
||||
to your ~/.emacs.el
|
||||
|
||||
|
||||
The manual way
|
||||
|
||||
GNU Emacs: Put the lisp/info path as chosen above into your load-path,
|
||||
i.e. add the following to your ~/.emacs.el (if you don't already have an
|
||||
equivalent)
|
||||
(add-to-list 'load-path "/path/to/install/share/emacs/site-lisp/dvc/lisp/")
|
||||
(add-to-list 'Info-default-directory-list "/path/to/install/share/info/"))
|
||||
|
||||
Now, GNU Emacs knows where to find DVC, tell it to load it, by adding
|
||||
(require 'dvc-autoloads)
|
||||
to your ~/.emacs.el.
|
||||
|
||||
|
||||
b) XEmacs: You are lucky nothing to do for you!
|
||||
|
||||
That's it! Restart Emacs and read the info or start using DVC. For
|
||||
example, look at the DVC submenu in the Tools menu.
|
||||
|
||||
If you would prefer to run DVC from its source directory rather
|
||||
than installing it, then add the following to your .xemacs/init.el
|
||||
file.
|
||||
|
||||
(load-file "/path/to/dvc/dvc-load.el")
|
||||
|
||||
4) Integration of Xtla with Gnus
|
||||
|
||||
If you use Gnus and Xtla (support for tla and baz in DVC), you
|
||||
probably want to add
|
||||
|
||||
(tla-insinuate-gnus)
|
||||
|
||||
to your ~/.gnus.el
|
||||
|
||||
INSTALLING BY HAND (for GNU Emacs)
|
||||
==================
|
||||
|
||||
Basically you need to copy all the *.el files into a directory that is listed
|
||||
in your `load-path' and the info file into a directory listed in your
|
||||
`Info-directory-list'.
|
||||
|
||||
Then perform the steps from 3a) in the last section.
|
||||
|
||||
NOTES
|
||||
=====
|
||||
|
||||
- XEmacs users will require the file ewoc.el which is also installed in the
|
||||
package dir. It's provided in the contrib/ directory of DVC.
|
||||
- xtla-browse.el is an add-on package for xtla.el. xtla-browse.el requires
|
||||
tree-widget.el 2.0 or higher written by David Ponce. XEmacs users should
|
||||
install the "jde" package. GNU Emacs in subversions.gnu.org CVS repository
|
||||
contains tree-widget.el. If you are using older GNU Emacs or XEmacs, you can
|
||||
get it from http://sourceforge.net/projects/emhacks/. xtla.el doesn't
|
||||
require xtla-browse.el. xtla-browse.el is an option.
|
||||
@ -1,26 +0,0 @@
|
||||
* A poor mans installation guide
|
||||
- The following files are generated by linux build scripts:
|
||||
dvc-version.el
|
||||
dvc-site.el
|
||||
dvc-autoloads.el
|
||||
- Copy these files from a working linux version to the dvc/lisp directory
|
||||
|
||||
- DVC.el needs a sh executable. Using cygwin should be a working option
|
||||
If sh is not in the search PATH, set it via:
|
||||
(setq dvc-sh-executable "c:/cygwin/bin/sh.exe")
|
||||
|
||||
- Add the following to your .emacs:
|
||||
(add-to-list 'load-path "c:/emacs/site-lisp/dvc/lisp")
|
||||
(require 'dvc-autoloads)
|
||||
|
||||
- The following tip shows how to configure the windows keys as super/hyper
|
||||
Put these lines before the (require 'dvc-autoloads) in your .emacs
|
||||
|
||||
(setq w32-pass-lwindow-to-system nil
|
||||
w32-pass-rwindow-to-system nil)
|
||||
|
||||
(setq w32-lwindow-modifier 'super) ; lwindow acts as super
|
||||
(setq w32-rwindow-modifier 'hyper) ; rwindow acts as hyper
|
||||
(defvar dvc-prefix-key '[(super t)])
|
||||
|
||||
|
||||
123
dvc/Makefile.in
123
dvc/Makefile.in
@ -1,123 +0,0 @@
|
||||
@SET_MAKE@
|
||||
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
|
||||
# location of required programms
|
||||
AUTOCONF = autoconf
|
||||
TAR = tar
|
||||
RM = @RM@
|
||||
prefix = @prefix@
|
||||
datarootdir= @datarootdir@
|
||||
info_dir = @info_dir@
|
||||
srcdir = @srcdir@
|
||||
lispdir= @lispdir@
|
||||
|
||||
SUBDIRS = lisp texinfo
|
||||
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
##############################################################################
|
||||
all: dvc info dvc-load.el
|
||||
|
||||
Makefile: config.status $(srcdir)/Makefile.in
|
||||
./config.status $@
|
||||
|
||||
dvc-load.el: config.status $(srcdir)/dvc-load.el.in
|
||||
./config.status $@
|
||||
|
||||
$(srcdir)/configure: $(srcdir)/configure.ac
|
||||
cd $(srcdir) ; $(AUTOCONF)
|
||||
./config.status --recheck
|
||||
|
||||
config.status: $(srcdir)/configure
|
||||
./config.status --recheck
|
||||
|
||||
info pdf dvi html:
|
||||
cd texinfo; $(MAKE) $@
|
||||
|
||||
dvc:
|
||||
cd lisp; $(MAKE)
|
||||
|
||||
dvc-verbose:
|
||||
cd lisp; $(MAKE) all-verbose
|
||||
|
||||
dvc-pkg.el: $(srcdir)/config.status
|
||||
@echo Creating $@
|
||||
@( echo ';;; $@ (ELPA generated installer file -- do not edit!)' ; \
|
||||
echo '(define-package "dvc" "$(PACKAGE_VERSION)"' \
|
||||
' "The Emacs interface to Distributed Version Control Systems")' ) \
|
||||
> $@
|
||||
|
||||
lisp/dvc-version.el:
|
||||
cd lisp; $(MAKE) dvc-version.el
|
||||
|
||||
%-recursive:
|
||||
@for dir in $(SUBDIRS) ; do ( cd $$dir; $(MAKE) $* ) ; done
|
||||
|
||||
install: dvc-load.el install-recursive
|
||||
sed -e 's|@''lispdir''@|'"$(lispdir)"'|' \
|
||||
-e 's|@''info_dir''@|'"$(info_dir)"'|' \
|
||||
$(srcdir)/dvc-load-install.el.in \
|
||||
> $(lispdir)/dvc-load.el
|
||||
|
||||
uninstall: uninstall-recursive
|
||||
rmdir $(lispdir) || true
|
||||
|
||||
clean: clean-recursive
|
||||
rm -f dvc-load.el dvc-load-install.el
|
||||
|
||||
distclean: clean distclean-recursive
|
||||
rm -rf configure config.status config.log autom4te.cache/ Makefile $(distdir) $(distdir).tar*
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
|
||||
##############################################################################
|
||||
distdir = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
||||
|
||||
lispfiles = lisp/Makefile.in lisp/dvc-site.el.in \
|
||||
lisp/contrib/*.el lisp/tests/*.el lisp/*.el
|
||||
docfiles = texinfo/Makefile.in texinfo/dvc.texinfo texinfo/dvc.info
|
||||
miscfiles = Makefile.in COPYING INSTALL* install-sh \
|
||||
dvc-load.el.in dvc-load-install.el.in \
|
||||
lisp/dvc-version.el \
|
||||
texinfo/dvc-version.texinfo \
|
||||
texinfo/dvc-intro.texinfo \
|
||||
texinfo/fdl.texinfo \
|
||||
configure.ac configure
|
||||
extradist =
|
||||
|
||||
distfiles = $(lispfiles) $(docfiles) $(miscfiles) $(extradist)
|
||||
|
||||
dist:
|
||||
rm -rf $(distdir) $(distdir).tar.gz
|
||||
mkdir $(distdir)
|
||||
build=`pwd` ; dd=$$build/$(distdir) ; cd $(srcdir) ; \
|
||||
for f in $(distfiles) ; do d='.' ; \
|
||||
if [ -f $$build/$$f ] ; then d=$$build ; fi ; \
|
||||
e=`dirname $$f` ; f=`basename $$f` ; \
|
||||
test -d $$dd/$$e || $(MKDIR_P) $$dd/$$e ; \
|
||||
cp -p $$d/$$e/$$f $$dd/$$e/$$f ; done
|
||||
$(TAR) cf - $(distdir) | gzip --best > $(distdir).tar.gz
|
||||
rm -rf $(distdir)
|
||||
|
||||
tarball:
|
||||
$(MAKE) dist \
|
||||
distdir=$(PACKAGE_TARNAME)-snapshot \
|
||||
extradist='debian/* docs/* scripts/*'
|
||||
|
||||
package: dvc-pkg.el info lisp/dvc-version.el
|
||||
rm -rf $(distdir) $(distdir).tar
|
||||
mkdir $(distdir)
|
||||
cp -r docs $(distdir)
|
||||
cp COPYING $(distdir)
|
||||
cp dvc-pkg.el lisp/*el texinfo/dvc.info $(distdir)
|
||||
install-info --info-dir=$(distdir) $(distdir)/dvc.info
|
||||
$(TAR) cf $(distdir).tar $(distdir)
|
||||
|
||||
.INTERMEDIATE: dvc-pkg.el
|
||||
|
||||
.PHONY: all info pdf dvi html dvc dvc-verbose \
|
||||
install uninstall \
|
||||
clean distclean maintainer-clean \
|
||||
dist tarball package
|
||||
185
dvc/configure.ac
185
dvc/configure.ac
@ -1,185 +0,0 @@
|
||||
# configure.ac --- configuration setup for DVC
|
||||
|
||||
# Copyright (C) 2004-2007 by all contributors
|
||||
# Author: Robert Widhopf-Fenk <hack@robf.de>
|
||||
|
||||
# DVC is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Library General Public License as published
|
||||
# by the Free Software Foundation; either version 2 of the License, or (at
|
||||
# your option) any later version.
|
||||
|
||||
# DVC 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 Library General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Library General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
# Process this file with autoconf to produce a new configure script
|
||||
|
||||
# Find a program. A failure is not fatal, just issue a warning
|
||||
AC_DEFUN([DVC_PROG_WARN],
|
||||
[ AC_SUBST([$1])
|
||||
AC_ARG_WITH([$2],
|
||||
[AS_HELP_STRING([--with-][$2]=PROG, [$3])],
|
||||
[ [$1]=${withval} ],
|
||||
[
|
||||
AC_CHECK_PROG([$1], [$2], [$2])
|
||||
if test "x${$1}" = "x" ; then
|
||||
AC_MSG_WARN([*** No $2 program found.])
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
# Find a program. A failure is not fatal.
|
||||
AC_DEFUN([DVC_PROG],
|
||||
[ AC_SUBST([$1])
|
||||
AC_ARG_WITH([$2],
|
||||
[AS_HELP_STRING([--with-][$2]=PROG, [$3])],
|
||||
[ [$1]=${withval} ],
|
||||
[
|
||||
AC_CHECK_PROG([$1], [$2], [$2])
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
##############################################################################
|
||||
AC_INIT([DVC], [0], [dvc-dev@gna.org])
|
||||
|
||||
AC_COPYRIGHT([Copyright (C) 2004-2007 Robert Widhopf-Fenk <hack@robf.de> and the DVC team])
|
||||
|
||||
AC_CONFIG_SRCDIR([configure.ac])
|
||||
AC_CONFIG_FILES([Makefile lisp/Makefile texinfo/Makefile dvc-load.el lisp/dvc-site.el])
|
||||
|
||||
# Common system utilities checking:
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MKDIR_P
|
||||
|
||||
# External programs checking:
|
||||
|
||||
# Choose an Emacs flavor according to the --with-emacs user option, or
|
||||
# try "emacs" and "xemacs". We use EMACS_PROG instead of EMACS to
|
||||
# avoid colliding with Emacs' own internal environment.
|
||||
AC_ARG_WITH([emacs],
|
||||
[AS_HELP_STRING([--with-emacs=PROG], [choose which flavor of Emacs to use])],
|
||||
[ EMACS_PROG="${withval}" ],
|
||||
[ AC_CHECK_PROGS(EMACS_PROG, emacs xemacs) ])
|
||||
if test "x${EMACS_PROG}" = "x" ; then
|
||||
AC_MSG_ERROR([*** No Emacs program found.])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([emacs-type of ${EMACS_PROG}])
|
||||
if ${EMACS_PROG} --no-site-file --batch --eval \
|
||||
'(kill-emacs (if (featurep (quote xemacs)) 0 1))'
|
||||
then EMACS_FLAVOR=xemacs ; FLAGS='-no-site-file -no-autoloads'
|
||||
else EMACS_FLAVOR=emacs ; FLAGS=--no-site-file
|
||||
fi
|
||||
AC_MSG_RESULT([${EMACS_FLAVOR}])
|
||||
|
||||
# Copied from gnus aclocal.m4
|
||||
AC_ARG_WITH([lispdir],
|
||||
[AS_HELP_STRING([--with-lispdir=DIR], [where to install lisp files])],
|
||||
[lispdir=${withval}])
|
||||
AC_MSG_CHECKING([where .elc files should go])
|
||||
if test -z "$lispdir"; then
|
||||
theprefix=$prefix
|
||||
if test "x$theprefix" = "xNONE"; then
|
||||
theprefix=$ac_default_prefix
|
||||
fi
|
||||
datadir="\$(prefix)/share"
|
||||
if test "$EMACS_FLAVOR" = "xemacs"; then
|
||||
datadir="\$(prefix)/lib"
|
||||
lispdir="${datadir}/${EMACS_FLAVOR}/site-packages/lisp/dvc"
|
||||
if test ! -d "${lispdir}"; then
|
||||
if test -d "${theprefix}/share/${EMACS_FLAVOR}/site-lisp"; then
|
||||
lispdir="\$(prefix)/lib/${EMACS_FLAVOR}/site-packages/lisp/dvc"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
lispdir="${datadir}/${EMACS_FLAVOR}/site-lisp/dvc"
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$lispdir])
|
||||
AC_SUBST([lispdir])
|
||||
|
||||
AC_SUBST([EMACS_PROG])
|
||||
AC_SUBST([FLAGS])
|
||||
|
||||
# Copied from gnus aclocal.m4 (AC_PATH_INFO_DIR)
|
||||
AC_MSG_CHECKING([where the TeXinfo docs should go])
|
||||
dnl Set default value. This must be an absolute path.
|
||||
if test "$infodir" = "\${prefix}/info"; then
|
||||
if test "$EMACS_FLAVOR" = "xemacs"; then
|
||||
info_dir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-packages/info"
|
||||
else
|
||||
info_dir="\$(prefix)/share/info"
|
||||
fi
|
||||
else
|
||||
info_dir=$infodir
|
||||
fi
|
||||
AC_MSG_RESULT([$info_dir])
|
||||
AC_SUBST([info_dir])
|
||||
|
||||
DVC_PROG([TLA], [tla], [tla program to use])
|
||||
DVC_PROG([BAZ], [baz], [baz program to use])
|
||||
|
||||
AC_MSG_CHECKING([arch branch to use])
|
||||
AC_ARG_WITH([arch],
|
||||
[AS_HELP_STRING([--with-arch=BRANCH],
|
||||
[which arch branch (one of: tla, baz, none) to use by default
|
||||
(default is none)])],
|
||||
[ARCH_BRANCH=$withval],
|
||||
[ARCH_BRANCH=none])
|
||||
case $ARCH_BRANCH in
|
||||
tla|baz|none) blurb= ;;
|
||||
*) blurb=" (ignored invalid --with-arch=$ARCH_BRANCH)"
|
||||
ARCH_BRANCH=none ;;
|
||||
esac
|
||||
AC_MSG_RESULT([$ARCH_BRANCH$blurb])
|
||||
AC_SUBST([ARCH_BRANCH])
|
||||
|
||||
DVC_PROG_WARN([DIFF], [diff], [diff program to use])
|
||||
DVC_PROG_WARN([PATCH], [patch], [patch program to use])
|
||||
|
||||
AC_ARG_WITH([other-dirs],
|
||||
[AS_HELP_STRING([--with-other-dirs=DIRS],
|
||||
[push DIRS (list of space- or colon-separated paths)
|
||||
onto `load-path' during build])],
|
||||
[OTHERDIRS=`echo "$withval" | sed 'y/:/ /'`])
|
||||
AC_SUBST([OTHERDIRS])
|
||||
|
||||
# tree widget
|
||||
AC_MSG_CHECKING([whether tree-widget is in the load-path])
|
||||
if ${EMACS_PROG} ${FLAGS} --batch --eval \
|
||||
'(kill-emacs
|
||||
(if (locate-library "tree-widget" nil
|
||||
(append command-line-args-left load-path))
|
||||
0 1))' \
|
||||
$OTHERDIRS
|
||||
then HAS_TREE_WIDGET=yes
|
||||
else HAS_TREE_WIDGET=no
|
||||
fi
|
||||
AC_MSG_RESULT([${HAS_TREE_WIDGET}])
|
||||
if test "x${HAS_TREE_WIDGET}" = "xno" ; then
|
||||
AC_MSG_WARN([*** tree-widget.el not found in 'load-path.])
|
||||
AC_MSG_WARN([*** tla-browse.el won't be available unless you install it.])
|
||||
AC_MSG_WARN([*** See http://sourceforge.net/projects/emhacks/])
|
||||
AC_MSG_WARN([*** Provide the path to tree-widget with --with-other-dirs])
|
||||
AC_MSG_WARN([*** if tree-widget.el is already present on your system])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for the date utility flavor])
|
||||
if date --version 2>/dev/null | grep GNU ; then
|
||||
DATE_FLAVOR="GNU"
|
||||
else
|
||||
DATE_FLAVOR="BSD"
|
||||
fi
|
||||
AC_MSG_RESULT([${DATE_FLAVOR}])
|
||||
AC_SUBST([DATE_FLAVOR])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
# configure.ac ends here
|
||||
@ -1,6 +0,0 @@
|
||||
This package is a rework of Milan Zamazal's packaging based on
|
||||
Matthieu Moy <Matthieu.Moy@imag.fr>.
|
||||
|
||||
This package use cdbs.
|
||||
|
||||
-- Daniel Dehennin <dad@hati.baby-gnu.org>, Fri, 22 Aug 2008 07:04:29 +0200
|
||||
@ -1,7 +0,0 @@
|
||||
dvc (0r20100420-1) unstable; urgency=low
|
||||
|
||||
* New snapshot.
|
||||
* Add dvc.texinfo license to debian/copyright.
|
||||
* Julien Danjou is the sponsor for DVC (Closes: #496930).
|
||||
|
||||
-- Daniel Dehennin <daniel.dehennin@baby-gnu.org> Tue, 20 Apr 2010 09:43:34 +0200
|
||||
@ -1 +0,0 @@
|
||||
7
|
||||
@ -1,30 +0,0 @@
|
||||
Source: dvc
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Maintainer: Daniel Dehennin <daniel.dehennin@baby-gnu.org>
|
||||
Build-Depends: cdbs (>= 0.4.50), debhelper (>= 7)
|
||||
Build-Depends-Indep: autoconf, emacs23 | emacs22 | emacs21 | xemacs21 | emacs-snapshot, texinfo
|
||||
Standards-Version: 3.8.4
|
||||
Vcs-Bzr: http://bzr.xsteve.at/dvc/
|
||||
Homepage: http://download.gna.org/dvc/
|
||||
|
||||
Package: dvc
|
||||
Architecture: all
|
||||
Depends: emacs23 | emacs22 | emacs21 | xemacs21 | emacs-snapshot, dpkg (>= 1.15.4) | install-info, ${misc:Depends}
|
||||
Recommends: tla | bazaar | bzr | git | mercurial | darcs | monotone
|
||||
Description: Emacs front-end to distributed version control systems
|
||||
DVC is an attempt to build a common infrastructure for various
|
||||
distributed revision control systems. Actually supported are tla,
|
||||
bazaar, bzr, git, mercurial, darcs and monotone.
|
||||
.
|
||||
DVC main features are:
|
||||
* dvc-status: Intuitive interface for status viewing.
|
||||
* dvc-log: Log viewer.
|
||||
* dvc-diff: View uncommitted changes in your working directory.
|
||||
* dvc-bookmarks: Bookmark manager with partner support.
|
||||
* Integration with ediff, Emacs's graphical diff tool.
|
||||
* dvc-missing: Interface to view missing patches from all your
|
||||
partners with a single command.
|
||||
* Send/receive/apply patches via the Gnus email client.
|
||||
* Run many version control commands from Emacs (such as init and
|
||||
pull).
|
||||
@ -1,70 +0,0 @@
|
||||
This package was debianized by Matthieu Moy <Matthieu.Moy@imag.fr> on
|
||||
Sun, 17 Oct 2004 17:15:25 +0200. Small additional changes were made by
|
||||
Milan Zamazal <pdm@debian.org> and Daniel Dehennin
|
||||
<daniel.dehennin@baby-gnu.org> completely repackage it.
|
||||
|
||||
It was downloaded from http://download.gna.org/dvc.
|
||||
|
||||
|
||||
Copyright (C) 2004, 2005, 2006, 2007, 2008 DVC team
|
||||
|
||||
Upstream authors:
|
||||
|
||||
Alan Shutko <ats@acm.org>
|
||||
Andrea Russo <rastandy@inventati.org>
|
||||
Andre Kuehne <andre.kuehne@gmx.net>
|
||||
Bojan Nikolic <bojan@bnikolic.co.uk>
|
||||
Chris Gray <christopher.grayb@mail.mcgill.ca>
|
||||
Christian Ohler <ohler+mtn@fastmail.net>
|
||||
Daniel Dehennin <daniel.dehennin@baby-gnu.org>
|
||||
Mark Triggs <mark@dishevelled.net>
|
||||
Martin Brett Pool
|
||||
Masatake YAMATO <jet@gyve.org>
|
||||
Matthieu MOY <matthieu.moy@imag.fr>
|
||||
Michael Olson <mwolson@gnu.org>
|
||||
Milan Zamazal <pdm@zamazal.org>
|
||||
Miles Bader <miles@gnu.org>
|
||||
Robert Widhopf-Fenk <hack@robf.de>
|
||||
Sam Steingold <sds@gnu.org>
|
||||
Sascha Wilde <wilde@sha-bang.de>
|
||||
Stefan Reichoer <stefan@xsteve.at>
|
||||
Stephen Leake <stephen_leake@stephe-leake.org>
|
||||
Steve Youngs <steve@sxemacs.org>
|
||||
Takuzo O'hara <takuzo.ohara@gmail.com>
|
||||
Vincent LADEUIL
|
||||
|
||||
License:
|
||||
|
||||
This package 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; version 2 dated June, 1991, or
|
||||
(at your option) any later version.
|
||||
|
||||
This package 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 package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301, USA.
|
||||
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL'.
|
||||
|
||||
License for dvc.texinfo:
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided that
|
||||
the entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions, except that this permission notice may be stated in a
|
||||
translation approved by the author.
|
||||
@ -1,5 +0,0 @@
|
||||
usr/share/doc/dvc
|
||||
usr/share/emacs/site-lisp/dvc
|
||||
usr/share/emacs/site-lisp/dvc/lisp
|
||||
usr/share/emacs/site-lisp/dvc/lisp/contrib
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
debian/copyright
|
||||
docs/ANNOUNCEMENTS
|
||||
docs/ARCHIVES
|
||||
docs/BINDINGS
|
||||
docs/CONTRIBUTORS
|
||||
docs/DVC-API
|
||||
docs/FEATURES
|
||||
docs/HACKING
|
||||
docs/TODO
|
||||
docs/xmtn-readme.txt
|
||||
@ -1,81 +0,0 @@
|
||||
#! /bin/sh -e
|
||||
# /usr/lib/emacsen-common/packages/install/dvc
|
||||
|
||||
# Written by Jim Van Zandt <jrv@vanzandt.mv.com>, borrowing heavily
|
||||
# from the install scripts for gettext by Santiago Vila
|
||||
# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
|
||||
|
||||
set -e
|
||||
|
||||
FLAVOR=$1
|
||||
PACKAGE=dvc
|
||||
|
||||
if [ "x$FLAVOR" = "x" ]; then
|
||||
echo Need argument to determin FLAVOR of emacs;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$PACKAGE" = "x" ]; then
|
||||
echo Internal error: need package name;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
|
||||
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
|
||||
|
||||
case "$FLAVOR" in
|
||||
emacs |emacs20)
|
||||
echo "Ignoring flavor ${FLAVOR}"
|
||||
;;
|
||||
*)
|
||||
echo -n "install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}... "
|
||||
# if ! which $FLAVOR 2>&1 > /dev/null; then
|
||||
# echo "Could not find $FLAVOR. Exiting"
|
||||
# exit 0;
|
||||
# fi
|
||||
|
||||
if [ -d "$ELCDIR" ]; then
|
||||
rm -rf $ELCDIR || true;
|
||||
fi
|
||||
install -m 755 -d ${ELCDIR}
|
||||
|
||||
cd ${ELDIR}/lisp
|
||||
|
||||
LOG=`tempfile`;
|
||||
trap "test ! -f $LOG || mv -f $LOG $ELCDIR/install.log > /dev/null 2>&1" EXIT
|
||||
|
||||
make EMACS_PROG=/usr/bin/$FLAVOR > $LOG 2>&1
|
||||
COMPILED=$(ls -1 *.elc)
|
||||
if [ "x$COMPILED" = "x" ]; then
|
||||
echo >&2 "No compiled files exist!!"
|
||||
echo >&2 "Aborting!!"
|
||||
echo "No compiled files exist!!" >> $LOG;
|
||||
echo "Aborting!!" >> $LOG;
|
||||
mv -f $LOG $ELCDIR/install.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for file in *.elc; do
|
||||
echo "Installing $file in $ELCDIR" >> $LOG
|
||||
install -m 644 $file $ELCDIR;
|
||||
done
|
||||
|
||||
# Include files in contrib/ if any
|
||||
if ls contrib/*.elc > /dev/null 2>&1; then
|
||||
for file in contrib/*.elc; do
|
||||
echo "Installing $file in $ELCDIR" >> $LOG
|
||||
install -m 644 $file $ELCDIR;
|
||||
done
|
||||
fi
|
||||
|
||||
rm -f dvc-version.el *autoloads.el custom-load.el *.elc contrib/*.elc|| true;
|
||||
|
||||
mv -f $LOG $ELCDIR/install.log;
|
||||
chmod 644 $ELCDIR/install.log;
|
||||
|
||||
echo "done."
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
# /usr/lib/emacsen-common/packages/remove/dvc
|
||||
|
||||
FLAVOR=$1
|
||||
PACKAGE=dvc
|
||||
|
||||
if [ "x$FLAVOR" = "x" ]; then
|
||||
echo Need argument to determin FLAVOR of emacs;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$PACKAGE" = "x" ]; then
|
||||
echo Internal error: need package name;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
case "$FLAVOR" in
|
||||
emacs | emacs20)
|
||||
echo "Ignoring flavour ${FLAVOR}"
|
||||
;;
|
||||
*)
|
||||
|
||||
echo "remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}"
|
||||
rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
;; -*-emacs-lisp-*-
|
||||
;;
|
||||
;; Emacs startup file for the Debian dvc package
|
||||
;;
|
||||
;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
|
||||
;; Modified by Dirk Eddelbuettel <edd@debian.org>
|
||||
;; Adapted for dh-make by Jim Van Zandt <jrv@vanzandt.mv.com>
|
||||
|
||||
;; The dvc package follows the Debian/GNU Linux 'emacsen' policy and
|
||||
;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
|
||||
;; xemacs19, emacs20, xemacs20...). The compiled code is then
|
||||
;; installed in a subdirectory of the respective site-lisp directory.
|
||||
;; We have to add this to the load-path:
|
||||
|
||||
(let ((list (append '((lisp . "dvc") (source . "dvc/lisp")))))
|
||||
(while list
|
||||
(let ((elt (car list)))
|
||||
(cond
|
||||
((equal 'lisp (car elt))
|
||||
(let ((dir (concat "/usr/share/"
|
||||
(symbol-name debian-emacs-flavor)
|
||||
"/site-lisp/" (cdr elt))))
|
||||
(when (file-directory-p dir)
|
||||
(if (fboundp 'debian-pkg-add-load-path-item)
|
||||
(debian-pkg-add-load-path-item dir)
|
||||
(add-to-list 'load-path dir 'append)))))
|
||||
((equal 'source (car elt))
|
||||
(let ((dir (concat "/usr/share/emacs/site-lisp/" (cdr elt))))
|
||||
(when (file-directory-p dir)
|
||||
(add-to-list 'load-path dir 'append))))))
|
||||
(setq list (cdr list))))
|
||||
|
||||
(if (featurep 'xemacs)
|
||||
(require 'auto-autoloads)
|
||||
(require 'dvc-autoloads))
|
||||
|
||||
@ -1 +0,0 @@
|
||||
texinfo/dvc.info
|
||||
@ -1,7 +0,0 @@
|
||||
config.status /usr/share/emacs/site-lisp/dvc
|
||||
Makefile* /usr/share/emacs/site-lisp/dvc
|
||||
lisp/Makefile* /usr/share/emacs/site-lisp/dvc/lisp/
|
||||
lisp/Makefile* /usr/share/emacs/site-lisp/dvc/lisp/
|
||||
lisp/*.el /usr/share/emacs/site-lisp/dvc/lisp/
|
||||
lisp/dvc-site.el.in /usr/share/emacs/site-lisp/dvc/lisp/
|
||||
lisp/contrib/*.el /usr/share/emacs/site-lisp/dvc/lisp/contrib/
|
||||
@ -1,17 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
export DH_VERBOSE=0
|
||||
|
||||
PREFIX := /usr
|
||||
LISPDIR := /usr/share/emacs/site-lisp/dvc
|
||||
|
||||
include /usr/share/cdbs/1/rules/debhelper.mk
|
||||
|
||||
clean::
|
||||
[ ! -f Makefile ] || $(MAKE) distclean
|
||||
|
||||
configure/dvc::
|
||||
autoconf -f -i
|
||||
./configure PACKAGE_VERSION=$(DEB_VERSION) --prefix=$(PREFIX) --with-lispdir=$(LISPDIR)
|
||||
$(MAKE) info
|
||||
@ -1 +0,0 @@
|
||||
3.0 (quilt)
|
||||
@ -1,99 +0,0 @@
|
||||
; -*- mode: text -*-
|
||||
|
||||
Subject: Xtla 1.2 is out!!
|
||||
|
||||
The Xtla development team is proud to announce the release of Xtla,
|
||||
version 1.2.
|
||||
|
||||
Xtla is the Emacs front-end to GNU Arch client (either tla or bazaar
|
||||
branch, at your option). It mainly provides user-friendly wrappers for
|
||||
native commands.
|
||||
|
||||
The 1.2 version of Xtla will most probably be the last version of Xtla
|
||||
to contain new features. We are currently moving to a more generic
|
||||
architecture, that we called DVC, which will support other RCS as
|
||||
back-ends. We already have preliminary support for Mercurial and
|
||||
Bazaar 2.
|
||||
|
||||
The main features are:
|
||||
|
||||
* PCL-CVS like interface for tla inventory and tla changes
|
||||
|
||||
* Archive browser - navigate painlessly through archives, categories,
|
||||
branches, versions, etc.
|
||||
|
||||
* Good integration in Emacs - almost everything can be done from
|
||||
within the editor
|
||||
|
||||
* Bookmark manager - keep the most frequently used arch locations in
|
||||
your bookmark buffer
|
||||
|
||||
* Integration with ediff, Emacs's graphical diff tool
|
||||
- to view changes made in a local tree.
|
||||
- to view and resolve conflicts after a merge.
|
||||
|
||||
* Interface to view missing patches from all your partners with a
|
||||
single command
|
||||
|
||||
* An Emacs mode for arch-related files (log files, =tagging-method,
|
||||
"build-config" files)
|
||||
|
||||
* Support for baz, and for baz added commands like "switch",
|
||||
"annotate", "status", "resolved"
|
||||
|
||||
* Integraton with Gnus.
|
||||
|
||||
The main new features for the 1.2 version are:
|
||||
|
||||
* M-x baz-update RET can use either merge, replay, or update
|
||||
|
||||
* changelog buffer, cat-log-mode buffers, and *Article* buffers (in
|
||||
Gnus) show clickable buttons for revision names (and other Arch
|
||||
names).
|
||||
|
||||
* A mail notification is available from the Changelog buffer (bound
|
||||
to "M")
|
||||
|
||||
* Several bazaaz 1.5 compatibility issues solved
|
||||
|
||||
* Many bugfixes
|
||||
|
||||
Information about Xtla can be found here:
|
||||
|
||||
http://wiki.gnuarch.org/xtla
|
||||
|
||||
We also have a project page on http://gna.org (savannah.gnu.org-like),
|
||||
where you can find information about the mailing list, the online
|
||||
manual, the download area, and the bug tracker (also used for feature
|
||||
requests):
|
||||
|
||||
https://gna.org/projects/xtla-el
|
||||
|
||||
You can install Xtla is from the archive found here:
|
||||
|
||||
https://www-verimag.imag.fr/~moy/arch/public
|
||||
|
||||
The version is
|
||||
|
||||
Matthieu.Moy@imag.fr--public/xtla--main--1.2
|
||||
|
||||
Xtla can also be downloaded as a tarball from here
|
||||
|
||||
http://download.gna.org/xtla-el/
|
||||
|
||||
Or installed as a Debian package. The package is now in Debian
|
||||
unstable. You can also get it by adding
|
||||
|
||||
deb http://download.gna.org/xtla-el/apt/ unstable/
|
||||
|
||||
to your sources.list file if you use another .deb-based distribution.
|
||||
|
||||
|
||||
Many thanks to all contributors and testers, in particular, for this
|
||||
version:
|
||||
|
||||
Stefan Reichör, Original author of Xtla and integrator
|
||||
Masatake Yamato, GNU Emacs hacker
|
||||
; Robert Widhopf-Fenk, XEmacs integration and testing
|
||||
Milan Zamazal, Debian developer
|
||||
Mark Triggs
|
||||
@ -1,36 +0,0 @@
|
||||
To test DVC backends quickly here I enumerate some
|
||||
interesting(completely my subjective view - Masatake) archives or repositories:
|
||||
Add archives(or repository) you are interested in.
|
||||
|
||||
* tla/baz
|
||||
|
||||
** dvc itself
|
||||
|
||||
$ bzr get http://bzr.xsteve.at/dvc/
|
||||
|
||||
* bzr
|
||||
|
||||
** bless binary editor
|
||||
|
||||
$ bzr branch http://download.gna.org/bless/bless.dev
|
||||
|
||||
* cg
|
||||
|
||||
** linux kernel
|
||||
|
||||
$ cg-clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
|
||||
|
||||
* hg
|
||||
|
||||
** Xen and linux related codes
|
||||
|
||||
$ hg clone http://xenbits.xensource.com/linux-2.6-xen.hg
|
||||
$ hg clone http://xenbits.xensource.com/xen-3.0-testing.hg
|
||||
|
||||
* darcs
|
||||
|
||||
** Ion-3 window manager
|
||||
|
||||
$ darcs get --partial http://modeemi.fi/~tuomov/repos/ion-3
|
||||
|
||||
|
||||
@ -1,210 +0,0 @@
|
||||
Some possible keybindings:
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;; Bookmarks key bindings
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(when (not tla-bookmarks-mode-map)
|
||||
(setq tla-bookmarks-mode-map (make-sparse-keymap))
|
||||
|
||||
;;; Commands for merging (M)
|
||||
(define-key tla-bookmarks-mode-map [?M ?s] 'tla-bookmarks-star-merge)
|
||||
(define-key tla-bookmarks-mode-map [?M ?m] 'tla-bookmarks-missing)
|
||||
(define-key tla-bookmarks-mode-map [?M ?r] 'tla-bookmarks-replay)
|
||||
|
||||
|
||||
;;; Commands for marking (*)
|
||||
(define-key tla-bookmarks-mode-map "\M-\C-?" 'tla-bookmarks-unmark-all)
|
||||
(define-key tla-bookmarks-mode-map [?* ?!] 'tla-bookmarks-unmark-all)
|
||||
(define-key tla-bookmarks-mode-map [?* ?u] 'tla-bookmarks-unmark)
|
||||
(define-key tla-bookmarks-mode-map [?* ?m] 'tla-bookmarks-mark)
|
||||
|
||||
|
||||
;;; Navigation
|
||||
(define-key tla-bookmarks-mode-map [?n] 'tla-bookmarks-next)
|
||||
(define-key tla-bookmarks-mode-map [?p] 'tla-bookmarks-previous)
|
||||
|
||||
|
||||
;;; Bookmark specific commands
|
||||
(define-key tla-bookmarks-mode-map "\C-m" 'tla-bookmarks-goto)
|
||||
(define-key tla-bookmarks-mode-map [?a] 'tla-bookmarks-add)
|
||||
(define-key tla-bookmarks-mode-map [?e] 'tla-bookmarks-edit)
|
||||
(define-key tla-bookmarks-mode-map [?d] 'tla-bookmarks-delete)
|
||||
(define-key tla-bookmarks-mode-map [?o] 'tla-bookmarks-open-tree)
|
||||
(define-key tla-bookmarks-mode-map [?i] 'tla-bookmarks-inventory)
|
||||
(define-key tla-bookmarks-mode-map [?q] 'tla-buffer-quit)
|
||||
(define-key tla-bookmarks-mode-map [?+ ?b] 'tla-bookmarks-add)
|
||||
(define-key tla-bookmarks-mode-map [?+ ?t] 'tla-bookmarks-add-tree-interactive)
|
||||
(define-key tla-bookmarks-mode-map [?- ?t] 'tla-bookmarks-delete-tree-interactive)
|
||||
(define-key tla-bookmarks-mode-map [?+ ?p] 'tla-bookmarks-add-partner-interactive)
|
||||
(define-key tla-bookmarks-mode-map [?- ?p] 'tla-bookmarks-delete-partner-interactive)
|
||||
(define-key tla-bookmarks-mode-map [?+ ?g] 'tla-bookmarks-add-group-interactive)
|
||||
(define-key tla-bookmarks-mode-map [?- ?g] 'tla-bookmarks-delete-group-interactive)
|
||||
(define-key tla-bookmarks-mode-map [?* ?g] 'tla-bookmarks-select-by-group)
|
||||
(define-key tla-bookmarks-mode-map [?N] 'tla-bookmarks-move-down)
|
||||
(define-key tla-bookmarks-mode-map [?P] 'tla-bookmarks-move-up)
|
||||
|
||||
|
||||
;;; Archive commands (A)
|
||||
(define-key tla-bookmarks-mode-map [?>] 'tla-bookmarks-get)
|
||||
(define-key tla-bookmarks-mode-map [?A ?g] 'tla-bookmarks-get)
|
||||
|
||||
|
||||
;;; Toggle commands (T)
|
||||
(define-key tla-bookmarks-mode-map [?T t] 'tla-bookmarks-toggle-details)
|
||||
|
||||
|
||||
;;; Debugging commands (D)
|
||||
(define-key tla-bookmarks-mode-map [?D p] 'tla-show-process-buffer)
|
||||
;; Add me!
|
||||
;; (define-key tla-bookmarks-mode-map [?D l] 'tla-show-tla-log)
|
||||
|
||||
|
||||
;;; Misc
|
||||
(define-key tla-bookmarks-mode-map [??] 'describe-mode)
|
||||
(define-key tla-bookmarks-mode-map [(meta p)]
|
||||
'tla-bookmarks-marked-are-partners)
|
||||
)
|
||||
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;; Inventory key bindings
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(when (not tla-inventory-mode-map)
|
||||
(setq tla-inventory-mode-map (make-sparse-keymap))
|
||||
|
||||
;;; Commands for merging (M)
|
||||
(define-key tla-inventory-mode-map [?M ?s] 'tla-inventory-star-merge)
|
||||
(define-key tla-inventory-mode-map [?M ?r] 'tla-inventory-replay)
|
||||
|
||||
|
||||
;;; Commands for marking (*)
|
||||
(define-key tla-inventory-mode-map "\M-\C-?" 'tla-inventory-unmark-all)
|
||||
(define-key tla-inventory-mode-map [?* ?m] 'tla-inventory-mark-file)
|
||||
(define-key tla-inventory-mode-map [?* ?u] 'tla-inventory-unmark-file)
|
||||
(define-key tla-inventory-mode-map [?* ?!] 'tla-inventory-unmark-all)
|
||||
|
||||
|
||||
;;; Navigation
|
||||
(define-key tla-inventory-mode-map [?n] 'tla-inventory-next)
|
||||
(define-key tla-inventory-mode-map [?p] 'tla-inventory-previous)
|
||||
(define-key tla-inventory-mode-map [?^] 'tla-inventory-parent-directory)
|
||||
(define-key tla-inventory-mode-map [left] 'tla-inventory-parent-directory)
|
||||
|
||||
|
||||
;;; Inventory specific commands
|
||||
(define-key tla-inventory-mode-map [?+ ?f] 'tla-inventory-add)
|
||||
(define-key tla-inventory-mode-map [?- ?f] 'tla-inventory-remove)
|
||||
(define-key tla-inventory-mode-map [?R] 'tla-inventory-move)
|
||||
(define-key tla-inventory-mode-map [?e] 'tla-inventory-file-ediff)
|
||||
(define-key tla-inventory-mode-map [?c] 'tla-inventory-edit-log) ;; mnemonic for commit
|
||||
(define-key tla-inventory-mode-map [?f] 'tla-inventory-find-file)
|
||||
(define-key tla-inventory-mode-map [return] 'tla-inventory-find-file)
|
||||
(define-key tla-inventory-mode-map [right] 'tla-inventory-find-file)
|
||||
(define-key tla-inventory-mode-map "\C-m" 'tla-inventory-find-file)
|
||||
(define-key tla-inventory-mode-map [?o] 'tla-inventory-find-file-other-window)
|
||||
(define-key tla-inventory-mode-map [?v] 'tla-inventory-view-file)
|
||||
;; (define-key tla-inventory-mode-map [?d ?e] 'tla-inventory-file-ediff)
|
||||
(define-key tla-inventory-mode-map [?d ?m] 'tla-inventory-missing)
|
||||
(define-key tla-inventory-mode-map [?=] 'tla-changes)
|
||||
(define-key tla-inventory-mode-map [?l] 'tla-changelog)
|
||||
(define-key tla-inventory-mode-map [?L] 'tla-logs)
|
||||
|
||||
|
||||
;;; Archive commands (A)
|
||||
(define-key tla-inventory-mode-map [?A ?m] 'tla-inventory-mirror)
|
||||
|
||||
|
||||
;;; Toggle commands (T)
|
||||
(dolist (type-arg tla-inventory-file-types-manipulators)
|
||||
(define-key tla-inventory-mode-map `[?T ,(cadddr type-arg)] (caddr type-arg)))
|
||||
(define-key tla-inventory-mode-map [?T ?+] 'tla-inventory-set-all-toggle-variables)
|
||||
(define-key tla-inventory-mode-map [?T ?-] 'tla-inventory-reset-all-toggle-variables)
|
||||
(define-key tla-inventory-mode-map [?T ?~] 'tla-inventory-toggle-all-toggle-variables)
|
||||
|
||||
;;; Debugging commands (D)
|
||||
(define-key tla-inventory-mode-map [?D p] 'tla-show-process-buffer)
|
||||
;; Add me!
|
||||
;; (define-key tla-inventory-mode-map [?D l] 'tla-show-tla-log)
|
||||
|
||||
;;; Misc
|
||||
(define-key tla-inventory-mode-map [??] 'describe-mode)
|
||||
(define-key tla-inventory-mode-map [?g] 'tla-generic-refresh)
|
||||
(define-key tla-inventory-mode-map [?q] 'tla-buffer-quit)
|
||||
)
|
||||
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;; Revision key bindings
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(when (not tla-revision-list-mode-map)
|
||||
(setq tla-revision-list-mode-map (make-sparse-keymap))
|
||||
|
||||
;;; Commands for merging/branching (M)
|
||||
(define-key tla-revision-list-mode-map [?M ?s] 'tla-revision-star-merge)
|
||||
(define-key tla-revision-list-mode-map [?M ?t] 'tla-revision-tag)
|
||||
(define-key tla-revision-list-mode-map [?M ?r] 'tla-revision-replay)
|
||||
|
||||
|
||||
;;; Commands for marking (*)
|
||||
(define-key tla-revision-list-mode-map [?* ?m] 'tla-revision-mark-revision)
|
||||
;; Add me!
|
||||
;; (define-key tla-revision-list-mode-map [?* ?u]
|
||||
;; 'tla-revision-unmark-revision)
|
||||
|
||||
|
||||
;;; Navigation
|
||||
(define-key tla-revision-list-mode-map [?^]
|
||||
'tla-revision-list-parent-version)
|
||||
(define-key tla-revision-list-mode-map [left]
|
||||
'tla-revision-list-parent-version)
|
||||
(define-key tla-revision-list-mode-map [down] 'tla-bookmarks-missing-next)
|
||||
(define-key tla-revision-list-mode-map [up] 'tla-bookmarks-missing-prev)
|
||||
(define-key tla-revision-list-mode-map [?n] 'tla-bookmarks-missing-next)
|
||||
(define-key tla-revision-list-mode-map [?p] 'tla-bookmarks-missing-prev)
|
||||
|
||||
|
||||
;;; Archive commands (A)
|
||||
(define-key tla-revision-list-mode-map [?> ?g] 'tla-revision-get-revision)
|
||||
(define-key tla-revision-list-mode-map [?> ?C] 'tla-revision-cache-revision)
|
||||
(define-key tla-revision-list-mode-map [?> ?L] 'tla-revision-add-to-library)
|
||||
(define-key tla-revision-list-mode-map [?A ?g] 'tla-revision-get-revision)
|
||||
(define-key tla-revision-list-mode-map [?A ?c] 'tla-revision-cache-revision)
|
||||
(define-key tla-revision-list-mode-map [?A ?l] 'tla-revision-add-to-library)
|
||||
|
||||
|
||||
;;; Toggle commands (T)
|
||||
(define-key tla-revision-list-mode-map [?T ?d] 'tla-revision-toggle-date)
|
||||
(define-key tla-revision-list-mode-map [?T ?c] 'tla-revision-toggle-creator)
|
||||
(define-key tla-revision-list-mode-map [?T ?s] 'tla-revision-toggle-summary)
|
||||
(define-key tla-revision-list-mode-map [?T ?r] 'tla-revision-toggle-reverse)
|
||||
;; ?t ?? is reserved. Not implemented yet.
|
||||
(define-key tla-revision-list-mode-map [?T ??] 'tla-revision-list-toggles)
|
||||
|
||||
|
||||
;;; Debugging commands (D)
|
||||
(define-key tla-revision-list-mode-map [?D p] 'tla-show-process-buffer)
|
||||
;; Add me!
|
||||
;; (define-key tla-revision-mode-map [?D l] 'tla-show-tla-log)
|
||||
|
||||
|
||||
;;; Revision specific commands
|
||||
(define-key tla-revision-list-mode-map [?l] 'tla-revision-cat-log)
|
||||
(define-key tla-revision-list-mode-map [?u] 'tla-revision-update)
|
||||
(define-key tla-revision-list-mode-map "\C-m" 'tla-revision-return)
|
||||
(define-key tla-revision-list-mode-map [return] 'tla-revision-return)
|
||||
(define-key tla-revision-list-mode-map [right] 'tla-revision-return)
|
||||
(define-key tla-revision-list-mode-map [?d] 'tla-revision-delta)
|
||||
(define-key tla-revision-list-mode-map [?=] 'tla-revision-changeset)
|
||||
(define-key tla-revision-list-mode-map [?i] 'tla-pop-to-inventory)
|
||||
(define-key tla-revision-list-mode-map [?.] 'tla-revision-bookmarks-add)
|
||||
|
||||
|
||||
;;; Misc
|
||||
(define-key tla-revision-list-mode-map [?g] 'tla-generic-refresh)
|
||||
(define-key tla-revision-list-mode-map [?q] 'tla-buffer-quit)
|
||||
)
|
||||
@ -1,165 +0,0 @@
|
||||
#!/bin/sh
|
||||
#| -*- scheme -*- |#
|
||||
:; exec gosh -- $0 "$@"
|
||||
;;
|
||||
;; We want to merge dvc tree to GNU Emacs. Thus, every contributor
|
||||
;; must assign copyright for this changes to the FSF. This file
|
||||
;; tracks contributors and their copyright assignment status.
|
||||
;;
|
||||
;; Before reporting your patch for merging DVC official source tree,
|
||||
;; add your name to this file. The entry format is as follows:
|
||||
;;
|
||||
;; (contributor :name "yourname"
|
||||
;; :signed done--or--not-yet--or--tiny-change
|
||||
;; :mail-addresses "addr1@example1.com")
|
||||
;;
|
||||
;; or
|
||||
;;
|
||||
;; (contributor :name "yourname"
|
||||
;; :signed done--or--not-yet--or--tiny-change
|
||||
;; :mail-addresses ("addr1@example1.com" "addr2@example2.com" ...))
|
||||
;;
|
||||
;; You can use # instead of @ for circumventing the email-gathering
|
||||
;; web spiders that spammers use. If you use a list for the
|
||||
;; :mail-addresses field, the car is used for contacting the FSF.
|
||||
;;
|
||||
;; The first time :signed field may be `not-yet'. Then we will contact
|
||||
;; you via email and send a copyright assignment templalte, which is
|
||||
;; to be emailed to the FSF (at this point, :signed is changed to
|
||||
;; `in-progress'). They will then send you the papers to sign. After
|
||||
;; completing a paper work for it and getting the notification from
|
||||
;; FSF, the :signed field will be changed to `done'.
|
||||
|
||||
;;
|
||||
;; *The order is not meaningful.*
|
||||
;;
|
||||
(define contributors
|
||||
'(
|
||||
(contributor :name "Stefan Reichoer"
|
||||
:signed done
|
||||
:mail-addresses ("stefan#xsteve.at"
|
||||
"stefan#pyramide"
|
||||
"xsteve#nit.at"))
|
||||
(contributor :name "Matthieu MOY"
|
||||
:signed done
|
||||
:mail-addresses ("Matthieu.Moy#imag.fr"
|
||||
"matthieu.moy#imag.fr"
|
||||
"moy#ecrins"
|
||||
"moy#moy"))
|
||||
(contributor :name "Miles Bader"
|
||||
:signed done
|
||||
:mail-addresses "miles#gnu.org")
|
||||
(contributor :name "Andre Kuehne"
|
||||
:signed done
|
||||
:mail-addresses "andre.kuehne#gmx.net")
|
||||
(contributor :name "Vincent LADEUIL"
|
||||
:signed done)
|
||||
(contributor :name "Stephen Leake"
|
||||
:signed done
|
||||
:mail-addresses ("stephen_leake#stephe-leake.org"
|
||||
"stephe#ACS1100007992"
|
||||
"stephe#LM000850872"))
|
||||
(contributor :name "Takuzo O'hara"
|
||||
:signed done
|
||||
:mail-addresses "takuzo.ohara#gmail.com")
|
||||
(contributor :name "Michael Olson"
|
||||
:signed done
|
||||
:mail-addresses ("mwolson#member.fsf.org"
|
||||
"mwolson#gnu.org"
|
||||
"mwolson#exabyte"))
|
||||
(contributor :name "Martin Brett Pool"
|
||||
:signed done)
|
||||
(contributor :name "Andrea Russo"
|
||||
:signed done
|
||||
:mail-addresses ("rastandy#inventati.org"
|
||||
"rast4ndy#gmail.com"))
|
||||
(contributor :name "Alan Shutko"
|
||||
:signed done-emacs-only
|
||||
:mail-addresses "ats#acm.org")
|
||||
(contributor :name "Sam Steingold"
|
||||
:signed done
|
||||
:mail-addresses "sds#gnu.org")
|
||||
(contributor :name "Mark Triggs"
|
||||
:signed done
|
||||
:mail-addresses "mark#dishevelled.net")
|
||||
(contributor :name "Robert Widhopf-Fenk"
|
||||
:signed done
|
||||
:mail-addresses "hack#robf.de")
|
||||
(contributor :name "Sascha Wilde"
|
||||
:signed done-emacs-only
|
||||
:mail-addresses "wilde#sha-bang.de")
|
||||
(contributor :name "Masatake YAMATO"
|
||||
:signed done
|
||||
:mail-addresses ("jet#gyve.org"
|
||||
"jet#gps06"))
|
||||
(contributor :name "Steve Youngs"
|
||||
:signed done-emacs-only
|
||||
:mail-addresses "steve#sxemacs.org")
|
||||
(contributor :name "Milan Zamazal"
|
||||
:signed done
|
||||
:mail-addresses ("pdm#zamazal.org" "pdm#debian.org"))
|
||||
|
||||
;;
|
||||
;; Assignment in progress
|
||||
;;
|
||||
|
||||
;;
|
||||
;; Does not need assignment yet
|
||||
;;
|
||||
(contributor :name "Daniel Dehennin"
|
||||
:contacted yes
|
||||
:changed-elisp no
|
||||
:signed not-yet
|
||||
:mail-addresses "daniel.dehennin@baby-gnu.org")
|
||||
|
||||
;;
|
||||
;; Needs assignment (or investigation into changes made)
|
||||
;;
|
||||
(contributor :name "Christian Ohler"
|
||||
:signed not-yet
|
||||
:contacted yes
|
||||
:mail-addresses "ohler+mtn#fastmail.net")
|
||||
(contributor :signed "Chris Gray"
|
||||
:signed not-yet
|
||||
:contacted email-invalid
|
||||
:mail-addresses "christopher.grayb#mail.mcgill.ca")
|
||||
(contributor :signed "Bojan Nikolic"
|
||||
:signed in-progress
|
||||
:contacted yes
|
||||
:mail-addresses "bojan#bnikolic.co.uk")
|
||||
(contributor :name "James LewisMoss"
|
||||
:signed tiny-change
|
||||
:mail-addresses "jim@lewismoss.org")
|
||||
;;
|
||||
;; ADD YOUR NAME HERE.
|
||||
;;
|
||||
))
|
||||
|
||||
|
||||
;;
|
||||
;; This is a program to pick something like mail addresses from the output of
|
||||
;; tla and bzr. The contributors mail address listed above are removed from the
|
||||
;; picked addresses.
|
||||
;;
|
||||
;; tla changelog | docs/CONTRIBUTORS | sort | uniq
|
||||
;; bzr log | docs/CONTRIBUTORS | sort | uniq
|
||||
;;
|
||||
(use srfi-1)
|
||||
(let* ((droplist '("dvc-dev#gna.org"))
|
||||
(addresses (map
|
||||
(cute regexp-replace #/#/ <> "@")
|
||||
(apply append droplist
|
||||
(map (lambda (c)
|
||||
(let1 addrs (get-keyword :mail-addresses (cdr c) (list))
|
||||
(if (string? addrs) (list addrs) addrs)))
|
||||
contributors))))
|
||||
(registered? (lambda (line)
|
||||
(any (lambda (a)
|
||||
(string-scan line a))
|
||||
addresses))))
|
||||
(let loop ((line (read-line)))
|
||||
(unless (eof-object? line)
|
||||
(when (string-scan line "@")
|
||||
(unless (registered? line)
|
||||
(print line)))
|
||||
(loop (read-line)))))
|
||||
179
dvc/docs/DVC-API
179
dvc/docs/DVC-API
@ -1,179 +0,0 @@
|
||||
That file contains the documentation to build support for a different dvc,
|
||||
using the dvc layer:
|
||||
|
||||
Conventions used in the document:
|
||||
* <dvc> is used as placeholder for the dvc backend to implement
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
* Base functions that are required for every supported dvc system
|
||||
* That functions should be located in the <dvc>-dvc.el file
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
When no function is provided, dvc-dvc-<postfix> is used instead.
|
||||
|
||||
- <dvc>-dvc-tree-root
|
||||
(defun <dvc>-dvc-tree-root (&optional location no-error)
|
||||
"Return the tree root for LOCATION, nil if not in a local tree.
|
||||
|
||||
If NO-ERROR is non-nil, don't raise an error if LOCATION is not a
|
||||
<dvc> managed tree (but return nil)."
|
||||
|
||||
- <dvc>-dvc-log-edit-done
|
||||
(defun <dvc>-dvc-log-edit-done ()
|
||||
"Finish a commit for <dvc>."
|
||||
|
||||
- <dvc>-dvc-diff
|
||||
(defun <dvc>-dvc-diff ()
|
||||
"Shows the changes in the current <dvc> tree."
|
||||
|
||||
- <dvc>-dvc-log
|
||||
(defun <dvc>-dvc-log ()
|
||||
"Shows the changelog in the current <dvc> tree."
|
||||
|
||||
- <dvc>-dvc-command-version
|
||||
(defun <dvc>-dvc-command-version ()
|
||||
"Returns and/or shows the version identity string of backend command."
|
||||
|
||||
- <dvc>-dvc-file-has-conflict-p
|
||||
(defun <dvc>-dvc-file-has-conflict-p (filename)
|
||||
"Return non-nil if FILENAME is marked as having conflicts")
|
||||
|
||||
- <dvc>-dvc-resolved
|
||||
(defun <dvc>-dvc-resolved (filename)
|
||||
"Mark FILENAME as not having conflict anymore")
|
||||
|
||||
|
||||
To handle the case of a workspace that is controlled by more than one
|
||||
back-end, all dispatching interactive front-end functions dvc-foo
|
||||
should have a corresponding function <dvc>-foo, that specifies which
|
||||
back-end to use.
|
||||
|
||||
A simple way to provide <dvc>-foo is to put dvc-foo in
|
||||
dvc-back-end-wrappers (in dvc-unified.el); then <dvc>-foo is
|
||||
automatically generated by dvc-register-dvc. This defines
|
||||
<dvc>-foo as (see dvc-register.el for the actual code):
|
||||
|
||||
(defun <dvc>-foo (<args>)
|
||||
(interactive)
|
||||
(let ((dvc-temp-current-active-dvc <dvc>))
|
||||
(call-interactively 'dvc-foo)))
|
||||
|
||||
This means that back-ends may _not_ define a function <dvc>-foo.
|
||||
|
||||
Note that functions defined by dvc-define-unified-command dispatch
|
||||
to <dvc>-dvc-foo. Calling <dvc>-dvc-foo is _not_ the same as
|
||||
calling <dvc>-foo, since dvc-temp-current-active-dvc is not bound,
|
||||
the interactive argument processing may be different, and
|
||||
<dvc>-dvc-foo may not even exist (if the default dvc-dvc-foo is
|
||||
sufficient).
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
* Revision API
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Definition
|
||||
==========
|
||||
|
||||
DVC deals with several RCS, with different ways to designate a
|
||||
revision. We define a unified way to designate a revision in lisp,
|
||||
which we call revision identifiers, or rev-id:
|
||||
|
||||
REVISION-ID :: (<dvc> BACK-END-ID)
|
||||
;; <dvc> is one of 'tla, 'bzr, 'xhg, ...
|
||||
|
||||
BACK-END-ID :: (revision BACK-END-REVISION)
|
||||
;; An already commited revision
|
||||
;; The way to specify it depends on the back-end.
|
||||
| (local-tree PATH)
|
||||
;; Uncommited revision in the local tree PATH
|
||||
| (last-revision PATH NUM)
|
||||
;; Last commited revision in tree PATH if NUM = 1
|
||||
;; Last but NUM-1 revision in tree PATH if NUM > 1
|
||||
| (previous-revision BACK-END-REVISION NUM)
|
||||
;; Nth Ancestor of BACK-END-ID.
|
||||
|
||||
(probably we'll need a (head REMOTE-BRANCH) too)
|
||||
|
||||
PATH :: string
|
||||
;; must be a tree root directory
|
||||
|
||||
NUM :: number
|
||||
|
||||
REV-STRING :: string
|
||||
|
||||
For Xtla (tla and baz):
|
||||
|
||||
BACK-END-REVISION :: ("archive" "category" "branch" "version" "revision")
|
||||
;; archive/category--branch--version--revision
|
||||
|
||||
For bzr:
|
||||
|
||||
BACK-END-REVISION :: (local "path" NUM)
|
||||
| (remote "url" NUM)
|
||||
| (tag REV-STRING)
|
||||
|
||||
For xhg:
|
||||
|
||||
TODO
|
||||
|
||||
For xgit:
|
||||
|
||||
BACK-END-REVISION :: (revision "sha1")
|
||||
| (index)
|
||||
;; content of the index (aka staging area).
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
(bzr (revision (local "/path/to/archive" 3)))
|
||||
(baz (last-revision "/path/to/project" 1))
|
||||
(baz (revision ("archive" "category" "branch" "version" "revision")))
|
||||
(xgit (revision "c576304d512df18fa30b91bb3ac15478d5d4dfb1"))
|
||||
|
||||
Functions
|
||||
=========
|
||||
|
||||
Based upon that, we define the functions:
|
||||
|
||||
dvc-revision-get-file-in-buffer: get the particular revision of a file
|
||||
in a buffer.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
* Back-end specific features Vs Unification
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
DVC provides the user an interface for multiple revision control
|
||||
system, and does it using as much back-end independant code as
|
||||
possible. This has several benefits :
|
||||
|
||||
* For the user:
|
||||
- Similar user-interface, keybindings, ... for different back-ends.
|
||||
- Unified interface for most operations : one menu, one set of
|
||||
keybindings, and DVC detects which back-end to use automatically.
|
||||
|
||||
* For the developers:
|
||||
- much less code to write than individual, independant interfaces.
|
||||
|
||||
However, some back-end features do not fit well in the DVC common
|
||||
interface. For example, git differs from other common version control
|
||||
systems in several regards (the index, for example, is something
|
||||
probably unique to git, and it leads to a different flow to prepare a
|
||||
commit).
|
||||
|
||||
In this case, there's nothing wrong providing additional functions,
|
||||
which might not have a dvc-* dispatching command. The user can call
|
||||
them with M-x <back-end>-command RET explicitly. Additionaly, one can
|
||||
extend some DVC modes with additional keybindings and menus. See
|
||||
`dvc-diff-mode' and `xgit-diff-mode' for an example.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
* External tools
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
* 'sh' is required for dvc-run-sync and dvc-run-async.
|
||||
|
||||
In practice, that is not a problem for Unix users, but requires
|
||||
cygwin or mingw for Windows users. 'sh' is used to separate stdout
|
||||
from stderr; the Emacs function 'call-process' merges them. It may
|
||||
be possible to do this with native Windows tools, if someone wants
|
||||
to investigate.
|
||||
@ -1,204 +0,0 @@
|
||||
This file is a annotated version of the output of tla help.
|
||||
|
||||
It should help us to identify the missing features of xtla regarding
|
||||
tla itself. Don't forget that xtla is more than a "wrapper" around
|
||||
tla, so, xtla should also have features not listed here to have a real
|
||||
added value (the bookmarks feature is probably the best example).
|
||||
|
||||
There are currently 3 sections :
|
||||
|
||||
* TODO : Nothing was done for that
|
||||
|
||||
* DONE : Something was already done for that command. Probably it's
|
||||
still not perfect yet.
|
||||
|
||||
* NOT NEEDED : Nothing was done, and nothing will be done for this
|
||||
feature since it's meaningless in xtla.
|
||||
|
||||
After some time, there should be a fourth section :
|
||||
|
||||
* FINISHED : We consider this feature is fully implemented. At least
|
||||
we mean that, additions to this feature are lowest
|
||||
priority.
|
||||
|
||||
Moving an item from DONE to FINISHED or from TODO to NOT NEEDED should
|
||||
be discussed on the mailing list.
|
||||
|
||||
tla sub-commands
|
||||
----------------
|
||||
|
||||
* help
|
||||
|
||||
[DONE] help : provide help with arch
|
||||
|
||||
|
||||
* User Commands
|
||||
|
||||
[DONE] my-id : print or change your id
|
||||
|
||||
[DONE] my-default-archive : print or change your default archive
|
||||
[DONE] register-archive : change an archive location registration
|
||||
[DONE] whereis-archive : print an archive location registration
|
||||
[DONE] archives : Report registered archives and their locations.
|
||||
|
||||
|
||||
* Project Tree Commands
|
||||
|
||||
[DONE] init-tree : initialize a new project tree
|
||||
[DONE] tree-root : find and print the root of a project tree
|
||||
|
||||
[DONE] tree-version : print the default version for a project tree
|
||||
[DONE] set-tree-version : set the default version for a project tree
|
||||
|
||||
[DONE] undo : undo and save changes in a project tree
|
||||
[DONE] redo : redo changes in project tree
|
||||
|
||||
[DONE] changes : report about local changes in a project tree
|
||||
[DONE] file-diffs : show local changes to a file
|
||||
|
||||
|
||||
* Project Tree Inventory Commands
|
||||
|
||||
[DONE] inventory : inventory a source tree
|
||||
[DONE] tree-lint : audit a source tree
|
||||
[DONE] id : report the inventory id for a file
|
||||
|
||||
[DONE] id-tagging-method : print or change a project tree id tagging method
|
||||
|
||||
[DONE] add-id : add an explicit inventory id
|
||||
[DONE] delete-id : remove an explicit inventory id
|
||||
[DONE] rm : remove a file (or dir, or symlink) and its explicit inventory tag (if any)
|
||||
[DONE] move-id : move an explicit inventory id
|
||||
[DONE] mv : move a file (or dir, or symlink) and it's explicit inventory tag (if any)
|
||||
[TODO] explicit-default : print or modify default ids
|
||||
|
||||
[TODO] id-tagging-defaults : print the default =tagging-method contents
|
||||
|
||||
|
||||
* Patch Set Commands
|
||||
|
||||
[TODO] changeset : compute a whole-tree changeset
|
||||
[DONE] apply-changeset : apply a whole-tree changeset
|
||||
[DONE] show-changeset : generate a report from a changeset
|
||||
|
||||
|
||||
* Archive Transaction Commands
|
||||
|
||||
[DONE] make-archive : create a new archive directory
|
||||
[NOT NEEDED] archive-setup : create new categories, branches and versions
|
||||
|
||||
[DONE] make-category : create a new archive category
|
||||
[DONE] make-branch : create a new archive branch
|
||||
[DONE] make-version : create a new archive version
|
||||
|
||||
[DONE] import : archive a full-source base-0 revision
|
||||
[DONE] commit : archive a changeset-based revision
|
||||
|
||||
[DONE] get : construct a project tree for a revision
|
||||
[DONE] get-changeset : retrieve a changeset from an archive
|
||||
|
||||
[TODO] lock-revision : lock (or unlock) an archive revision
|
||||
[DONE] archive-mirror : update an archive mirror
|
||||
|
||||
|
||||
* Archive Commands
|
||||
|
||||
[DONE] abrowse : print an outline describing archive contents
|
||||
[DONE] rbrowse : print an outline describing an archive's contents
|
||||
[DONE] categories : list the categories in an archive
|
||||
[DONE] branches : list the branches in an archive category
|
||||
[DONE] versions : list the versions in an archive branch
|
||||
[DONE] revisions : list the revisions in an archive version
|
||||
[TODO] ancestry : display the ancestory of a revision
|
||||
[TODO] ancestry-graph : display the ancestory of a revision
|
||||
|
||||
[DONE] cat-archive-log : print the contents of an archived log entry
|
||||
|
||||
[DONE] cacherev : cache a full source tree in an archive
|
||||
[TODO] cachedrevs : list cached revisions in an archive
|
||||
[TODO] uncacherev : remove a cached full source tree from an archive
|
||||
|
||||
[TODO] archive-meta-info : report meta-info from an archive
|
||||
[TODO] archive-snapshot : update an archive snapshot
|
||||
[TODO] archive-version : list the archive-version in an archive
|
||||
|
||||
[DONE] archive-fixup : fix ancillary files (e.g. .listing files) in an archive
|
||||
|
||||
|
||||
* Patch Log Commands
|
||||
|
||||
[DONE] make-log : initialize a new log file entry
|
||||
[TODO] log-versions : list patch log versions in a project tree
|
||||
[TODO] add-log-version : add a patch log version to a project tree
|
||||
[TODO] remove-log-version : remove a version's patch log from a project tree
|
||||
[DONE] logs : list patch logs for a version in a project tree
|
||||
[DONE] cat-log : print the contents of a project tree log entry
|
||||
|
||||
[DONE] changelog : generate a ChangeLog from a patch log
|
||||
|
||||
[DONE] log-for-merge : generate a log entry body for a merge
|
||||
[TODO] merges : report where two branches have been merged
|
||||
[TODO] new-merges : list tree patches new to a version
|
||||
|
||||
|
||||
* Multi-project Configuration Commands
|
||||
|
||||
[DONE] build-config : instantiate a multi-project config
|
||||
[DONE] cat-config : output information about a multi-project config
|
||||
|
||||
|
||||
* Commands for Branching and Merging
|
||||
|
||||
[DONE] tag : create a continuation revision (aka tag or branch)
|
||||
|
||||
[DONE] update : update a project tree to reflect recent archived changes
|
||||
[DONE] replay : apply revision changesets to a project tree
|
||||
[DONE] star-merge : merge mutually merged branches
|
||||
[TODO] apply-delta : Compute a changeset between any two trees or revisions and apply it to a project tree
|
||||
[DONE] missing : print patches missing from a project tree
|
||||
|
||||
[TODO] join-branch : construct a project tree for a version
|
||||
[DONE] sync-tree : unify a project tree's patch-log with a given revision
|
||||
|
||||
[DONE] delta : Compute a changeset (or diff) between any two trees or revisions
|
||||
|
||||
|
||||
* Local Cache Commands
|
||||
|
||||
[DONE] changes : report about local changes in a project tree
|
||||
[DONE] file-diffs : show local changes to a file
|
||||
[DONE] file-find : find given version of file
|
||||
|
||||
[DONE] pristines : list pristine trees in a project tree
|
||||
[TODO] lock-pristine : lock (or unlock) a pristine tree
|
||||
[TODO] add-pristine : ensure that a project tree has a particular pristine revision
|
||||
[TODO] find-pristine : find and print the path to a pristine revision
|
||||
|
||||
|
||||
* Revision Library Commands
|
||||
|
||||
[DONE] my-revision-library : print or change your revision library path
|
||||
[DONE] library-config : configure parameters of a revision library
|
||||
[DONE] library-find : find and print the location of a revision in the revision library
|
||||
[DONE] library-add : add a revision to the revision library
|
||||
[TODO] library-remove : remove a revision from the revision library
|
||||
[DONE] library-archives : list the archives in your revision library
|
||||
[DONE] library-categories : list the categories in your revision library
|
||||
[DONE] library-branches : list the branches in a library category
|
||||
[DONE] library-versions : list the versions in a library branch
|
||||
[DONE] library-revisions : list the revisions in a library version
|
||||
[TODO] library-log : output a log message from the revision library
|
||||
[TODO] library-file : find a file in a revision library
|
||||
|
||||
|
||||
* Published Revisions Commands
|
||||
|
||||
[TODO] grab : grab a published revision
|
||||
|
||||
|
||||
* Miscellaneous Scripting Support
|
||||
|
||||
[NOT NEEDED] parse-package-name : parse a package name
|
||||
[NOT NEEDED] valid-package-name : test a package name for validity
|
||||
|
||||
|
||||
263
dvc/docs/HACKING
263
dvc/docs/HACKING
@ -1,263 +0,0 @@
|
||||
-*- mode: text -*-
|
||||
|
||||
Developers
|
||||
==========
|
||||
|
||||
DVC will be merged to GNU Emacs(we hope).
|
||||
So the developers should be able to sign to FSF about
|
||||
copyright assignment. In other words, we can accept
|
||||
only patches whose author agrees to sign to FSF.
|
||||
CONTRIBUTORS file is for tracking the contributors
|
||||
and their copyright assignments.
|
||||
|
||||
CONTRIBUTORS file is maintained by Michael Olson.
|
||||
|
||||
GNU Emacs, XEmacs and its version
|
||||
=================================
|
||||
|
||||
We will support both Emacs and XEmacs. The developers are using:
|
||||
|
||||
Stefan Reichoer <stefan at xsteve . at>: GNU Emacs 21.3.1, GNU Emacs in CVS repository
|
||||
Matthieu Moy <Matthieu.Moy at imag . fr>: GNU Emacs 21.2 (Solaris and Linux)
|
||||
Masatake YAMATO <jet at gyve . org>: GNU Emacs in CVS repository
|
||||
Milan Zamazal <pdm at zamazal . org>: GNU Emacs 21.3, GNU Emacs CVS
|
||||
Martin Pool <mbp at sourcefrog . net>: ???
|
||||
Robert Widhopf-Fenk <hack at robf . de>: XEmacs 21.4.5
|
||||
Mark Triggs <mst at dishevelled . net>: GNU Emacs in CVS repository
|
||||
|
||||
gnuarch version
|
||||
===============
|
||||
|
||||
gnuarch version which xtla's developers are using:
|
||||
|
||||
Stefan Reichoer <stefan at xsteve . at>:
|
||||
|
||||
Matthieu Moy <Matthieu.Moy at imag . fr>:
|
||||
tla 1.2, tla 1.2.2rc2
|
||||
|
||||
Masatake YAMATO <jet at gyve . org>:
|
||||
tla lord@emf.net--2004/dists--devo--1.0--patch-9(configs/emf.net-tla/devo.tla-1.2) from regexps.com
|
||||
|
||||
Milan Zamazal <pdm at zamazal . org>: tla, from Debian/testing.
|
||||
|
||||
Martin Pool <mbp at sourcefrog . net>:
|
||||
|
||||
Robert Widhopf-Fenk <hack at robf . de>:
|
||||
|
||||
Mark Triggs <mst at dishevelled . net>:
|
||||
|
||||
|
||||
Key bind conventions
|
||||
====================
|
||||
|
||||
See xtla-defs.el.
|
||||
|
||||
Symbol name conventions
|
||||
=======================
|
||||
|
||||
- Face: Do not use a `-face' suffix for face names.
|
||||
|
||||
(About the reason, see
|
||||
http://mail.gnu.org/archive/html/emacs-devel/2004-03/msg00077.html)
|
||||
|
||||
- Functions and variables internal to xtla should be named tla--XXX
|
||||
Functions and variables used by the user should be named tla-XXX
|
||||
|
||||
Menu item conventions
|
||||
=====================
|
||||
|
||||
See xtla-defs.el.
|
||||
|
||||
Mail conversions
|
||||
================
|
||||
|
||||
Matthieu MOY <Matthieu.Moy at imag dot fr> wrote
|
||||
in Message-ID: <1084790609.40a8975194dcd@webmail.imag.fr>
|
||||
|
||||
I usually send a mail for a merge request only when the change
|
||||
involves a big portion of the file, to tell everybody to make sure
|
||||
they merge before doing any changes.
|
||||
|
||||
However, when you send a mail, your suggestion of [MERGE REQUEST] flag
|
||||
is good.
|
||||
|
||||
Coding style
|
||||
============
|
||||
|
||||
Robert Widhopf-Fenk <hack at robf dot de> wrote
|
||||
in Message-ID: <16552.35294.211101.658893@gargle.gargle.HOWL>
|
||||
|
||||
I really would like to see no lines longer than 80 chars in xtla.el.
|
||||
|
||||
Please, strip trailing whitespaces from your source files.
|
||||
|
||||
;; remove trailing whitespaces when saving.
|
||||
(add-hook 'write-file-hooks 'delete-trailing-whitespace)
|
||||
|
||||
in your ~/.emacs.el can help.
|
||||
|
||||
Also, don't include any tabs in your source code. You should use
|
||||
|
||||
(setq indent-tabs-mode nil)
|
||||
|
||||
If you do not want to enable it in general, use something like the following
|
||||
in your ~/.emacs:
|
||||
|
||||
(defun rf-dvc-find-file-hook ()
|
||||
(when (and (buffer-file-name)
|
||||
(string-match "xtla\\|dvc" (buffer-file-name)))
|
||||
(message "Enabled Xtla/DVC settings for buffer %s" (buffer-name))
|
||||
(make-local-hook 'write-file-hooks)
|
||||
(add-hook 'write-file-hooks 'delete-trailing-whitespace nil t)
|
||||
(setq indent-tabs-mode nil)))
|
||||
|
||||
(add-hook 'find-file-hooks 'rf-dvc-find-file-hook)
|
||||
|
||||
Non-trivial macros should include the form:
|
||||
(declare (indent INDENT-SPEC) (debug DEBUG-SPEC))
|
||||
The INDENT-SPEC tells Emacs' indentation commands how to indent the form,
|
||||
whereas DEBUG-SPEC tells Edebug how to instrument the form for debugging.
|
||||
See: (info "(elisp) Indenting Macros") and
|
||||
(info "(elisp) Edebug and Macros") for more info.
|
||||
|
||||
Indentation is not (completely) arbitrary. There are three steps,
|
||||
the first of which need be done only once per editing session.
|
||||
|
||||
- Make sure you evaluate *all* `defmacro' forms so that Emacs knows
|
||||
about each form's indentation spec (if any).
|
||||
|
||||
- Use C-M-q at top-level open-paren to canonicalize indentation.
|
||||
|
||||
- Apply stylistic exceptions (manual override). Common cases:
|
||||
- `flet', `labels', `macrolet' -- Emacs does a poor job here, indenting
|
||||
too much, so overriding it is almost a requirement (many examples);
|
||||
- deliberate flush-left (to column 0) so that C-M-x "continues to work"
|
||||
on an inner form (eg: dvc-capturing-lambda);
|
||||
- end-of-line ";;"-comment alignment (eg: defstruct dvc-fileinfo-file).
|
||||
|
||||
|
||||
Process management
|
||||
==================
|
||||
|
||||
The function dvc--run-arch now creates two buffer each time it is
|
||||
called: a process buffer, and an error buffer. If the process is ran
|
||||
synchronously, then the buffers are scheduled for deletion. If not,
|
||||
the scheduling for deletion occurs in the process sentinel.
|
||||
|
||||
This means you will need to clone the buffer if you need to run arch
|
||||
again while parsing the output buffers. (This was already necessary
|
||||
with the old mechanism)
|
||||
|
||||
The variables tla--last-process-buffer and tla--last-error-buffer are
|
||||
set each time a new process or error buffer is created. The value is
|
||||
therefore meaningfull only until a new process is started. Avoid using
|
||||
them when you're not sure the piece of code you're writting will not
|
||||
one day be made asynchronous: This become meaningless in a process
|
||||
sentinel.
|
||||
|
||||
I (Mark) have thrown in my two cents on the process management
|
||||
stuff. I've added two functions: one for running tla synchronously
|
||||
(tla--run-tla-sync), and one for running it asynchronously
|
||||
(tla--run-tla-async). Their syntax is pretty much identical, which is as
|
||||
follows:
|
||||
|
||||
(tla--run-tla-(a)sync '("tla-arg1" "tla-arg2" .. "tla-argn")
|
||||
:finished (lambda (output-buffer error-buffer status)
|
||||
..)
|
||||
:killed (lambda (output-buffer error-buffer status)
|
||||
..)
|
||||
:error (lambda (output-buffer error-buffer status)
|
||||
..)
|
||||
:output-buffer some-buffer
|
||||
:error-buffer some-buffer
|
||||
:related-buffer some-buffer)
|
||||
|
||||
The keywords :FINISHED, :KILLED and :ERROR supply callbacks, which are
|
||||
functions that take four arguments:
|
||||
|
||||
* the buffer containing the process output
|
||||
* the buffer containing the process error output; and
|
||||
* some indicator of the processes status (which can either be a
|
||||
return code or a string).
|
||||
* the argument list that the command was run with (e.g. ("undo"))
|
||||
|
||||
The :FINISHED callback is called in the case where the program finishes
|
||||
successfully. The :KILLED callback is called when the program was
|
||||
unexpectedly killed while running, and the :ERROR callback is called
|
||||
when the program fails for some reason.
|
||||
|
||||
If :OUTPUT-BUFFER or :ERROR-BUFFER are supplied, the process will write
|
||||
its standard/error output to these instead of generating buffers
|
||||
automatically. Where these keywords are not given, new buffers will be
|
||||
created, filled with program output and passed to the callback
|
||||
functions.
|
||||
|
||||
Although it shouldn't ordinarily matter, it is worth noting that if
|
||||
:OUTPUT-BUFFER or :ERROR-BUFFER are not given, the temporary buffers
|
||||
that are created will be killed immediately after the callback
|
||||
exits. This just means that if you plan on keeping those buffers around
|
||||
for longer than just the scope of the callback, you'll need to clone
|
||||
them first.
|
||||
|
||||
As a quick example, here is how you could asynchronously run a "tla
|
||||
abrowse -s" and send the output to a printer (I'm not sure why you would
|
||||
want to do this, but that's the great thing about contrived examples!):
|
||||
|
||||
(defun print-archive (archive &optional postscript-output-file)
|
||||
"Run an abrowse on ARCHIVE and send the result to the printer."
|
||||
(tla--run-tla-async (list "abrowse" "-s" "-A" archive)
|
||||
:finished `(lambda (output-buffer error-buffer
|
||||
status arguments)
|
||||
(with-current-buffer output-buffer
|
||||
(ps-print-buffer ,postscript-output-file)
|
||||
(message "Printed abrowse to %s."
|
||||
(or ,postscript-output-file
|
||||
"printer"))))))
|
||||
|
||||
The only really noteworthy thing is the use of the backquoted
|
||||
lambda. This is kind of like a poor man's lexical scoping, but it's a
|
||||
useful way of capturing variables from the containing environment.
|
||||
|
||||
Name manipulator
|
||||
================
|
||||
See xtla-core.el.
|
||||
|
||||
|
||||
Release & distribution process
|
||||
==============================
|
||||
|
||||
* Development version
|
||||
---------------------
|
||||
|
||||
The prefered way to get a development version is to use either
|
||||
Bazaar or Git to clone the latest repo.
|
||||
|
||||
Programs for maintainers:
|
||||
(required) autoconf, tar, gzip, makeinfo
|
||||
(optional) texi2dvi, etags
|
||||
|
||||
With the exception of gzip (which is invoked simply as "gzip"),
|
||||
the invocation of each of these programs is influenced by a
|
||||
makefile variable of the same name, but all upcased. For example,
|
||||
you can choose a different tar for "make dist" using the command:
|
||||
make dist TAR=/path/to/my/tar
|
||||
The default values for these variables is simply the program name.
|
||||
|
||||
Historical note: We used to AC_PATH_PROG them in configure.ac, but
|
||||
that did not benefit the end user (./configure && make all install),
|
||||
so we stopped mid-2008.
|
||||
|
||||
* Official releases
|
||||
-------------------
|
||||
|
||||
Official releases will be made by the release manager, after
|
||||
discussion on the mailing list.
|
||||
|
||||
The release manager will modify configure.ac to set the second
|
||||
arg of AC_INIT to 1.1, for example, and then type the commands
|
||||
|
||||
autoreconf
|
||||
./configure (or ./config.status --recheck)
|
||||
make
|
||||
make dist
|
||||
|
||||
285
dvc/docs/TODO
285
dvc/docs/TODO
@ -1,285 +0,0 @@
|
||||
-*- mode: text -*-
|
||||
|
||||
TODO/Wish list for xtla.el
|
||||
==========================
|
||||
|
||||
Mostly DONE section:
|
||||
====================
|
||||
|
||||
* Some like file-diff-rev from the aba which gives you the changes to a
|
||||
file between two specified revisions using the following:
|
||||
diff -u $(tla file-find file.cpp $(tla tree-version)--patch-X)
|
||||
$(tla file-find file.cpp $(tla tree-version)--patch-Y)
|
||||
=> This is the function tla-file-ediff-rev. There should also be a
|
||||
version without ediff, just showing the diff output with
|
||||
diff-mode.
|
||||
|
||||
* Integration with ediff, which I usually prefer to diff-mode.
|
||||
- This is done for M-x tla-ediff-buffer, `e' in *tla-changes*, 'd
|
||||
e' in *tla-inventory*
|
||||
- There is more to do from the *tla-revisions* buffer for example
|
||||
(retrieve any two revisions and ediff them)
|
||||
- a 3 way merge with ediff3 would be perfect. (Actually, ediff3
|
||||
isn't sufficient because it shows you the differences even in the
|
||||
absence of conflict.). smerge-mode, integrated in Emacs 21,
|
||||
already does a very good job for this
|
||||
|
||||
* En entry "Branch from version" to create a symbolic tag from the
|
||||
*tla-versions* buffer.
|
||||
- Done for *tla-revisions*.
|
||||
|
||||
* Code cleaning. There are a lot of duplicates.
|
||||
=> Some big code cleaning have been carried out, but such item can
|
||||
never go to the "completely DONE" section ;-)
|
||||
|
||||
DONE section:
|
||||
=============
|
||||
|
||||
* One line log from minibuffer to commit.
|
||||
=> This should be handled in vc-arch.el?
|
||||
|
||||
* Add good doc strings for the functions
|
||||
=> Most functions have one now.
|
||||
|
||||
* Recursive commands for projects using configurations.
|
||||
=> implemented for tla-changes and tla-update
|
||||
|
||||
* Name reader should support complete location notation like:
|
||||
|
||||
Location: Matthieu.Moy@imag.fr--public/xtla--main--0.1
|
||||
|
||||
Current partial and incremental location reading is supported
|
||||
like:
|
||||
|
||||
Archive: Matthieu.Moy@imag.fr--public
|
||||
Category: xtla
|
||||
Branch: main
|
||||
Version: 0.1
|
||||
|
||||
=> The engine is implemented. Apply it to interactive functions.
|
||||
|
||||
* Add a texinfo file
|
||||
- What should be the structure of this file?
|
||||
=> Very short. Just a starting point for the users, but xtla should
|
||||
be self-documented. Menus and docstrings should be sufficient
|
||||
most of the time.
|
||||
A demo with screenshots would be nice too. (to let people get
|
||||
an idea of what xtla is in less than a minute.)
|
||||
- Should we guide through the tla tutorial?
|
||||
(Be carefull. I don't like people to learn a tool from the
|
||||
front-end. I prefer let them understand the concepts with the
|
||||
command line, and learn the front-end after. It takes a bit more
|
||||
time but is much more pedagogical)
|
||||
|
||||
* M-x xtla should provide the buttons to jump tla-inventory,
|
||||
tla-bookmarks and so on. This should be integrated with the command central?
|
||||
|
||||
* Optimize tla-archive-tree manipulator when it is updated.
|
||||
I think using rbrowse and/or abrowse output is better than current
|
||||
implementation.[Masatake] Not so much, because browsing a small
|
||||
branch in a big archive would be slow (discussed on the ML)
|
||||
[Matthieu]
|
||||
|
||||
* tla log font-lock (like ChangeLog)
|
||||
|
||||
* A "revert file" feature. Most of the code is already in
|
||||
tla-file-ediff. (done in tla-file-revert)
|
||||
|
||||
* Archive mirroring.
|
||||
[Matthieu Moy: I'm taking care of this]
|
||||
|
||||
* Prompt for saving buffer visiting files of the current tree for most
|
||||
operations: commit, update, changes, ... (Which other ones ?)
|
||||
|
||||
* M-x xtla-update. Possibility to update from the bookmarks buffer.
|
||||
|
||||
* Merge xtla-fully-qualified-revision and xtla-name-construct.
|
||||
[Masatake YAMATO]
|
||||
|
||||
* M-x tla-missing RET should be merged with tla-bookmarks-missing
|
||||
|
||||
* Bridge between smerge-mode and xtla.el.
|
||||
[Masatake YAMATO
|
||||
(Should completely replace my code -- Matthieu)
|
||||
(No, I shouldn't. Each function has each necessity.)
|
||||
|
||||
* When there are no changes anymore, the `g' command in the
|
||||
*tla-changes* buffer just prints a message in the echo area, and
|
||||
doesn't update the buffer, which can be confusing; it would be
|
||||
better to erase the buffer and perhaps insert the "No changes"
|
||||
description to make it clear what's going on (so work slightly
|
||||
differently than `M-x tla-changes' invoked from another buffer -- in
|
||||
that case, just a message is good).
|
||||
=> tla-changes now clears the *tla-changes* buffer before doing
|
||||
anything else.
|
||||
|
||||
* More diff-mode commands should be bound in the *tla-changes* buffer,
|
||||
e.g., `P', and `N'; maybe it can just inherit from the diff-mode
|
||||
keymap?
|
||||
=> We are already inheriting from diff-mode. However, the way the keymap
|
||||
is managed in diff-mode is really strange, and you're right,
|
||||
we're not inheriting `N' and `P'. But still, diff-file-next is
|
||||
available with M-N for example. Strange ...
|
||||
=> initializing tla-changes-mode-map from diff-mode-shared-map
|
||||
did it.
|
||||
|
||||
* It would be nice if the `g' command in a *tla-changes* buffer would
|
||||
would retain any existing marks (I often want to check the changes
|
||||
just one last time before committing).
|
||||
|
||||
* Perhaps when `tla-make-log-function' is non-nil, `tla-make-log' should
|
||||
check the return value, and if nil, make a normal log file. That way
|
||||
the user's special version can only worry about special cases.
|
||||
|
||||
=> I (Matthieu MOY) did something a bit different.
|
||||
tla-make-log-function now defaults to
|
||||
tla-default-make-log-function, which calls "tla make-log". The
|
||||
user can just write a wrapper around this function.
|
||||
|
||||
* Wrapper for tla import.
|
||||
|
||||
- From the working directory, M-x tla-start-project RET should run
|
||||
. tla init-tree
|
||||
. tla import --setup
|
||||
. call tla-edit-log
|
||||
[Mark Triggs: This is pretty much what I have done, except I have
|
||||
used tla-inventory instead of tla-edit-log.]
|
||||
|
||||
- From the archive browser, there should be an option to offer the
|
||||
user to create a new project, as you can already create new empty
|
||||
categories, branches, and versions.
|
||||
|
||||
* There could be a menu to navigate buffers based on the variable
|
||||
tla--buffers-tree. This could also be included in tla-browse.el
|
||||
using tree-widget.
|
||||
=> pulldown/popup menu is implemented. Maybe enough -- Masatake.
|
||||
|
||||
* undo modifications in local copy at tla-inventory buffer
|
||||
Matthieu gave hit in the mailing list:
|
||||
|
||||
What I meant by "undo" was
|
||||
|
||||
cp `tla file-find foo.c` .
|
||||
|
||||
* Run missing, replay and star-merge against specified version.
|
||||
|
||||
* Eliminate all occurence of tla--run-arch.
|
||||
|
||||
* If not in a project tree, `tla-changes' should prompt for the tree
|
||||
name similar to tla-inventory -- often I'd rather start out with
|
||||
`changes' and skip `inventory' entirely.
|
||||
|
||||
* Modeline : I'd like to see something like the "compiling" item in
|
||||
the modeline while compiling with M-x compile RET.
|
||||
|
||||
* An interface to tla help, giving the list of commands, and running
|
||||
"tla <command> -H" on demand.
|
||||
|
||||
* Create archives with --listing and/or --signed
|
||||
|
||||
* make tla-inventory-toggle-* customizable
|
||||
M-x customize-variable RET tla-inventory-display-* RET
|
||||
|
||||
* After committing from a *tla-changes* buffer, it would be good to
|
||||
automatically update the buffer, so there's a clear indication
|
||||
what's changed.
|
||||
|
||||
* Better management of buffers. xtla buffers should have a unique name
|
||||
based on the directory or archive to which it refers. It should be
|
||||
possible to run several tla-{change|inventory|revisions|...} in
|
||||
different trees. We should keep a list of xtla related buffer to be
|
||||
able to delete them afterwards. (The current regexp-based algorithm
|
||||
is not satisfying in my opinion)
|
||||
=> The function is there : tla--get-buffer-create, and used for
|
||||
tla-changes and tla-inventory. It's used by default by
|
||||
tla--show-last-process-buffer and tla--show-error-buffer.
|
||||
|
||||
* Tree widget based archive browser. [see tla-browse.el. -- Masatake]
|
||||
- Libraries should be handled here.
|
||||
|
||||
* C-u C-c C-m generates buggy summary line patch numbers.
|
||||
|
||||
* Allow cherry picking by marking a set of revisions in a *tla-revisions*
|
||||
buffer and the run replay with all of the marked revisions as argument. I
|
||||
(Robert) just had a case where I would need this, i.e. I have a hacking
|
||||
branch with related revisions (but they are interleaved by others) which I
|
||||
want to combine into a single change set for the main branch. "tla delta"
|
||||
does not help here.
|
||||
|
||||
* tla-browse should be stronger against errors.
|
||||
Currently, when an error occur, a tree becomes broken.
|
||||
[Masatake]
|
||||
|
||||
* Should we do something for revision libraries ?
|
||||
|
||||
Yes [Masatake].
|
||||
- Revisions should be marked in *tla-revisions*(done)
|
||||
- Adding(done)
|
||||
- tla-library-tree is needed(done).
|
||||
|
||||
* Interface to store a changeset to a file(tla changeset?) in revisions buffer.
|
||||
[?> ?=] or [?d ?>]
|
||||
|
||||
* Interface to apply a changeset directory to a local copy in inventory buffer.
|
||||
[?M ?=] or [?< ?=] but ?< is serverd for mirror.
|
||||
|
||||
* M-x tla-review-last-patch RET. See my recent post "Improving
|
||||
tla-changes and related commands." on xtla-el-dev@gna.org.
|
||||
(Matthieu)
|
||||
=> finally, I've called it tla-changes-last-revision
|
||||
|
||||
* I (Matthieu) have added a variable tla-buffer-refresh-function and
|
||||
a function tla-generic-refresh calling it. This could be used in
|
||||
all xtla modes.
|
||||
|
||||
* Define xtla own faces. These faces should be
|
||||
derived from font-lock's standard face set.
|
||||
|
||||
* Don't use a string to refer xtla's buffer. Instead use symbol.
|
||||
e.g.
|
||||
Don't use: (get-buffer-create "*tla-missing*")
|
||||
Use: (cdr (assoc 'missing tla--buffer-type-alist))
|
||||
|
||||
* Handle file renaming in changes buffer. Here is the example output:
|
||||
|
||||
[jet@localhost symresolver]$ tla changes
|
||||
* looking for jet@gyve.org--inspector/symresolver--prototype--0.0--patch-9 to compare with
|
||||
* comparing to jet@gyve.org--inspector/symresolver--prototype--0.0--patch-9
|
||||
M Makefile.am
|
||||
=> .arch-ids/symresolver.c.id .arch-ids/lib.c.id
|
||||
=> symresolver.c lib.c
|
||||
|
||||
`=>' should be parsed.
|
||||
|
||||
* Interface to add entries to .arch-inventory
|
||||
|
||||
* Switching "default tree version " in inventory buffer
|
||||
|
||||
* Don't do (concat file "/"). Do (file-name-as-directory file) instead.
|
||||
|
||||
** Check the faces on non X, terminal environment
|
||||
=> [Matthieu] I use xtla most of the time in text mode, but I have
|
||||
a rather much customized Emacs. I've just checked with emacs -q,
|
||||
both in dark and light background.
|
||||
|
||||
* We should definitely switch to ewoc.el to manage lists. This is what
|
||||
pcl-cvs, dired and so are using. We would get a lot of feature (in
|
||||
particular, mouse reactivity) almost for free. The code for marking
|
||||
revisions could also be really improved by this. I already did this
|
||||
for the *tla-bookmarks* buffer (Matthieu MOY) and for
|
||||
*tla-bookmarks-missing* and *tla-revisions*, it's fairly easy to
|
||||
use.
|
||||
|
||||
* Name read engine
|
||||
-- Integrate with other parts of xtla
|
||||
--- Get completion from bookmarks
|
||||
|
||||
* Run lint under a dedicated mode, so the user can jump to the position
|
||||
where the lint reports the problem is.
|
||||
=> There is now a tla tree-lint mode. It's almost finished by now,
|
||||
but still not well tested and incomplete (no context menu[done], ...)
|
||||
|
||||
** (Again) Check `cd' usage. Its changes the default-directory of current buffer.
|
||||
Sometimes it will cause bugs. (let ((default-directory ...))) may be
|
||||
enough in many cases. [Matthieu] Should be OK now.
|
||||
|
||||
@ -1,348 +0,0 @@
|
||||
* General
|
||||
|
||||
xmtn is an Emacs Lisp package that provides a DVC backend for monotone
|
||||
(the distributed version control system) as well as general facilities
|
||||
for interacting with monotone from Emacs Lisp.
|
||||
|
||||
For more information about monotone, see http://monotone.ca/ .
|
||||
|
||||
xmtn's facilities for interacting with monotone are meant to be
|
||||
reusable by code that is unrelated to DVC, even though they currently
|
||||
depend on the subprocess handling utilities that DVC provides.
|
||||
|
||||
xmtn should work on GNU Emacs 21 or newer. Work on supporting XEmacs
|
||||
has started but is unfinished; patches welcome. On XEmacs, xmtn
|
||||
requires MULE.
|
||||
|
||||
|
||||
* Download and installation
|
||||
|
||||
Follow the download and installation instructions for DVC. xmtn is
|
||||
part of DVC.
|
||||
|
||||
In addition, the variable `xmtn-executable' needs to point to the
|
||||
monotone executable. It defaults to "mtn", which will be sufficient
|
||||
if mtn is in your PATH. Depending on your configuration, the PATH
|
||||
that Emacs sees can differ from the PATH that you see in your shell.
|
||||
Try M-x getenv RET PATH RET if in doubt.
|
||||
|
||||
You may wish to set `dvc-debug' to nil; DVC tends to be a bit chatty.
|
||||
|
||||
|
||||
|
||||
* Brief tutorial
|
||||
|
||||
(DVC's tutorial does not apply to xmtn, it seems to be specific to
|
||||
tla.)
|
||||
|
||||
Start Emacs. Visit a file that is under version control by monotone.
|
||||
Modify the file. While in the file's buffer, press C-x V d to see the
|
||||
diff for this file.
|
||||
|
||||
Pressing C-x V = will bring up the tree diff buffer. (What monotone
|
||||
calls a "workspace" is called a "tree" in DVC.) This buffer shows the
|
||||
list of all modified files in the tree as well as the diffs for those
|
||||
files. Use j to jump back and forth between the name of a file in the
|
||||
list and the diffs for that file. Use RET with point inside a diff
|
||||
hunk to go to the corresponding file at the corresponding position.
|
||||
|
||||
Like many other DVC buffers, the contents of the tree diff buffer can
|
||||
be refreshed using g.
|
||||
|
||||
In the tree diff buffer, files to commit can be marked and unmarked
|
||||
with m and u. Pressing c lets you commit the selected files; it will
|
||||
bring up a log edit buffer where you can enter a commit message.
|
||||
|
||||
In the log edit buffer, the commit can be executed by pressing C-c
|
||||
C-c. To abort the commit, simply don't press C-c C-c -- just switch
|
||||
away from the buffer or kill it. The log edit buffer edits the file
|
||||
_MTN/log.
|
||||
|
||||
To bring up the log edit buffer without going through the tree diff
|
||||
buffer, use C-x V c.
|
||||
|
||||
To view the revision history, use C-x V l or C-x V L. The former
|
||||
shows the full commit message for each revision, while the latter only
|
||||
shows the first line. The resulting buffer is a so-called revlist
|
||||
buffer. In revlist buffers, use cursor up/down to move between
|
||||
revisions, RET to show details on the revision at point, = to show its
|
||||
diff from its parent. Revisions can be marked and unmarked with m and
|
||||
u.
|
||||
|
||||
M-x xmtn-view-heads-revlist shows a revlist buffer with just the heads
|
||||
of the default branch of your tree. To update your tree to one of the
|
||||
revisions in a revlist buffer, move point to it and use M-x
|
||||
xmtn-revlist-update. To merge two head revisions, mark them and use
|
||||
M-x xmtn-revlist-explicit-merge.
|
||||
|
||||
M-x xmtn-view-revlist-for-selector prompts for a monotone selector and
|
||||
shows a revlist buffer with all matching revisions.
|
||||
|
||||
C-x V u performs mtn update. C-x V m shows a revlist buffer with the
|
||||
revisions that mtn update would apply to your tree.
|
||||
|
||||
C-x V f a performs mtn add. M-x dvc-ignore-files and M-x
|
||||
dvc-ignore-file-extensions can be used to add entries to .mt-ignore.
|
||||
These commands can also be used from dired buffers.
|
||||
|
||||
C-x V s shows the status buffer. This currently shows modified,
|
||||
renamed and unknown files. It's supposed to allow operations like
|
||||
diff, commit, revert etc. (like pcl-cvs), but that's not implemented
|
||||
yet. C-x V = is preferable at the moment, although it doesn't show
|
||||
unknown files.
|
||||
|
||||
C-x V a can be used to add a ChangeLog entry to _MTN/log.
|
||||
|
||||
There are other useful operations, but these should be enough to get
|
||||
started.
|
||||
|
||||
|
||||
|
||||
* Known limitations
|
||||
|
||||
xmtn currently just bails out when it needs to operate on a head of a
|
||||
branch and notices that the branch is unmerged. It should prompt the
|
||||
user to select a head instead. To update to a head of an unmerged
|
||||
revision graph, use M-x xmtn-view-heads-revlist and M-x
|
||||
xmtn-revlist-update.
|
||||
|
||||
`xmtn-dvc-diff' breaks when called in a workspace that has no base
|
||||
revision (e.g. a newly created project). mtn diff works in this case.
|
||||
|
||||
Building a revlist buffer is currently a bit slow (or maybe very slow
|
||||
for long histories?), and the revlist display is not very pretty.
|
||||
|
||||
For `dvc-ignore-files' and `dvc-ignore-file-extensions', xmtn operates
|
||||
on the file .mtn-ignore. This may fail to have the intended effect if
|
||||
the user has customized monotone's ignore_file hook in a way that
|
||||
changes the meaning of this file.
|
||||
|
||||
The ability to perform operations such as diff and commit from the
|
||||
status buffer is missing. For now, use the tree diff buffer for this.
|
||||
|
||||
xmtn doesn't define any key bindings for monotone-specific commands.
|
||||
Only the backend-independent key bindings defined by DVC are available.
|
||||
|
||||
For now, I don't see the point of checking automate interface_version:
|
||||
Many of xmtn's operations rely on non-automate commands, so a
|
||||
compatible automate interface_version doesn't guarantee actual
|
||||
compatibility; we have to check for a compatible command version
|
||||
anyway, and that check subsumes the check of interface_version. And
|
||||
declaring incompatibility whenever we see an automate
|
||||
interface_version that is too high for us yields false positives too
|
||||
easily to be useful.
|
||||
|
||||
xmtn currently uses mtn automate get_revision in places where it
|
||||
should be using mtn automate inventory. This is because I was trying
|
||||
to avoid having to implement a parser for mtn automate inventory, and
|
||||
get_revision seemed to return almost the same information. However,
|
||||
get_revision fails if there are missing files -- I discovered this too
|
||||
late. This is part of the reason why many operations first check
|
||||
whether files are missing from the tree, and abort if this is the
|
||||
case.
|
||||
|
||||
DVC REVISION-IDs that refer to the "Nth ancestor" such as `(xmtn
|
||||
(last-revision ...))' or `(xmtn (previous-revision ...))' are
|
||||
ill-defined for non-linear history in monotone. xmtn currently
|
||||
throws an error when it encounters a node that has multiple parents
|
||||
while trying to resolve such IDs.
|
||||
|
||||
The support for international character sets/coding systems is partly
|
||||
based on guesswork but works for my tests.
|
||||
|
||||
xmtn does not entirely follow DVC's philosophy: It only implements
|
||||
DVC's protocols, but doesn't provide its own UI that parallels DVC's.
|
||||
Hence, much of xmtn's functionality is only available through DVC.
|
||||
This is because xmtn currently provides only few features beyond what
|
||||
DVC requires, and implementing a redundant UI was not a high priority
|
||||
for me.
|
||||
|
||||
Currently, the following parts of the DVC protocol are not implemented
|
||||
by xmtn:
|
||||
|
||||
* xmtn-dvc-send-commit-notification, xmtn-dvc-submit-patch: These
|
||||
commands send an e-mail. Probably useful to people who use a
|
||||
certain work flow, but not to me right now. These will have to
|
||||
wait until someone comes along who actually has a use for them.
|
||||
|
||||
* xmtn-insinuate-gnus: Need to find out what, precisely, this is
|
||||
supposed to do. I don't use Gnus myself.
|
||||
|
||||
* xmtn-dvc-save-diff: xhg seems to be the only backend that
|
||||
implements this. It really seems this could be moved into the
|
||||
common part of DVC anyway. Won't bother implementing it right
|
||||
now.
|
||||
|
||||
* xmtn-dvc-pull: Should be easy. But syncing via command line is
|
||||
acceptable to me at the moment. The docstring looks like this
|
||||
needs to do both mtn pull and mtn update -- but I doubt that this
|
||||
is a good idea for monotone.
|
||||
|
||||
|
||||
|
||||
* Internals
|
||||
|
||||
This section describes some of the internals of xmtn and some of the
|
||||
design decisions behind it.
|
||||
|
||||
|
||||
|
||||
** Conventions
|
||||
|
||||
monotone.el (from montone's contrib/ directory) already uses the
|
||||
prefix mtn-. monotone- is already taken by Wim Oudshoorn's e-monotone
|
||||
package. So this package is named xmtn. xhg, xcg, xdarcs seem to be
|
||||
in similar situations.
|
||||
|
||||
The prefix xmtn- is for definitions exported for the user or for DVC,
|
||||
the prefix xmtn-- is for internal definitions. Similarly,
|
||||
xmtn-automate uses xmtn-automate- and xmtn-automate--, etc.
|
||||
|
||||
It seems like "monotone" is usually written in small letters. The
|
||||
manual capitalizes it at the beginnings of sentences, but e.g. the web
|
||||
page or mtn --version never capitalize it at all -- then again, the
|
||||
web page doesn't capitalize much at all. In xmtn, we capitalize it
|
||||
like a noun. xmtn and mtn (as a command name) are always in lower
|
||||
case.
|
||||
|
||||
Monotone uses the term "workspace", DVC uses the term "tree". In our
|
||||
UI, we use "tree" for consistency with DVC. The idea behind this
|
||||
decision was that consistency with DVC (and other aspects of Emacs'
|
||||
UI) is more important than consistency with other monotone front-ends.
|
||||
But I'm not so sure about this any more; the term "workspace" is so
|
||||
much more clear... But I guess it makes little sense for version
|
||||
control systems that don't distinguish between workspaces and
|
||||
branches.
|
||||
|
||||
|
||||
|
||||
** Architecture
|
||||
|
||||
This section is unlikely to stay fully up-to-date as xmtn's
|
||||
implementation evolves, but should remain useful as a general
|
||||
introduction to xmtn's architecture.
|
||||
|
||||
xmtn consists of several modules. One way of understanding their
|
||||
relationship is to group them into layers.
|
||||
|
||||
|
||||
User-visible functionality: xmtn-dvc.el, xmtn-revlist.el
|
||||
|
||||
Domain-specific utilities: xmtn-ids.el
|
||||
|
||||
High-level interface to mtn: xmtn-automate.el, xmtn-basic-io.el
|
||||
|
||||
Low-level interface to mtn: xmtn-run.el
|
||||
|
||||
Monotone-related definitions: xmtn-base.el
|
||||
|
||||
Support libraries: xmtn-compat.el
|
||||
|
||||
Language extensions: xmtn-match.el
|
||||
|
||||
|
||||
Each module should only depend on modules at layers beneath it. (At
|
||||
least, that's the idea; the code might not satisfy this perfectly.)
|
||||
|
||||
xmtn-dvc.el implements the protocols required by DVC, except for
|
||||
functionality related to interactive display and manipulation of
|
||||
revision history, which is in xmtn-revlist.el.
|
||||
|
||||
xmtn-ids.el contains code to resolve symbolic revision ids in a
|
||||
certain syntax to explicit hash ids. DVC needs this, but xmtn
|
||||
provides some useful extensions. For example, a symbolic id `(xmtn
|
||||
(previous-revision (previous-revision (revision
|
||||
"75da2575dfc565f6976ed5dd1997bc7afc0ce908"))))' resolves to `(revision
|
||||
"721c3ab9b5099d3ed7d8b807e08382f3c95badec")'; i.e. the parent of the
|
||||
parent of revision 75da2575dfc565f6976ed5dd1997bc7afc0ce908 is
|
||||
revision 721c3ab9b5099d3ed7d8b807e08382f3c95badec.
|
||||
|
||||
xmtn-automate.el and xmtn-basic-io.el implement an interface to
|
||||
monotone's automate functionality and a parser for monotone's basic_io
|
||||
output format. These modules aren't specific to DVC and should be
|
||||
reusable by other Emacs Lisp code that wants to use monotone.
|
||||
|
||||
xmtn-run.el provides functions for running individual (non-automate)
|
||||
monotone commands and checking the version of the monotone executable.
|
||||
The functionality of xmtn-run.el isn't specific to DVC, either, but
|
||||
its current implementation depends on DVC's process handling
|
||||
functions, so it's fairly heavyweight.
|
||||
|
||||
xmtn-base.el was supposed to contain definitions related to monotone
|
||||
that are common to xmtn-run.el, xmtn-automate.el and/or
|
||||
xmtn-basic-io.el, to avoid having to have dependencies on xmtn-run.el
|
||||
in xmtn-automate.el or xmtn-basic-io.el. This refactoring is not
|
||||
complete (yet?), though.
|
||||
|
||||
xmtn-compat.el contains compatibility wrappers for some Emacs Lisp
|
||||
functions that are not fully portable across Emacs versions.
|
||||
|
||||
xmtn-match.el provides a pattern-matching facility for Emacs Lisp that
|
||||
is very useful for destructuring DVC REVISION-IDs and processing
|
||||
basic_io stanzas the way xmtn-basic-io.el parses them. But it is
|
||||
rather generic and could also be useful for code entirely unrelated to
|
||||
montone and DVC.
|
||||
|
||||
There are a few automated regression tests in
|
||||
lisp/tests/xmtn-tests.el.
|
||||
|
||||
|
||||
|
||||
|
||||
** Implementation details
|
||||
|
||||
|
||||
|
||||
*** Futures
|
||||
|
||||
For some subprocess interactions, xmtn uses a concept called
|
||||
"futures". In this context, a future is a concurrent computation
|
||||
represented by a zero-argument anonymous function that, when called,
|
||||
blocks until the concurrent computation finishes, and returns its
|
||||
result.
|
||||
|
||||
For example, the function `xmtn--unknown-files-future' returns a
|
||||
future for the list of unknown files instead of returning the list of
|
||||
unknown files directly. This allows Emacs Lisp code to ask monotone
|
||||
for the list of unknown files, but then do something different while
|
||||
monotone computes the list. Only when Emacs actually needs the list
|
||||
in order to continue, it calls the future and waits for monotone to
|
||||
finish (if it hasn't finished already).
|
||||
|
||||
If a future is called a second time or more often, it will just keep
|
||||
returning the same result. (What a future does if the concurrent
|
||||
computation terminates unsuccessfully isn't currently very
|
||||
well-defined. It should probably signal an error when it is called.)
|
||||
|
||||
Spawning computations in parallel has yielded tremendous speed-ups for
|
||||
certain parts of xmtn (at least in some versions -- I haven't profiled
|
||||
it recently). Futures make this type of parallelism simple to deal
|
||||
with.
|
||||
|
||||
|
||||
|
||||
|
||||
*** Notes on variable names and dynamic bindings
|
||||
|
||||
In higher-order functions (functions that take functions as
|
||||
arguments), xmtn attempts to avoid introducing spurious dynamic
|
||||
bindings because they might shadow bindings that the caller wants to
|
||||
provide to the argument function. xmtn uses `lexical-let' for this
|
||||
purpose. Unfortunately, function arguments are always dynamic
|
||||
bindings in Emacs Lisp. That's why the argument names of higher-order
|
||||
functions in xmtn always have the prefix xmtn-- and are immediately
|
||||
re-bound to (pseudo-)lexical variables using `lexical-let'. This
|
||||
makes it unlikely that the arguments will collide with the caller's
|
||||
variables.
|
||||
|
||||
The alternative would be to always use `lexical-let' for bindings that
|
||||
should be passed through higher-order functions to closures. This is
|
||||
the most reliable approach, and xmtn also follows it. But errors
|
||||
resulting from accidental violations of this convention can be very
|
||||
hard to debug, so the above is still useful for additional safety.
|
||||
|
||||
|
||||
|
||||
|
||||
LocalWords: DVC minibuffer UI montone xmtn revlist unmerged docstring backend
|
||||
LocalWords: backends destructuring mtn
|
||||
@ -1,24 +0,0 @@
|
||||
; -*- mode: emacs-lisp -*-
|
||||
;;
|
||||
;; Load DVC easily ...
|
||||
;;
|
||||
;; Manually, you can run
|
||||
;;
|
||||
;; M-x load-file RET /path/to/dvc-load.el RET
|
||||
;;
|
||||
;; (usefull when you want to load DVC after starting "emacs -q"!), or
|
||||
;; add
|
||||
;;
|
||||
;; (load-file "/path/to/this/file/in/installdir/dvc-load.el")
|
||||
;;
|
||||
;; to your ~/.emacs.el
|
||||
|
||||
(add-to-list 'load-path "@lispdir@/")
|
||||
(add-to-list 'Info-default-directory-list "@info_dir@")
|
||||
|
||||
(if (featurep 'dvc-core)
|
||||
(dvc-reload)
|
||||
(if (featurep 'xemacs)
|
||||
(require 'auto-autoloads)
|
||||
(require 'dvc-autoloads)))
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
; -*- mode: emacs-lisp -*-
|
||||
;;
|
||||
;; Load DVC easily ...
|
||||
;;
|
||||
;; Manually, you can run
|
||||
;;
|
||||
;; M-x load-file RET /path/to/dvc-load.el RET
|
||||
;;
|
||||
;; (usefull when you want to load DVC after starting "emacs -q"!), or
|
||||
;; add
|
||||
;;
|
||||
;; (load-file "/path/to/this/file/in/builddir/dvc-load.el")
|
||||
;;
|
||||
;; to your ~/.emacs.el
|
||||
|
||||
(add-to-list 'load-path "@abs_top_builddir@/lisp")
|
||||
(unless (locate-library "ewoc")
|
||||
(add-to-list 'load-path "@abs_top_builddir@/lisp/contrib"))
|
||||
(add-to-list 'Info-default-directory-list "@abs_top_builddir@/texinfo")
|
||||
|
||||
(if (featurep 'dvc-core)
|
||||
(dvc-reload)
|
||||
(if (featurep 'xemacs)
|
||||
(require 'dvc-autoloads "@abs_top_builddir@/lisp/auto-autoloads.elc")
|
||||
(require 'dvc-autoloads)))
|
||||
|
||||
251
dvc/install-sh
251
dvc/install-sh
@ -1,251 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
chmodcmd=""
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
||||
@ -1,97 +0,0 @@
|
||||
@SET_MAKE@
|
||||
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
|
||||
##############################################################################
|
||||
# location of required programms
|
||||
prefix = @prefix@
|
||||
RM = @RM@
|
||||
ETAGS = etags
|
||||
MKDIR_P = @MKDIR_P@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
top_srcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
|
||||
datarootdir= @datarootdir@
|
||||
lispdir = @lispdir@
|
||||
|
||||
EMACS_PROG = @EMACS_PROG@
|
||||
|
||||
FLAGS = @FLAGS@
|
||||
|
||||
# Other settings
|
||||
|
||||
OTHERDIRS = @OTHERDIRS@
|
||||
|
||||
ebatch = srcdir=$(srcdir) otherdirs="$(OTHERDIRS)" \
|
||||
$(EMACS_PROG) -batch -q $(FLAGS) -l $(srcdir)/dvc-build.el -f
|
||||
|
||||
alldeps = dvc-version.el dvc-site.el
|
||||
|
||||
all: $(alldeps)
|
||||
$(ebatch) dvc-build-all
|
||||
|
||||
all-verbose: $(alldeps)
|
||||
$(ebatch) dvc-build-all verbose
|
||||
|
||||
# We install foo.el only if there is also foo.elc.
|
||||
install: all
|
||||
$(MKDIR_P) -m 0755 "$(lispdir)"
|
||||
@dlist='$(srcdir) $(srcdir)/contrib' ; \
|
||||
test '$(srcdir)' = '.' || dlist=". $$dlist" ; \
|
||||
for elc in *.elc ; do \
|
||||
el=`echo $$elc | sed 's/.$$//'` ; orig= ; \
|
||||
for d in $$dlist ; do \
|
||||
if [ -r "$$d/$$el" ] ; then \
|
||||
orig="$$d/$$el" ; break ; fi ; done ; \
|
||||
test "$$orig" || continue ; \
|
||||
echo Installing $$el ; \
|
||||
$(INSTALL_DATA) "$$orig" "$(lispdir)" ; \
|
||||
echo Installing $$elc ; \
|
||||
$(INSTALL_DATA) $$elc "$(lispdir)" ; \
|
||||
done
|
||||
$(INSTALL_DATA) $(srcdir)/xmtn-hooks.lua $(lispdir)
|
||||
|
||||
clean:
|
||||
rm -f *.elc dvc-site.el \
|
||||
dvc-autoloads.el auto-autoloads.el custom-load.el
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in ../config.status
|
||||
cd ..; ./config.status
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile
|
||||
|
||||
maintainer-clean:
|
||||
rm -f dvc-version.el
|
||||
|
||||
TAGS: $(SRCS)
|
||||
@if test "x$(ETAGS)" = "x" ; then \
|
||||
echo "Sorry, no \`etags' program available." ; \
|
||||
else \
|
||||
$(ETAGS) */*.el ; \
|
||||
fi
|
||||
|
||||
##############################################################################
|
||||
autoloads:
|
||||
$(ebatch) dvc-build-autoloads $(srcdir)
|
||||
|
||||
|
||||
##############################################################################
|
||||
dvc-version.el: ../config.status
|
||||
@echo Creating $@
|
||||
@( echo ';;; $@ (generated file -- do not edit!)' ; \
|
||||
echo '(defconst dvc-version "$(PACKAGE_VERSION)"' ; \
|
||||
echo ' "Version of DVC loaded.' ; \
|
||||
echo 'Please send bug reports to <$(PACKAGE_BUGREPORT)>.")' ; \
|
||||
echo "(provide 'dvc-version)" ) \
|
||||
> $@
|
||||
|
||||
dvc-site.el: ../config.status $(srcdir)/dvc-site.el.in
|
||||
(cd .. ; ./config.status lisp/$@)
|
||||
|
||||
.PHONY: all all-verbose install \
|
||||
clean distclean maintainer-clean
|
||||
@ -1,54 +0,0 @@
|
||||
;;; baz-dvc.el --- The dvc layer for baz
|
||||
|
||||
;; Copyright (C) 2005, 2007 by all contributors
|
||||
|
||||
;; Author: Stefan Reichoer, <stefan@xsteve.at>
|
||||
;; Contributors: Matthieu Moy, <Matthieu.Moy@imag.fr>
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file provides the common dvc layer for baz support
|
||||
|
||||
(require 'baz)
|
||||
(eval-and-compile (require 'dvc-unified))
|
||||
|
||||
;;;###autoload
|
||||
(dvc-register-dvc 'baz "Bazaar 1")
|
||||
(defalias 'baz-dvc-tree-root 'baz-tree-root)
|
||||
(defun baz-dvc-diff (base-rev path dont-switch)
|
||||
(baz-changes nil base-rev))
|
||||
(defalias 'baz-dvc-file-diff 'baz-file-diff)
|
||||
(defalias 'baz-dvc-log-edit 'tla-dvc-log-edit)
|
||||
(defun baz-dvc-add (file)
|
||||
(baz-add nil file))
|
||||
(defun baz-dvc-log (arg last-n)
|
||||
"Shows the changelog in the current Arch tree."
|
||||
(baz-logs))
|
||||
(defun baz-dvc-search-file-in-diff (file)
|
||||
(re-search-forward (concat "^\\+\\+\\+ mod/" file "$")))
|
||||
(defalias 'baz-dvc-name-construct 'baz--name-construct)
|
||||
(defun baz-dvc-revision-direct-ancestor (revision)
|
||||
`(baz (revision ,(baz-revision-direct-ancestor (cadr (cadr revision))))))
|
||||
(defun baz-dvc-log-edit-file-name-func ()
|
||||
(baz-make-log))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'baz-dvc-command-version 'baz-command-version)
|
||||
|
||||
(provide 'baz-dvc)
|
||||
;;; baz-dvc.el ends here
|
||||
337
dvc/lisp/baz.el
337
dvc/lisp/baz.el
@ -1,337 +0,0 @@
|
||||
;;; baz.el --- baz related code for dvc
|
||||
|
||||
;; Copyright (C) 2005-2007 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Matthieu Moy <Matthieu.Moy@imag.fr>
|
||||
;; Keywords:
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;;###autoload
|
||||
(progn
|
||||
(defvar baz-tla-only-commands '(tla-tag)
|
||||
"List of commands available only with tla.")
|
||||
|
||||
(defun baz-make-alias-for-tla-commands ()
|
||||
"Creates baz- aliases for tla- commands.
|
||||
|
||||
For each commands beginning with \"tla-\", except the ones in
|
||||
`baz-tla-only-list', create the corresponding \"baz-\" alias.
|
||||
|
||||
Most functions in tla*.el are prefixed with tla-, but this allows you to
|
||||
type M-x baz-whatever RET instead. Some functions are available only
|
||||
with baz. They're prefixed with baz- and have no alias."
|
||||
(interactive)
|
||||
(dolist (tla-cmd (apropos-internal "^tla-" 'commandp))
|
||||
(unless (member tla-cmd baz-tla-only-commands)
|
||||
(let* ((tla-cmd-post (substring (symbol-name tla-cmd) 4))
|
||||
(baz-cmd (intern (concat "baz-" tla-cmd-post))))
|
||||
(unless (or (fboundp baz-cmd)
|
||||
(string-match "^dvc" tla-cmd-post))
|
||||
(defalias baz-cmd tla-cmd))))))
|
||||
|
||||
(baz-make-alias-for-tla-commands)
|
||||
;; baz--name-construct is used in baz-dvc.el
|
||||
(eval-after-load "tla"
|
||||
'(progn (defalias 'baz--name-construct 'tla--name-construct) (baz-make-alias-for-tla-commands))))
|
||||
|
||||
(require 'tla)
|
||||
|
||||
;;;###autoload
|
||||
(defun baz-branch (source-revision tag-version &optional cacherev synchronously)
|
||||
"Create a tag from SOURCE-REVISION to TAG-VERSION.
|
||||
Run baz branch.
|
||||
If SYNCHRONOUSLY is non-nil, the process for tagging runs synchronously.
|
||||
Else it runs asynchronously."
|
||||
(interactive
|
||||
(list (unless (y-or-n-p "Branch from local tree? ")
|
||||
(tla--name-construct
|
||||
(tla-name-read "Source revision (or version): "
|
||||
'prompt 'prompt 'prompt 'prompt 'maybe)))
|
||||
(tla--name-construct
|
||||
(tla-name-read "New branch: "
|
||||
'prompt 'prompt 'prompt 'prompt))
|
||||
(tla--tag-does-cacherev)
|
||||
nil))
|
||||
(funcall (if synchronously 'tla--run-tla-sync 'tla--run-tla-async)
|
||||
(list "branch"
|
||||
(when (not cacherev) "--no-cacherev")
|
||||
source-revision tag-version)))
|
||||
|
||||
;;;###autoload
|
||||
(defun baz-status-goto (&optional root against)
|
||||
"Switch to status buffer or run `baz-dvc-status'."
|
||||
(interactive (list (dvc-read-project-tree-maybe
|
||||
(format "Run %s in: "
|
||||
(tla--changes-command)))
|
||||
current-prefix-arg))
|
||||
(unless (tla-has-status-command)
|
||||
(error "status not available with this arch branch"))
|
||||
(let* ((default-directory root)
|
||||
(buffer (dvc-get-buffer 'status default-directory)))
|
||||
(if buffer
|
||||
(dvc-switch-to-buffer buffer)
|
||||
(baz-dvc-status))))
|
||||
|
||||
(defun baz-dvc-status ()
|
||||
"Run \"baz status\" in `default-directory', which must be a tree root.
|
||||
|
||||
Doesn't work with tla. Use `tla-changes' or `tla-tree-lint'
|
||||
instead."
|
||||
(unless (tla-has-status-command)
|
||||
(error "status not available with this arch branch"))
|
||||
(let* ((root default-directory)
|
||||
(buffer (dvc-prepare-changes-buffer
|
||||
(list 'last-revision root)
|
||||
(list 'local-tree root)
|
||||
'status
|
||||
default-directory 'baz)))
|
||||
(when dvc-switch-to-buffer-first
|
||||
(dvc-switch-to-buffer buffer))
|
||||
(with-current-buffer buffer
|
||||
(let ((inhibit-read-only t))
|
||||
(ewoc-enter-first
|
||||
dvc-fileinfo-ewoc
|
||||
(make-dvc-fileinfo-message
|
||||
:text (concat "* Running baz status in tree " root
|
||||
"...\n\n")))
|
||||
(ewoc-enter-last dvc-fileinfo-ewoc
|
||||
(make-dvc-fileinfo-legacy :data (list 'searching-subtrees)))
|
||||
(ewoc-refresh dvc-fileinfo-ewoc)))
|
||||
(dvc-save-some-buffers)
|
||||
(baz--status-internal root buffer nil)
|
||||
(tla--run-tla-async
|
||||
'("inventory" "--nested" "--trees")
|
||||
:related-buffer buffer
|
||||
:finished
|
||||
(lexical-let ((buffer-lex buffer))
|
||||
(lambda (output error status arguments)
|
||||
(let ((subtrees (delete ""
|
||||
(split-string
|
||||
(with-current-buffer
|
||||
output (buffer-string)) "\n"))))
|
||||
(with-current-buffer buffer-lex
|
||||
(let ((subtree-message (car (tla--changes-find-subtree-message))))
|
||||
(dolist (subtree subtrees)
|
||||
(let ((buffer-sub (dvc-get-buffer-create
|
||||
'status subtree)))
|
||||
(with-current-buffer buffer-sub
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer))
|
||||
(dvc-diff-mode)
|
||||
(set (make-local-variable
|
||||
'tla--changes-buffer-master-buffer)
|
||||
buffer-lex))
|
||||
(ewoc-enter-after dvc-fileinfo-ewoc
|
||||
subtree-message
|
||||
(make-dvc-fileinfo-legacy
|
||||
:data (list 'subtree buffer-sub subtree
|
||||
nil)))
|
||||
(baz--status-internal
|
||||
subtree
|
||||
buffer-sub
|
||||
buffer-lex)))
|
||||
(dvc-ewoc-delete dvc-fileinfo-ewoc subtree-message))
|
||||
(recenter))))))))
|
||||
|
||||
|
||||
(defun baz--status-error-handle (output error status arguments root
|
||||
buffer master-buffer)
|
||||
"Handler for error in \"baz status\"."
|
||||
(if (with-current-buffer error
|
||||
(goto-char (point-min))
|
||||
(looking-at "^Tree is not lint clean"))
|
||||
(let ((buffer (tla--tree-lint-prepare-buffer
|
||||
root
|
||||
(lexical-let ((root-lex root) (buffer-lex buffer) (master-buffer-lex
|
||||
master-buffer))
|
||||
(lambda ()
|
||||
(baz--status-internal root-lex buffer-lex
|
||||
master-buffer-lex)
|
||||
(switch-to-buffer buffer-lex))))))
|
||||
(message "Tree is not lint clean")
|
||||
(save-excursion
|
||||
(tla--tree-lint-parse-buffer output buffer))
|
||||
(with-current-buffer buffer
|
||||
(tla--tree-lint-cursor-goto
|
||||
(ewoc-nth tla--tree-lint-cookie 0)))
|
||||
(switch-to-buffer buffer))
|
||||
(dvc-show-changes-buffer output 'tla--parse-baz-status buffer
|
||||
master-buffer "^[^*\\.]")
|
||||
(with-current-buffer buffer
|
||||
(setq dvc-buffer-refresh-function 'baz-dvc-status))
|
||||
(when master-buffer
|
||||
(with-current-buffer master-buffer
|
||||
(ewoc-map (lambda (fi)
|
||||
(let ((x (dvc-fileinfo-legacy-data fi)))
|
||||
(when (and (eq (car x) 'subtree)
|
||||
(eq (cadr x) buffer))
|
||||
(setcar (cdddr x) 'changes)))
|
||||
)
|
||||
dvc-fileinfo-ewoc)))))
|
||||
|
||||
(defun baz--status-internal (root buffer master-buffer)
|
||||
"Internal function to run \"baz status\".
|
||||
|
||||
Run the command in directory ROOT.
|
||||
The output will be displayed in buffer BUFFER.
|
||||
|
||||
BUFFER must already be in changes mode, but mustn't contain any change
|
||||
information. Only roots of subprojects are already in the ewoc.
|
||||
|
||||
If MASTER-BUFFER is non-nil, this run of tla changes is done in a
|
||||
nested project of a bigger one. MASTER-BUFFER is the buffer in which
|
||||
the root of the projects is displayed."
|
||||
(with-current-buffer buffer
|
||||
(tla--run-tla-async
|
||||
`("status")
|
||||
:finished
|
||||
(lexical-let ((root-lex root) (buffer-lex buffer) (master-buffer-lex
|
||||
master-buffer)
|
||||
(-current-buffer--lex (current-buffer)))
|
||||
(lambda (output error status arguments)
|
||||
(if (with-current-buffer output
|
||||
(goto-char (point-min))
|
||||
(re-search-forward
|
||||
tla--files-conflicted-regexp nil t))
|
||||
(baz--status-error-handle
|
||||
output error status arguments root-lex buffer-lex
|
||||
master-buffer-lex)
|
||||
(if master-buffer-lex
|
||||
(message "No changes in subtree %s" root-lex)
|
||||
(message "No changes in %s" root-lex))
|
||||
(with-current-buffer -current-buffer--lex
|
||||
(let ((inhibit-read-only t))
|
||||
(dvc-fileinfo-delete-messages)
|
||||
(ewoc-enter-last
|
||||
dvc-fileinfo-ewoc
|
||||
(make-dvc-fileinfo-message
|
||||
:text (concat "* No changes in "
|
||||
root-lex ".\n\n")))
|
||||
(when master-buffer-lex
|
||||
(with-current-buffer master-buffer-lex
|
||||
(ewoc-map (lambda (fi)
|
||||
(let ((x (dvc-fileinfo-legacy-data fi)))
|
||||
(when (and (eq (car x) 'subtree)
|
||||
(eq (cadr x) buffer-lex))
|
||||
(setcar (cdddr x) 'no-changes)))
|
||||
)
|
||||
dvc-fileinfo-ewoc)))
|
||||
(ewoc-refresh dvc-fileinfo-ewoc))))))
|
||||
:error
|
||||
(lexical-let ((root-lex root) (buffer-lex buffer) (master-buffer-lex
|
||||
master-buffer))
|
||||
(lambda (output error status arguments)
|
||||
(baz--status-error-handle
|
||||
output error status arguments root-lex buffer-lex master-buffer-lex)))
|
||||
)))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'baz-merge 'tla-star-merge)
|
||||
|
||||
;;;###autoload
|
||||
(defun baz-annotate (file)
|
||||
"Run \"baz annotate\" on FILE.
|
||||
|
||||
Shows the result in a buffer, and create an annotation table for the
|
||||
annotated file's buffer. This allows you to run `baz-trace-line' and
|
||||
`baz-trace-line-show-log'."
|
||||
(interactive (list (read-file-name "Annotate file: "
|
||||
nil nil t
|
||||
(file-name-nondirectory
|
||||
(or (buffer-file-name) "")))))
|
||||
(let ((file (expand-file-name file))
|
||||
(buffer (get-file-buffer file)))
|
||||
(with-current-buffer buffer
|
||||
(when (or (not (buffer-modified-p))
|
||||
(y-or-n-p (concat "Save buffer "
|
||||
(buffer-name buffer)
|
||||
"? ")))
|
||||
(save-buffer buffer))
|
||||
(find-file-noselect file)
|
||||
(let* ((default-directory (tla-tree-root file))
|
||||
(buffer (dvc-get-buffer-create tla-arch-branch 'annotate)))
|
||||
(when dvc-switch-to-buffer-first
|
||||
(dvc-switch-to-buffer buffer))
|
||||
(tla--run-tla-async
|
||||
`("annotate"
|
||||
,(tla-file-name-relative-to-root file))
|
||||
:finished (lexical-let ((buffer-lex buffer) (file-lex file))
|
||||
(lambda (output error status arguments)
|
||||
(with-current-buffer buffer-lex
|
||||
(erase-buffer)
|
||||
(insert-buffer-substring output))
|
||||
(tla-annotate-mode)
|
||||
(baz-parse-annotate
|
||||
output
|
||||
(find-buffer-visiting file-lex))))
|
||||
:error
|
||||
(lambda (output error status arguments)
|
||||
(dvc-show-error-buffer error)
|
||||
(dvc-show-last-process-buffer)))))))
|
||||
|
||||
(defvar tla-annotation-table nil
|
||||
"table line-number -> revision built by `baz-parse-annotate'.")
|
||||
|
||||
(defun baz-parse-annotate (annotate-buffer buffer)
|
||||
"Builds a table line-number -> revision from ANNOTATE-BUFFER.
|
||||
|
||||
ANNOTATE-BUFFER must be the output of \"baz annotate\", and BUFFER is
|
||||
the corresponding source buffer."
|
||||
(set-buffer annotate-buffer)
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "^[^ ]*:")
|
||||
(beginning-of-line)
|
||||
(let* ((nb-lines (1+ (count-lines (point)
|
||||
(point-max))))
|
||||
(table (make-vector nb-lines ""))
|
||||
(n 0))
|
||||
(while (looking-at "^\\([^ ]*\\):")
|
||||
(aset table n (match-string 1))
|
||||
(setq n (1+ n))
|
||||
(forward-line 1))
|
||||
(with-current-buffer buffer
|
||||
(set (make-local-variable 'tla-annotation-table)
|
||||
table))
|
||||
))
|
||||
|
||||
(defun baz-trace-line (line buffer)
|
||||
"Returns the changeset that lead to LINE in FILE."
|
||||
(interactive (list (count-lines (point-min) (point))
|
||||
(current-buffer)))
|
||||
(unless tla-annotation-table
|
||||
(error "No annotate table in buffer. Run baz-annotate first."))
|
||||
(with-current-buffer buffer
|
||||
(let ((changeset (aref tla-annotation-table line)))
|
||||
(when (interactive-p)
|
||||
(message changeset))
|
||||
changeset)))
|
||||
|
||||
(defun baz-trace-line-show-log (line buffer)
|
||||
"Show the log of the changeset that lead to LINE in FILE."
|
||||
(interactive (list (count-lines (point-min) (point))
|
||||
(current-buffer)))
|
||||
(tla-cat-log (baz-trace-line line buffer)))
|
||||
|
||||
(provide 'baz)
|
||||
|
||||
;;; baz.el ends here
|
||||
@ -1,98 +0,0 @@
|
||||
;;; bzr-core.el --- Core of support for Bazaar 2 in DVC
|
||||
|
||||
;; Copyright (C) 2005-2008 by all contributors
|
||||
|
||||
;; Author: Matthieu Moy <Matthieu.Moy@imag.fr>
|
||||
;; Contributions from:
|
||||
;; Stefan Reichoer, <stefan@xsteve.at>
|
||||
|
||||
;; Keywords: tools, vc
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; TODO autoconf stuff.
|
||||
(defvar bzr-executable (if (eq system-type 'windows-nt) "bzr.bat" "bzr")
|
||||
"The executable used for the bzr command line client")
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-tree-root (&optional location no-error interactive)
|
||||
"Return the tree root for LOCATION, nil if not in a local tree.
|
||||
Computation is done from withing Emacs, by looking at a .bzr/
|
||||
directory in a parent buffer of LOCATION. This is therefore very
|
||||
fast.
|
||||
|
||||
If NO-ERROR is non-nil, don't raise an error if LOCATION is not a
|
||||
bzr-managed tree (but return nil)."
|
||||
(interactive)
|
||||
(dvc-tree-root-helper ".bzr/checkout/" (or interactive
|
||||
(interactive-p))
|
||||
"%S is not a bzr-managed tree"
|
||||
location no-error))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-branch-root (&optional location no-error interactive)
|
||||
"Return the branch root for LOCATION, nil if not in a branch.
|
||||
|
||||
This function allows DVC relevant functions (e.g., log) to work
|
||||
on bzr branches with no tree."
|
||||
(interactive)
|
||||
(dvc-tree-root-helper ".bzr/branch/" (or interactive
|
||||
(interactive-p))
|
||||
"%S is not a bzr-managed branch"
|
||||
location no-error))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-tree-id ()
|
||||
"Call \"bzr log -r 1\" to get the tree-id.
|
||||
Does anyone know of a better way to get this info?"
|
||||
(interactive)
|
||||
(let ((tree-id nil))
|
||||
(dvc-run-dvc-sync
|
||||
'bzr (list "log" "-r" "1")
|
||||
:finished (lambda (output error status arguments)
|
||||
(set-buffer output)
|
||||
(goto-char (point-min))
|
||||
(if (re-search-forward "^branch nick:\\s-*\\(.+\\)$" nil t)
|
||||
(setq tree-id (match-string 1))
|
||||
(setq tree-id "<unknown>")))
|
||||
:error (lambda (output error status arguments)
|
||||
(setq tree-id "<unknown>")))
|
||||
(when (interactive-p)
|
||||
(message "tree-id for %s: %s" default-directory tree-id))
|
||||
tree-id))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-prepare-environment (env)
|
||||
"Prepare the environment to run bzr."
|
||||
(cons "BZR_PROGRESS_BAR=none" env))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-default-global-argument ()
|
||||
"Disable aliases."
|
||||
'("--no-aliases"))
|
||||
|
||||
(defun bzr-read-revision (prompt)
|
||||
"Read a revision for the actual bzr working copy."
|
||||
(read-string prompt (bzr-get-revision-at-point)))
|
||||
|
||||
(provide 'bzr-core)
|
||||
;;; bzr-core.el ends here
|
||||
@ -1,135 +0,0 @@
|
||||
;;; bzr-dvc.el --- Support for Bazaar 2 in DVC's unification layer
|
||||
|
||||
;; Copyright (C) 2005-2008 by all contributors
|
||||
|
||||
;; Author: Matthieu Moy <Matthieu.Moy@imag.fr>
|
||||
;; Contributions from:
|
||||
;; Stefan Reichoer, <stefan@xsteve.at>
|
||||
;; Keywords: tools
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
(eval-and-compile (require 'dvc-unified))
|
||||
(require 'bzr)
|
||||
|
||||
;;;###autoload
|
||||
(dvc-register-dvc 'bzr "Bazaar 2")
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-init 'bzr-init)
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-inventory 'bzr-inventory)
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-pull 'bzr-pull)
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-push 'bzr-push)
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-merge 'bzr-merge)
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-submit-patch 'bzr-submit-patch)
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-add 'bzr-add)
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-log-edit-done 'bzr-log-edit-done)
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-dvc-search-file-in-diff (file)
|
||||
(re-search-forward (concat "^=== .* '" file "'$")))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-dvc-name-construct (back-end-revision)
|
||||
(nth 1 back-end-revision))
|
||||
|
||||
;;;###autoload
|
||||
(defvar bzr-log-edit-file-name ".tmp-bzr-log-edit.txt"
|
||||
"The filename, used to store the log message before commiting.
|
||||
Usually that file is placed in the tree-root of the working tree.")
|
||||
|
||||
(add-to-list 'auto-mode-alist `(,(concat "^" (regexp-quote bzr-log-edit-file-name)
|
||||
"$") . bzr-log-edit-mode))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-command-version 'bzr-command-version)
|
||||
|
||||
(defalias 'bzr-dvc-revision-nth-ancestor 'bzr-revision-nth-ancestor)
|
||||
|
||||
(defalias 'bzr-dvc-log 'bzr-log)
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'bzr-dvc-save-diff 'bzr-save-diff)
|
||||
|
||||
(defalias 'bzr-dvc-changelog 'bzr-changelog)
|
||||
|
||||
(defun bzr-dvc-update ()
|
||||
(interactive)
|
||||
(bzr-update nil))
|
||||
|
||||
(defun bzr-dvc-edit-ignore-files ()
|
||||
(interactive)
|
||||
(find-file-other-window (concat (bzr-tree-root) ".bzrignore")))
|
||||
|
||||
(defun bzr-dvc-ignore-files (file-list)
|
||||
(interactive (list (dvc-current-file-list)))
|
||||
(when (y-or-n-p (format "Ignore %S for %s? " file-list (bzr-tree-root)))
|
||||
(dolist (f-name file-list)
|
||||
(bzr-ignore (format "./%s" f-name)))))
|
||||
|
||||
(defun bzr-dvc-backend-ignore-file-extensions (extension-list)
|
||||
(dolist (ext-name extension-list)
|
||||
(bzr-ignore (format "*.%s" ext-name))))
|
||||
|
||||
(autoload 'bzr-revlog-get-revision "bzr-revlog")
|
||||
(defalias 'bzr-dvc-revlog-get-revision
|
||||
'bzr-revlog-get-revision)
|
||||
|
||||
(defalias 'bzr-dvc-delta 'bzr-delta)
|
||||
|
||||
(defalias 'bzr-dvc-send-commit-notification 'bzr-send-commit-notification)
|
||||
|
||||
(defalias 'bzr-dvc-prepare-environment 'bzr-prepare-environment)
|
||||
|
||||
(defalias 'bzr-dvc-file-has-conflict-p 'bzr-file-has-conflict-p)
|
||||
|
||||
(defalias 'bzr-dvc-resolved 'bzr-resolved)
|
||||
|
||||
(defalias 'bzr-dvc-annotate-time 'bzr-annotate-time)
|
||||
|
||||
(defalias 'bzr-dvc-clone 'bzr-checkout)
|
||||
|
||||
(defalias 'bzr-dvc-export-via-email 'bzr-export-via-email)
|
||||
|
||||
(defun bzr-dvc-diff-against-url (path)
|
||||
(let ((buffer (dvc-prepare-changes-buffer
|
||||
nil
|
||||
path
|
||||
'diff default-directory 'bzr)))
|
||||
(dvc-switch-to-buffer-maybe buffer)
|
||||
(message "Running bzr merge --preview %s" path)
|
||||
(dvc-run-dvc-async 'bzr (list "merge" "--preview" "--force" path)
|
||||
:finished
|
||||
(dvc-capturing-lambda (output error status arguments)
|
||||
(dvc-show-changes-buffer output 'bzr-parse-diff
|
||||
(capture buffer))))))
|
||||
|
||||
(provide 'bzr-dvc)
|
||||
;;; bzr-dvc.el ends here
|
||||
@ -1,158 +0,0 @@
|
||||
;;; bzr-gnus.el --- bzr dvc integration to gnus
|
||||
|
||||
;; Copyright (C) 2008 by all contributors
|
||||
|
||||
;; Author: Stefan Reichoer <stefan@xsteve.at>
|
||||
|
||||
;; DVC 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; DVC 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; gnus is optional. Load it at compile-time to avoid warnings.
|
||||
(eval-when-compile
|
||||
(condition-case nil
|
||||
(progn
|
||||
(require 'gnus)
|
||||
(require 'gnus-art)
|
||||
(require 'gnus-sum))
|
||||
(error nil)))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-insinuate-gnus ()
|
||||
"Integrate bzr into Gnus."
|
||||
(interactive)
|
||||
;; there is nothing special to do yet...
|
||||
)
|
||||
|
||||
(defun bzr-gnus-article-view-patch (n)
|
||||
"View MIME part N in a gnus article, as a bzr changeset.
|
||||
The patch can be embedded or external. If external, the
|
||||
parameter N is ignored."
|
||||
(interactive)
|
||||
(let ((num-of-mime-parts
|
||||
(save-window-excursion
|
||||
(gnus-summary-select-article-buffer)
|
||||
(gnus-article-mime-total-parts))))
|
||||
(if (> num-of-mime-parts 1)
|
||||
(bzr-gnus-article-view-attached-patch 2)
|
||||
(bzr-gnus-article-view-external-patch))))
|
||||
|
||||
(defun bzr-gnus-article-view-attached-patch (n)
|
||||
"View MIME part N, as bzr patchset."
|
||||
(interactive "p")
|
||||
(error "bzr-gnus-article-view-attached-patch not yet implemented"))
|
||||
|
||||
(defun bzr-gnus-article-view-external-patch ()
|
||||
"View an external patch that is referenced in this mail.
|
||||
|
||||
The mail must contain a line starting with 'Committed revision ' and ending
|
||||
with the branch location."
|
||||
(interactive)
|
||||
(let ((revnr)
|
||||
(archive-location)
|
||||
(diff-buffer)
|
||||
(window-conf (current-window-configuration)))
|
||||
(gnus-summary-select-article-buffer)
|
||||
(split-window-vertically)
|
||||
(goto-char (point-min))
|
||||
;; Committed revision 129 to http://my-arch.org/branch1
|
||||
(when (re-search-forward "Committed revision \\([0-9]+\\) to \\(.+\\)$" nil t)
|
||||
(setq revnr (match-string-no-properties 1))
|
||||
(setq archive-location (match-string-no-properties 2)))
|
||||
(gnus-article-show-summary)
|
||||
(if (and revnr archive-location)
|
||||
(progn
|
||||
(message "Viewing bzr revison: %s, location: %s" revnr archive-location)
|
||||
;; bzr diff -r128..129 http://my-arch.org/branch1
|
||||
;; Note: this command needs at least bzr v1.1
|
||||
(setq diff-buffer
|
||||
(bzr-delta `(bzr (revision (local "" ,(- (string-to-number revnr) 1))))
|
||||
`(bzr (revision (local "" ,(string-to-number revnr))))
|
||||
nil
|
||||
archive-location))
|
||||
(save-excursion
|
||||
(set-buffer diff-buffer)
|
||||
(dvc-buffer-push-previous-window-config window-conf)))
|
||||
(message "No external bzr patch found in this article.")
|
||||
(set-window-configuration window-conf))))
|
||||
|
||||
(defun bzr-gnus-article-merge-bundle (n)
|
||||
"Merge MIME part N, as bzr merge bundle."
|
||||
(interactive "p")
|
||||
(unless current-prefix-arg
|
||||
(setq n 2))
|
||||
(gnus-article-part-wrapper n 'bzr-gnus-merge-bundle))
|
||||
|
||||
(defvar bzr-merge-bundle-mapping nil
|
||||
"*Project in which bzr bundles should be applied.
|
||||
|
||||
An alist of rules to map email addresses to target directories.
|
||||
|
||||
This is used by the `bzr-gnus-merge-bundle' function.
|
||||
Example setting: '((\"dvc-dev@gna.org\" \"~/work/bzr/dvc\"))"
|
||||
)
|
||||
;; e.g.: (setq bzr-merge-bundle-mapping '(("dvc-dev@gna.org" "~/work/bzr/dvc")))
|
||||
(defun bzr-gnus-merge-bundle (handle)
|
||||
"Merge a bzr merge bundle via gnus. HANDLE should be the handle of the part."
|
||||
(let ((patch-file-name (concat (dvc-make-temp-name "gnus-bzr-merge-") ".patch"))
|
||||
(window-conf (current-window-configuration))
|
||||
(to-addr (message-fetch-field "To"))
|
||||
(import-dir))
|
||||
(gnus-summary-select-article-buffer)
|
||||
(dvc-gnus-article-extract-log-message)
|
||||
(mm-save-part-to-file handle patch-file-name)
|
||||
|
||||
(dolist (m bzr-merge-bundle-mapping)
|
||||
(when (string-match (regexp-quote (car m)) to-addr)
|
||||
(setq import-dir (dvc-uniquify-file-name (cadr m)))))
|
||||
(delete-other-windows)
|
||||
(dvc-buffer-push-previous-window-config)
|
||||
(find-file patch-file-name)
|
||||
(setq import-dir (dvc-read-directory-name "Merge bzr bundle to: " nil nil t import-dir))
|
||||
(when import-dir
|
||||
(let ((default-directory import-dir))
|
||||
(bzr-merge-bundle patch-file-name)))
|
||||
(delete-file patch-file-name)
|
||||
(kill-buffer (current-buffer)) ;; the patch file
|
||||
(set-window-configuration window-conf)
|
||||
(when (and import-dir (y-or-n-p "Run bzr status in merged tree? "))
|
||||
(let ((default-directory import-dir))
|
||||
(bzr-status)
|
||||
(delete-other-windows)))))
|
||||
|
||||
(defun bzr-gnus-article-pull-bundle-in-branch (n)
|
||||
"Merge MIME part N, as bzr merge bundle."
|
||||
(interactive "p")
|
||||
(unless current-prefix-arg
|
||||
(setq n 2))
|
||||
(gnus-article-part-wrapper n 'bzr-gnus-pull-bundle-in-branch))
|
||||
|
||||
(defun bzr-gnus-pull-bundle-in-branch (handle)
|
||||
"Merge a bzr merge bundle via gnus. HANDLE should be the handle of the part."
|
||||
(let ((patch-file-name (concat (dvc-make-temp-name "gnus-bzr-pull-bundle-") ".patch"))
|
||||
(window-conf (current-window-configuration))
|
||||
(to-addr (message-fetch-field "To"))
|
||||
(import-dir))
|
||||
(gnus-summary-select-article-buffer)
|
||||
(dvc-gnus-article-extract-log-message)
|
||||
(mm-save-part-to-file handle patch-file-name)
|
||||
(message "bzr-gnus-pull-bundle-in-branch: implementation not finished (saved patch to %s)" patch-file-name)))
|
||||
|
||||
|
||||
(provide 'bzr-gnus)
|
||||
;;; bzr-gnus.el ends here
|
||||
|
||||
|
||||
@ -1,221 +0,0 @@
|
||||
;;; bzr-revision.el --- Management of revision lists in bzr
|
||||
|
||||
;; Copyright (C) 2006 - 2008 by all contributors
|
||||
|
||||
;; Author: Matthieu Moy <Matthieu.Moy@imag.fr>
|
||||
;; Contributions from:
|
||||
;; Stefan Reichoer, <stefan@xsteve.at>
|
||||
;; Keywords:
|
||||
|
||||
;; DVC 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; DVC 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'dvc-revlist)
|
||||
|
||||
(eval-when-compile (require 'cl))
|
||||
|
||||
(defstruct (bzr-revision-st)
|
||||
revno
|
||||
message
|
||||
creator
|
||||
branch-nick
|
||||
date
|
||||
merges
|
||||
)
|
||||
|
||||
;; bzr revision list
|
||||
|
||||
(defun bzr-revision-list-entry-patch-printer (elem)
|
||||
"TODO"
|
||||
(insert (if (dvc-revlist-entry-patch-marked elem)
|
||||
(concat " " dvc-mark " ") " "))
|
||||
(let ((struct (dvc-revlist-entry-patch-struct elem)))
|
||||
(insert (dvc-face-add "revno: " 'dvc-header)
|
||||
(dvc-face-add (int-to-string (or (bzr-revision-st-revno struct) -99))
|
||||
'dvc-revision-name)
|
||||
"\n")
|
||||
(when dvc-revisions-shows-creator
|
||||
(insert " " (dvc-face-add "committer: " 'dvc-header)
|
||||
(or (bzr-revision-st-creator struct) "?") "\n"))
|
||||
(when dvc-revisions-shows-date
|
||||
(insert " " (dvc-face-add "timestamp: " 'dvc-header)
|
||||
(or (bzr-revision-st-date struct) "?") "\n"))
|
||||
(insert " " (dvc-face-add "branch nick: " 'dvc-header)
|
||||
(or (bzr-revision-st-branch-nick struct) "?") "\n")
|
||||
(when dvc-revisions-shows-summary
|
||||
(insert " " (dvc-face-add "message: " 'dvc-header)
|
||||
(or (bzr-revision-st-message struct) "?") "\n"))
|
||||
))
|
||||
|
||||
;;; bzr log
|
||||
(defun bzr-log-parse-remote (log-buffer location)
|
||||
(bzr-log-parse log-buffer location t))
|
||||
|
||||
(defun bzr-missing-parse (log-buffer location)
|
||||
"Parse the output of bzr missing."
|
||||
(bzr-log-parse log-buffer location nil t))
|
||||
|
||||
(defun bzr-log-parse (log-buffer location &optional remote missing)
|
||||
"Parse the output of bzr log."
|
||||
;;(dvc-trace "location=%S" location)
|
||||
(goto-char (point-min))
|
||||
(let ((root location)
|
||||
(intro-string)
|
||||
(brief (with-current-buffer log-buffer dvc-revlist-brief)))
|
||||
(when missing ;; skip the first status output
|
||||
(unless (re-search-forward "^------------------------------------------------------------$" nil t)
|
||||
(message "No missing revisions: Branches are up to date.")
|
||||
(goto-char (point-max)))
|
||||
(setq intro-string (buffer-substring-no-properties (point-min) (point)))
|
||||
(with-current-buffer log-buffer
|
||||
(let ((buffer-read-only nil))
|
||||
(insert intro-string))))
|
||||
(while (> (point-max) (point))
|
||||
(forward-line 1)
|
||||
(let ((start (point))
|
||||
(message-start-pos)
|
||||
(message-end-pos)
|
||||
(elem (make-bzr-revision-st)))
|
||||
(or (and (re-search-forward
|
||||
"^------------------------------------------------------------$"
|
||||
nil t)
|
||||
(progn (beginning-of-line)
|
||||
t))
|
||||
(goto-char (point-max)))
|
||||
(save-restriction
|
||||
(save-excursion
|
||||
(narrow-to-region start (- (point) 1))
|
||||
;;(dvc-trace "parsing %S" (buffer-string))
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "^\\([a-z][a-z ]*[a-z]\\):\\( \\|\n\\)" nil t)
|
||||
;;(dvc-trace "match-string=%S" (match-string 1))
|
||||
(cond ((string= (match-string 1) "revno")
|
||||
(setf (bzr-revision-st-revno elem)
|
||||
(string-to-number
|
||||
(buffer-substring-no-properties
|
||||
(point) (line-end-position)))))
|
||||
((string= (match-string 1) "committer")
|
||||
(setf (bzr-revision-st-creator elem)
|
||||
(buffer-substring-no-properties
|
||||
(point) (line-end-position))))
|
||||
((string= (match-string 1) "branch nick")
|
||||
(setf (bzr-revision-st-branch-nick elem)
|
||||
(buffer-substring-no-properties
|
||||
(point) (line-end-position))))
|
||||
((string= (match-string 1) "timestamp")
|
||||
(setf (bzr-revision-st-date elem)
|
||||
(buffer-substring-no-properties
|
||||
(point) (line-end-position))))
|
||||
((string= (match-string 1) "message")
|
||||
;;(dvc-trace "found message")
|
||||
(re-search-forward "^[ \t]*")
|
||||
(setq message-start-pos (point))
|
||||
(setq message-end-pos
|
||||
(if brief
|
||||
(line-end-position)
|
||||
(if (re-search-forward "^--------" nil t) (point) (point-max))))
|
||||
(setf (bzr-revision-st-message elem)
|
||||
(buffer-substring-no-properties
|
||||
message-start-pos message-end-pos))
|
||||
(goto-char (point-max)))
|
||||
(t (dvc-trace "unmanaged field %S" (match-string 1))))
|
||||
(forward-line 1)
|
||||
(beginning-of-line))))
|
||||
(forward-line 1)
|
||||
(with-current-buffer log-buffer
|
||||
(ewoc-enter-last
|
||||
dvc-revlist-cookie
|
||||
`(entry-patch
|
||||
,(make-dvc-revlist-entry-patch
|
||||
:dvc 'bzr
|
||||
:struct elem
|
||||
:rev-id `(bzr (revision
|
||||
,(list (if remote 'remote 'local)
|
||||
root (bzr-revision-st-revno
|
||||
elem)))))))
|
||||
(goto-char (point-min))
|
||||
(dvc-revision-prev))))))
|
||||
|
||||
(defun bzr-log-refresh ()
|
||||
"Refresh a log buffer."
|
||||
(let ((cmd (remove
|
||||
nil
|
||||
(append
|
||||
(list "log")
|
||||
(if dvc-revlist-last-n
|
||||
(list "-r" (format "last:%d.." dvc-revlist-last-n)))
|
||||
(list dvc-revlist-path)))))
|
||||
(dvc-build-revision-list
|
||||
'bzr 'alog default-directory cmd 'bzr-log-parse
|
||||
dvc-revlist-brief dvc-revlist-last-n dvc-revlist-path
|
||||
'bzr-log-refresh))
|
||||
(goto-char (point-min)))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-log (path last-n)
|
||||
"Run bzr log for PATH and show only the first line of the log message.
|
||||
LAST-N revisions are shown (default dvc-log-last-n). Note that the
|
||||
LAST-N restriction is applied first, so if both PATH and LAST-N are
|
||||
specified, fewer than LAST-N revisions may be shown."
|
||||
(interactive (list default-directory (if current-prefix-arg (prefix-numeric-value current-prefix-arg) dvc-log-last-n)))
|
||||
(let ((default-directory (bzr-branch-root (or path default-directory)))
|
||||
(dvc-revlist-path path)
|
||||
(dvc-revlist-brief t)
|
||||
(dvc-revlist-last-n last-n))
|
||||
(bzr-log-refresh)))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-log-remote (location)
|
||||
"Run bzr log against a remote location."
|
||||
(interactive (list (read-string "Location of the branch: ")))
|
||||
(dvc-build-revision-list 'bzr 'remote-log location `("log" ,location)
|
||||
'bzr-log-parse-remote t nil nil
|
||||
(dvc-capturing-lambda ()
|
||||
(bzr-log-remote (capture location))))
|
||||
(goto-char (point-min)))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-changelog (&optional path)
|
||||
"Run bzr log and show the full log message."
|
||||
(interactive (list default-directory))
|
||||
(let ((default-directory (bzr-branch-root (or path default-directory))))
|
||||
(dvc-build-revision-list 'bzr 'alog default-directory '("log") 'bzr-log-parse nil nil path
|
||||
(dvc-capturing-lambda ()
|
||||
(bzr-changelog (capture path))))
|
||||
(goto-char (point-min))))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-dvc-missing (&optional other)
|
||||
"Run bzr missing."
|
||||
(interactive "sBzr missing against other: ")
|
||||
(when (string= other "")
|
||||
(setq other nil))
|
||||
;;(message "bzr-dvc-missing %S" other)
|
||||
(dvc-build-revision-list 'bzr 'missing (bzr-tree-root)
|
||||
`("missing" ,other)
|
||||
'bzr-missing-parse
|
||||
nil nil nil
|
||||
(dvc-capturing-lambda ()
|
||||
(bzr-dvc-missing (capture other))))
|
||||
(goto-char (point-min)))
|
||||
|
||||
(provide 'bzr-revision)
|
||||
;;; bzr-revision.el ends here
|
||||
@ -1,69 +0,0 @@
|
||||
;;; bzr-revlog.el --- Show a log entry for a bzr branch
|
||||
|
||||
;; Copyright (C) 2006 by all contributors
|
||||
|
||||
;; Author: Matthieu Moy <Matthieu.Moy@imag.fr>
|
||||
;; Keywords:
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'dvc-core)
|
||||
(require 'dvc-revlog)
|
||||
|
||||
(defun bzr-revlog-local (revno &optional path)
|
||||
"Quick and dirty prototype of function using dvc-revlog-mode."
|
||||
(interactive "MRevno: ")
|
||||
(let ((default-directory (or path default-directory)))
|
||||
(dvc-run-dvc-async 'bzr `("log"
|
||||
"-r"
|
||||
,revno)
|
||||
:finished
|
||||
(dvc-capturing-lambda (output error status
|
||||
arguments)
|
||||
(dvc-switch-to-buffer
|
||||
(dvc-revlog-show-revision 'bzr output
|
||||
(capture revno)))))))
|
||||
|
||||
|
||||
(defun bzr-revlog-get-revision (rev-id)
|
||||
(let ((data (car (dvc-revision-get-data rev-id))))
|
||||
(dvc-trace "dd=%S" default-directory)
|
||||
(dvc-trace "data=%S" data)
|
||||
(cond ((eq (car data) 'local)
|
||||
(let ((default-directory (nth 1 data)))
|
||||
(dvc-run-dvc-sync 'bzr
|
||||
`("log" "--revision"
|
||||
,(int-to-string (nth 2 data)))
|
||||
:finished 'dvc-output-buffer-handler)))
|
||||
((eq (car data) 'remote)
|
||||
(dvc-run-dvc-sync 'bzr
|
||||
`("log" "--revision"
|
||||
,(concat "revno:"
|
||||
(int-to-string (nth 2 data))
|
||||
":"
|
||||
(nth 1 data)))
|
||||
:finished 'dvc-output-buffer-handler))
|
||||
(t (error (format "Revision ID %S not implemented" rev-id))))))
|
||||
|
||||
|
||||
(provide 'bzr-revlog)
|
||||
;;; bzr-revlog.el ends here
|
||||
@ -1,272 +0,0 @@
|
||||
;;; bzr-submit.el --- Patch submission support for Bazaar 2 in DVC
|
||||
|
||||
;; Copyright (C) 2006 by all contributors
|
||||
|
||||
;; Author: Michael Olson <mwolson@gnu.org>
|
||||
|
||||
;; Keywords: tools, vc
|
||||
|
||||
;; This file 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 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'bzr-core)
|
||||
(require 'bzr)
|
||||
(require 'diff-mode)
|
||||
|
||||
(defgroup dvc-bzr-submit nil
|
||||
"Submitting and applying patches via email for bzr."
|
||||
:group 'dvc
|
||||
:prefix "bzr-submit-")
|
||||
|
||||
(defcustom bzr-apply-patch-mapping nil
|
||||
"*Project in which patches should be applied.
|
||||
|
||||
An alist of rules to map branch nicknames to target directories.
|
||||
|
||||
This is used by the `bzr-gnus-apply-patch' function.
|
||||
Example setting: '((\"dvc-dev-bzr\" \"~/work/bzr/dvc\"))"
|
||||
:type '(repeat (list :tag "Rule"
|
||||
(string :tag "Branch nickname")
|
||||
(string :tag "Target directory")))
|
||||
:group 'dvc-bzr-submit)
|
||||
|
||||
(defcustom bzr-submit-patch-mapping
|
||||
'(("dvc-dev-bzr" ("dvc-dev@gna.org" "dvc")))
|
||||
"*Email addresses that should be used to send patches.
|
||||
|
||||
An alist of rules to map branch nicknames to target email
|
||||
addresses and the base name to use in the attached patch.
|
||||
|
||||
This is used by the `bzr-submit-patch' function."
|
||||
:type '(repeat (list :tag "Rule"
|
||||
(string :tag "Branch nickname")
|
||||
(list :tag "Target"
|
||||
(string :tag "Email address")
|
||||
(string :tag "Base name of patch"))))
|
||||
:group 'dvc-bzr-submit)
|
||||
|
||||
(defcustom bzr-patch-sent-action 'keep-both
|
||||
"*What shall be done, after sending a patch via mail.
|
||||
The possible values are 'keep-patch, 'keep-changes, 'keep-both, 'keep-none."
|
||||
:type '(choice (const keep-patch)
|
||||
(const keep-changes)
|
||||
(const keep-both)
|
||||
(const keep-none))
|
||||
:group 'dvc-bzr-submit)
|
||||
|
||||
(defvar bzr-patch-data nil)
|
||||
|
||||
(defun bzr-changed-files (&optional include-added)
|
||||
"Retrieve a list of files in the current repo that have changed.
|
||||
If INCLUDE-ADDED is specified, include files that are newly-added."
|
||||
(let ((default-directory (bzr-tree-root))
|
||||
(files nil))
|
||||
(dvc-run-dvc-sync
|
||||
'bzr (list "status")
|
||||
:finished (dvc-capturing-lambda
|
||||
(output error status arguments)
|
||||
(set-buffer output)
|
||||
(goto-char (point-min))
|
||||
(when (and include-added
|
||||
(re-search-forward "^added:" nil t))
|
||||
(forward-line 1)
|
||||
(while (looking-at "^ \\([^ ].*\\)$")
|
||||
(setq files (cons (match-string 1) files))
|
||||
(forward-line 1)))
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward "^modified:" nil t)
|
||||
(forward-line 1)
|
||||
(while (looking-at "^ \\([^ ].*\\)$")
|
||||
(setq files (cons (match-string 1) files))
|
||||
(forward-line 1))))
|
||||
:error (lambda (output error status arguments)
|
||||
(error "An error occurred")))
|
||||
files))
|
||||
|
||||
(defun dvc-read-several-from-list (prompt items)
|
||||
"Read several string ITEMS from list, using PROMPT."
|
||||
(let ((chosen nil)
|
||||
(table (mapcar #'list items))
|
||||
item)
|
||||
(while (progn
|
||||
(and table
|
||||
(setq item (dvc-completing-read prompt table nil t))
|
||||
(stringp item)
|
||||
(not (string= item ""))))
|
||||
(setq chosen (cons item chosen))
|
||||
(setq table (delete (list item) table)))
|
||||
chosen))
|
||||
|
||||
(defun bzr-show-diff-from-file (file)
|
||||
"Display the diff contained in FILE with DVC font-locking."
|
||||
(with-temp-buffer
|
||||
(insert-file-contents-literally file)
|
||||
(let ((buffer (dvc-prepare-changes-buffer nil nil 'diff nil 'bzr))
|
||||
(output (current-buffer)))
|
||||
(when dvc-switch-to-buffer-first
|
||||
(dvc-switch-to-buffer buffer))
|
||||
;; Since we did not search for a tree root, some things may not work from the diff buffer.
|
||||
(dvc-show-changes-buffer output 'bzr-parse-diff buffer))))
|
||||
|
||||
(defun bzr-changes-save-as-patch (file-name
|
||||
&optional included-files prompt-files)
|
||||
"Run \"bzr diff\" to create a .diff file.
|
||||
The changes are stored in the patch file 'FILE-NAME.diff'.
|
||||
INCLUDED-FILES lists the files whose changes will be included. If
|
||||
this is nil, include changes to all files.
|
||||
PROMPT-FILES indicates whether to prompt for the files to include in
|
||||
the patch. This is only heeded when the function is not called
|
||||
interactively."
|
||||
(interactive
|
||||
(list (read-file-name (concat "File to store the patch in "
|
||||
"(without an extension): ")
|
||||
nil "")
|
||||
(dvc-read-several-from-list
|
||||
"Files to include (all by default, RET ends): "
|
||||
(bzr-changed-files t))))
|
||||
(when (and (not (interactive-p)) prompt-files)
|
||||
(setq included-files (dvc-read-several-from-list
|
||||
"Files to include (all by default, RET ends): "
|
||||
(bzr-changed-files t))))
|
||||
(let ((patch-file-name (concat (expand-file-name file-name) ".diff"))
|
||||
(default-directory (bzr-tree-root))
|
||||
(continue t))
|
||||
(dvc-run-dvc-sync
|
||||
'bzr (nconc (list "diff") included-files)
|
||||
:finished (lambda (output error status arguments)
|
||||
(message "No changes occurred"))
|
||||
:error (dvc-capturing-lambda
|
||||
(output error status arguments)
|
||||
(set-buffer output)
|
||||
(write-file patch-file-name)))))
|
||||
|
||||
(defun bzr-undo-diff-from-file (file root-dir)
|
||||
"Undo the changes contained in FILE to the bzr project whose
|
||||
root is ROOT-DIR."
|
||||
(with-temp-buffer
|
||||
(insert-file-contents-literally file)
|
||||
(diff-mode)
|
||||
(goto-char (point-min))
|
||||
(let ((default-directory root-dir)
|
||||
(diff-advance-after-apply-hunk nil))
|
||||
(while (re-search-forward diff-file-header-re nil t)
|
||||
(condition-case nil
|
||||
(while (progn (diff-apply-hunk t)
|
||||
(re-search-forward diff-hunk-header-re nil t)))
|
||||
(error nil))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-prepare-patch-submission (bzr-tree-root
|
||||
patch-base-name email version-string
|
||||
&optional description subject
|
||||
prompt-files)
|
||||
"Submit a patch to a bzr working copy (at BZR-TREE-ROOT) via email.
|
||||
With this feature it is not necessary to branch a bzr archive.
|
||||
You simply edit your checked out copy from your project and call this function.
|
||||
The function will create a patch as a .diff file (based on PATCH-BASE-NAME)
|
||||
and send it to the given email address EMAIL.
|
||||
VERSION-STRING should indicate the version of bzr that the patch applies to.
|
||||
DESCRIPTION is a brief descsription of the patch.
|
||||
SUBJECT is the subject for the email message.
|
||||
PROMPT-FILES indicates whether to prompt for the files to include in
|
||||
the patch.
|
||||
For an example, how to use this function see: `bzr-submit-patch'."
|
||||
(interactive)
|
||||
|
||||
;; create the patch
|
||||
(let* ((default-directory bzr-tree-root)
|
||||
(patch-directory (expand-file-name ".tmp-dvc/" bzr-tree-root))
|
||||
(patch-full-base-name (expand-file-name patch-base-name
|
||||
patch-directory))
|
||||
(patch-full-name (concat patch-full-base-name ".diff")))
|
||||
(unless (file-exists-p patch-directory)
|
||||
(make-directory patch-directory))
|
||||
(bzr-changes-save-as-patch patch-full-base-name nil prompt-files)
|
||||
|
||||
(require 'reporter)
|
||||
(delete-other-windows)
|
||||
(reporter-submit-bug-report email nil nil nil nil description)
|
||||
|
||||
(set (make-local-variable 'bzr-patch-data)
|
||||
(list patch-full-name bzr-tree-root patch-full-name))
|
||||
(insert "[VERSION] " version-string "\n\n")
|
||||
(insert bzr-command-version)
|
||||
(goto-char (point-max))
|
||||
(mml-attach-file patch-full-name "text/x-patch")
|
||||
(bzr-show-diff-from-file patch-full-name)
|
||||
(other-window 1)
|
||||
|
||||
(goto-char (point-min))
|
||||
(mail-position-on-field "Subject")
|
||||
(insert (or subject "[PATCH] "))))
|
||||
|
||||
(defun bzr-submit-patch-done ()
|
||||
"Clean up after sending a patch via mail.
|
||||
That function is usually called via `message-sent-hook'. Its
|
||||
purpose is to revert the sent changes or to delete sent changeset
|
||||
patch \(see: `bzr-patch-sent-action')."
|
||||
(when bzr-patch-data
|
||||
(when (memq bzr-patch-sent-action '(keep-patch keep-none))
|
||||
(message "Reverting the sent changes in %s" (car bzr-patch-data))
|
||||
(bzr-undo-diff-from-file (car bzr-patch-data) (cadr bzr-patch-data)))
|
||||
(when (memq bzr-patch-sent-action '(keep-changes keep-none))
|
||||
(message "Deleting the sent patch %s" (car (cddr bzr-patch-data)))
|
||||
(delete-file (car (cddr bzr-patch-data))))
|
||||
(when (memq bzr-patch-sent-action '(keep-both))
|
||||
(message "Keeping the sent changes and the sent patch %s"
|
||||
(car (cddr bzr-patch-data))))))
|
||||
(add-hook 'message-sent-hook 'bzr-submit-patch-done)
|
||||
|
||||
;;;###autoload
|
||||
(defun bzr-submit-patch ()
|
||||
"Submit a patch for the current bzr project.
|
||||
With this feature it is not necessary to tag an arch archive.
|
||||
You simply edit your checked out copy and call this function.
|
||||
The function will create a patch as *.tar.gz file and prepare a buffer to
|
||||
send the patch via email.
|
||||
|
||||
The variable `bzr-submit-patch-mapping' allows to specify the
|
||||
target email address and the base name of the sent tarball.
|
||||
|
||||
After the user has sent the message, `bzr-submit-patch-done' is called."
|
||||
(interactive)
|
||||
(if (string= (dvc-run-dvc-sync 'bzr '("status" "-V")
|
||||
:finished 'dvc-output-buffer-handler)
|
||||
"")
|
||||
(message "No changes in this bzr working copy - please apply your patch locally and submit it.")
|
||||
(bzr-command-version)
|
||||
(let* ((tree-id (bzr-tree-id))
|
||||
(submit-patch-info (cadr (assoc tree-id
|
||||
bzr-submit-patch-mapping)))
|
||||
(mail-address (or (nth 0 submit-patch-info) ""))
|
||||
(patch-base-file-name (or (nth 1 submit-patch-info) "bzr")))
|
||||
(bzr-prepare-patch-submission
|
||||
(dvc-uniquify-file-name (bzr-tree-root))
|
||||
(concat patch-base-file-name "-patch-"
|
||||
(format-time-string "%Y-%m-%d_%H-%M-%S" (current-time)))
|
||||
mail-address
|
||||
tree-id
|
||||
dvc-patch-email-message-body-template
|
||||
nil
|
||||
(interactive-p)))))
|
||||
|
||||
(provide 'bzr-submit)
|
||||
;;; bzr-submit.el ends here
|
||||
1363
dvc/lisp/bzr.el
1363
dvc/lisp/bzr.el
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user