aboutsummaryrefslogtreecommitdiffstats
path: root/lib/string.in.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2025-07-291-19/+39
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2025-06-271-0/+27
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2025-05-081-10/+65
| | | | | | | | | | | | The following changes were made by hand, so that admin/merge-gnulib could succeed instead of failing because the diff didn’t match. * admin/gnulib-patches/lib/getloadavg.c.diff: Remove, as it is no longer needed now that recent Gnulib has been merged. * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Remove the --local-dir="$src"admin/gnulib-patches option, as it is no longer needed either.
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2025-04-191-0/+128
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2025-01-151-0/+36
|
* Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2024-12-261-3/+3
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2024-09-171-10/+10
|
* ; Update from GnulibPo Lu2024-09-051-62/+64
| | | | | | | * configure.ac: * src/conf_post.h: Remove workarounds now rendered redundant by Gnulib.
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2024-01-301-2/+12
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2024-01-201-20/+105
|
* Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Update from Gnulib by running admin/merge-gnulibPaul Eggert2023-05-141-0/+6
| | | | | | | | | | * lib/dirent-private.h, m4/codeset.m4, m4/locale-fr.m4, m4/musl.m4: New files, from Gnulib.
* | Update from Gnulib by running admin/merge-gnulibPaul Eggert2023-02-251-0/+4
| |
* | Update from Gnulib by running admin/merge-gnulibPaul Eggert2023-02-041-5/+37
| |
* | Update from Gnulib by running admin/merge-gnulibPaul Eggert2023-01-061-6/+14
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-01-011-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | cae528457c ; Add 2023 to copyright years. b394359261 Improve documentation of 'isearch-open-overlay-temporary' ab3210e709 Document 'use-package' in the 2 main manuals # Conflicts: # etc/refcards/ru-refcard.tex # lib/explicit_bzero.c # m4/explicit_bzero.m4
| * ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
| |
* | Update from Gnulib by running admin/merge-gnulibPaul Eggert2022-12-181-0/+17
|/
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2022-09-281-0/+2
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2022-07-061-4/+12
| | | | * admin/merge-gnulib (AVOIDED_MODULES): Add chmod.
* Gnulib update via admin/merge-gnulibPaul Eggert2022-05-051-2/+2
|
* Update from gnulibPaul Eggert2022-04-191-21/+40
|
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2022-02-231-8/+21
|
* Update from gnulibPaul Eggert2022-01-041-3/+17
|
* Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | Update from gnulibPaul Eggert2021-12-181-0/+29
|/ | | | | Make the following changes by hand, and run ‘admin/merge-gnulib’. * configure.ac (AM_CONDITIONAL): Adjust to new Gnulib convention.
* Update from GnulibPaul Eggert2021-10-041-37/+61
| | | | | | | | | | | | | | | | | | Make the following changes by hand, and run 'admin/merge-gnulib'. * .gitignore: Add lib/malloc/*.gl.h. * admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h directly from Gnulib, without worrying about Gnulib modules, as these files are special cases. (AVOIDED_MODULES): Remove malloc-posix. * lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4: * m4/year2038.m4: New files, copied from Gnulib. * lib/malloca.c, lib/malloca.h: * m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4: Remove. These are either no longer present in Gnulib, or are no longer needed by modules that Emacs uses. * oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first; needed for new Gnulib. * src/xmenu.c: Call emacs_abort, not abort.
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2021-01-221-2/+18
|
* Update from Gnulib by running admin/merge-gnulib.Paul Eggert2021-01-011-8/+10
|
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Update Gnulib.Philipp Stephani2020-12-241-5/+31
| | | | | All changes in this commit are autogenerated by running admin/merge-gnulib.
* Update from GnulibPaul Eggert2020-09-051-0/+24
| | | | | | | | | | This incorporates: 2020-09-05 verify: avoid __builtin_assume 2020-08-30 strerrorname_np: New module 2020-08-26 include_next, stdint, time_rz: Change configure message * lib/gnulib.mk.in: Regenerate. * lib/string.in.h, lib/verify.h, m4/include_next.m4, m4/stdint.m4: * m4/string_h.m4, m4/time_rz.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-08-231-0/+15
| | | | | | | | | | | | | | This incorporates: 2020-08-23 intprops: be consistent about +X vs X+0 2020-08-23 intprops: fix INT_MULTIPLY_WRAPV bit-field bug 2020-08-23 verify: Make assume work on bit field expressions 2020-08-23 libc-config: Improve comments 2020-08-22 verify: Do use __builtin_assume on clang 2020-08-22 sig2str: Add more signals 2020-08-21 sigdescr_np: New module * lib/cdefs.h, lib/intprops.h, lib/sig2str.c, lib/string.in.h: * lib/verify.h, m4/string_h.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from GnulibPaul Eggert2020-08-211-0/+15
| | | | | | | | | | | | This incorporates: 2020-08-20 sigabbrev_np: New module 2020-08-20 stdalign: Fix 32-bit test failures clang versions < 8 2020-08-17 careadlinkat: speedup for GCC 10 with GCC_LINT 2020-08-17 Assume autoconf >= 2.64 * build-aux/config.guess, build-aux/config.sub, lib/careadlinkat.c: * lib/stdalign.in.h, lib/string.in.h, m4/std-gnu11.m4, m4/string_h.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from GnulibPaul Eggert2020-08-161-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2020-08-16 time_rz: remove unused functions 2020-08-16 time_rz: fix issues with mktime_z failures 2020-08-16 nstrftime: Guide inlining also on clang 2020-08-16 intprops: Avoid bogus warning on clang 2020-08-16 libc-config: Enable __REDIRECT macro also on clang 2020-08-16 regex: Use initializer shorthand syntax also with clang 2020-08-16 regex: Use space optimization also with clang 2020-08-16 Use _Static_assert and static_assert when present on clang 2020-08-16 Use 'throw ()' for optimization in C++ mode also on clang 2020-08-16 stdio: Don't break attribute 'scanf' on clang 2020-08-16 Fix "warning: 'format' attribute ...: rpl_printf" 2020-08-16 Fix "warning: attribute declaration must precede definition" 2020-08-16 Fix undesired warnings 2020-08-16 Don't use Autoconf quadrigraphsxo 2020-08-16 Fix quoting of AC_LANG_PROGRAM arguments 2020-08-16 Assume autoconf >= 2.64 2020-08-15 nstrftime: be more predictable about errno 2020-08-15 canonicalize: Fix autoconf test on MSVC/clang 2020-08-15 Support compiling without -loldnames on native Windows 2020-08-14 mktime, mktime-internal: Remove obsolete code 2020-08-14 Assume tzset exists * lib/c++defs.h, lib/canonicalize-lgpl.c, lib/cdefs.h, lib/dup2.c: * lib/fcntl.in.h, lib/getopt-cdefs.in.h, lib/intprops.h, lib/md5.h: * lib/mktime.c, lib/nstrftime.c, lib/open.c, lib/regcomp.c: * lib/regex_internal.h, lib/stdio.in.h, lib/stdlib.in.h: * lib/strftime.h, lib/string.in.h, lib/sys_select.in.h: * lib/sys_stat.in.h, lib/sys_time.in.h, lib/time.in.h, lib/time_rz.c: * lib/unistd.in.h, lib/verify.h, m4/00gnulib.m4: * m4/absolute-header.m4, m4/alloca.m4, m4/canonicalize.m4, m4/dup2.m4: * m4/fchmodat.m4, m4/fcntl.m4, m4/fdopendir.m4, m4/fpending.m4: * m4/futimens.m4, m4/getdtablesize.m4, m4/getloadavg.m4: * m4/gnulib-common.m4, m4/include_next.m4, m4/largefile.m4: * m4/manywarnings.m4, m4/mktime.m4, m4/nstrftime.m4, m4/open-slash.m4: * m4/pselect.m4, m4/pthread_sigmask.m4, m4/time_h.m4, m4/utimens.m4: * m4/utimensat.m4, m4/utimes.m4, m4/warnings.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from GnulibPaul Eggert2020-08-111-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2020-08-11 Use expression statements also on clang 2020-08-10 Use many __attribute__s with clang 2020-08-09 Use attribute __aligned__ with clang 2020-08-09 Use __alignof__ with clang 2020-08-09 ignore-value: Simplify on clang 2020-08-09 Use __typeof__ with clang 2020-08-09 intprops: Fix typo in comment 2020-08-09 Silence warnings from clang 10 with -Wimplicit-fallthrough 2020-08-09 count-one-bits: Use __builtin_popcount{,l,ll} on clang 2020-08-09 string: Fix build error in C++ mode with clang 2020-08-09 Add ability to emit user-defined diagnostics with clang 2020-08-07 alloca: No need to compile alloca.c with clang 2020-08-06 Use __builtin_assume with clang * lib/alloca.in.h, lib/arg-nonnull.h, lib/c++defs.h, lib/cdefs.h: * lib/count-one-bits.h, lib/dirent.in.h, lib/ignore-value.h: * lib/intprops.h, lib/malloca.h, lib/regex_internal.h: * lib/stdalign.in.h, lib/stddef.in.h, lib/stdio.in.h: * lib/stdlib.in.h, lib/string.in.h, lib/verify.h, lib/warn-on-use.h: * m4/gnulib-common.m4, m4/stddef_h.m4, m4/stdint.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-07-091-5/+0
| | | | | | | | | | | | | | | | | This incorporates: 2020-07-07 dup2: remove support for some very old platforms 2020-07-07 memchr: remove support for some very old platforms 2020-07-04 getumask: new module 2020-07-03 getrandom: fix compilation error on native Windows 2020-07-03 lchmod: simplify after 2020-02-22 change 2020-07-01 manywarnings: improve port to GCC 10.1 2020-06-28 getrandom: fix compilation errors on older versions of mingw 2020-06-29 alloca-opt: fix warning on mingw * lib/alloca.in.h, lib/dup2.c, lib/getrandom.c, lib/string.in.h: * lib/sys_stat.in.h, lib/unistd.in.h, m4/dup2.m4, m4/getrandom.m4: * m4/lchmod.m4, m4/manywarnings.m4, m4/string_h.m4, m4/sys_stat_h.m4: * m4/unistd_h.m4: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* Update from gnulibPaul Eggert2020-05-111-11/+15
| | | | | | | | | | | | | | This incorporates: 2020-05-11 careadlinkat: fix GCC 10 workaround 2020-05-10 careadlinkat: limit GCC workaround 2020-05-10 attribute: clarify list of attributes 2020-05-10 string: fix compilation error in C++ mode 2020-05-09 manywarnings: port to GCC 10.1 2020-05-09 careadlinkat: pacify -Wreturn-local-addr 2020-05-09 attribute: remove ATTRIBUTE_DEPRECATED 2020-05-09 attribute: Add comments * lib/attribute.h, lib/careadlinkat.c, lib/string.in.h: * lib/warn-on-use.h, m4/manywarnings.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-05-091-4/+6
| | | | | | | | | | | | | This incorporates: 2020-05-09 stdio: don't redefine _GL_ATTRIBUTE_FORMAT 2020-05-09 dirent, stdlib, string: don't redefine _GL_ATTRIBUTE_PURE 2020-05-08 limits-h: define LONG_BIT correctly on Haiku/x86_64 2020-05-08 ignore-value tests: use module 'attribute' 2020-05-06 attribute: minor style fixes * build-aux/config.sub, doc/misc/texinfo.tex, lib/attribute.h: * lib/dirent.in.h, lib/limits.in.h, lib/stdio.in.h, lib/stdlib.in.h: * lib/string.in.h, m4/gnulib-common.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-02-231-1/+2
| | | | | | | | | This incorporates: 2020-02-23 use 'restrict' * lib/careadlinkat.h, lib/md5.h, lib/sha1.h, lib/sha256.h: * lib/sha512.h, lib/strftime.h, lib/string.in.h, m4/nstrftime.m4: Copy from Gnulib. * m4/gnulib-comp.m4: Regenerate.
* Update from GnulibPaul Eggert2020-02-231-4/+7
| | | | | | | | | | | | | | | This incorporates: 2020-02-22 fchmodat, lchmod: simplify 2020-02-22 lchmod: fix link error on Solaris 10 2020-02-22 use 'restrict' in all POSIX function declarations 2020-02-22 chmodat, chownat: new modules * lib/gnulib.mk.in: Regenerate. * lib/inttypes.in.h, lib/openat.h, lib/signal.in.h: * lib/stdio.in.h, lib/stdlib.in.h, lib/string.in.h: * lib/sys_stat.in.h, lib/time.in.h, lib/unistd.in.h, m4/inttypes.m4: * m4/signal_h.m4, m4/stdio_h.m4, m4/stdlib_h.m4, m4/string_h.m4: * m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/time_h.m4: * m4/unistd_h.m4: Copy from Gnulib.
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Update from GnulibPaul Eggert2019-11-261-3/+7
| | | | | | | | | | | | | | | | | | | | | This incorporates: 2019-11-24 Fix errors in C++ mode on mingw 2019-11-24 time_r: Fix for mingw (regression from 2019-11-16) 2019-11-24 sys_time: Fix errors in C++ mode on mingw 2019-11-22 intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+ 2019-11-21 Disable many _GL_CXXALIASWARN on non-glibc 2019-11-21 Fix various errors in _GL_CXXALIAS_SYS invocations 2019-11-19 intprops: INT_MULTIPLY_WRAPV speedup for GCC 9.3+ 2019-11-18 stdint: Define [u]intptr_t correctly on 64-bit native Windows 2019-11-18 stdint: Fix value of WINT_MAX when we override wint_t 2019-11-18 stdint: Avoid "conflicting types" error on mingw 5.22 2019-11-16 time_r: Fix for mingw 2019-11-06 regex: now back in sync with glibc * lib/intprops.h, lib/regexec.c, lib/signal.in.h: * lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h: * lib/string.in.h, lib/sys_select.in.h, lib/sys_time.in.h: * lib/time.in.h, lib/unistd.in.h, m4/time_r.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2019-09-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2019-09-22 Update some URLs 2019-09-15 fcntl-h: fix compilation error of creat.c on MSVC 2019-09-15 creat: new module 2019-09-15 access: new module 2019-09-09 Add option to assume best, not worst, when cross-compiling. * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex: * lib/careadlinkat.c, lib/careadlinkat.h, lib/count-leading-zeros.h: * lib/count-trailing-zeros.h, lib/diffseq.h, lib/fcntl.in.h: * lib/ftoastr.c, lib/get-permissions.c: * lib/ieee754.in.h, lib/inttypes.in.h, lib/mktime.c, lib/open.c: * lib/pathmax.h, lib/pipe2.c, lib/stddef.in.h, lib/stdint.in.h: * lib/stdlib.in.h, lib/str-two-way.h, lib/string.in.h, lib/time.in.h: * lib/timegm.c, lib/unistd.in.h, m4/canonicalize.m4: * m4/extern-inline.m4, m4/fcntl_h.m4, m4/fdopendir.m4: * m4/getgroups.m4, m4/getopt.m4, m4/gettimeofday.m4: * m4/gnulib-common.m4, m4/largefile.m4: * m4/lstat.m4, m4/memmem.m4, m4/mktime.m4, m4/nocrash.m4, m4/open.m4: * m4/pselect.m4, m4/putenv.m4, m4/readlink.m4, m4/regex.m4: * m4/symlink.m4, m4/unistd_h.m4, m4/utimens.m4, m4/utimes.m4: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * m4/open-slash.m4: New file, copied from Gnulib.
* Update copyright year to 2019Paul Eggert2019-01-011-1/+1
| | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* Merge from GnulibPaul Eggert2017-12-311-1/+1
| | | | | | | This incorporates: 2018-01-01 maint: Run 'make update-copyright' 2017-12-29 Add cross-compilation results for GNU/Hurd. 2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
* Merge from GnulibPaul Eggert2017-09-131-1/+1
| | | | | | | This incorporates: 2017-09-13 all: prefer https: URLs This just changes http: to https: in comments, in files copied from Gnulib.