Age | Commit message (Collapse) | Author | Files |
|
|
|
|
|
* Switch to Python 3.11+ with type hints
* Upgrade Django to version 4.2
* Improve desktop and mobile views using HTML5
* Implement a dark mode
* Use Poetry and pyproject.toml
* Integrate Pylint and Mypy for development
* Implement various fixes and improvements
|
|
|
|
|
|
* modules/gcide/idxgcide.l (flush_headwords): Sort headwords. Skip
duplicated ones.
|
|
|
|
* modules/gcide/ent.c (gcide_entity): Add ycr - Y with breve
|
|
* configure.boot (DEFAULT_PP_SETUP): New variable.
* dicod/Makefile.am (inc_DATA: Use DEFAULT_PP_SETUP.
|
|
|
|
|
|
|
|
* NEWS: Document changes.
* modules/pcre/Makefile.am: Use libpcre2-8
* modules/pcre/module.ac: Detect presence of libpcre2 and its
headers.
* modules/pcre/pcre.c: Rewrite using pcre2.
* modules/pcre/tests/.gitignore: New file.
* modules/pcre/tests/Makefile.am: New file.
* modules/pcre/tests/atlocal.in: New file.
* modules/pcre/tests/dicod.cfin: New file.
* modules/pcre/tests/pcre00.at: New file.
* modules/pcre/tests/pcre01.at: New file.
* modules/pcre/tests/pcre02.at: New file.
* modules/pcre/tests/testsuite.at: New file.
* modules/pcre/tests/dict.out: New file.
|
|
* configure.boot: Remove check for gethostbyaddr
* dico/autologin.c (hostcmp): Rewrite using getaddrinfo.
* dicod/accesslog.c (sockaddr_to_hostname): Rewrite using getnameinfo.
* xdico/xhostname.c (xdico_local_hostname): : Rewrite using getaddrinfo.
|
|
* configure.boot: Remove uses of obsolete autoconf macros.
Require autoconf 2.71 and automake 1.16.5.
* gint: Upgrade module.
* grecs: Upgrade module.
* am/gsasl.m4: Remove uses of obsolete autoconf macros.
* modules/ldap/module.ac: Likewise.
* modules/pam/module.ac: Likewise.
* modules/pcre/module.ac: Likewise.
* modules/python/module.ac: Likewise.
* modules/wordnet/module.ac: Likewise.
* dicod/dicod.c: Remove uses of RETSIGTYPE.
* dicod/server.c: Likewise.
* dicod/main.c: Use grecs_preprocess instead of the
withdrawn grecs_preproc_run.
* dicod/tests/apop.at: Quote user-db label in the configuration
file.
* dicod/tests/help01.at: Likewise.
* dicod/tests/vis00.at: Likewise.
* dicod/tests/vis01.at: Likewise.
* dicod/tests/vis02.at: Likewise.
* include/testsuite.inc (DICOD_RUN): Disable configuration
preprocessing.
* po/POTFILES.in: Remove references to non-existing source files.
|
|
|
|
|
|
This also fixes various unrelated reference counting errors
* modules/python/python.c (PySelectionKey): New field: key_alloc.
(_PySelectionKey_dealloc): Deallocate key if key_alloc is set.
(_python_selector): Initialize key_alloc to 0,
(struct python_result): New field: arg
(_make_python_result): Take three argument. Initialize arg.
(do_match): Allocate key and store it in PySelectionKey.
Mark it with key_alloc=1.
Don't decrement py_args refcount too early.
(mod_define,mod_output_result)
(mod_result_headers): Fix reference counting errors.
(mod_free_result): Decrement gres->arg reference counter.
|
|
|
|
It has been noted that <hw> is occasionally used within entries
as a font marker, instead of <altname> or <xex>. Recent GCIDE
corpus contains quite a number of such uses.
This commit enables idxgcide to cope with it by using <ent> tag
to mark the beginning of a dictionary entry. This position is
then adjusted when first <hw> or <mhw> is seen and remains in
effect for all remaining occurrences of <hw> in this entry.
* modules/gcide/idxgcide.l (at_ent): New variable.
(SET_HWPOS): New macro.
(BEGIN_HEADWORD): Use SET_HWPOS.
Update grammar.
* modules/gcide/tests/dict/CIDE.A: Insert <ent> tags.
* modules/gcide/tests/dict/CIDE.B: Likewise.
* modules/gcide/tests/dict/CIDE.C: Likewise.
* modules/gcide/tests/dict/CIDE.D: Likewise.
* modules/gcide/tests/dict/CIDE.E: Likewise.
* modules/gcide/tests/dict/CIDE.F: Likewise.
* modules/gcide/tests/dict/CIDE.G: Likewise.
* modules/gcide/tests/dict/CIDE.H: Likewise.
* modules/gcide/tests/dict/CIDE.I: Likewise.
* modules/gcide/tests/dict/CIDE.J: Likewise.
* modules/gcide/tests/dict/CIDE.K: Likewise.
* modules/gcide/tests/dict/CIDE.L: Likewise.
* modules/gcide/tests/dict/CIDE.M: Likewise.
* modules/gcide/tests/dict/CIDE.N: Likewise.
* modules/gcide/tests/dict/CIDE.O: Likewise.
* modules/gcide/tests/dict/CIDE.P: Likewise.
* modules/gcide/tests/dict/CIDE.Q: Likewise.
* modules/gcide/tests/dict/CIDE.R: Likewise.
* modules/gcide/tests/dict/CIDE.S: Likewise.
* modules/gcide/tests/dict/CIDE.T: Likewise.
* modules/gcide/tests/dict/CIDE.U: Likewise.
* modules/gcide/tests/dict/CIDE.V: Likewise.
* modified: modules/gcide/tests/dict/CIDE.W
* modified: modules/gcide/tests/dict/CIDE.X
* modified: modules/gcide/tests/dict/CIDE.Y
* modified: modules/gcide/tests/dict/CIDE.Z
|
|
|
|
* modules/gcide/markup.l (YY_INPUT): Increment input_buf.
|
|
|
|
|
|
* maint/printflike: Remove stray characters.
|
|
|
|
* modules/gcide/grk.c: Fix transliteration of iota perispomeni with
diaeresis.
|
|
* dicod/commands.c (_show_database): Don't bail out if unable to
encode the description.
|
|
|
|
* NEWS: Version 2.10.90
* configure.boot: Version 2.10.90. Raise autoconf, automake, and
gettext requirements.
* grecs: Upgrade to b0cbc54209de4c631952005b122ce09f84866700.
* gnulib: Upgrade to v0.1-4336-gbdae9a5
* include/xdico.h: Define GNULIB_XALLOC_DIE and include xalloc.h.
See the comment for the reason.
* xdico/gnu/Makefile.am: Define GNULIB_XALLOC_DIE.
* xdico/xalloc-die.c (xalloc-die): Call abort to avoid a 'noreturn'
warning.
* dico/dico-priv.h: Don't include xalloc.h
* dicod/dicod.h: Likewise.
* dicod/tests/apopauth.c: Likewise.
* xdico/iputil.c: Likewise.
* xdico/timer.c: Likewise.
* xdico/userprivs.c: Likewise.
* xdico/xhostname.c: Likewise.
* xdico/xscript.c: Likewise.
* xdico/xtkn.c: Likewise.
* xdico/xutil.c: Likewise.
|
|
|
|
* modules/python/module.ac: Try python-config --libs --embed first.
|
|
|
|
This fixes the bug introduced by 4da4ddea3a.
* bootstrap (po_sync): Create the LINGUAS list.
New option --update-po.
|
|
|
|
* dicod/dicod.h: Add missing extern qualifiers.
* include/dico/markup.h: Likewise.
|
|
* lib/utf8.c (utf8_iter0): Switch to error state if utf8_char_width
returned 0
|
|
|
|
|
|
Previously, that was done implicitly by gnulib. After 4da4ddea3a,
it is necessary to do so explicitly, to avoid make sure library
and apps use off_t of the same width.
* configure.boot: Use AC_SYS_LARGEFILE
|
|
|
|
Allows the user to override the default pidfile location for dicod
Suggested in https://puszcza.gnu.org.ua/bugs/?419
* configure.boot (DEFAULT_PIDFILE_NAME): New variable
* dicod/Makefile.am (AM_CPPFLAGS): Define DEFAULT_PIDFILE_NAME
* dicod/main.c (pidfile_name): Change initialization
|
|
|
|
After pulling updates from gnulib, it was discovered that it had added
an unwanted dependency to the libdico. The dependency was added b
redefining fseek to rpl_fseek in the config.h. Of course, that's quite
OK for user programs and in fact that's one of the purposes of gnulib,
so it's doing its job all right. However, this kind of depedencies is
not acceptable in installable libraries, such as libdico.
There are two ways of fixing this: (1) by including libgnu to the
libdico, or (2) by creating pristine (i.e. stripped of any gnulib
stuff) version of config.h and using it in the library sources.
The first approach was used in mailutils for the libmu_aux convenience
library. However, in dico I wouldn't like to introduce additional
dependencies to the installable libraries and modules, therefore
second approach has been chosen.
Two separare configuration headers are introduced:
include/prog/config.h
Configuration header with gnulib dependencies. It is used by
libxdico, and user-space programs: dico, dicod, idxgcide and
some test programs.
include/lib/config.h
Pristine header, free from any gnulib additions. It is used by all
installable libraries, including dicod modules.
In order to create pristine header, bootstrap uses specially prepared
temporary edition of configure.ac, which is stripped off any gl_.*
statements.
This approach introduces additional difficulties. The two header files
are of course listed in the AC_CONFIG_HEADERS statement in
configure.ac. Autotools give precedence to the first one. It is the
only file for which autoheader creates the .h.in template. Further,
automake creates in each Makefile.am the DEFAULT_INCLUDES statement,
which lists the directory part of the first header, and this value is
used in the compiler command line. This means that to include the
pristine header, its path prefix needs to be specified.
To avoid this, the nostdinc option is passed to AM_INIT_AUTOMAKE.
As a side effect, it makes it impossible to build libltdl in the
recursive mode (although its Makefile.am pretends otherwise). Thus,
libltdl is built in nonrecursive mode from the main Makefile.am.
Similar problem occurs with the gnulib itself, although in this case
its bootstrapping tool provides sufficient mechanisms to help overcome
it. Gnulib is built as a sub-library of libxdico. As a side effect,
the libextra library is no longer needed.
Another side effect is that the rewritten bootstrap script made it
possible to use gnulib-tool directly, instead of using
gnulib/build-aux/bootstrap wrapper.
Following bugs are fixed by this change:
https://puszcza.gnu.org.ua/bugs/?416
https://puszcza.gnu.org.ua/bugs/?417
https://puszcza.gnu.org.ua/bugs/?418
Almost all files in the project are affected by this change. However,
some changes are pure bugfixes. These are:
* lib/mergesort.c (mergesort): Rename to dico_mergesort to avoid name
clash on Free and OpenBSD.
* lib/stream.c (dico_stream_getdelim): Fix memory reallocation
algorithm.
* lib/utf8.c (utf8_wc_strstr): Reset errno to 0.
* lib/libi18n.c: Don't depend on gnu/configmake.h
* modules/wordnet/module.ac: Move definition of WORDNET_COND out of
conditional context. This fixes the functionality of the
configure --without-wordnet option.
Some obsolete and unused files have been removed. These are:
* include/gjdict.xbm
* lib/bushu.dat
* lib/bushu.h
* lib/cursor.xbm
* lib/jiscvt.c
* makedict/
Main set of changes is:
* bootstrap: Mostly rewritten as described above.
* GNUmakefile: New file for the ease of maintenance.
* maint/bootstrap.mk: New file.
* gnulib.modules: Moved to maint/
* maint/printflike: New file. Lists printf-like functions for gettext.
* configure.boot: Use AC_CONFIG_HEADERS with two header files.
Use nostdinc option to AM_INIT_AUTOMAKE.
(LTDL_INIT): Use nonrecursive option.
(DICO_PROG_CONFIG,DICO_LIB_CONFIG)
(DICO_PROG_INCLUDES,DICO_MODULE_INCLUDES): New substitution variables.
(GRECS_HOST_PROJECT_INCLUDES): Fix value.
(COND_LIBDICOSASL): New conditional.
* Makefile.am: Build libltdl.
* lib/Makefile.am: Move convenience libraries to another
directory. Build only libdico.
* dico/Makefile.am: Fix LDADD and includes.
* dicod/Makefile.am: Likewise.
* dicod/tests/Makefile.am: Likewise.
* lib/tests/Makefile.am: Likewise.
* modules/*/Makefile.am: Likewise.
The directory struture is reorganized and the sources of convenience
libraries moved to a separate directory:
* xdico/Makefile.am: New file
* xdico/appi18n.c
* xdico/gsaslstr.c
* xdico/iputil.c
* xdico/timer.c
* xdico/userprivs.c
* xdico/xalloc-die.c
* xdico/xhostname.c
* xdico/xscript.c
* xdico/xstream.c
* xdico/xtkn.c
* xdico/xutil.c: All moved from lib
* xdico/gnu/Makefile.am: New file.
* xdico/gnu: Gnulib sources imported to this directory.
|
|
|
|
|
|
* configure.boot (GRECS_HOST_PROJECT_LDADD): Define new variable.
* grecs: Upgrade.
|
|
* include/dico/utf8.h (utf8_iterator): New fields: length, err, end.
(utf8_iter_err_p,utf8_iter_init): New prototype.
* lib/utf8.c (utf8_iter0): Add boundary checking. Set end and error
flags as appropriate.
(utf8_iter_err_p): Rewrite.
(utf8_iter_err_p): New function.
(utf8_iter_init): New function.
(utf8_iter_first): Rewrite using utf8_iter_init.
(utf8_iter_next): Update length.
* lib/linetrimstr.c (_linetrimstr_find_end): Don't assume zero-terminated
string.
* modules/dict.org/dictorg.c (revert_word): Likewise.
* modules/outline/outline.c (revert_word): Likewise.
|
|
* modules/metaphone2/metaphone2.c (looking_at,ISVOWEL): Implement
additional boundary checking.
All uses changed.
|
|
* lib/list.c (_dico_list_remove_item): Free entry after accessing
its fields.
|