From 08457bc6ac06ff341deb015dceeefb4d8eee03e5 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sat, 7 Oct 2023 20:39:55 +0200 Subject: [PATCH 01/11] Moved doxymacs.el.in -> doxymacs-impl.el, added doxymacs.el one step into the direction of the "Quick" fix mentioned in #7 --- lisp/{doxymacs.el.in => doxymacs-impl.el} | 6 +- lisp/doxymacs.el | 122 ++++++++++++++++++++++ 2 files changed, 125 insertions(+), 3 deletions(-) rename lisp/{doxymacs.el.in => doxymacs-impl.el} (99%) create mode 100644 lisp/doxymacs.el diff --git a/lisp/doxymacs.el.in b/lisp/doxymacs-impl.el similarity index 99% rename from lisp/doxymacs.el.in rename to lisp/doxymacs-impl.el index 785eec5..0a21015 100644 --- a/lisp/doxymacs.el.in +++ b/lisp/doxymacs-impl.el @@ -1,5 +1,5 @@ ;;; -*-emacs-lisp-*- -;;; doxymacs.el --- ELisp package for making doxygen related stuff easier. +;;; doxymacs-impl.el --- ELisp package for making doxygen related stuff easier. ;; ;; ;; Copyright (C) 2001-2010 Ryan T. Sammartino @@ -239,7 +239,7 @@ ;; Front matter and variables -(provide 'doxymacs) +; (provide 'doxymacs) (require 'custom) (require 'xml-parse) @@ -1940,4 +1940,4 @@ The argument list is a list of strings." (cons 'return (doxymacs-core-string ret)))) nil))) -;;; doxymacs.el ends here +;;; doxymacs-impl.el ends here diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el new file mode 100644 index 0000000..5d6c96a --- /dev/null +++ b/lisp/doxymacs.el @@ -0,0 +1,122 @@ +;;; -*-emacs-lisp-*- +;;; doxymacs.el --- ELisp package for making doxygen related stuff easier. +;; +;; +;; Copyright (C) 2001-2010 Ryan T. Sammartino +;; +;; Author: Ryan T. Sammartino +;; Kris Verbeeck +;; Created: 24/03/2001 +;; Version: @VERSION@ +;; Keywords: doxygen documentation +;; +;; This file is NOT part of GNU Emacs or XEmacs. +;; +;; 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/ + +;; Commentary: +;; +;; 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= +;; +;; - Customise the variable doxymacs-doxygen-dirs. +;; +;; - 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 along with this file 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 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 multiline Doxygen comment. +;; - C-c d s will insert a blank singleline Doxygen comment. +;; - C-c d @ will insert grouping comments around the current region. +;; +;; Doxymacs has been tested on and works with: +;; - GNU Emacs 20.7.1, 21.1.1, 21.2.1, 21.2.92.1, 21.3, 21.4.1, 23.1.1 +;; - XEmacs 21.1 (patch 14), 21.4 (patches 4-17) +;; +;; If you have success or failure with other version of {X}Emacs, please +;; let the authors know. + +(shell-command "cd .. && ./bootstrap") +(shell-command "cd .. && ./configure") +(shell-command "cd .. && make --prefix=/home/lorenz/tmp") +(shell-command "cd .. && make install") + +(require 'doxymacs-impl) +(provide 'doxymacs) + +;;; doxymacs.el ends here From 67eb018812386dd159aa5aaea4593efebf11db66 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sat, 7 Oct 2023 21:03:50 +0200 Subject: [PATCH 02/11] try some other possible shell commands --- lisp/doxymacs.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el index 5d6c96a..53d2e6e 100644 --- a/lisp/doxymacs.el +++ b/lisp/doxymacs.el @@ -111,10 +111,11 @@ ;; If you have success or failure with other version of {X}Emacs, please ;; let the authors know. -(shell-command "cd .. && ./bootstrap") -(shell-command "cd .. && ./configure") -(shell-command "cd .. && make --prefix=/home/lorenz/tmp") -(shell-command "cd .. && make install") +(shell-command "cd ..") +(shell-command "./bootstrap") +(shell-command "./configure") +(shell-command "make --prefix=/home/lorenz/tmp") +(shell-command "make install") (require 'doxymacs-impl) (provide 'doxymacs) From 4ee58650cd8e5a8eb75ab743f9a85ca7829ecad3 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sat, 7 Oct 2023 21:06:41 +0200 Subject: [PATCH 03/11] try to find relative file path --- lisp/doxymacs.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el index 53d2e6e..ae86456 100644 --- a/lisp/doxymacs.el +++ b/lisp/doxymacs.el @@ -111,6 +111,7 @@ ;; If you have success or failure with other version of {X}Emacs, please ;; let the authors know. +(shell-command "echo $(pwd)") (shell-command "cd ..") (shell-command "./bootstrap") (shell-command "./configure") From bdaf7e3fbc73e2530c3967ccd3956600e36fcc90 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sun, 8 Oct 2023 17:13:59 +0200 Subject: [PATCH 04/11] pipe output of shell commands into *Messages* --- lisp/doxymacs.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el index ae86456..2cbdadc 100644 --- a/lisp/doxymacs.el +++ b/lisp/doxymacs.el @@ -111,12 +111,12 @@ ;; If you have success or failure with other version of {X}Emacs, please ;; let the authors know. -(shell-command "echo $(pwd)") -(shell-command "cd ..") -(shell-command "./bootstrap") -(shell-command "./configure") -(shell-command "make --prefix=/home/lorenz/tmp") -(shell-command "make install") +(shell-command "pwd" "*Messages*") +(shell-command "cd .." "*Messages*") +(shell-command "./bootstrap" "*Messages*") +(shell-command "./configure" "*Messages*") +(shell-command "make --prefix=/home/lorenz/tmp" "*Messages*") +(shell-command "make install" "*Messages*") (require 'doxymacs-impl) (provide 'doxymacs) From ffc085dcfd6e84f5a84609c78453455598cde5d2 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sun, 8 Oct 2023 17:32:20 +0200 Subject: [PATCH 05/11] again modified directories --- lisp/doxymacs.el | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el index 2cbdadc..f3d9866 100644 --- a/lisp/doxymacs.el +++ b/lisp/doxymacs.el @@ -112,11 +112,10 @@ ;; let the authors know. (shell-command "pwd" "*Messages*") -(shell-command "cd .." "*Messages*") -(shell-command "./bootstrap" "*Messages*") -(shell-command "./configure" "*Messages*") -(shell-command "make --prefix=/home/lorenz/tmp" "*Messages*") -(shell-command "make install" "*Messages*") +(shell-command "cd .. && ./bootstrap" "*Messages*") +(shell-command "cd .. && ./configure --prefix=/home/lorenz/tmp" "*Messages*") +(shell-command "cd .. && make" "*Messages*") +(shell-command "cd .. && make install" "*Messages*") (require 'doxymacs-impl) (provide 'doxymacs) From d67b350e32dae416e762131757af8909d632c8d6 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sun, 8 Oct 2023 17:52:00 +0200 Subject: [PATCH 06/11] added some default values to these: @DOXYMACS_DEFAULT_STYLE@ and @DOXYMACS_USE_EXTERNAL_XML_PARSER@ --- lisp/doxymacs.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el index f3d9866..7607fd2 100644 --- a/lisp/doxymacs.el +++ b/lisp/doxymacs.el @@ -111,6 +111,11 @@ ;; If you have success or failure with other version of {X}Emacs, please ;; let the authors know. +; setting some defaults +(setq @DOXYMACS_DEFAULT_STYLE@ "JavaDoc") +(setq @DOXYMACS_USE_EXTERNAL_XML_PARSER@ t) + +; build the external xml parser (shell-command "pwd" "*Messages*") (shell-command "cd .. && ./bootstrap" "*Messages*") (shell-command "cd .. && ./configure --prefix=/home/lorenz/tmp" "*Messages*") From 01f8b756605a93427ea8bbd1f398705de23ed952 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sun, 15 Oct 2023 15:37:19 +0200 Subject: [PATCH 07/11] Bigger restructuring of the package Tested locally using non-GNU ELPA to build the package. Therefore, the lisp subdirectory needed to be eliminated. Automake could not be used any longer, and since I did not know how to maintain that, I just wrote a makefile and put the automake-processed *.el files into the top level directory and now treat these as source files. It appears not to be too unclean to be used this way, but I'm welcoming other ideas as well --- .gitignore | 24 --- INSTALL | 55 +++---- Makefile | 20 +++ Makefile.am | 4 - README.md | 11 +- aclocal/libxml.m4 | 188 ----------------------- bootstrap | 5 - c/Makefile.am | 12 -- configure.ac | 58 ------- lisp/doxymacs-impl.el => doxymacs.el | 16 +- c/doxymacs_parser.c => doxymacs_parser.c | 0 elisp-comp | 54 ------- lisp/Makefile.am | 6 - lisp/doxymacs.el | 128 --------------- no-autoconf/Makefile.am | 15 -- prepare-release.sh | 33 ---- lisp/xml-parse.el => xml-parse.el | 0 17 files changed, 51 insertions(+), 578 deletions(-) create mode 100644 Makefile delete mode 100644 Makefile.am delete mode 100644 aclocal/libxml.m4 delete mode 100755 bootstrap delete mode 100644 c/Makefile.am delete mode 100644 configure.ac rename lisp/doxymacs-impl.el => doxymacs.el (99%) rename c/doxymacs_parser.c => doxymacs_parser.c (100%) delete mode 100755 elisp-comp delete mode 100644 lisp/Makefile.am delete mode 100644 lisp/doxymacs.el delete mode 100644 no-autoconf/Makefile.am delete mode 100755 prepare-release.sh rename lisp/xml-parse.el => xml-parse.el (100%) diff --git a/.gitignore b/.gitignore index 13929ae..676fae9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,27 +2,3 @@ # in git and shouldn't be committed directly. AUTHORS.md NEWS.md - -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 diff --git a/INSTALL b/INSTALL index cd77813..d34bcce 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.15 2003/01/26 01:49:55 ryants Exp $ +$Id: INSTALL,v 1.16 2023/10/15 14:58:40 L0ren2 Exp $ Doxymacs depends on the following packages: @@ -8,46 +8,36 @@ Doxymacs depends on the following packages: Be sure these are properly configured and installed before proceeding. -- Use the configure script to configure doxymacs: +- The project can be used as is, but you can use the Makefile provided +to compile the *.el files into *.elc and the doxymacs_parser.c into a +binary executable. - $ ./configure - $ make - $ make install +To use as is, execute: + $ make install +To compile only the doxymacs_parser.c, execute: + $ make c +To compile only the emacs lisp files, execute: + $ make elisp +And finally to build all, you can either execute: + $ make +or + $ make all - Use ./configure --help for help on customising your configuration. +After building, you may install using + $ make install - If you get +There also exists + $ make clean +which removes built files to clean the repository. -!! 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. +Building for XEmacs using this Makefile has not been tested, since +XEmacs has not been maintained since 2009. - 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 + in the directory doxymacs. 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. @@ -81,4 +71,3 @@ Be sure these are properly configured and installed before proceeding. - 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. - diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0f1e9f5 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +.PHONY: all elisp c clean + +EMACS := /usr/bin/emacs +ELISP := doxymacs.el xml-parse.el + +CC := /usr/bin/gcc +INC := /usr/include/libxml2 +LNK := /usr/local/lib + +all: elisp c + @# +elisp: clean $(ELISP) + $(EMACS) --batch -Q -L . -f batch-byte-compile $(ELISP) +c: doxymacs_parser.c + $(CC) -I$(INC) -L$(LNK) -o doxymacs_parser $< -lxml2 +clean: + rm -f *~ + rm -f \#*\# + rm -f *.elc + rm -f doxymacs_parser diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 2837d3a..0000000 --- a/Makefile.am +++ /dev/null @@ -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 diff --git a/README.md b/README.md index e896bc0..68e732d 100644 --- a/README.md +++ b/README.md @@ -55,13 +55,4 @@ Doxymacs depends on the following packages: - 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. - -for details see [INSTALL](INSTALL) +For installation instructions, see [INSTALL](INSTALL) diff --git a/aclocal/libxml.m4 b/aclocal/libxml.m4 deleted file mode 100644 index 68cd824..0000000 --- a/aclocal/libxml.m4 +++ /dev/null @@ -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 -#include -#include -#include - -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 -#include -], [ 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 -]) diff --git a/bootstrap b/bootstrap deleted file mode 100755 index f593130..0000000 --- a/bootstrap +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -aclocal -automake --foreign --add-missing -autoconf diff --git a/c/Makefile.am b/c/Makefile.am deleted file mode 100644 index 1cf9597..0000000 --- a/c/Makefile.am +++ /dev/null @@ -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 -fomit-frame-pointer - -doxymacs_parser_LDADD = $(XML_LIBS) diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 800b805..0000000 --- a/configure.ac +++ /dev/null @@ -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 diff --git a/lisp/doxymacs-impl.el b/doxymacs.el similarity index 99% rename from lisp/doxymacs-impl.el rename to doxymacs.el index 0a21015..33e5cb1 100644 --- a/lisp/doxymacs-impl.el +++ b/doxymacs.el @@ -1,5 +1,5 @@ ;;; -*-emacs-lisp-*- -;;; doxymacs-impl.el --- ELisp package for making doxygen related stuff easier. +;;; doxymacs.el --- ELisp package for making doxygen related stuff easier. ;; ;; ;; Copyright (C) 2001-2010 Ryan T. Sammartino @@ -7,7 +7,7 @@ ;; Author: Ryan T. Sammartino ;; Kris Verbeeck ;; Created: 24/03/2001 -;; Version: @VERSION@ +;; Version: 1.8.0 ;; Keywords: doxygen documentation ;; ;; This file is NOT part of GNU Emacs or XEmacs. @@ -239,14 +239,14 @@ ;; Front matter and variables -; (provide 'doxymacs) +(provide 'doxymacs) (require 'custom) (require 'xml-parse) (require 'url) (require 'tempo) -(defconst doxymacs-version "@VERSION@" +(defconst doxymacs-version "1.8.0" "Doxymacs version number") (defun doxymacs-version () @@ -286,7 +286,7 @@ file:///home/me/project/bar/doc/ and the XML tags file is at :group 'doxymacs) (defcustom doxymacs-doxygen-style - "@DOXYMACS_DEFAULT_STYLE@" + "JavaDoc" "The style of comments to insert into code. See http://www.stack.nl/~dimitri/doxygen/docblocks.html#docblocks for examples of the various styles. @@ -310,7 +310,7 @@ must be one of \"@\" or \"\\\"." :group 'doxymacs) (defcustom doxymacs-use-external-xml-parser - @DOXYMACS_USE_EXTERNAL_XML_PARSER@ + nil "*Use the external (written in C) XML parser or the internal (LISP) parser. For smallish tag files, you are better off with the internal parser. For larger tag files, you are better off with the external one. @@ -320,7 +320,7 @@ Set to non-nil to use the external XML parser." :group 'doxymacs) (defcustom doxymacs-external-xml-parser-executable - "@DOXYMACS_PARSER@" + "/home/lorenz/bin/doxymacs_parser" "*Where the external XML parser executable is." :type 'string :group 'doxymacs) @@ -1940,4 +1940,4 @@ The argument list is a list of strings." (cons 'return (doxymacs-core-string ret)))) nil))) -;;; doxymacs-impl.el ends here +;;; doxymacs.el ends here diff --git a/c/doxymacs_parser.c b/doxymacs_parser.c similarity index 100% rename from c/doxymacs_parser.c rename to doxymacs_parser.c diff --git a/elisp-comp b/elisp-comp deleted file mode 100755 index 899ba74..0000000 --- a/elisp-comp +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# Copyright 1995 Free Software Foundation, Inc. -# François Pinard , 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 diff --git a/lisp/Makefile.am b/lisp/Makefile.am deleted file mode 100644 index 31a231b..0000000 --- a/lisp/Makefile.am +++ /dev/null @@ -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 diff --git a/lisp/doxymacs.el b/lisp/doxymacs.el deleted file mode 100644 index 7607fd2..0000000 --- a/lisp/doxymacs.el +++ /dev/null @@ -1,128 +0,0 @@ -;;; -*-emacs-lisp-*- -;;; doxymacs.el --- ELisp package for making doxygen related stuff easier. -;; -;; -;; Copyright (C) 2001-2010 Ryan T. Sammartino -;; -;; Author: Ryan T. Sammartino -;; Kris Verbeeck -;; Created: 24/03/2001 -;; Version: @VERSION@ -;; Keywords: doxygen documentation -;; -;; This file is NOT part of GNU Emacs or XEmacs. -;; -;; 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/ - -;; Commentary: -;; -;; 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= -;; -;; - Customise the variable doxymacs-doxygen-dirs. -;; -;; - 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 along with this file 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 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 multiline Doxygen comment. -;; - C-c d s will insert a blank singleline Doxygen comment. -;; - C-c d @ will insert grouping comments around the current region. -;; -;; Doxymacs has been tested on and works with: -;; - GNU Emacs 20.7.1, 21.1.1, 21.2.1, 21.2.92.1, 21.3, 21.4.1, 23.1.1 -;; - XEmacs 21.1 (patch 14), 21.4 (patches 4-17) -;; -;; If you have success or failure with other version of {X}Emacs, please -;; let the authors know. - -; setting some defaults -(setq @DOXYMACS_DEFAULT_STYLE@ "JavaDoc") -(setq @DOXYMACS_USE_EXTERNAL_XML_PARSER@ t) - -; build the external xml parser -(shell-command "pwd" "*Messages*") -(shell-command "cd .. && ./bootstrap" "*Messages*") -(shell-command "cd .. && ./configure --prefix=/home/lorenz/tmp" "*Messages*") -(shell-command "cd .. && make" "*Messages*") -(shell-command "cd .. && make install" "*Messages*") - -(require 'doxymacs-impl) -(provide 'doxymacs) - -;;; doxymacs.el ends here diff --git a/no-autoconf/Makefile.am b/no-autoconf/Makefile.am deleted file mode 100644 index 67ad010..0000000 --- a/no-autoconf/Makefile.am +++ /dev/null @@ -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 $< $@ diff --git a/prepare-release.sh b/prepare-release.sh deleted file mode 100755 index 11c820b..0000000 --- a/prepare-release.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -# File names -AUTHORS="AUTHORS.md" -NEWS="NEWS.md" - -# Make sure we have git installed -GIT_EXECUTABLE=`which git` -if [ "$?" -ne "0" ]; then - echo "Sorry, cannot find git in PATH." >&2 - exit 1 -fi - -# Make sure we are in a git repository -$GIT_EXECUTABLE status > /dev/null 2>&1 -if [ "$?" -ne "0" ]; then - echo "Sorry, not in a git repository." >&2 - exit 2 -fi - -# Generate AUTHORS file -authors_text=`$GIT_EXECUTABLE log --format="%aN <%aE>" | sort | uniq | sed "s/^/ * /g"` -echo "Authors\n=======\n\n$authors_text" >$AUTHORS - -# Generate NEWS file -tags=`$GIT_EXECUTABLE tag -l --sort="-v:refname" | grep "^v[0-9]"` -news_text="Release Notes\n=============" -for tag in $tags; do - date=`$GIT_EXECUTABLE show --quiet --format="%ci" $tag^{commit} | cut -d' ' -f1` - annotation=`$GIT_EXECUTABLE show --quiet --format="" $tag | tail -n +4` - news_text="$news_text\n\n## $date: $annotation\n" -done -echo "$news_text" | head -n -1 >$NEWS diff --git a/lisp/xml-parse.el b/xml-parse.el similarity index 100% rename from lisp/xml-parse.el rename to xml-parse.el From 04bfb8b5fca2fdaf22ff8cafcaf4d8bd72146570 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Sat, 21 Oct 2023 15:10:19 +0200 Subject: [PATCH 08/11] final touches - INSTALL: fixed false statement that XEmacs wasn't maintained actively~ - doxymacs.el: replaced home directory reference with '~' instead, to make it work even if your user name is not lorenz --- INSTALL | 3 +-- doxymacs.el | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/INSTALL b/INSTALL index d34bcce..84e1aa5 100644 --- a/INSTALL +++ b/INSTALL @@ -30,8 +30,7 @@ There also exists $ make clean which removes built files to clean the repository. -Building for XEmacs using this Makefile has not been tested, since -XEmacs has not been maintained since 2009. +Building for XEmacs using this Makefile has not been tested. - If your tags file is quite large (say, > 1 MB), consider setting doxymacs-use-external-xml-parser to t and be sure to set diff --git a/doxymacs.el b/doxymacs.el index 33e5cb1..9875d7e 100644 --- a/doxymacs.el +++ b/doxymacs.el @@ -320,7 +320,7 @@ Set to non-nil to use the external XML parser." :group 'doxymacs) (defcustom doxymacs-external-xml-parser-executable - "/home/lorenz/bin/doxymacs_parser" + "~/bin/doxymacs_parser" "*Where the external XML parser executable is." :type 'string :group 'doxymacs) From e6c813e0dfef84553bc4613870c6af317ca6af05 Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Tue, 24 Oct 2023 22:08:37 +0200 Subject: [PATCH 09/11] update INSTALL comment -> so nongnu elpa picks the current commit when packaging --- INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 84e1aa5..9d2cf32 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.16 2023/10/15 14:58:40 L0ren2 Exp $ +$Id: INSTALL,v 1.16 2023/10/24 22:08:30 L0ren2 Exp $ Doxymacs depends on the following packages: From 4243f72e0924d67ccc9de27924d4f7321b89537a Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Wed, 25 Oct 2023 18:59:25 +0200 Subject: [PATCH 10/11] edited commentary in doxymacs.el - this has two reasons: 1) update on documentation listed there 2) update the file itself to a newer version in hopes that non gnu elpa will detect a version change and check out the latest commit... --- doxymacs.el | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/doxymacs.el b/doxymacs.el index 9875d7e..51d2e94 100644 --- a/doxymacs.el +++ b/doxymacs.el @@ -38,31 +38,10 @@ ;; ;; 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= +;; View the INSTALL file for further installation instructions. +;; +;; When installing through non-gnu elpa, you may want to consider building +;; the external xml parser yourself and tell doxymacs to use it. ;; ;; - Customise the variable doxymacs-doxygen-dirs. ;; @@ -235,7 +214,8 @@ ;; ;; - better end-user documentation ;; - fix all FIXMEs (of course) -;; - other stuff? +;; - other stuff? -> Yes, example: @throws declaration if throw keyword is found +;; inside function ;; Front matter and variables From 7708b83694d6d79d0a3c7c834d773f20a2ba182b Mon Sep 17 00:00:00 2001 From: L0ren2 Date: Wed, 25 Oct 2023 19:33:56 +0200 Subject: [PATCH 11/11] bump version number --- doxymacs.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doxymacs.el b/doxymacs.el index 51d2e94..788faa4 100644 --- a/doxymacs.el +++ b/doxymacs.el @@ -7,7 +7,7 @@ ;; Author: Ryan T. Sammartino ;; Kris Verbeeck ;; Created: 24/03/2001 -;; Version: 1.8.0 +;; Version: 1.8.1 ;; Keywords: doxygen documentation ;; ;; This file is NOT part of GNU Emacs or XEmacs.