Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package global for openSUSE:Factory checked in at 2022-12-07 17:35:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/global (Old) and /work/SRC/openSUSE:Factory/.global.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "global" Wed Dec 7 17:35:37 2022 rev:59 rq:1040868 version:6.6.8 Changes: -------- --- /work/SRC/openSUSE:Factory/global/global.changes 2021-05-06 22:53:38.650497872 +0200 +++ /work/SRC/openSUSE:Factory/.global.new.1835/global.changes 2022-12-07 17:37:18.217307437 +0100 @@ -1,0 +2,17 @@ +Sun Dec 4 18:07:57 UTC 2022 - Dirk Müller <[email protected]> + +- update to 6.6.8: + * gtags: Now you can write comments in '.notfunction' file. + Lines starting with ';' are comment lines. + * configure: Now you can build Global with external SQLite3 library. + --with-sqlite3[=dir] By default, the embedded version is used. + * plugin-factory/PLUGIN_HOWTO.reference: + Added a howto document: 'How to get Universal Ctags to handle references' + * global: The --print0 option was ignored when using the --completion command. + Now it works. + * gtags: The --file option could cause segmentation fault. + * Pygments-enabled gtags failed to start. Now it works. + (Changed the shebang of pygments_parser.py.in from '#!/usr/bin/env python' + to '#!@PYTHON@'.) + +------------------------------------------------------------------- Old: ---- global-6.6.6.tar.gz global-6.6.6.tar.gz.sig New: ---- global-6.6.8.tar.gz global-6.6.8.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ global.spec ++++++ --- /var/tmp/diff_new_pack.Ywlc85/_old 2022-12-07 17:37:18.697310065 +0100 +++ /var/tmp/diff_new_pack.Ywlc85/_new 2022-12-07 17:37:18.705310109 +0100 @@ -1,7 +1,7 @@ # # spec file for package global # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: global -Version: 6.6.6 +Version: 6.6.8 Release: 0 Summary: Common source code tag system License: GPL-3.0-only @@ -38,6 +38,7 @@ BuildRequires: pkgconfig BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(sqlite3) Requires: python3-Pygments Recommends: ctags Recommends: idutils @@ -58,6 +59,7 @@ export CPPFLAGS="-fno-common" %configure \ --disable-static \ + --with-sqlite3 \ --without-included-ltdl \ --with-exuberant-ctags=%{_bindir}/ctags \ PYTHON=python3 ++++++ global-6.6.6.tar.gz -> global-6.6.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/ChangeLog new/global-6.6.8/ChangeLog --- old/global-6.6.6/ChangeLog 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/ChangeLog 2021-12-17 12:39:47.000000000 +0100 @@ -4,7 +4,7 @@ | | | | | | | | | | | ~~ | ~~| | ~ | | | ~~| for all hackers. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Copyright (c) 2000-2019 + Copyright (c) 2000-2021 Tama Communications Corporation This file is free software; as a special exception the author gives @@ -19,6 +19,37 @@ ChangeLog about GNU GLOBAL +December 13 2021, Shigio YAMAGUHI + + [plugin-factory/PLUGIN_HOWTO.reference] + [plugin-factory/uctags-scheme.c-diff] + I wrote a document titled 'How to get Universal Ctags to handle references.' + +July 19 2021, Shigio YAMAGUHI + + Now you can build Global with external SQLite3 library. + --with-sqlite3[=dir] By default, the embedded version is used. + + $ ./configure --with-sqlite3=/opt/local + ... + $ global --version + ... + Powered by Berkeley DB 1.85 and SQLite3 3.35.5. + ======= (depends on your system) + +June 30 2021, Shigio YAMAGUHI + + Shebang rules: + Shell use #!/bin/sh + It works 100% in POSIX. + Perl should be called as a command argument like follows: + $ perl ./xxxx.pl + #!@PERL@ should not be used, because perl scripts are used + before the config phase in Global, + Python use #!@PYTHON@ + Don't use fixed names, because at least two incompatible versions + of python are distributed. The command name may be python2 or python3. + June 7 2019, Shigio YAMAGUCHI Removed the -T option of perl from the CGI scripts in htags/, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/NEWS new/global-6.6.8/NEWS --- old/global-6.6.6/NEWS 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/NEWS 2021-12-17 12:39:47.000000000 +0100 @@ -4,7 +4,7 @@ | | | | | | | | | | | ~~ | ~~| | ~ | | | ~~| for all hackers. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Copyright (c) 2000-2019 Tama Communications Corporation + Copyright (c) 2000-2021 Tama Communications Corporation This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without @@ -19,6 +19,39 @@ GNU Global NEWS - User visible changes. At least, you should search '[INCOMPATIBLE CHANGES]' for each version. +Version 6.6.8 - December 17 2021 + +[CHANGES] +o gtags: Now you can write comments in '.notfunction' file. + Lines starting with ';' are comment lines. + + [.notfunction] + +--------------------------- + |; + |; This is a comment. + |; + |main + +o configure: Now you can build Global with external SQLite3 library. + --with-sqlite3[=dir] By default, the embedded version is used. + +[NEW DOCUMENT] +o plugin-factory/PLUGIN_HOWTO.reference: + Added a howto document: 'How to get Universal Ctags to handle references' + +[FIXED BUGS] +o global: The --print0 option was ignored when using the --completion command. + Now it works. +o gtags: The --file option could cause segmentation fault. + Now it works. + +Version 6.6.7 - July 1 2021 + +[FIXED BUGS] +o Pygments-enabled gtags failed to start. Now it works. + (Changed the shebang of pygments_parser.py.in from '#!/usr/bin/env python' + to '#!@PYTHON@'.) + Version 6.6.6 - May 2 2021 [CHANGES] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/THANKS new/global-6.6.8/THANKS --- old/global-6.6.6/THANKS 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/THANKS 2021-12-17 12:39:48.000000000 +0100 @@ -38,6 +38,7 @@ Alexander Gusak bug report about c++ parser's segmentation violation. Bakken, Luke bug fix method about stat() in htags(1). Bert Gijsbers investigation about mandoc macro and a bug report. +Biswapriyo Nath patch for windows32 platform. Bob Bentley bug report about bless.sh and gtags. Brian Carlstrom bug fix patch for gtags. Bvk chaitanya bug report about global (it cannot find gtags). @@ -57,6 +58,7 @@ Dirk Schultheis advice about compat.h for Solaris. Earl Chew bug fix patch for gtags-visit-rootdir of gtags.el. Emile Heyns advice about writing code for generic UNIX. +Ergus bug report that the --print0 was ignored when using the -c command. Erik Jonsson algorithm for detecting binary file. Eric Paire bug report about gtags-parser's memory violation. Fabian Wiget bug report about --from-here with -i option. @@ -79,6 +81,7 @@ Hiroshi MIURA idea about printing file name on browser's status bar. Hirohito Kato bug fix patch for gtags-parser to pick up objects in extern "C" {...} block. Hiroyuki KOBAYASHI bug report and fix patch for gtags-parser(1). +Ingmar Sittl bug report of the shebang of pygments_parser.py. James Ahlborn bug fix patch for the java parser of gtags(1) to skip annotations. Jason Hood port to DJGPP and Mingw32, and many important bug reports & fixes. He also contributed to much of the --color and --literal option of global(1). @@ -90,6 +93,7 @@ Jeff Trawick idea about -l option of htags(1). Jeroen Roovers bug report about htags/Makefile.am. Jianbin Kang bug report about segmentation fault of gtags(1). +Jim Lowe bug report about segmentation fault of gtags(1). Jonathan Jacobs bug report about --from-here option of global(1). Jordan K. Hubbard idea about supporting BSD's obj directory. Jos Backus bug report about global.cgi. @@ -128,6 +132,7 @@ Michael Albinus advice about using process-file function for TRAMP support. Michael Labbé bug report about configure.ac (realpath). Michael Tocci bug report about the C++ parser. +Miller, Matt suggestion about comment lines for '.notfunction' file. Oleg Checkulaev advice about writing code for generic UNIX. Oliver Paukstadt idea about -c (gzipped html) option of htags(1). Patrick Strasser many bug reports about htags(1). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/configure new/global-6.6.8/configure --- old/global-6.6.6/configure 2021-05-02 09:39:06.000000000 +0200 +++ new/global-6.6.8/configure 2021-12-17 12:40:01.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GNU GLOBAL 6.6.6. +# Generated by GNU Autoconf 2.69 for GNU GLOBAL 6.6.8. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -589,8 +589,8 @@ # Identity of this package. PACKAGE_NAME='GNU GLOBAL' PACKAGE_TARNAME='global' -PACKAGE_VERSION='6.6.6' -PACKAGE_STRING='GNU GLOBAL 6.6.6' +PACKAGE_VERSION='6.6.8' +PACKAGE_STRING='GNU GLOBAL 6.6.8' PACKAGE_BUGREPORT='' PACKAGE_URL='http://www.gnu.org/software/global/' @@ -646,6 +646,8 @@ POSIX_SORT UNIVERSAL_CTAGS EXUBERANT_CTAGS +USE_SQLITE3_VENDORED_FALSE +USE_SQLITE3_VENDORED_TRUE USE_SQLITE3_FALSE USE_SQLITE3_TRUE USE_DB185_COMPAT_FALSE @@ -1390,7 +1392,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU GLOBAL 6.6.6 to adapt to many kinds of systems. +\`configure' configures GNU GLOBAL 6.6.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1460,7 +1462,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU GLOBAL 6.6.6:";; + short | recursive ) echo "Configuration of GNU GLOBAL 6.6.8:";; esac cat <<\_ACEOF @@ -1503,7 +1505,7 @@ --with-vcurses=incdir Used to force SysV curses --with-ncurses=dir Compile with ncurses/locate base dir --with-db185-compat[=DIR] use DB1.85 compatible API included in DB2 or later - --with-sqlite3 use sqlite3 API + --with-sqlite3[=DIR] use sqlite3 API --with-home-etc[=DIR] include home-etc support [DIR=/usr/local] --with-pread-pwrite include pread/pwrite support for BSD db library --with-exuberant-ctags=PROGRAM specify Exuberant Ctags program @@ -1594,7 +1596,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU GLOBAL configure 6.6.6 +GNU GLOBAL configure 6.6.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2299,7 +2301,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU GLOBAL $as_me 6.6.6, which was +It was created by GNU GLOBAL $as_me 6.6.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3167,7 +3169,7 @@ # Define the identity of the package. PACKAGE='global' - VERSION='6.6.6' + VERSION='6.6.8' cat >>confdefs.h <<_ACEOF @@ -15994,7 +15996,7 @@ $as_echo_n "checking for ncurses version... " >&6; } ncurses_version=unknown cat > conftest.$ac_ext <<EOF -#line 15997 "configure" +#line 15999 "configure" #include "confdefs.h" #ifdef RENAMED_NCURSES #include <curses.h> @@ -16258,11 +16260,30 @@ # Check whether --with-sqlite3 was given. if test "${with_sqlite3+set}" = set; then : withval=$with_sqlite3; - #LDFLAGS="$LDFLAGS -lsqlite3" + if test "$withval" = no; then + if false; then + USE_SQLITE3_TRUE= + USE_SQLITE3_FALSE='#' +else + USE_SQLITE3_TRUE='#' + USE_SQLITE3_FALSE= +fi + + if false; then + USE_SQLITE3_VENDORED_TRUE= + USE_SQLITE3_VENDORED_FALSE='#' +else + USE_SQLITE3_VENDORED_TRUE='#' + USE_SQLITE3_VENDORED_FALSE= +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + else $as_echo "#define USE_SQLITE3 1" >>confdefs.h - if true; then + if true; then USE_SQLITE3_TRUE= USE_SQLITE3_FALSE='#' else @@ -16270,8 +16291,44 @@ USE_SQLITE3_FALSE= fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + case "$withval" in + ''|yes) + if true; then + USE_SQLITE3_VENDORED_TRUE= + USE_SQLITE3_VENDORED_FALSE='#' +else + USE_SQLITE3_VENDORED_TRUE='#' + USE_SQLITE3_VENDORED_FALSE= +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } + ;; + *) + if ! test -d "$withval"; then + as_fn_error $? "directory $withval not found." "$LINENO" 5 + fi + if ! test -r "$withval/include/sqlite3.h"; then + as_fn_error $? "header $withval/include/sqlite3.h not found." "$LINENO" 5 + fi + if ! test -r "$withval/lib/libsqlite3.so" && ! test -r "$withval/lib/libsqlite3.dylib"; then + as_fn_error $? "library $withval/lib/libsqlite3.* not found." "$LINENO" 5 + fi + if false; then + USE_SQLITE3_VENDORED_TRUE= + USE_SQLITE3_VENDORED_FALSE='#' +else + USE_SQLITE3_VENDORED_TRUE='#' + USE_SQLITE3_VENDORED_FALSE= +fi + + AM_CPPFLAGS="$AM_CPPFLAGS -I$withval/include" + LIBS="$LIBS -L$withval/lib -lsqlite3" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, using $withval" >&5 +$as_echo "yes, using $withval" >&6; } + ;; + esac + fi else @@ -16283,6 +16340,14 @@ USE_SQLITE3_FALSE= fi + if false; then + USE_SQLITE3_VENDORED_TRUE= + USE_SQLITE3_VENDORED_FALSE='#' +else + USE_SQLITE3_VENDORED_TRUE='#' + USE_SQLITE3_VENDORED_FALSE= +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -16489,6 +16554,7 @@ + DEFAULTSKIP='HTML/,HTML.pub/,tags,TAGS,ID,y.tab.c,y.tab.h,gtags.files,cscope.files,cscope.out,cscope.po.out,cscope.in.out,SCCS/,RCS/,CVS/,CVSROOT/,{arch}/,autom4te.cache/,*.orig,*.rej,*.bak,*~,#*#,*.swp,*.tmp,*_flymake.*,*_flymake,*.o,*.a,*.so,*.lo,*.zip,*.gz,*.bz2,*.xz,*.lzh,*.Z,*.tgz,*.min.js,*min.css' DEFAULTLANGMAP='c:.c.h,yacc:.y,asm:.s.S,java:.java,cpp:.c++.cc.hh.cpp.cxx.hxx.hpp.C.H,php:.php.php3.phtml' DEFAULTINCLUDEFILESUFFIXES='h,hh,hxx,hpp,H,inc.php' @@ -16680,10 +16746,30 @@ as_fn_error $? "conditional \"USE_SQLITE3\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_SQLITE3_VENDORED_TRUE}" && test -z "${USE_SQLITE3_VENDORED_FALSE}"; then + as_fn_error $? "conditional \"USE_SQLITE3_VENDORED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${USE_SQLITE3_TRUE}" && test -z "${USE_SQLITE3_FALSE}"; then + as_fn_error $? "conditional \"USE_SQLITE3\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${USE_SQLITE3_VENDORED_TRUE}" && test -z "${USE_SQLITE3_VENDORED_FALSE}"; then + as_fn_error $? "conditional \"USE_SQLITE3_VENDORED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${USE_SQLITE3_VENDORED_TRUE}" && test -z "${USE_SQLITE3_VENDORED_FALSE}"; then + as_fn_error $? "conditional \"USE_SQLITE3_VENDORED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${USE_SQLITE3_TRUE}" && test -z "${USE_SQLITE3_FALSE}"; then as_fn_error $? "conditional \"USE_SQLITE3\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_SQLITE3_VENDORED_TRUE}" && test -z "${USE_SQLITE3_VENDORED_FALSE}"; then + as_fn_error $? "conditional \"USE_SQLITE3_VENDORED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 @@ -17081,7 +17167,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU GLOBAL $as_me 6.6.6, which was +This file was extended by GNU GLOBAL $as_me 6.6.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17149,7 +17235,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU GLOBAL config.status 6.6.6 +GNU GLOBAL config.status 6.6.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/configure.ac new/global-6.6.8/configure.ac --- old/global-6.6.6/configure.ac 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/configure.ac 2021-12-17 12:39:47.000000000 +0100 @@ -21,7 +21,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see <http://www.gnu.org/licenses/>. dnl -AC_INIT([GNU GLOBAL],[6.6.6]) +AC_INIT([GNU GLOBAL],[6.6.8]) AC_DEFINE(COPYRIGHT_YEAR,["1996-2021"],[Copyright Year]) AC_CONFIG_SRCDIR(global/global.c) AC_CONFIG_HEADERS([config.h:config-h.in]) @@ -217,14 +217,40 @@ dnl AC_MSG_CHECKING(for sqlite3 support) AC_ARG_WITH(sqlite3, -[ --with-sqlite3 use sqlite3 API ], +[ --with-sqlite3[[=DIR]] use sqlite3 API ], [ - #LDFLAGS="$LDFLAGS -lsqlite3" - AC_DEFINE(USE_SQLITE3,1,[Define if you use sqlite3 API.]) - AM_CONDITIONAL(USE_SQLITE3, true) - AC_MSG_RESULT(yes) + if test "$withval" = no; then + AM_CONDITIONAL(USE_SQLITE3, false) + AM_CONDITIONAL(USE_SQLITE3_VENDORED, false) + AC_MSG_RESULT(no) + else + AC_DEFINE(USE_SQLITE3,1,[Define if you use sqlite3 API.]) + AM_CONDITIONAL(USE_SQLITE3, true) + case "$withval" in + ''|yes) + AM_CONDITIONAL(USE_SQLITE3_VENDORED, true) + AC_MSG_RESULT(yes) + ;; + *) + if ! test -d "$withval"; then + AC_MSG_ERROR([directory $withval not found.]) + fi + if ! test -r "$withval/include/sqlite3.h"; then + AC_MSG_ERROR([header $withval/include/sqlite3.h not found.]) + fi + if ! test -r "$withval/lib/libsqlite3.so" && ! test -r "$withval/lib/libsqlite3.dylib"; then + AC_MSG_ERROR([library $withval/lib/libsqlite3.* not found.]) + fi + AM_CONDITIONAL(USE_SQLITE3_VENDORED, false) + AM_CPPFLAGS="$AM_CPPFLAGS -I$withval/include" + LIBS="$LIBS -L$withval/lib -lsqlite3" + AC_MSG_RESULT([yes, using $withval]) + ;; + esac + fi ],[ AM_CONDITIONAL(USE_SQLITE3, false) + AM_CONDITIONAL(USE_SQLITE3_VENDORED, false) AC_MSG_RESULT(no) ]) @@ -379,6 +405,7 @@ AC_SUBST(AM_CPPFLAGS) AC_SUBST(LDADD) AC_SUBST(LDFLAGS) +AC_SUBST(LIBS) dnl dnl The definition of config variable skip and suffixes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/convert.pl new/global-6.6.8/convert.pl --- old/global-6.6.6/convert.pl 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/convert.pl 2021-12-17 12:39:47.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Copyright (c) 2001 Tama Communications Corporation # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/doc/global.info new/global-6.6.8/doc/global.info --- old/global-6.6.6/doc/global.info 2021-05-02 09:40:17.000000000 +0200 +++ new/global-6.6.8/doc/global.info 2021-12-17 12:41:12.000000000 +0100 @@ -23,7 +23,7 @@ GNU Global source code tagging system ************************************* -This manual documents version 6.6.6 of the GNU Global source code +This manual documents version 6.6.8 of the GNU Global source code tagging system. * Menu: @@ -2136,7 +2136,8 @@ '.notfunction' The list of symbols which is not a definition. If this file exists in the project root directory, gtags does not regard the symbols - listed in this file as definitions. + listed in this file as definitions. Lines starting with ';' are + comment lines. ENVIRONMENT ----------- @@ -3857,15 +3858,15 @@ Node: Reference52460 Node: global53162 Node: gtags66660 -Node: htags77026 -Node: htags-server87035 -Node: gozilla89277 -Node: gtags-cscope92029 -Node: globash103581 -Node: gtags.conf104796 -Node: Copying This Manual108683 -Node: GNU Free Documentation License108920 -Node: Index131311 +Node: htags77075 +Node: htags-server87084 +Node: gozilla89326 +Node: gtags-cscope92078 +Node: globash103630 +Node: gtags.conf104845 +Node: Copying This Manual108732 +Node: GNU Free Documentation License108969 +Node: Index131360 End Tag Table diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/doc/gtags.ref new/global-6.6.8/doc/gtags.ref --- old/global-6.6.6/doc/gtags.ref 2021-05-02 09:38:55.000000000 +0200 +++ new/global-6.6.8/doc/gtags.ref 2021-12-17 12:39:49.000000000 +0100 @@ -132,6 +132,8 @@ The list of symbols which is not a definition. If this file exists in the project root directory, gtags does not regard the symbols listed in this file as definitions. +Lines starting with ';' are comment lines. + @end table @unnumberedsubsec ENVIRONMENT The following environment variables affect the execution of gtags: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/doc/stamp-vti new/global-6.6.8/doc/stamp-vti --- old/global-6.6.6/doc/stamp-vti 2021-05-02 09:40:15.000000000 +0200 +++ new/global-6.6.8/doc/stamp-vti 2021-12-17 12:41:10.000000000 +0100 @@ -1,4 +1,4 @@ -@set UPDATED 2 May 2021 -@set UPDATED-MONTH May 2021 -@set EDITION 6.6.6 -@set VERSION 6.6.6 +@set UPDATED 17 December 2021 +@set UPDATED-MONTH December 2021 +@set EDITION 6.6.8 +@set VERSION 6.6.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/doc/version.texi new/global-6.6.8/doc/version.texi --- old/global-6.6.6/doc/version.texi 2021-05-02 09:40:15.000000000 +0200 +++ new/global-6.6.8/doc/version.texi 2021-12-17 12:41:10.000000000 +0100 @@ -1,4 +1,4 @@ -@set UPDATED 2 May 2021 -@set UPDATED-MONTH May 2021 -@set EDITION 6.6.6 -@set VERSION 6.6.6 +@set UPDATED 17 December 2021 +@set UPDATED-MONTH December 2021 +@set EDITION 6.6.8 +@set VERSION 6.6.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/global/global.c new/global-6.6.8/global/global.c --- old/global-6.6.6/global/global.c 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/global/global.c 2021-12-17 12:39:48.000000000 +0100 @@ -148,6 +148,7 @@ char *single_update; char *path_style; char *print_target; +int newline = '\n'; /* * Path filter @@ -791,8 +792,10 @@ xflag = 0; if (nflag > 1) nosource = 1; /* to keep compatibility */ - if (print0) + if (print0) { + newline = '\0'; set_print0(); + } if (cflag && match_part == 0) match_part = MATCH_PART_ALL; /* @@ -1025,7 +1028,7 @@ flags |= GTOP_IGNORECASE; for (gtp = gtags_first(gtop, prefix, flags); gtp; gtp = gtags_next(gtop)) { fputs(gtp->tag, stdout); - fputc('\n', stdout); + fputc(newline, stdout); count++; } if (debug) @@ -1171,7 +1174,8 @@ continue; } *p = '\0'; - puts(line); + fputs(line, stdout); + fputc(newline, stdout); } #if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(__DJGPP__) if (pclose(ip) != 0) @@ -1236,7 +1240,7 @@ gfind_close(gp); for (path = dbop_first(dbop, NULL, NULL, DBOP_KEY); path != NULL; path = dbop_next(dbop)) { fputs(path, stdout); - fputc('\n', stdout); + fputc(newline, stdout); } dbop_close(dbop); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/gtags/gtags.1 new/global-6.6.8/gtags/gtags.1 --- old/global-6.6.6/gtags/gtags.1 2021-05-02 09:38:55.000000000 +0200 +++ new/global-6.6.8/gtags/gtags.1 2021-12-17 12:39:49.000000000 +0100 @@ -158,6 +158,8 @@ The list of symbols which is not a definition. If this file exists in the project root directory, \fBgtags\fP does not regard the symbols listed in this file as definitions. +Lines starting with ';' are comment lines. +.PP .SH ENVIRONMENT The following environment variables affect the execution of \fBgtags\fP: .PP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/gtags/manual.in new/global-6.6.8/gtags/manual.in --- old/global-6.6.6/gtags/manual.in 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/gtags/manual.in 2021-12-17 12:39:47.000000000 +0100 @@ -148,6 +148,8 @@ The list of symbols which is not a definition. If this file exists in the project root directory, @name{gtags} does not regard the symbols listed in this file as definitions. + Lines starting with ';' are comment lines. + @end_itemize @ENVIRONMENT The following environment variables affect the execution of @name{gtags}: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/libdb/Makefile.am new/global-6.6.8/libdb/Makefile.am --- old/global-6.6.6/libdb/Makefile.am 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/libdb/Makefile.am 2021-12-17 12:39:47.000000000 +0100 @@ -16,7 +16,7 @@ SRCS = bt_close.c bt_conv.c bt_debug.c bt_delete.c bt_get.c bt_open.c bt_overflow.c \ bt_page.c bt_put.c bt_search.c bt_seq.c bt_split.c bt_utils.c db.c mpool.c -if USE_SQLITE3 +if USE_SQLITE3_VENDORED INCS += sqlite3.h SRCS += sqlite3.c AM_CPPFLAGS += -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/libdb/Makefile.in new/global-6.6.8/libdb/Makefile.in --- old/global-6.6.6/libdb/Makefile.in 2021-05-02 09:39:09.000000000 +0200 +++ new/global-6.6.8/libdb/Makefile.in 2021-12-17 12:40:04.000000000 +0100 @@ -89,9 +89,9 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_SQLITE3_TRUE@am__append_1 = sqlite3.h -@USE_SQLITE3_TRUE@am__append_2 = sqlite3.c -@USE_SQLITE3_TRUE@am__append_3 = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION +@USE_SQLITE3_VENDORED_TRUE@am__append_1 = sqlite3.h +@USE_SQLITE3_VENDORED_TRUE@am__append_2 = sqlite3.c +@USE_SQLITE3_VENDORED_TRUE@am__append_3 = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION subdir = libdb ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ @@ -117,7 +117,7 @@ bt_delete.c bt_get.c bt_open.c bt_overflow.c bt_page.c \ bt_put.c bt_search.c bt_seq.c bt_split.c bt_utils.c db.c \ mpool.c sqlite3.c -@USE_SQLITE3_TRUE@am__objects_1 = sqlite3.$(OBJEXT) +@USE_SQLITE3_VENDORED_TRUE@am__objects_1 = sqlite3.$(OBJEXT) am__objects_2 = bt_close.$(OBJEXT) bt_conv.$(OBJEXT) \ bt_debug.$(OBJEXT) bt_delete.$(OBJEXT) bt_get.$(OBJEXT) \ bt_open.$(OBJEXT) bt_overflow.$(OBJEXT) bt_page.$(OBJEXT) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/libdb/bt_open.c new/global-6.6.8/libdb/bt_open.c --- old/global-6.6.6/libdb/bt_open.c 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/libdb/bt_open.c 2021-12-17 12:39:47.000000000 +0100 @@ -402,7 +402,9 @@ static int tmp(void) { +#ifndef _WIN32 sigset_t set, oset; +#endif int fd; char *envtmp; char path[1024]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/libparser/parser.c new/global-6.6.8/libparser/parser.c --- old/global-6.6.6/libparser/parser.c 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/libparser/parser.c 2021-12-17 12:39:47.000000000 +0100 @@ -80,8 +80,11 @@ if ((ip = fopen(filename, "r")) == NULL) die("'%s' cannot read.", filename); - for (tablesize = 0; (p = strbuf_fgets(ib, ip, STRBUF_NOCRLF)) != NULL; tablesize++) + for (tablesize = 0; (p = strbuf_fgets(ib, ip, STRBUF_NOCRLF)) != NULL; tablesize++) { + if (*p == ';') /* Lines starting with ';' are comment lines. */ + continue; strbuf_puts0(sb, p); + } fclose(ip); words = (struct words *)check_malloc(sizeof(struct words) * tablesize); /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/libutil/find.c new/global-6.6.8/libutil/find.c --- old/global-6.6.6/libutil/find.c 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/libutil/find.c 2021-12-17 12:39:48.000000000 +0100 @@ -781,7 +781,20 @@ find_read_filelist(void) { STATIC_STRBUF(ib); - static char buf[MAXPATHLEN + 1]; + /* + * The buf has room for one character ' ' in front. + * + * __buf + * +---+---+---+---+ +---+ + * |' '| | | ..... | + * +---+---+---+---+ +---+ + * ^ + * buf + * <--- bufsize ---> + */ + static char __buf[MAXPATHLEN + 2]; + static char *buf = &__buf[1]; + static int bufsize = sizeof(__buf) - 1; static char *path; strbuf_clear(ib); @@ -820,7 +833,7 @@ * rootdir /a/b/ * buf /a/b/c/d.c -> c/d.c -> ./c/d.c */ - if (normalize(path, rootdir, cwddir, buf, sizeof(buf)) == NULL) { + if (normalize(path, rootdir, cwddir, buf, bufsize) == NULL) { warning("'%s' is out of source tree. ignored.", trimpath(path)); continue; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/Makefile.am new/global-6.6.8/plugin-factory/Makefile.am --- old/global-6.6.6/plugin-factory/Makefile.am 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/plugin-factory/Makefile.am 2021-12-17 12:39:47.000000000 +0100 @@ -34,7 +34,8 @@ user_custom_la_LDFLAGS = -module -avoid-version -no-undefined gtagsdir = ${datadir}/gtags -gtags_DATA = PLUGIN_HOWTO PLUGIN_HOWTO.pygments +gtags_DATA = PLUGIN_HOWTO PLUGIN_HOWTO.pygments PLUGIN_HOWTO.reference \ + uctags-scheme.c-diff scriptdir = ${datadir}/gtags/script script_DATA = pygments_parser.py maps2conf.pl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/Makefile.in new/global-6.6.8/plugin-factory/Makefile.in --- old/global-6.6.6/plugin-factory/Makefile.in 2021-05-02 09:39:09.000000000 +0200 +++ new/global-6.6.8/plugin-factory/Makefile.in 2021-12-17 12:40:04.000000000 +0100 @@ -427,7 +427,9 @@ user_custom_la_SOURCES = user-custom.c user_custom_la_LDFLAGS = -module -avoid-version -no-undefined gtagsdir = ${datadir}/gtags -gtags_DATA = PLUGIN_HOWTO PLUGIN_HOWTO.pygments +gtags_DATA = PLUGIN_HOWTO PLUGIN_HOWTO.pygments PLUGIN_HOWTO.reference \ + uctags-scheme.c-diff + scriptdir = ${datadir}/gtags/script script_DATA = pygments_parser.py maps2conf.pl EXTRA_DIST = $(gtags_DATA) ${script_DATA} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/PLUGIN_HOWTO.reference new/global-6.6.8/plugin-factory/PLUGIN_HOWTO.reference --- old/global-6.6.6/plugin-factory/PLUGIN_HOWTO.reference 1970-01-01 01:00:00.000000000 +0100 +++ new/global-6.6.8/plugin-factory/PLUGIN_HOWTO.reference 2021-12-17 12:39:47.000000000 +0100 @@ -0,0 +1,94 @@ +___________________________________ +| | | | | _ | | | +| |___| | | | | _| | | | GNU GLOBAL source code tag system +| | | | | | | | | | +| ~~ | ~~| | ~ | | | ~~| for all hackers. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Copyright (c) 2021 Tama Communications Corporation + + This file is free software; as a special exception the author gives + unlimited permission to copy and/or distribute it, with or without + modifications, as long as this notice is preserved. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY, to the extent permitted by law; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + ---------------------------------- + +How to get Universal Ctags to handle references. + +Traditionally ctags collects definitions. In addition Universal Ctags (*1) +supports reference tags. However, the current parsers don't yet use this feature. + + *1 [https://github.com/universal-ctags/ctags] + +This little description is a guide for writing parsers for Universal Ctags +to handle references. It is of course also available from GNU Global. +I selected Scheme parser as an example, since it is very simple. + +1. When using the current parser + +Suppose you have a source file of Scheme language that looks like this: + +[a.scm] ++-------------------------------------------------------------- +|(define a 'aaa') +|(set! a 'bbb') +|(set! b 'bbb') + +You can treat Scheme source code by using Universal Ctags plugin parser. +Global(1) will show the following output. + +$ gtags +$ global -x a +a 1 a.scm (define a 'aaa') +a 2 a.scm (set! a 'bbb') +$ global -x a -r +$ global -x a -s +$ global -x b +b 3 a.scm (set! b 'bbb') +$ global -x b -r +$ global -x b -s + + +2. Changing the parser to treat references + +There is no problem in the above example. But for now, let's change the parser +to treat '(set! a ...)' as a reference for 'a' (*2). + + *2 I'm not claiming that '(set! a ...)' should be considered a reference. + It is just an example. + +I made a patch 'uctags-scheme.c-diff' for 'parsers/scheme.c'. Please apply +this patch to Universal Ctags like this: + + (In the root directory of Universal Ctags) + $ patch parsers/scheme.c /usr/local/share/gtags/uctags-scheme.c-diff + +Using the patched Universal Ctags, you will see the following output. + +$ gtags +$ global -x a +a 1 a.scm (define a 'aaa') <- as a definition +$ global -x a -r +a 2 a.scm (set! a 'bbb') <- as a reference +$ global -x a -s +$ global -x b +$ global -x b -r +$ global -x b -s +b 3 a.scm (set! b 'bbb') <- as an other symbol + +You can handle references in any language in the same way. +Basically, Global works fine if you follow the algorithm below: + +foreach (symbols as symbol) { + if (symbol is a reverved word) + continue; + else if (symbol is a definition) + call makeSimpleTag(); + else + call makeSimpleRefTag(); +} + +For details, please refer to the manual of Universal Ctags. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/exuberant-ctags.c new/global-6.6.8/plugin-factory/exuberant-ctags.c --- old/global-6.6.6/plugin-factory/exuberant-ctags.c 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/plugin-factory/exuberant-ctags.c 2021-12-17 12:39:47.000000000 +0100 @@ -152,8 +152,8 @@ CloseHandle(ipipe[1]); CloseHandle(pi.hThread); pid = pi.hProcess; - op = fdopen(_open_osfhandle((long)opipe[1], _O_WRONLY), "w"); - ip = fdopen(_open_osfhandle((long)ipipe[0], _O_RDONLY), "r"); + op = fdopen(_open_osfhandle((intptr_t)opipe[1], _O_WRONLY), "w"); + ip = fdopen(_open_osfhandle((intptr_t)ipipe[0], _O_RDONLY), "r"); if (ip == NULL || op == NULL) param->die("fdopen failed."); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/pygments-parser.c new/global-6.6.8/plugin-factory/pygments-parser.c --- old/global-6.6.6/plugin-factory/pygments-parser.c 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/plugin-factory/pygments-parser.c 2021-12-17 12:39:47.000000000 +0100 @@ -131,8 +131,8 @@ CloseHandle(ipipe[1]); CloseHandle(pi.hThread); pid = pi.hProcess; - op = fdopen(_open_osfhandle((long)opipe[1], _O_WRONLY), "w"); - ip = fdopen(_open_osfhandle((long)ipipe[0], _O_RDONLY), "r"); + op = fdopen(_open_osfhandle((intptr_t)opipe[1], _O_WRONLY), "w"); + ip = fdopen(_open_osfhandle((intptr_t)ipipe[0], _O_RDONLY), "r"); if (ip == NULL || op == NULL) param->die("fdopen failed."); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/pygments_parser.py new/global-6.6.8/plugin-factory/pygments_parser.py --- old/global-6.6.6/plugin-factory/pygments_parser.py 2021-05-02 09:39:41.000000000 +0200 +++ new/global-6.6.8/plugin-factory/pygments_parser.py 2021-12-17 12:40:34.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/opt/local/bin/python # # Copyright (c) 2014 # Yoshitaro Makise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/pygments_parser.py.in new/global-6.6.8/plugin-factory/pygments_parser.py.in --- old/global-6.6.6/plugin-factory/pygments_parser.py.in 2021-05-02 09:38:53.000000000 +0200 +++ new/global-6.6.8/plugin-factory/pygments_parser.py.in 2021-12-17 12:39:47.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!@PYTHON@ # # Copyright (c) 2014 # Yoshitaro Makise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/global-6.6.6/plugin-factory/uctags-scheme.c-diff new/global-6.6.8/plugin-factory/uctags-scheme.c-diff --- old/global-6.6.6/plugin-factory/uctags-scheme.c-diff 1970-01-01 01:00:00.000000000 +0100 +++ new/global-6.6.8/plugin-factory/uctags-scheme.c-diff 2021-12-17 12:39:47.000000000 +0100 @@ -0,0 +1,57 @@ +/* + * This is a patch file for Universal Ctags [https://github.com/universal-ctags/ctags] + * to treat references in Scheme source files. + * + * This file is placed into the public domain by the author, + * Shigio Yamaguchi <[email protected]> + */ + +diff -c parsers/scheme.c-org parsers/scheme.c +*** parsers/scheme.c-org 2021-12-10 02:08:47.000000000 +0900 +--- parsers/scheme.c 2021-12-13 21:50:00.000000000 +0900 +*************** +*** 27,35 **** + K_FUNCTION, K_SET + } schemeKind; + + static kindDefinition SchemeKinds [] = { +! { true, 'f', "function", "functions" }, +! { true, 's', "set", "sets" } + }; + + /* +--- 27,43 ---- + K_FUNCTION, K_SET + } schemeKind; + ++ typedef enum { ++ R_SCHEME_GENERIC, ++ } schemeRole; ++ ++ static roleDefinition SchemeRoles [] = { ++ { true, "generic", "generic" }, ++ }; ++ + static kindDefinition SchemeKinds [] = { +! { true, 'f', "function", "functions", false}, +! { true, 's', "set", "sets", false, ATTACH_ROLES(SchemeRoles)}, + }; + + /* +*************** +*** 102,108 **** + if (line == NULL) + break; + readIdentifier (name, cp); +! makeSimpleTag (name, K_SET); + } + } + vStringDelete (name); +--- 110,116 ---- + if (line == NULL) + break; + readIdentifier (name, cp); +! makeSimpleRefTag(name, K_SET, R_SCHEME_GENERIC); + } + } + vStringDelete (name);
