Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package global for openSUSE:Factory checked in at 2024-07-11 20:29:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/global (Old) and /work/SRC/openSUSE:Factory/.global.new.17339 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "global" Thu Jul 11 20:29:52 2024 rev:65 rq:1186510 version:6.6.13 Changes: -------- --- /work/SRC/openSUSE:Factory/global/global.changes 2024-05-01 14:57:38.588500861 +0200 +++ /work/SRC/openSUSE:Factory/.global.new.17339/global.changes 2024-07-11 20:30:10.946270318 +0200 @@ -1,0 +2,11 @@ +Sun Jul 7 06:42:21 UTC 2024 - Andreas Stieger <andreas.stie...@gmx.de> + +- update to 6.6.13: + * CVE-2024-38448: htags may allow code execution via untrusted + dbpath (boo#1226420) +- includes changes from 6.6.12: + * Add new option 'limit' for the --completion command + * Fix segfault in global -c command with the --from-here option + * htags: fix failures in large environments + +------------------------------------------------------------------- Old: ---- global-6.6.11.tar.gz global-6.6.11.tar.gz.sig New: ---- global-6.6.13.tar.gz global-6.6.13.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ global.spec ++++++ --- /var/tmp/diff_new_pack.1piZJQ/_old 2024-07-11 20:30:11.446288796 +0200 +++ /var/tmp/diff_new_pack.1piZJQ/_new 2024-07-11 20:30:11.450288944 +0200 @@ -2,6 +2,7 @@ # spec file for package global # # Copyright (c) 2024 SUSE LLC +# Copyright (c) 2024 Andreas Stieger <andreas.stie...@gmx.de> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +18,7 @@ Name: global -Version: 6.6.11 +Version: 6.6.13 Release: 0 Summary: Common source code tag system License: GPL-3.0-only @@ -50,7 +51,7 @@ subdirectories or many main() functions like MH, X, or Linux kernel. %prep -%autosetup -p0 +%autosetup -p1 %build autoreconf -fiv @@ -71,7 +72,11 @@ mv %{buildroot}/%{_docdir}/%{name}/gtags.conf %{buildroot}%{_sysconfdir}/ rm -rf %{buildroot}/%{_docdir}/%{name}/INSTALL -%if %{suse_version} >= 1600 +# installed via %%license +rm -v %{buildroot}/%{_docdir}/%{name}/COPYING* +rm -v %{buildroot}/%{_docdir}/%{name}/LICENSE + +%if 0%{?suse_version} >= 1600 %python3_fix_shebang_path %{buildroot}%{_datadir}/gtags/script/pygments_parser.py %endif @@ -81,11 +86,21 @@ %fdupes -s %{buildroot} +%check +%make_build check + %files +%license COPYING COPYING.LIB LICENSE +%{_bindir}/global +%{_bindir}/globash +%{_bindir}/gozilla +%{_bindir}/gtags +%{_bindir}/gtags-cscope +%{_bindir}/htags +%{_bindir}/htags-server %dir %{_datadir}/emacs %dir %{_datadir}/emacs/site-lisp %config(noreplace) %{_sysconfdir}/gtags.conf -%{_bindir}/* %doc %{_docdir}/%{name} %{_mandir}/man*/*%{?ext_man} %{_infodir}/global.info%{?ext_info} ++++++ fix_paths.patch ++++++ --- /var/tmp/diff_new_pack.1piZJQ/_old 2024-07-11 20:30:11.474289831 +0200 +++ /var/tmp/diff_new_pack.1piZJQ/_new 2024-07-11 20:30:11.478289979 +0200 @@ -1,7 +1,7 @@ -Index: gtags.conf.in +Index: global-6.6.13/gtags.conf.in =================================================================== ---- gtags.conf.in.orig -+++ gtags.conf.in +--- global-6.6.13.orig/gtags.conf.in ++++ global-6.6.13/gtags.conf.in @@ -77,7 +77,7 @@ builtin-parser:\ user-custom|User custom plugin parser:\ :tc=common:\ @@ -32,7 +32,7 @@ @@ -370,7 +370,7 @@ universal-ctags|setting to use Universal pygments-parser|Pygments plug-in parser:\ :tc=common:\ - :ctagscom=@EXUBERANT_CTAGS@:\ + :ctagscom=@UNIVERSAL_CTAGS@:\ - :pygmentslib=$libdir/gtags/pygments-parser.la:\ + :pygmentslib=@libdir@/gtags/pygments-parser.la:\ :langmap=ABAP\:.abap:\ ++++++ global-5.7.diff ++++++ --- /var/tmp/diff_new_pack.1piZJQ/_old 2024-07-11 20:30:11.494290570 +0200 +++ /var/tmp/diff_new_pack.1piZJQ/_new 2024-07-11 20:30:11.498290718 +0200 @@ -2,11 +2,11 @@ Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: Makefile.am +Index: global-6.6.13/Makefile.am =================================================================== ---- Makefile.am.orig -+++ Makefile.am -@@ -20,7 +20,7 @@ if USE_GTAGSCSCOPE +--- global-6.6.13.orig/Makefile.am ++++ global-6.6.13/Makefile.am +@@ -21,7 +21,7 @@ if USE_GTAGSCSCOPE SUBDIRS += gtags-cscope endif ++++++ global-6.6.11.tar.gz -> global-6.6.13.tar.gz ++++++ ++++ 8274 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/BUILD_TOOLS new/global-6.6.13/BUILD_TOOLS --- old/global-6.6.11/BUILD_TOOLS 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/BUILD_TOOLS 2024-07-02 02:03:49.000000000 +0200 @@ -1,6 +1,6 @@ This software was made using the following build tools: -autoconf (GNU Autoconf) 2.71 +autoconf (GNU Autoconf) 2.72 automake (GNU automake) 1.16.5 bison (GNU Bison) 3.8.2 flex 2.6.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/ChangeLog new/global-6.6.13/ChangeLog --- old/global-6.6.11/ChangeLog 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/ChangeLog 2024-07-02 02:03:49.000000000 +0200 @@ -19,6 +19,63 @@ ChangeLog about GNU GLOBAL +June 6 2024, Shigio YAMAGUCHI + + [plugin-factory/pygments_parser.py.in] + All regular expressions using '\' were made literal with 'r' flag. + '\s' -> r'\s' + + Python 3.6 and later considers \s an invalid escape sequence + (DeprecationWarnings). But DeprecationWarnings are silenced by default. + Python 3.12 and later displays it as a SyntaxWarning by default. + + [test.py] + +------------- + |print('\s') + +------------- + + $ python3.11 test.py + \s + $ python3.12 test.py + /***/***/test.py:1: SyntaxWarning: invalid escape sequence '\s' + print('\s') + \s + +April 23 2024, Shigio YAMAGUCHI + + [plugin-factory/Makefile.am] + Added '-shared' option to XXXX_la_LDFLAGS not to install static library. + +March 4 2024, Shigio YAMAGUCHI + + Changed the limit values in libutil/xargs.c. + + UNIX: Changed the limit value as follows: + if (limit > 20 * 1024) + limit = 20 * 1024; + | + v + if (limit > 128 * 1024) + limit = 128 * 1024; + This value is due to xargs in GNU findutils-4.9.0. + + WIN32: Changed the limit value from 2047 to 8191. + +December 14 2023, Shigo YAMAGUCHI + + Now Pygments plug-in parser uses Universal Ctags instead of Exuberant Ctags. + Please note the following descriptions: + + [gtags.conf.in] + pygments-parser|Pygments plug-in parser:\ + ... + :ctagscom=@UNIVERSAL_CTAGS@:\ <=== + [plugin-factory/pygments_parser.py.in] + UNIVERSAL_CTAGS = "@UNIVERSAL_CTAGS@" <=== + + This means you have to do the following configuration to use Pygments. + $ ./configure --with-universal-ctags=... + November 19 2023, Shigo YAMAGUCHI [plugin-factory/PLUGIN_HOWTO.pygments] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/NEWS new/global-6.6.13/NEWS --- old/global-6.6.11/NEWS 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/NEWS 2024-07-02 02:03:49.000000000 +0200 @@ -19,7 +19,61 @@ GNU Global NEWS - User visible changes. At least, you should search '[INCOMPATIBLE CHANGES]' for each version. -Version 6.6.11 - Novembe 20 2023 +Version 6.6.13 - July 2 2024 + +[FIXED BUGS] +o htags: took the input provided in the dbpath option (-d) and + appended it to a command string that will later be executed by + system() function, without any escaping, leading to a command + injection vulnerability (CVE-2024-38448). + + $ rm -f /tmp/w + $ htags -g -q -d '$(pwd>/tmp/w)' + $ cat /tmp/w + /tmp/global/htags + + Now it just outputs an error: + + $ rm -f /tmp/w + $ htags -g -q -d '$(pwd>/tmp/w)' + gtags: directory '/tmp/global/htags/$(pwd>' not found. + $ cat /tmp/w + cat: /tmp/w: No such file or directory + +o gtags: Pygments plug-in parser with Python3 does not work, + if 'ctagscom' is not set. If it is not set, default path obtained + by configure script should be used. + + $ cat > gtags.conf + default:\ + :ctagscom=:\ + :langmap=C\:.c.h:\ + :gtags_parser=C\:/usr/local/lib/gtags/pygments-parser.la: + $ gtags + $ global -x '.*' + $ _ # no tags + + Now it works. + +Version 6.6.12 - March 5 2024 + +[CHANGES] +global: Added new option 'limit' for the --completion command. + If limit option is given, print up to the limit lines. + $ global --completion=100 -P lib + +[FIXED BUGS] +o global: The -c command with the --from-here option brings segmentation fault. + $ global -c --from-here='158:libutil/find.c' + Now it works (--from-here is ignored). + +o htags: If the environment happens to be large, it fails with an obscure + error message: + $ htags ... + htags: Negative exec line limit = -80951 + Now it mostly works since the limit has been loosened. + +Version 6.6.11 - November 20 2023 [CHANGE IN SUPPORT STATUS] Exuberant Ctags as a plug-in parser is no longer supported. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/THANKS new/global-6.6.13/THANKS --- old/global-6.6.11/THANKS 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/THANKS 2024-07-02 02:03:49.000000000 +0200 @@ -48,6 +48,7 @@ Motoki NODA bug fix patch for 'global -xsi xxx'. Daisuke Kawahara bug report about redefinition in gtags.el. Dan Fandrich port to Windows 32 environment. +Daniel Watson suggestion to add a 'r' prefix to all regular expressions. Darryl Okahata benchmark report about global(1). David Aspinwall port to Cygwin 32 environment. David Brownlee advice about fine coding style of C. @@ -121,6 +122,7 @@ Marcello Nuccio bug report about globash.rc. Marco Corvi advice about Digital Unix 4.0C. Marcus Harnisch suggestion about the --skip-unreadable option of gtags(1). + bug report about pygments plug-in parser with python3. Marius Gedminas bug report and fix patch for htags(1). Mark Nudelman Global tag support on less(1). Marty Leisner advice about --version option and some bug reports. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/config-h.in new/global-6.6.13/config-h.in --- old/global-6.6.11/config-h.in 2023-11-20 10:02:33.000000000 +0100 +++ new/global-6.6.13/config-h.in 2024-07-02 02:03:55.000000000 +0200 @@ -21,47 +21,47 @@ /* Define to 1 if <alloca.h> works. */ #undef HAVE_ALLOCA_H -/* Define to 1 if you have the `argz_add' function. */ +/* Define to 1 if you have the 'argz_add' function. */ #undef HAVE_ARGZ_ADD -/* Define to 1 if you have the `argz_append' function. */ +/* Define to 1 if you have the 'argz_append' function. */ #undef HAVE_ARGZ_APPEND -/* Define to 1 if you have the `argz_count' function. */ +/* Define to 1 if you have the 'argz_count' function. */ #undef HAVE_ARGZ_COUNT -/* Define to 1 if you have the `argz_create_sep' function. */ +/* Define to 1 if you have the 'argz_create_sep' function. */ #undef HAVE_ARGZ_CREATE_SEP /* Define to 1 if you have the <argz.h> header file. */ #undef HAVE_ARGZ_H -/* Define to 1 if you have the `argz_insert' function. */ +/* Define to 1 if you have the 'argz_insert' function. */ #undef HAVE_ARGZ_INSERT -/* Define to 1 if you have the `argz_next' function. */ +/* Define to 1 if you have the 'argz_next' function. */ #undef HAVE_ARGZ_NEXT -/* Define to 1 if you have the `argz_stringify' function. */ +/* Define to 1 if you have the 'argz_stringify' function. */ #undef HAVE_ARGZ_STRINGIFY -/* Define to 1 if you have the `bcmp' function. */ +/* Define to 1 if you have the 'bcmp' function. */ #undef HAVE_BCMP -/* Define to 1 if you have the `bcopy' function. */ +/* Define to 1 if you have the 'bcopy' function. */ #undef HAVE_BCOPY -/* Define to 1 if you have the `bzero' function. */ +/* Define to 1 if you have the 'bzero' function. */ #undef HAVE_BZERO -/* Define to 1 if you have the `closedir' function. */ +/* Define to 1 if you have the 'closedir' function. */ #undef HAVE_CLOSEDIR -/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if +/* Define to 1 if you have the declaration of 'cygwin_conv_path', and to 0 if you don't. */ #undef HAVE_DECL_CYGWIN_CONV_PATH -/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. +/* Define to 1 if you have the <dirent.h> header file, and it defines 'DIR'. */ #undef HAVE_DIRENT_H @@ -71,7 +71,7 @@ /* Define to 1 if you have the <dld.h> header file. */ #undef HAVE_DLD_H -/* Define to 1 if you have the `dlerror' function. */ +/* Define to 1 if you have the 'dlerror' function. */ #undef HAVE_DLERROR /* Define to 1 if you have the <dlfcn.h> header file. */ @@ -83,34 +83,34 @@ /* Define if you have the _dyld_func_lookup function. */ #undef HAVE_DYLD -/* Define to 1 if the system has the type `error_t'. */ +/* Define to 1 if the system has the type 'error_t'. */ #undef HAVE_ERROR_T /* Define to 1 if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H -/* Define to 1 if you have the `fixkeypad' function. */ +/* Define to 1 if you have the 'fixkeypad' function. */ #undef HAVE_FIXKEYPAD -/* Define to 1 if you have the `getcwd' function. */ +/* Define to 1 if you have the 'getcwd' function. */ #undef HAVE_GETCWD -/* Define to 1 if you have the `getc_unlocked' function. */ +/* Define to 1 if you have the 'getc_unlocked' function. */ #undef HAVE_GETC_UNLOCKED -/* Define to 1 if you have the `getpagesize' function. */ +/* Define to 1 if you have the 'getpagesize' function. */ #undef HAVE_GETPAGESIZE -/* Define to 1 if you have the `getrusage' function. */ +/* Define to 1 if you have the 'getrusage' function. */ #undef HAVE_GETRUSAGE -/* Define to 1 if you have the `gettimeofday' function. */ +/* Define to 1 if you have the 'gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define if you use home-etc facility. */ #undef HAVE_HOME_ETC_H -/* Define to 1 if you have the `index' function. */ +/* Define to 1 if you have the 'index' function. */ #undef HAVE_INDEX /* Define to 1 if you have the <inttypes.h> header file. */ @@ -125,7 +125,7 @@ /* Define to 1 if you have the <limits.h> header file. */ #undef HAVE_LIMITS_H -/* Define to 1 if you have the `lstat' function. */ +/* Define to 1 if you have the 'lstat' function. */ #undef HAVE_LSTAT /* Define this if a modern libltdl is already installed */ @@ -134,46 +134,46 @@ /* Define to 1 if you have the <mach-o/dyld.h> header file. */ #undef HAVE_MACH_O_DYLD_H -/* Define to 1 if you have the `memcmp' function. */ +/* Define to 1 if you have the 'memcmp' function. */ #undef HAVE_MEMCMP -/* Define to 1 if you have the `memmove' function. */ +/* Define to 1 if you have the 'memmove' function. */ #undef HAVE_MEMMOVE -/* Define to 1 if you have the `memset' function. */ +/* Define to 1 if you have the 'memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the <minix/config.h> header file. */ #undef HAVE_MINIX_CONFIG_H -/* Define to 1 if you have a working `mmap' system call. */ +/* Define to 1 if you have a working 'mmap' system call. */ #undef HAVE_MMAP -/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ +/* Define to 1 if you have the <ndir.h> header file, and it defines 'DIR'. */ #undef HAVE_NDIR_H -/* Define to 1 if you have the `opendir' function. */ +/* Define to 1 if you have the 'opendir' function. */ #undef HAVE_OPENDIR -/* Define to 1 if you have the `pread' function. */ +/* Define to 1 if you have the 'pread' function. */ #undef HAVE_PREAD /* Define if libtool can extract symbol lists from object files. */ #undef HAVE_PRELOADED_SYMBOLS -/* Define to 1 if you have the `putc_unlocked' function. */ +/* Define to 1 if you have the 'putc_unlocked' function. */ #undef HAVE_PUTC_UNLOCKED -/* Define to 1 if you have the `putenv' function. */ +/* Define to 1 if you have the 'putenv' function. */ #undef HAVE_PUTENV -/* Define to 1 if you have the `pwrite' function. */ +/* Define to 1 if you have the 'pwrite' function. */ #undef HAVE_PWRITE -/* Define to 1 if you have the `readdir' function. */ +/* Define to 1 if you have the 'readdir' function. */ #undef HAVE_READDIR -/* Define to 1 if you have the `rindex' function. */ +/* Define to 1 if you have the 'rindex' function. */ #undef HAVE_RINDEX /* Define if you have the shl_load function. */ @@ -182,7 +182,7 @@ /* Define if we have sigsetjmp(). */ #undef HAVE_SIGSETJMP -/* Define to 1 if you have the `snprintf' function. */ +/* Define to 1 if you have the 'snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the <stdarg.h> header file. */ @@ -197,13 +197,13 @@ /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strchr' function. */ +/* Define to 1 if you have the 'strchr' function. */ #undef HAVE_STRCHR -/* Define to 1 if you have the `strerror' function. */ +/* Define to 1 if you have the 'strerror' function. */ #undef HAVE_STRERROR -/* Define to 1 if you have the `strftime' function. */ +/* Define to 1 if you have the 'strftime' function. */ #undef HAVE_STRFTIME /* Define to 1 if you have the <strings.h> header file. */ @@ -212,26 +212,26 @@ /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the `strlcat' function. */ +/* Define to 1 if you have the 'strlcat' function. */ #undef HAVE_STRLCAT -/* Define to 1 if you have the `strlcpy' function. */ +/* Define to 1 if you have the 'strlcpy' function. */ #undef HAVE_STRLCPY -/* Define to 1 if you have the `strrchr' function. */ +/* Define to 1 if you have the 'strrchr' function. */ #undef HAVE_STRRCHR -/* Define to 1 if `st_blksize' is a member of `struct stat'. */ +/* Define to 1 if 'st_blksize' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLKSIZE -/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. +/* Define to 1 if you have the <sys/dir.h> header file, and it defines 'DIR'. */ #undef HAVE_SYS_DIR_H /* Define to 1 if you have the <sys/dl.h> header file. */ #undef HAVE_SYS_DL_H -/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines 'DIR'. */ #undef HAVE_SYS_NDIR_H @@ -321,19 +321,19 @@ /* POSIX sort program. */ #undef POSIX_SORT -/* Define as the return type of signal handlers (`int' or `void'). */ +/* Define as the return type of signal handlers ('int' or 'void'). */ #undef RETSIGTYPE /* Define if you want to turn on SCO-specific code */ #undef SCO_FLAVOR -/* The size of `char', as computed by sizeof. */ +/* The size of 'char', as computed by sizeof. */ #undef SIZEOF_CHAR -/* The size of `int', as computed by sizeof. */ +/* The size of 'int', as computed by sizeof. */ #undef SIZEOF_INT -/* The size of `short', as computed by sizeof. */ +/* The size of 'short', as computed by sizeof. */ #undef SIZEOF_SHORT /* If using the C implementation of alloca, define if you know the @@ -344,10 +344,10 @@ STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION -/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ +/* Define to 1 if the 'S_IS*' macros in <sys/stat.h> do not work properly. */ #undef STAT_MACROS_BROKEN -/* Define to 1 if all of the C90 standard headers exist (not just the ones +/* Define to 1 if all of the C89 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS @@ -371,7 +371,7 @@ /* Use SunOS SysV curses? */ #undef USE_SUNOS_CURSES -/* Enable extensions on AIX 3, Interix. */ +/* Enable extensions on AIX, Interix, z/OS. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif @@ -432,11 +432,15 @@ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif +/* Enable extensions specified by C23 Annex F. */ +#ifndef __STDC_WANT_IEC_60559_EXT__ +# undef __STDC_WANT_IEC_60559_EXT__ +#endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #endif -/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif @@ -483,7 +487,7 @@ /* Define to `char *' if <sys/types.h> does not define. */ #undef caddr_t -/* Define to empty if `const' does not conform to ANSI C. */ +/* Define to empty if 'const' does not conform to ANSI C. */ #undef const /* Define to a type to use for 'error_t' if it is not otherwise available. */ @@ -498,16 +502,16 @@ /* Define to `signed char' if <sys/types.h> does not define. */ #undef int8_t -/* Define to `int' if <sys/types.h> does not define. */ +/* Define to 'int' if <sys/types.h> does not define. */ #undef mode_t -/* Define to `long int' if <sys/types.h> does not define. */ +/* Define to 'long int' if <sys/types.h> does not define. */ #undef off_t /* Define as a signed integer type capable of holding a process identifier. */ #undef pid_t -/* Define to `unsigned int' if <sys/types.h> does not define. */ +/* Define as 'unsigned int' if <stddef.h> doesn't define. */ #undef size_t /* Define to `int' if <sys/types.h> does not define. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/configure.ac new/global-6.6.13/configure.ac --- old/global-6.6.11/configure.ac 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/configure.ac 2024-07-02 02:03:49.000000000 +0200 @@ -21,8 +21,8 @@ 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.11]) -AC_DEFINE(COPYRIGHT_YEAR,["1996-2023"],[Copyright Year]) +AC_INIT([GNU Global],[6.6.13]) +AC_DEFINE(COPYRIGHT_YEAR,["1996-2024"],[Copyright Year]) AC_CONFIG_SRCDIR(global/global.c) AC_CONFIG_HEADERS([config.h:config-h.in]) AC_CONFIG_MACRO_DIRS([m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/doc/global.info new/global-6.6.13/doc/global.info --- old/global-6.6.11/doc/global.info 2023-11-20 10:03:46.000000000 +0100 +++ new/global-6.6.13/doc/global.info 2024-07-02 02:04:27.000000000 +0200 @@ -23,7 +23,7 @@ GNU Global source code tagging system ************************************* -This manual documents version 6.6.11 of the GNU Global source code +This manual documents version 6.6.13 of the GNU Global source code tagging system. * Menu: @@ -1655,7 +1655,7 @@ -------- global [-adEFGilMnNqrstTvx][-S dir][-e] pattern - global -c[dFiIMoOPrsT] prefix + global -c[dFiIMoOPqrsTv] prefix global -f[adlnqrstvx][-L file-list][-S dir] files global -g[aEGilMnoOqtvVx][-L file-list][-S dir][-e] pattern [files] global -I[ailMnqtvx][-S dir][-e] pattern @@ -1690,9 +1690,9 @@ <no command> pattern No command means tag search command. Print tags which match to pattern. By default, print definition tags. -â-câ, â--completionâ [prefix] +â-câ, â--completion[=limit]â [prefix] Print symbols which start with prefix. If prefix is not given, - print all symbols. + print all symbols. If limit is given, print up to limit lines. â-fâ, â--fileâ files Print all tags in the files. This command implies the â-xâ option. â-gâ, â--grepâ pattern [files] @@ -2050,10 +2050,9 @@ it on the command line directly. â--configâ[=name] Print the value of config variable name. If name is not specified - then print all names and values. In addition to the variables - listed in the ENVIRONMENT section, you can refer to install - directories by read only variables: BINDIR, LIBDIR, DATADIR, - LOCALSTATEDIR and SYSCONFDIR. + then print all names and values. Additionally, you can refer to + the directory name where the system is installed as read only + variables: BINDIR, LIBDIR, DATADIR, LOCALSTATEDIR and SYSCONFDIR. â-dâ, â--dumpâ tag-file Dump a tag file as text to the standard output. Output format is 'key<tab>data'. This is for debugging. @@ -2803,7 +2802,7 @@ SYNOPSIS -------- - gtags-cscope [-bCdehLlVv][-F file ][-012345678 pattern][-p n] + gtags-cscope [-abCdehilLvV][-F file ][-012345678 pattern][-p n] DESCRIPTION ----------- @@ -3029,8 +3028,8 @@ gtags-cscope will quit when it detects end-of-file, or when the first character of an input line is â^dâ or âqâ. -ENVIRONMENT VARIABLES ---------------------- +ENVIRONMENT +----------- The following environment variables are of cscope origin. @@ -3875,16 +3874,16 @@ Node: Incremental updating52206 Node: Reference53394 Node: global54096 -Node: gtags68274 -Node: htags79593 -Node: htags-server90134 -Node: gozilla92404 -Node: gtags-cscope95224 -Node: globash107076 -Node: gtags.conf108315 -Node: Copying This Manual112262 -Node: GNU Free Documentation License112499 -Node: Index134893 +Node: gtags68329 +Node: htags79622 +Node: htags-server90163 +Node: gozilla92433 +Node: gtags-cscope95253 +Node: globash107087 +Node: gtags.conf108326 +Node: Copying This Manual112273 +Node: GNU Free Documentation License112510 +Node: Index134904 End Tag Table diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/doc/global.ref new/global-6.6.13/doc/global.ref --- old/global-6.6.11/doc/global.ref 2023-11-20 10:02:14.000000000 +0100 +++ new/global-6.6.13/doc/global.ref 2024-07-02 02:03:49.000000000 +0200 @@ -4,7 +4,7 @@ @unnumberedsubsec SYNOPSIS @quotation global [-adEFGilMnNqrstTvx][-S dir][-e] pattern@* -global -c[dFiIMoOPrsT] prefix@* +global -c[dFiIMoOPqrsTv] prefix@* global -f[adlnqrstvx][-L file-list][-S dir] files@* global -g[aEGilMnoOqtvVx][-L file-list][-S dir][-e] pattern [files]@* global -I[ailMnqtvx][-S dir][-e] pattern@* @@ -39,9 +39,10 @@ No command means tag search command. Print tags which match to pattern. By default, print definition tags. -@item @samp{-c}, @samp{--completion} [prefix] +@item @samp{-c}, @samp{--completion[=limit]} [prefix] Print symbols which start with prefix. If prefix is not given, print all symbols. +If limit is given, print up to limit lines. @item @samp{-f}, @samp{--file} files Print all tags in the files. This command implies the @samp{-x} option. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/doc/gtags-cscope.ref new/global-6.6.13/doc/gtags-cscope.ref --- old/global-6.6.11/doc/gtags-cscope.ref 2023-11-20 10:02:15.000000000 +0100 +++ new/global-6.6.13/doc/gtags-cscope.ref 2024-07-02 02:03:49.000000000 +0200 @@ -3,7 +3,7 @@ gtags-cscope - interactively examine a C program @unnumberedsubsec SYNOPSIS @quotation -gtags-cscope [-bCdehLlVv][-F file ][-012345678 pattern][-p n]@* +gtags-cscope [-abCdehilLvV][-F file ][-012345678 pattern][-p n]@* @end quotation @unnumberedsubsec DESCRIPTION gtags-cscope is an interactive, screen-oriented tool that allows the user to @@ -232,7 +232,7 @@ gtags-cscope will quit when it detects end-of-file, or when the first character of an input line is @kbd{^d} or @kbd{q}. -@unnumberedsubsec ENVIRONMENT VARIABLES +@unnumberedsubsec ENVIRONMENT The following environment variables are of cscope origin. @table @asis diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/doc/gtags.ref new/global-6.6.13/doc/gtags.ref --- old/global-6.6.11/doc/gtags.ref 2023-11-20 10:02:14.000000000 +0100 +++ new/global-6.6.13/doc/gtags.ref 2024-07-02 02:03:49.000000000 +0200 @@ -43,8 +43,8 @@ @item @samp{--config}[=name] Print the value of config variable name. If name is not specified then print all names and values. -In addition to the variables listed in the ENVIRONMENT section, -you can refer to install directories by read only variables: +Additionally, you can refer to the directory name where the system +is installed as read only variables: @var{bindir}, @var{libdir}, @var{datadir}, @var{localstatedir} and @var{sysconfdir}. @item @samp{-d}, @samp{--dump} tag-file Dump a tag file as text to the standard output. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/doc/stamp-vti new/global-6.6.13/doc/stamp-vti --- old/global-6.6.11/doc/stamp-vti 2023-11-20 10:03:44.000000000 +0100 +++ new/global-6.6.13/doc/stamp-vti 2024-07-02 02:04:26.000000000 +0200 @@ -1,4 +1,4 @@ -@set UPDATED 20 November 2023 -@set UPDATED-MONTH November 2023 -@set EDITION 6.6.11 -@set VERSION 6.6.11 +@set UPDATED 2 July 2024 +@set UPDATED-MONTH July 2024 +@set EDITION 6.6.13 +@set VERSION 6.6.13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/doc/version.texi new/global-6.6.13/doc/version.texi --- old/global-6.6.11/doc/version.texi 2023-11-20 10:03:44.000000000 +0100 +++ new/global-6.6.13/doc/version.texi 2024-07-02 02:04:26.000000000 +0200 @@ -1,4 +1,4 @@ -@set UPDATED 20 November 2023 -@set UPDATED-MONTH November 2023 -@set EDITION 6.6.11 -@set VERSION 6.6.11 +@set UPDATED 2 July 2024 +@set UPDATED-MONTH July 2024 +@set EDITION 6.6.13 +@set VERSION 6.6.13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/global/const.h new/global-6.6.13/global/const.h --- old/global-6.6.11/global/const.h 2023-11-20 10:02:14.000000000 +0100 +++ new/global-6.6.13/global/const.h 2024-07-02 02:03:49.000000000 +0200 @@ -1,7 +1,7 @@ /* This file is generated automatically by convert.pl from global/manual.in. */ const char *progname = "global"; const char *usage_const = "Usage: global [-adEFGilMnNqrstTvx][-S dir][-e] pattern\n\ - global -c[dFiIMoOPrsT] prefix\n\ + global -c[dFiIMoOPqrsTv] prefix\n\ global -f[adlnqrstvx][-L file-list][-S dir] files\n\ global -g[aEGilMnoOqtvVx][-L file-list][-S dir][-e] pattern [files]\n\ global -I[ailMnqtvx][-S dir][-e] pattern\n\ @@ -13,9 +13,10 @@ No command means tag search command.\n\ Print tags which match to pattern.\n\ By default, print definition tags.\n\ --c, --completion [prefix]\n\ +-c, --completion[=limit] [prefix]\n\ Print symbols which start with prefix.\n\ If prefix is not given, print all symbols.\n\ + If limit is given, print up to limit lines.\n\ -f, --file files\n\ Print all tags in the files.\n\ This command implies the -x option.\n\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/global/global.1 new/global-6.6.13/global/global.1 --- old/global-6.6.11/global/global.1 2023-11-20 10:02:14.000000000 +0100 +++ new/global-6.6.13/global/global.1 2024-07-02 02:03:49.000000000 +0200 @@ -5,7 +5,7 @@ .SH SYNOPSIS \fBglobal\fP [-adEFGilMnNqrstTvx][-S dir][-e] \fIpattern\fP .br -\fBglobal\fP -c[dFiIMoOPrsT] \fIprefix\fP +\fBglobal\fP -c[dFiIMoOPqrsTv] \fIprefix\fP .br \fBglobal\fP -f[adlnqrstvx][-L file-list][-S dir] \fIfiles\fP .br @@ -47,9 +47,10 @@ Print tags which match to \fIpattern\fP. By default, print definition tags. .TP -\fB-c\fP, \fB--completion\fP [\fIprefix\fP] +\fB-c\fP, \fB--completion[=\fIlimit\fP]\fP [\fIprefix\fP] Print symbols which start with \fIprefix\fP. If \fIprefix\fP is not given, print all symbols. +If \fIlimit\fP is given, print up to limit lines. .TP \fB-f\fP, \fB--file\fP \fIfiles\fP Print all tags in the \fIfiles\fP. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/global/global.c new/global-6.6.13/global/global.c --- old/global-6.6.11/global/global.c 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/global/global.c 2024-07-02 02:03:49.000000000 +0200 @@ -136,6 +136,7 @@ int match_part; /**< match part only */ int abslib; /**< absolute path only in library project */ int use_color; /**< coloring */ +int limit; /**< limit of completion lines */ const char *cwd; /**< current directory */ const char *root; /**< root of source tree */ const char *dbpath; /**< dbpath directory */ @@ -191,7 +192,7 @@ struct option const long_options[] = { {"absolute", no_argument, NULL, 'a'}, {"directory", required_argument, NULL, 'C'}, - {"completion", no_argument, NULL, 'c'}, + {"completion", optional_argument, NULL, 'c'}, {"definition", no_argument, NULL, 'd'}, {"extended-regexp", no_argument, NULL, 'E'}, {"regexp", required_argument, NULL, 'e'}, @@ -427,6 +428,8 @@ case 'c': cflag++; setcom(optchar); + if (optarg) + limit = atoi(optarg); break; case 'd': dflag++; @@ -798,6 +801,8 @@ } if (cflag && match_part == 0) match_part = MATCH_PART_ALL; + if (cflag && context_file) + context_file = NULL; /* * remove leading blanks. */ @@ -856,7 +861,7 @@ /* * decide tag type. */ - if (context_file) { + if (context_file && av) { if (!literal && isregex(av)) die_with_code(2, "regular expression is not allowed with the --from-here option."); db = decide_tag_by_context(av, context_file, atoi(context_lineno)); @@ -1027,6 +1032,8 @@ if (iflag) flags |= GTOP_IGNORECASE; for (gtp = gtags_first(gtop, prefix, flags); gtp; gtp = gtags_next(gtop)) { + if (limit && count >= limit) + break; fputs(gtp->tag, stdout); fputc(newline, stdout); count++; @@ -1081,6 +1088,8 @@ total += count; if (count > 0 && !Tflag) break; + if (total >= limit) + break; } strbuf_close(sb); } @@ -1101,6 +1110,7 @@ char *lid = usable("lid"); char *line, *p; char *argv[10]; + int count = 0; int i = 0; if (prefix && *prefix == 0) /* In the case global -c '' */ @@ -1167,6 +1177,8 @@ die("cannot execute '%s'.", lid); #endif while ((line = strbuf_fgets(sb, ip, STRBUF_NOCRLF)) != NULL) { + if (limit && count >= limit) + break; for (p = line; *p && *p != ' '; p++) ; if (*p == '\0') { @@ -1176,6 +1188,7 @@ *p = '\0'; fputs(line, stdout); fputc(newline, stdout); + count++; } #if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(__DJGPP__) if (pclose(ip) != 0) @@ -1202,6 +1215,7 @@ int prefix_length; int target = GPATH_SOURCE; int flags = (match_part == MATCH_PART_LAST) ? MATCH_LAST : MATCH_FIRST; + int count = 0; if (dbop == NULL) die("cannot open temporary file."); @@ -1239,8 +1253,11 @@ } gfind_close(gp); for (path = dbop_first(dbop, NULL, NULL, DBOP_KEY); path != NULL; path = dbop_next(dbop)) { + if (limit && count >= limit) + break; fputs(path, stdout); fputc(newline, stdout); + count++; } dbop_close(dbop); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/global/manual.in new/global-6.6.13/global/manual.in --- old/global-6.6.11/global/manual.in 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/global/manual.in 2024-07-02 02:03:49.000000000 +0200 @@ -27,7 +27,7 @@ @NAME global - print locations of given symbols @SYNOPSIS @name{global} [-adEFGilMnNqrstTvx][-S dir][-e] @arg{pattern} - @name{global} -c[dFiIMoOPrsT] @arg{prefix} + @name{global} -c[dFiIMoOPqrsTv] @arg{prefix} @name{global} -f[adlnqrstvx][-L file-list][-S dir] @arg{files} @name{global} -g[aEGilMnoOqtvVx][-L file-list][-S dir][-e] @arg{pattern} [@arg{files}] @name{global} -I[ailMnqtvx][-S dir][-e] @arg{pattern} @@ -61,9 +61,10 @@ No command means tag search command. Print tags which match to @arg{pattern}. By default, print definition tags. - @item{@option{-c}, @option{--completion} [@arg{prefix}]} + @item{@option{-c}, @option{--completion[=@arg{limit}]} [@arg{prefix}]} Print symbols which start with @arg{prefix}. If @arg{prefix} is not given, print all symbols. + If @arg{limit} is given, print up to limit lines. @item{@option{-f}, @option{--file} @arg{files}} Print all tags in the @arg{files}. This command implies the @option{-x} option. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags/const.h new/global-6.6.13/gtags/const.h --- old/global-6.6.11/gtags/const.h 2023-11-20 10:02:14.000000000 +0100 +++ new/global-6.6.13/gtags/const.h 2024-07-02 02:03:49.000000000 +0200 @@ -16,8 +16,8 @@ --config[=name]\n\ Print the value of config variable name.\n\ If name is not specified then print all names and values.\n\ - In addition to the variables listed in the ENVIRONMENT section,\n\ - you can refer to install directories by read only variables:\n\ + Additionally, you can refer to the directory name where the system\n\ + is installed as read only variables:\n\ bindir, libdir, datadir, localstatedir and sysconfdir.\n\ -d, --dump tag-file\n\ Dump a tag file as text to the standard output.\n\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags/gtags.1 new/global-6.6.13/gtags/gtags.1 --- old/global-6.6.11/gtags/gtags.1 2023-11-20 10:02:14.000000000 +0100 +++ new/global-6.6.13/gtags/gtags.1 2024-07-02 02:03:49.000000000 +0200 @@ -46,8 +46,8 @@ \fB--config\fP[=\fIname\fP] Print the value of config variable \fIname\fP. If \fIname\fP is not specified then print all names and values. -In addition to the variables listed in the ENVIRONMENT section, -you can refer to install directories by read only variables: +Additionally, you can refer to the directory name where the system +is installed as read only variables: \fBbindir\fP, \fBlibdir\fP, \fBdatadir\fP, \fBlocalstatedir\fP and \fBsysconfdir\fP. .TP \fB-d\fP, \fB--dump\fP \fItag-file\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags/manual.in new/global-6.6.13/gtags/manual.in --- old/global-6.6.11/gtags/manual.in 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/gtags/manual.in 2024-07-02 02:03:49.000000000 +0200 @@ -59,8 +59,8 @@ @item{@option{--config}[=@arg{name}]} Print the value of config variable @arg{name}. If @arg{name} is not specified then print all names and values. - In addition to the variables listed in the ENVIRONMENT section, - you can refer to install directories by read only variables: + Additionally, you can refer to the directory name where the system + is installed as read only variables: @var{bindir}, @var{libdir}, @var{datadir}, @var{localstatedir} and @var{sysconfdir}. @item{@option{-d}, @option{--dump} @arg{tag-file}} Dump a tag file as text to the standard output. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags-cscope/const.h new/global-6.6.13/gtags-cscope/const.h --- old/global-6.6.11/gtags-cscope/const.h 2023-11-20 10:02:15.000000000 +0100 +++ new/global-6.6.13/gtags-cscope/const.h 2024-07-02 02:03:49.000000000 +0200 @@ -1,6 +1,6 @@ /* This file is generated automatically by convert.pl from gtags-cscope/manual.in. */ const char *progname = "gtags-cscope"; -const char *usage_const = "Usage: gtags-cscope [-bCdehLlVv][-F file ][-012345678 pattern][-p n]\n"; +const char *usage_const = "Usage: gtags-cscope [-abCdehilLvV][-F file ][-012345678 pattern][-p n]\n"; const char *help_const = "Options:\n\ -h\n\ View the long usage help display.\n\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags-cscope/gtags-cscope.1 new/global-6.6.13/gtags-cscope/gtags-cscope.1 --- old/global-6.6.11/gtags-cscope/gtags-cscope.1 2023-11-20 10:02:15.000000000 +0100 +++ new/global-6.6.13/gtags-cscope/gtags-cscope.1 2024-07-02 02:03:49.000000000 +0200 @@ -3,7 +3,7 @@ .SH NAME gtags\-cscope - interactively examine a C program .SH SYNOPSIS -\fBgtags-cscope\fP [-bCdehLlVv][-F file ][-012345678 \fIpattern\fP][-p n] +\fBgtags-cscope\fP [-abCdehilLvV][-F file ][-012345678 \fIpattern\fP][-p n] .br .SH DESCRIPTION \fBgtags-cscope\fP is an interactive, screen-oriented tool that allows the user to @@ -278,7 +278,7 @@ .PP \fBgtags-cscope\fP will quit when it detects end-of-file, or when the first character of an input line is \'^d\' or \'q\'. -.SH "ENVIRONMENT VARIABLES" +.SH ENVIRONMENT The following environment variables are of \fBcscope\fP origin. .PP .TP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags-cscope/manual.in new/global-6.6.13/gtags-cscope/manual.in --- old/global-6.6.11/gtags-cscope/manual.in 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/gtags-cscope/manual.in 2024-07-02 02:03:49.000000000 +0200 @@ -48,7 +48,7 @@ @HEADER GTAGS-CSCOPE,1,March 2011,GNU Project @NAME gtags-cscope - interactively examine a C program @SYNOPSIS - @name{gtags-cscope} [-bCdehLlVv][-F file ][-012345678 @arg{pattern}][-p n] + @name{gtags-cscope} [-abCdehilLvV][-F file ][-012345678 @arg{pattern}][-p n] @DESCRIPTION @name{gtags-cscope} is an interactive, screen-oriented tool that allows the user to browse through source files for specified elements of code. @@ -276,7 +276,7 @@ @name{gtags-cscope} will quit when it detects end-of-file, or when the first character of an input line is @kbd{^d} or @kbd{q}. -@ENVIRONMENT VARIABLES +@ENVIRONMENT The following environment variables are of @name{cscope} origin. @begin_itemize diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags.conf new/global-6.6.13/gtags.conf --- old/global-6.6.11/gtags.conf 2023-11-20 10:03:04.000000000 +0100 +++ new/global-6.6.13/gtags.conf 2024-07-02 02:04:15.000000000 +0200 @@ -87,7 +87,7 @@ # exuberant-ctags|plugin-example|setting to use Exuberant Ctags plug-in parser:\ :tc=common:\ - :ctagscom=/usr/local/bin/ctags:\ + :ctagscom=:\ :ctagslib=$libdir/gtags/exuberant-ctags.la:\ :langmap=Ant\:(*.build.xml):\ :langmap=Asm\:.asm.ASM.s.S.A51(*.29[kK])(*.[68][68][kKsSxX])(*.[xX][68][68]):\ @@ -180,7 +180,7 @@ # universal-ctags|setting to use Universal Ctags plug-in parser:\ :tc=common:\ - :ctagscom=/usr/local/bin/ctags:\ + :ctagscom=:\ :ctagslib=$libdir/gtags/universal-ctags.la:\ :langmap=Ada\:.adb.ads.Ada:\ :langmap=Ant\:(build.xml)(*.build.xml).ant.xml:\ @@ -369,7 +369,7 @@ # pygments-parser|Pygments plug-in parser:\ :tc=common:\ - :ctagscom=/usr/local/bin/ctags:\ + :ctagscom=:\ :pygmentslib=$libdir/gtags/pygments-parser.la:\ :langmap=ABAP\:.abap:\ :langmap=ANTLR\:.G.g:\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/gtags.conf.in new/global-6.6.13/gtags.conf.in --- old/global-6.6.11/gtags.conf.in 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/gtags.conf.in 2024-07-02 02:03:49.000000000 +0200 @@ -369,7 +369,7 @@ # pygments-parser|Pygments plug-in parser:\ :tc=common:\ - :ctagscom=@EXUBERANT_CTAGS@:\ + :ctagscom=@UNIVERSAL_CTAGS@:\ :pygmentslib=$libdir/gtags/pygments-parser.la:\ :langmap=ABAP\:.abap:\ :langmap=ANTLR\:.G.g:\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/htags/htags.c new/global-6.6.13/htags/htags.c --- old/global-6.6.11/htags/htags.c 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/htags/htags.c 2024-07-02 02:03:49.000000000 +0200 @@ -46,6 +46,7 @@ #include "global.h" #include "anchor.h" #include "cache.h" +#include "char.h" #include "common.h" #include "htags.h" #include "incop.h" @@ -1333,7 +1334,7 @@ */ if (arg_dbpath[0]) { strbuf_putc(sb, ' '); - strbuf_puts(sb, arg_dbpath); + strbuf_puts(sb, quote_shell(arg_dbpath)); } if (system(strbuf_value(sb))) die("cannot execute gtags(1) command."); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/htags-server/htags-server new/global-6.6.13/htags-server/htags-server --- old/global-6.6.11/htags-server/htags-server 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/htags-server/htags-server 2024-07-02 02:03:49.000000000 +0200 @@ -155,7 +155,7 @@ echo "Cannot change directory." exit 1 fi -if ! [ -f index.html -a -f help.html -a -d cgi-bin -a -d files -a -d defines ]; then +if ! [ -f index.html -a -f help.html -a -d files -a -d defines ]; then echo "It seems that this hyper-text is broken." exit 1 fi @@ -215,10 +215,10 @@ case `$com --version 2>&1` in *'command not found') echo "$com not found."; exit 1;; - ruby' '1.[89]*|ruby' '2.*) - ruby_server $com $bind $port; exit 0;; - *) + ruby' '1.[0-7]*) echo "This version of ruby is not supported."; exit 1;; + *) + ruby_server $com $bind $port; exit 0;; esac fi fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/libutil/xargs.c new/global-6.6.13/libutil/xargs.c --- old/global-6.6.11/libutil/xargs.c 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/libutil/xargs.c 2024-07-02 02:03:49.000000000 +0200 @@ -88,8 +88,8 @@ * The reason is unknown but the xargs(1) in GNU findutils * use this limit. */ - if (limit > 20 * 1024) - limit = 20 * 1024; + if (limit > 128 * 1024) + limit = 128 * 1024; /* * Add the command line length. * We estimates additional 80 bytes for popen(3). @@ -109,7 +109,7 @@ * characters on Windows 2000 or 8191 characters on Windows XP * and later. The 80 below is for safety. */ - limit = 2047 - length - 80; + limit = 8191 - length - 80; #endif if (limit < 0) die("Negative exec line limit = %ld", limit); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/plugin-factory/Makefile.am new/global-6.6.13/plugin-factory/Makefile.am --- old/global-6.6.11/plugin-factory/Makefile.am 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/plugin-factory/Makefile.am 2024-07-02 02:03:49.000000000 +0200 @@ -19,19 +19,19 @@ # Exuberant Ctags parser exuberant_ctags_la_SOURCES = exuberant-ctags.c -exuberant_ctags_la_LDFLAGS = -module -avoid-version -no-undefined +exuberant_ctags_la_LDFLAGS = -module -avoid-version -no-undefined -shared # Univercal Ctags parser universal_ctags_la_SOURCES = exuberant-ctags.c universal_ctags_la_CFLAGS = -DUSE_EXTRA_FIELDS -universal_ctags_la_LDFLAGS = -module -avoid-version -no-undefined +universal_ctags_la_LDFLAGS = -module -avoid-version -no-undefined -shared # Pygments parser pygments_parser_la_SOURCES = pygments-parser.c -pygments_parser_la_LDFLAGS = -module -avoid-version -no-undefined +pygments_parser_la_LDFLAGS = -module -avoid-version -no-undefined -shared # skeleton user_custom_la_SOURCES = user-custom.c -user_custom_la_LDFLAGS = -module -avoid-version -no-undefined +user_custom_la_LDFLAGS = -module -avoid-version -no-undefined -shared gtagsdir = ${datadir}/gtags gtags_DATA = PLUGIN_HOWTO PLUGIN_HOWTO.pygments PLUGIN_HOWTO.universal-ctags \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/plugin-factory/pygments_parser.py new/global-6.6.13/plugin-factory/pygments_parser.py --- old/global-6.6.11/plugin-factory/pygments_parser.py 2023-11-20 10:03:05.000000000 +0100 +++ new/global-6.6.13/plugin-factory/pygments_parser.py 2024-07-02 02:04:15.000000000 +0200 @@ -27,7 +27,7 @@ import pygments.lexers from pygments.token import Token -EXUBERANT_CTAGS = "/usr/local/bin/ctags" +UNIVERSAL_CTAGS = "" # In most cases, lexers can be looked up with lowercase form of formal # language names. This dictionary defines exceptions. @@ -89,7 +89,7 @@ # we can assume index are delivered in ascending order while self.lines_index[cur_line] <= index: cur_line += 1 - tag = re.sub('\s+', '', tag) # remove newline and spaces + tag = re.sub(r'\s+', '', tag) # remove newline and spaces if self.options.strip_punctuation: tag = tag.strip(PUNCTUATION_CHARACTERS) if tag: @@ -158,7 +158,7 @@ line = self.child_stdout.readline() if not line or line.startswith(TERMINATOR): break - match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + '\s+(.*)$', line) + match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + r'\s+(.*)$', line) if match: (tag, lnum, image) = match.groups() if self.options.strip_punctuation: @@ -200,14 +200,14 @@ def handle_requests(langmap, options): # Update ctags's path from the configuration file - global EXUBERANT_CTAGS + global UNIVERSAL_CTAGS path = load_ctags_path() if path != '': - EXUBERANT_CTAGS = path - if EXUBERANT_CTAGS != '' and EXUBERANT_CTAGS != 'no': + UNIVERSAL_CTAGS = path + if UNIVERSAL_CTAGS != '' and UNIVERSAL_CTAGS != 'no': pygments_parser = PygmentsParser(langmap, options) try: - ctags_parser = CtagsParser(EXUBERANT_CTAGS, options) + ctags_parser = CtagsParser(UNIVERSAL_CTAGS, options) parser = MergingParser(ctags_parser, pygments_parser) except Exception as e: parser = pygments_parser @@ -244,7 +244,7 @@ if sys.platform == 'win32' and sys.version_info >= (3,): path = io.TextIOWrapper(p.stdout, encoding='latin1').readline().rstrip() else: - path = p.stdout.readline().rstrip() + path = p.stdout.readline().rstrip().decode('latin1') return path def main(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/plugin-factory/pygments_parser.py.in new/global-6.6.13/plugin-factory/pygments_parser.py.in --- old/global-6.6.11/plugin-factory/pygments_parser.py.in 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/plugin-factory/pygments_parser.py.in 2024-07-02 02:03:49.000000000 +0200 @@ -27,7 +27,7 @@ import pygments.lexers from pygments.token import Token -EXUBERANT_CTAGS = "@EXUBERANT_CTAGS@" +UNIVERSAL_CTAGS = "@UNIVERSAL_CTAGS@" # In most cases, lexers can be looked up with lowercase form of formal # language names. This dictionary defines exceptions. @@ -89,7 +89,7 @@ # we can assume index are delivered in ascending order while self.lines_index[cur_line] <= index: cur_line += 1 - tag = re.sub('\s+', '', tag) # remove newline and spaces + tag = re.sub(r'\s+', '', tag) # remove newline and spaces if self.options.strip_punctuation: tag = tag.strip(PUNCTUATION_CHARACTERS) if tag: @@ -158,7 +158,7 @@ line = self.child_stdout.readline() if not line or line.startswith(TERMINATOR): break - match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + '\s+(.*)$', line) + match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + r'\s+(.*)$', line) if match: (tag, lnum, image) = match.groups() if self.options.strip_punctuation: @@ -200,14 +200,14 @@ def handle_requests(langmap, options): # Update ctags's path from the configuration file - global EXUBERANT_CTAGS + global UNIVERSAL_CTAGS path = load_ctags_path() if path != '': - EXUBERANT_CTAGS = path - if EXUBERANT_CTAGS != '' and EXUBERANT_CTAGS != 'no': + UNIVERSAL_CTAGS = path + if UNIVERSAL_CTAGS != '' and UNIVERSAL_CTAGS != 'no': pygments_parser = PygmentsParser(langmap, options) try: - ctags_parser = CtagsParser(EXUBERANT_CTAGS, options) + ctags_parser = CtagsParser(UNIVERSAL_CTAGS, options) parser = MergingParser(ctags_parser, pygments_parser) except Exception as e: parser = pygments_parser @@ -244,7 +244,7 @@ if sys.platform == 'win32' and sys.version_info >= (3,): path = io.TextIOWrapper(p.stdout, encoding='latin1').readline().rstrip() else: - path = p.stdout.readline().rstrip() + path = p.stdout.readline().rstrip().decode('latin1') return path def main(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/global-6.6.11/reconf.sh new/global-6.6.13/reconf.sh --- old/global-6.6.11/reconf.sh 2023-11-20 10:02:13.000000000 +0100 +++ new/global-6.6.13/reconf.sh 2024-07-02 02:03:49.000000000 +0200 @@ -127,6 +127,9 @@ ./configure CFLAGS='-g -O2 -Wall' make -s ;; +--universal) + ./configure CFLAGS='-arch x86_64 -arch arm64' LDFLAGS='-arch x86_64 -arch arm64' + ;; -c|--configure|--make|--install) ./configure ;;