summaryrefslogtreecommitdiff
path: root/lib-src
Commit message (Collapse)AuthorAge
* ; Fix typos (don't abbreviate "with" or "without")Stefan Kangas2022-12-01
|
* Allow be-resources to failPo Lu2022-11-29
| | | | | | * lib-src/be_resources.cc (be_perror): Print additional blurb. (main): Return 0 on failure as well, but print the blurb. Problem reported by the Haiku packager.
* Fix incompatible -t and -r options in emacsclientGregory Heytings2022-11-28
| | | | | * lib-src/emacsclient.c (decode_options): Do not allow -t and -r together.
* ; Fix last change in etags.cEli Zaretskii2022-11-27
| | | | | | | | * lib-src/etags.c (cleanup_tags_file): Renamed from clean_matched_file_tag. * test/manual/etags/CTAGS.good_update: * test/manual/etags/CTAGS.good_crlf: Update to match the test.
* Fixed ctags local command execute vulnerabilitylu4nx2022-11-27
| | | | | | | | | | | | | | * lib-src/etags.c: (clean_matched_file_tag): New function (do_move_file): New function (readline_internal): Add `leave_cr` parameter, if true, include the \r character * test/manual/etags/CTAGS.good_crlf: New file * test/manual/etags/CTAGS.good_update: New file * test/manual/etags/crlf: New file * test/manual/etags/Makefile: Add `ctags -u` test cases
* * lib-src/emacsclient.c (print_help_and_exit): Fix --timeout.Shohei YOSHIDA2022-11-27
|
* ; Clean up unused function: cuseridlu4nx2022-11-26
| | | | * lib-src/ntlib.c (cuserid): Remove unused function.
* Support Racket programs in 'etags'lu4nx2022-11-23
| | | | | | | * lib-src/ctags.c (Scheme_suffixes): Add the Racket language extension ".rkt". Copyright-paperwork-exempt: yes
* ; Fix typosStefan Kangas2022-11-23
|
* ; Fix typosStefan Kangas2022-11-22
|
* Fix encoding and display of messages sent by server to emacsclientEli Zaretskii2022-11-19
| | | | | | | | | | * lisp/server.el (server-start): Use 'locale-coding-system' to encode messages sent back to the client. * lib-src/emacsclient.c (main): Print '-error' messages via 'message', not directly via 'fprintf'. This shows the error on MS-Windows when the client is invoked as 'emacsclientw', since stderr goes to the bit bucket in that case.
* Support multi-line C++11 strings in EbrowseJan Stranik2022-11-17
| | | | | * lib-src/ebrowse.c (yylex): Support C++11 multi-line strings. (bug#58847)
* * lib-src/rcs2log: Add fallback for $TMPDIR.Stefan Kangas2022-10-19
|
* Add gettid to seccomp-filterPhilipp Stephani2022-10-11
| | | | | * lib-src/seccomp-filter.c (main): gettid is necessary on RHEL 9.0 (bug#56359).
* Port bwrap/allows-stdout test to Ubuntu 22.04.1Paul Eggert2022-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, Ubuntu 22.04.1 x86-64 "make check" reports a failure in test/src/emacs-tests.el’s emacs-tests/bwrap/allows-stdout. One can reproduce the bug without using the Emacs executable, by running this script: #!/bin/bash export LC_ALL=C exec strace -f -o /tmp/tr bwrap --ro-bind / / --seccomp 20 -- \ cat /dev/null 20< lib-src/seccomp-filter-exec.bpf This script exits with status 159, because "cat" didn’t get started (it got a SIGSYS signal early on). The command "journalctl -g SECCOMP" indicated that rseq (syscall 334) was the problem. This syscall is issued by /lib64/ld-linux-x86-64.so.2 before ‘main’ is called. There’s another problem with the clone3 syscall, which is used by pthread_create starting in glibc 2.34. pthread_create is called by g_child_watch_source_new, which is called by init_process_emacs. * lib-src/seccomp-filter.c (main): Allow rseq, clone3. This causes the test to pass. Perhaps a fancier, more accurate patch could be written by someone who has the time.
* Don’t truncate seccomp-filter diagnosticPaul Eggert2022-10-02
| | | | | * lib-src/seccomp-filter.c (fail): Do not truncate diagnostic arbitrarily to 1000 bytes when ERROR is nonzero.
* Prefer static_assert to verify in seccomp-filterPaul Eggert2022-10-02
| | | | | | | | | Prefer static_assert in just one file for now; the idea is to do it elsewhere eventually. static_assert is standard (starting with C23) whereas verify is not, and static_assert can be used even in pre-C23 files due to Gnulib’s support for it. * lib-src/seccomp-filter.c: Do not include verify.h. Prefer static_assert to verify.
* Remove hard-coded path to pwd in Makefiles.Gregory Heytings2022-09-28
| | | | | | | | * Makefile.in: * lib-src/Makefile.in: * nextstep/Makefile.in: * nt/Makefile.in: Replace hard-coded calls to /bin/pwd by calls to 'pwd -P'. Fixes bug#58080.
* Port better to C23 bool+true+false keywordsPaul Eggert2022-09-28
| | | | | | | | | | | | | | | | | | | | C23 is adding the C++ keywords bool, true, and false; prefer them to <stdbool.h> if they are available. * admin/merge-gnulib (GNULIB_MODULES): Add stdbool, which emulates C23 on pre-C23 platforms. (AVOIDED_MODULES): Remove stdbool; Gnulib has renamed this module to stdbool-c99 and nobody uses it so it does not need to be avoided. * m4/c-bool.m4: New file, from Gnulib stdbool module. * lib-src/seccomp-filter.c, src/conf_post.h, src/dynlib.h: * src/emacs-module.c, src/nsterm.m, src/systhread.h: * test/src/emacs-module-resources/mod-test.c: Use the C23 style and use bool without including <stdbool.h>. The Gnulib stdbool module causes config.h to include stdbool.h on pre-C23 platforms. * src/emacs-module.h.in: Don’t include <stdbool.h> if C23 or later, or if it has already been included.
* Fix several printfs for 32 bit systemsPo Lu2022-09-10
| | | | | | | * lib-src/emacsclient.c (main): Use right length modifier when printing uintmax_t. * src/alloc.c (check_pure_size): Use right length modifier when printing ptrdiff_t.
* Display error in emacsclient if setsockopt failedStefan Kangas2022-09-09
| | | | | * lib-src/emacsclient.c (set_tcp_socket, set_socket_timeout): Display an error message if setsockopt failed.
* ; Make emacsclient.c more quiet againStefan Kangas2022-09-07
| | | | | * lib-src/emacsclient.c (main): Remove status message after getting a response from the server. (Bug#57650)
* ; * lib-src/emacsclient.c (main): Fix previous change.Stefan Kangas2022-09-07
|
* Fix the MS-Windows buildEli Zaretskii2022-09-06
| | | | | | | * lib-src/emacsclient.c (DEFAULT_TIMEOUT): Move out of the !WINDOWSNT condition, to fix the MS-Windows compilation. (set_socket_timeout) [WINDOWSNT]: Protect against too-large values of timeout.
* Add new --timeout flag to emacsclientStefan Kangas2022-09-06
| | | | | | | | | | | | | | * lib-src/emacsclient.c (DEFAULT_TIMEOUT): New constant. (timeout): New static variable. (longopts, shortopts, decode_options, print_help_and_exit): Add new flag --timeout. (set_socket_timeout, check_socket_timeout): New helper functions. (main): Display a status message or exit after Emacs has not responded for a while, depending on above new --timeout flag. (Bug#50849) * doc/emacs/misc.texi (emacsclient Options): * doc/man/emacsclient.1: Document the above new option. * etc/NEWS: Announce it.
* * lib-src/etags.c: Remove XEmacs support.Stefan Kangas2022-08-07
|
* Revert "Revert part of 59732a83c8 to fix bug#52969"Stefan Monnier2022-08-03
| | | | | | | | | | | This reverts commit 460f35e96df1c39ce2ba0f424b36365a2f9e9825. Re-remove the code that scans .el files for docstrings, now that even `lisp/loaddefs.el` is compiled. * lib-src/make-docfile.c (scan_file): Don't call `scan_lisp_file`. (scan_lisp_file, skip_white, read_lisp_symbol, search_lisp_doc_at_eol): Delete functions.
* Merge from origin/emacs-28Stefan Kangas2022-07-16
|\ | | | | | | db259d8fd3 Build Seccomp filter only if we have a 64-bit userspace (B...
| * Build Seccomp filter only if we have a 64-bit userspace (Bug#56549)Philipp Stephani2022-07-15
| | | | | | | | | | * configure.ac (SIZEOF_LONG): New variable. * lib-src/Makefile.in (SIZEOF_LONG): New variable; added conditional.
| * Revert "Don’t assume openat"Eli Zaretskii2022-04-17
| | | | | | | | | | | | | | | | | | | | This reverts commit 3cccf0a9107d585173e527550bbc45253624ca2e. This is a change with far-reaching effects on MS-Windows at the least, where file-related APIs are shadowed to support transparent support for UTF-8 encoded file names. Making such changes on a stable branch for the benefit of a proprietary platform with a 13-year old OS is a tail wagging the dog. Please don't do that without discussing first.
* | Fix quoting of file names in 'ctags'Eli Zaretskii2022-07-01
| | | | | | | | | | * lib-src/etags.c (main) [WINDOWSNT || MSDOS]: Quote file names according to the rules of the system shells.
* | Update the 'etags' test suiteEli Zaretskii2022-06-09
| | | | | | | | | | | | | | | | | | | | | | | | * ETAGS.good_1: * ETAGS_good_2: * ETAGS_good_3: * ETAGS_good_4: * ETAGS_good_5: * ETAGS_good_6: Adapt to recent changes in test sources. * lib-src/etags.c (C_entries): Add commentary for resetting bracelev. (Bug#45246)
* | Pacify GCC 12 -Wanalyzer-use-of-uninitialized-valuePaul Eggert2022-05-31
| | | | | | | | | | | | | | | | | | * lib-src/etags.c (readline_internal): Do not copy a pointer to freed storage, as that has undefined behavior even if the pointer is not dereferenced. (relative_filename): Avoid a backward scan by remembering where the last slash was. This is a bit faster, and pacifies a GCC false alarm.
* | Audit quoting symbols in C doc stringsLars Ingebrigtsen2022-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/manual/etags/c-src/emacs/src/keyboard.c (Frecursive_edit): * src/xfns.c (syms_of_xfns): * src/xdisp.c (Fwindow_text_pixel_size): (syms_of_xdisp): * src/w32notify.c (Fw32notify_add_watch): (Fw32notify_add_watch): * src/frame.c (Fframe_child_frame_border_width): * src/comp.c (Fcomp__subr_signature): * src/alloc.c (Fgarbage_collect): * lib-src/make-docfile.c (scan_c_stream): Audit quoting symbols in C doc strings.
* | Pacify GCC 12 in default developer buildPaul Eggert2022-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets ‘./configure; make’ work on Fedora 36 x86-64 from a Git checkout without generating false-alarm warnings. * lib-src/etags.c (main): There appeared to be false alarm with GCC 12. However, the code was wrong anyway, as it mishandled file names containing "'" so fix that bug. This pacifies GCC. (mercury_decl): Omit tests ‘s + pos != NULL’ that were apparently intended to be ‘s[pos] != '\0'’ but which were miscoded to always be true and which were mostly not needed anyway. In one place, though, a test was needed, so fix that by using strchr instead. * src/alloc.c (lisp_free) [!GC_MALLOC_CHECK]: * src/term.c (Fsuspend_tty): Don’t look at a pointer after freeing it, even just to test it for equality with some other pointer, as this has undefined behavior in C and GCC 12 diagnoses this. * src/dbusbind.c (xd_read_message_1): Rework the code a bit so that it has fewer tests. This pacifies GCC 12 which was complaining incorrectly about dereferencing a null pointer. * src/intervals.c (copy_properties): Remove an eassume that should no longer be needed even to pacify older GCCs, due to ... * src/intervals.h (split_interval_left): ... this addition of ATTRIBUTE_RETURNS_NONNULL to pacify a GCC 12 warning about dereferencing a null pointer. * src/regex-emacs.c (EXTEND_BUFFER): Use negative values rather than auxiliary booleans to indicate null pointers. This pacifies GCC 12 false alarms about using uninitialized variables. * src/xdisp.c (clear_position): New function. (append_space_for_newline, extend_face_to_end_of_line): Use it to work around false alarms from GCC 12. (display_and_set_cursor): Add an UNINIT to pacify GCC 12. * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Defend against hypothetical bad code elsewhere; this also pacifies GCC 12. (x_term_init): Use fixed-size auto array rather than alloca, as the array is small; this also pacifies GCC 12.
* | Merge from origin/emacs-28Paul Eggert2022-04-17
|\| | | | | | | 3cccf0a910 Don’t assume openat
| * Don’t assume openatPaul Eggert2022-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use openat only on platforms with O_PATH. This ports to OS X 10.9 and earlier. Problem reported by Keith David Bershatsky in: https://lists.gnu.org/r/emacs-devel/2022-04/msg00805.html * lib-src/emacsclient.c (local_sockname): Use open, not openat. * src/sysdep.c (sys_openat): New static function, which uses openat only if O_PATH is defined. (emacs_openat): Use it instead of openat. (emacs_openat_noquit): Remove. (emacs_open_noquit): Reimplement as per the old emacs_openat_noquit, but use plain 'open'.
* | ebrowse dumping need not return intPaul Eggert2022-04-08
| | | | | | | | | | | | * lib-src/ebrowse.c (dump_members, dump_tree): Return void, not int, since callers never actually use returned value. All uses changed.
* | Do not include <attribute.h> from <config.h>Paul Eggert2022-03-08
| | | | | | | | | | | | | | | | | | | | | | | | This is because mod-test.c shouldn’t use source code from lib, but it does need to include <config.h>. * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c: * lib-src/make-docfile.c, lib-src/movemail.c: * lib-src/seccomp-filter.c, src/dynlib.h, src/lisp.h: * src/syssignal.h, src/sysstdio.h, src/systhread.h, src/tparam.h: Include <attribute.h>. * src/conf_post.h: Do not include <attribute.h>. All uses of attribute.h macros replaced with their _GL_ equivalents.
* | Merge from origin/emacs-28Stefan Kangas2022-03-06
|\| | | | | | | | | 0090318c61 * lib-src/seccomp-filter.c (main): Use faccessat2 only if ... 3bb01a499b Fix regression in derived-mode-init-mode-variables
| * * lib-src/seccomp-filter.c (main): Use faccessat2 only if defined.Andreas Schwab2022-03-05
| |
* | Merge from origin/emacs-28Stefan Kangas2022-01-23
|\| | | | | | | | | 6d3608be88 Seccomp: improve support for newer versions of glibc (Bug#... e58ecd01d5 EUDC: Fix a quoting bug in the BBDB backend
| * Seccomp: improve support for newer versions of glibc (Bug#51073)Philipp Stephani2022-01-22
| | | | | | | | | | | | | | * lib-src/seccomp-filter.c (main): Allow 'pread64' and 'faccessat2' system calls. Newer versions of glibc use these system call (starting with commits 95c1056962a3f2297c94ce47f0eaf0c5b6563231 and 3d3ab573a5f3071992cbc4f57d50d1d29d55bde2, respectively).
* | Merge from origin/emacs-28Po Lu2022-01-21
|\| | | | | | | | | | | 11ea45c9e4 Fix UB in ebrowse ba57b78064 Fix execute-extended-command-for-buffer in fundamental-mode ef0c1d4c2c Add workaround to handle a problem with Enlightenment WM (...
| * Fix UB in ebrowseEli Zaretskii2022-01-20
| | | | | | | | | | | | | | | | * lib-src/ebrowse.c (matching_regexp): Avoid writing beyond the limits of 'matching_regexp_buffer'. Patch by Jan Stranik <jan@stranik.org>. (Bug#53333) Copyright-paperwork-exempt: yes
* | Fix Emacs icon not appearing on HaikuPo Lu2022-01-17
| | | | | | | | | | | | | | * lib-src/be_resources.cc (main): Scale input bitmap appropriately before setting it as the mini and large icons. * src/Makefile.in (Emacs): Add dependency on `lib-src/be-resources'.
* | Avoid user environment interfering with bootstrapGlenn Morris2022-01-12
| | | | | | | | | | | | | | * Makefile.in, admin/unidata/Makefile.in: * doc/misc/Makefile.in, lib-src/Makefile.in: Don't export user environment variables that can affect running emacs. (Bug#53038)
* | Fix two unused variable warnings in make-docfile.cStefan Kangas2022-01-04
| | | | | | | | | | * lib-src/make-docfile.c (scan_lisp_file): Fix unused variable warnings.
* | Revert part of 59732a83c8 to fix bug#52969Stefan Monnier2022-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | While we don't need to put docstrings of .elc files into etc/DOC, we still need to put those of `loaddefs.el` there since we don't have a "dynamic docstring" feature for the non-compiled files and keeping the actual docstrings in the heap would be prohibitive. * src/Makefile.in ($(etc)/DOC): Scan `lisp/loaddefs.el` still. * lib-src/make-docfile.c (scan_lisp_file): New function. (scan_file): Use it. (skip_white, read_lisp_symbol, search_lisp_doc_at_eol): New functions.
* | Merge from origin/emacs-28Stefan Kangas2022-01-02
|\| | | | | | | | | | | | | efb1c7ec37 ; * admin/notes/years: More known problems. f475c5823a ; Copyright year fixes 2684def348 ; Run set-copyright from admin.el 2558b37b5e ; * admin/notes/years: Mention known problems with 'update...