summaryrefslogtreecommitdiff
path: root/lib-src
Commit message (Collapse)AuthorAge
* Prefer $(info) to @echoPaul Eggert2021-12-20
| | | | | | | | | | | | | | | | | | Have GNU Make output some diagnostics directly, instead of forking and execing a shell to do it. * GNUmakefile (help): * doc/lispref/two-volume.make (vol2.pdf, elisp2med-init) (elisp2-init): * doc/misc/Makefile.in (echo-info, echo-sources): * lib-src/Makefile.in (archlibdir, install, check): * src/verbose.mk.in (AM_V_AR, AM_V_CC, AM_V_CXX, AM_V_CCLD) (AM_V_CXXLD, AM_V_ELC, AM_V_ELN, AM_V_GEN, AM_V_GLOBALS) (AM_V_RC): * test/Makefile.in (subdirs, subdir-targets): Prefer $(info) to @echo. * GNUmakefile (MAKECMDGOALS, configure, Makefile): Prefer $(warning) to @echo >&2. * src/verbose.mk.in (AM_V_ELN): Output target, like the others.
* Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-12
|\
| * Really fix the etags TEX parsingLars Ingebrigtsen2021-12-12
| | | | | | | | | | * lib-src/etags.c (TEX_decode_env): Re-fix off-by-one parsing of TEXTAGS environment variable (bug#52438).
| * Fix an off-by-one error in TEX parsing in etagsLars Ingebrigtsen2021-12-12
| | | | | | | | | | | | | | * lib-src/etags.c (TEX_decode_env): Fix off-by-one parsing of TEXTAGS environment variable (bug#52438). Based on a patch by David Fussner <dfussner@googlemail.com> and amended by Andreas Schwab <schwab@linux-m68k.org>.
* | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-10
|\|
| * Merge from origin/emacs-28Stefan Kangas2021-12-10
| |\ | | | | | | | | | | | | | | | | | | 7a25ba0fde ; * lisp/image-dired.el: Fix typo. dda6337066 emacsclient takes more care about XDG_RUNTIME_DIR 26fb4168b8 ; Prefer HTTPS in more URLs 6b89578524 ; * lisp/progmodes/flymake.el: Update the minimum Emacs ve...
| | * emacsclient takes more care about XDG_RUNTIME_DIRPaul Eggert2021-12-09
| | | | | | | | | | | | | | | | | | | | | * lib-src/emacsclient.c (set_local_socket): Revert to the Emacs 27 behavior of not trying TMPDIR if XDG_RUNTIME_DIR is set. This is one of the suggestions made by Jim Porter and independently by Ulrich Mueller in Bug#51327.
* | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-03
|\| |
| * | Merge from origin/emacs-28Stefan Kangas2021-12-03
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c222b9c1a Port to C compilers that lack size-0 arrays fed35a8951 Port emacsclient to Solaris 10 f35d6a9c73 * CONTRIBUTE: Improve commit message instructions e0ee1d003a Work around IBM XL C compiler bug 6b99b6eb8b * admin/make-tarball.txt: Various clarifications. bbf4140091 * admin/diff-tar-files: Don't assume .tar.gz. 0a50ad11db * lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.
| | * Port emacsclient to Solaris 10Paul Eggert2021-12-02
| | | | | | | | | | | | | | | | | | | | | | | | Without this patch, the build fails on Solaris 10 with the diagnostic “Undefined symbol acl_trivial first referenced in file ../lib/libgnu.a(file-has-acl.o)”. * lib-src/Makefile.in (LIB_HAS_ACL): New macro. (emacsclient${EXEEXT}): Link with $(LIB_HAS_ACL).
| | * Fix compilation errors with MinGW64 GCC 11Eli Zaretskii2021-10-24
| | | | | | | | | | | | | | | | | | | | | * lib-src/ntlib.c (_GL_ATTRIBUTE_MALLOC) (_GL_ATTRIBUTE_DEALLOC_FREE): Define to avoid compilation errors with MinGW64 GCC 11. Suggested by Andy Moreton <andrewjmoreton@gmail.com>. Do not merge to master.
* | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-01
|\| |
| * | Suppress emacsclient message that daemon should have started if --quietJim Porter2021-12-01
| | | | | | | | | | | | | | | * lib-src/emacsclient.c (start_daemon_and_retry_set_socket): Don't output "daemon should have started" message if --quiet (bug#52214).
* | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-11-30
|\| |
| * | Add support for the Haiku operating system and its window systemPo Lu2021-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .gitignore: Add binaries specific to Haiku. * Makefie.in (HAVE_BE_APP): New variable. (install-arch-dep): Install Emacs and Emacs.pdmp when using Haiku. * configure.ac: Detect and configure for Haiku and various related configurations. (be-app, be-freetype, be-cairo): New options. (HAVE_BE_APP, HAIKU_OBJ, HAIKU_CXX_OBJ) (HAIKU_LIBS, HAIKU_CFLAGS): New variables. (HAIKU, HAVE_TINY_SPEED_T): New define. (emacs_config_features): Add BE_APP. * doc/emacs/Makefile.in (EMACSSOURCES): Add Haiku appendix. * doc/emacs/emacs.texi: Add Haiku appendix to menus and include it. * doc/emacs/haiku.texi: New Haiku appendix. * doc/lispref/display.texi (Defining Faces, Window Systems): Explain meaning of `haiku' as a window system identifier. (haiku-use-system-tooltips): Explain meaning of system tooltips on Haiku. * doc/lispref/frames.texi (Multiple Terminals): Explain meaning of haiku as a display type. (Frame Layout): Clarify section for Haiku frames. (Size Parameters): Explain limitations of fullwidth and fullheight on Haiku. (Management Parameters): Explain limitations of inhibiting double buffering on builds with Cairo, and the inability of frames with no-accept-focus to receive keyboard input on Haiku. (Font and Color Parameters): Explain the different font backends available on Haiku. (Raising and Lowering): Explain that lowering and restacking frames doesn't work on Haiku. (Child Frames): Explain oddities of child frame visibility on Haiku. * doc/lispref/os.texi (System Environment): Explain meaning of haiku. * etc/MACHINES: Add appropriate notices for Haiku. * etc/NEWS: Document changes. * etc/PROBLEMS: Document font spacing bug on Haiku. * lib-src/Makefile.in: Build be-resources binary on Haiku. (CXX, CXXFLAGS, NON_CXX_FLAGS, ALL_CXXFLAGS) (HAVE_BE_APP, HAIKU_LIBS, HAIKU_CFLAGS): New variables. (DONT_INSTALL): Add be-resources binary if on Haiku. (be-resources): New target. * lib-src/be_resources: Add helper binary for setting resources on the Emacs application. * lib-src/emacsclient.c (decode_options): Set alt_display to "be" on Haiku. * lisp/cus-edit.el (custom-button, custom-button-mouse) (custom-button-unraised, custom-button-pressed): Update face definitions for Haiku. * lisp/cus-start.el: Add haiku-debug-on-fatal-error and haiku-use-system-tooltips. * lisp/faces.el (face-valid-attribute-values): Clarify attribute comment for Haiku. (tool-bar): Add appropriate toolbar color for Haiku. * lisp/frame.el (haiku-frame-geometry) (haiku-mouse-absolute-pixel-position) (haiku-set-mouse-absolute-pixel-position) (haiku-frame-edges) (haiku-frame-list-z-order): New function declarations. (frame-geometry, frame-edges) (mouse-absolute-pixel-position) (set-mouse-absolute-pixel-position) (frame-list-z-order): Call appropriate window system functions on Haiku. (display-mouse-p, display-graphic-p) (display-images-p, display-pixel-height) (display-pixel-width, display-mm-height) (display-mm-width, display-backing-store) (display-save-under, display-planes) (display-color-cells, display-visual-class): Update type tests for Haiku. * lisp/international/mule-cmds.el (set-coding-system-map): Also prevent set-terminal-coding-system from appearing in the menu bar on Haiku. * lisp/loadup.el: Load Haiku-specific files when built with Haiku, and don't rename newly built Emacs on Haiku as BFS doesn't support hard links. * lisp/menu-bar.el (menu-bar-open): Add for Haiku. * lisp/mwheel.el (mouse-wheel-down-event): Expect wheel-up on Haiku. (mouse-wheel-up-event): Expect wheel-down on Haiku. (mouse-wheel-left-event): Expect wheel-left on Haiku. (mouse-wheel-right-event): Expect wheel-right on Haiku. * lisp/net/browse-url.el (browse-url--browser-defcustom-type): Add option for WebPositive. (browse-url-webpositive-program): New variable. (browse-url-default-program): Search for WebPositive. (browse-url-webpositive): New function. * lisp/net/eww.el (eww-form-submit, eww-form-file) (eww-form-checkbox, eww-form-select): Define faces appropriately for Haiku. * lisp/term/haiku-win.el: New file. * lisp/tooltip.el (menu-or-popup-active-p): New function declaration. (tooltip-show-help): Don't use tooltips on Haiku when a menu is active. * lisp/version.el (haiku-get-version-string): New function declaration. (emacs-version): Add Haiku version string if appropriate. * src/Makefile.in: Also produce binary named "Emacs" with Haiku resources set. (CXX, HAIKU_OBJ, HAIKU_CXX_OBJ, HAIKU_LIBS) (HAIKU_CFLAGS, HAVE_BE_APP, NON_CXX_FLAGS) (ALL_CXX_FLAGS): New variables. (.SUFFIXES): Add .cc. (.cc.o): New target. (base_obj): Add Haiku C objects. (doc_obj, obj): Split objects that should scanned for documentation into doc_obj. (SOME_MACHINE_OBJECTS): Add appropriate Haiku C objects. (all): Depend on Emacs and Emacs.pdmp on Haiku. (LIBES): Add Haiku libraries. (gl-stamp) ($(etc)/DOC): Scan doc_obj instead of obj (temacs$(EXEEXT): Use C++ linker on Haiku. (ctagsfiles3): New variable. (TAGS): Scan C++ files. * src/alloc.c (garbage_collect): Mark Haiku display. * src/dispextern.h (HAVE_NATIVE_TRANSFORMS): Also enable on Haiku. (struct image): Add fields for Haiku transforms. (RGB_PIXEL_COLOR): Define to unsigned long on Haiku as well. (sit_for): Also check USABLE_SIGPOLL. (init_display_interactive): Set initial window system to Haiku on Haiku builds. * src/emacs.c (main): Define Haiku syms and init haiku clipboard. (shut_down_emacs): Quit BApplication on Haiku and trigger debug on aborts if haiku_debug_on_fatal_error. (Vsystem_type): Update docstring. * src/fileio.c (next-read-file-uses-dialog-p): Enable on Haiku. * src/filelock.c (WTMP_FILE): Only define if BOOT_TIME is also defined. * src/floatfns.c (double_integer_scale): Work around Haiku libroot brain damage. * src/font.c (syms_of_font): Define appropriate font driver symbols for Haiku builds with various options. * src/font.h: Also enable ftcrfont on Haiku builds with Cairo. (font_data_structures_may_be_ill_formed): Also enable on Haiku builds that have Cairo. * src/frame.c (Fframep): Update doc-string for Haiku builds and return haiku if appropriate. (syms_of_frame): New symbol `haiku'. * src/frame.h (struct frame): Add output data for Haiku. (FRAME_HAIKU_P): New macro. (FRAME_WINDOW_P): Test for Haiku frames as well. * src/ftcrfont.c (RED_FROM_ULONG, GREEN_FROM_ULONG) (BLUE_FROM_ULONG): New macros. (ftcrfont_draw): Add haiku specific code for Haiku builds with Cairo. * src/ftfont.c (ftfont_open): Set face. (ftfont_has_char, ftfont_text_extents): Work around crash. (syms_of_ftfont): New symbol `mono'. * src/ftfont.h (struct font_info): Enable Cairo-specific fields for Cairo builds on Haiku. * src/haiku_draw_support.cc: * src/haiku_font_support.cc: * src/haiku_io.c: * src/haiku_select.cc: * src/haiku_support.cc: * src/haiku_support.h: * src/haikufns.c: * src/haikufont.c: * src/haikugui.h: * src/haikuimage.c: * src/haikumenu.c: * src/haikuselect.c: * src/haikuselect.h: * src/haikuterm.c: * src/haikuterm.h: Add new files for Haiku windowing support. * src/haiku.c: Add new files for Haiku operating system support. * src/image.c: Implement image transforms and native XPM support on Haiku. (GET_PIXEL, PUT_PIXEL, NO_PIXMAP) (PIX_MASK_RETAIN, PIX_MASK_DRAW) (RGB_TO_ULONG, RED_FROM_ULONG, GREEN_FROM_ULONG) (BLUE_FROM_ULONG, RED16_FROM_ULONG, GREEN16_FROM_ULONG) (BLUE16_FROM_ULONG): Define to appropriate values on Haiku. (image_create_bitmap_from_data): Add Haiku support. (image_create_bitmap_from_file): Add TODO on Haiku. (free_bitmap_record): Free bitmap on Haiku. (image_size_in_bytes): Implement for Haiku bitmaps. (image_set_transform): Implement on Haiku. (image_create_x_image_and_pixmap_1): Implement on Haiku, 24-bit or 1-bit only. (image_destroy_x_image, image_get_x_image): Use correct img and pixmap values on Haiku. (lookup_rgb_color): Use correct macro on Haiku. (image_to_emacs_colors): Implement on Haiku. (image_disable_image): Disable on Haiku. (image_can_use_native_api): Test for translator presence on Haiku. (native_image_load): Use translator on Haiku. (imagemagick_load_image): Add Haiku-specific quirks. (Fimage_transforms_p): Allow rotate90 on Haiku. (image_types): Enable native XPM support on Haiku. (syms_of_image): Enable XPM images on Haiku. * src/keyboard.c (kbd_buffer_get_event) (handle_async_input, handle_input_available_signal) (handle_user_signal, Fset_input_interrupt_mode) (init_keyboard): Check for USABLE_SIGPOLL along with USABLE_SIGIO. * src/lisp.h (pD): Work around broken Haiku headers. (HAVE_EXT_MENU_BAR): Define on Haiku. (handle_input_available_signal): Enable if we just have SIGPOLL as well. * src/menu.c (have_boxes): Return true on Haiku. (single_menu_item): Enable toolkit menus on Haiku. (find_and_call_menu_selection): Also enable on Haiku. * src/process.c (keyboard_bit_set): Enable with only usable SIGPOLL. (wait_reading_process_output): Test for SIGPOLL as well as SIGIO availability. * src/sound.c (sound_perror, vox_open) (vox_configure, vox_close): Enable for usable SIGPOLL as well. * src/sysdep.c (sys_subshell): Enable for usable SIGPOLL. (reset_sigio): Make conditional on F_SETOWN. (request_sigio, unrequest_sigio) (emacs_sigaction_init): Also handle SIGPOLLs. (init_sys_modes): Disable TCXONC usage on Haiku, as it doesn't have any ttys other than pseudo ttys, which don't support C-s/C-q flow control, and causes compiler warnings. (speeds): Disable high speeds if HAVE_TINY_SPEED_T. * src/termhooks.h (enum output_method): Add output_haiku. (struct terminal): Add Haiku display info. (TERMINAL_FONT_CACHE): Enable for Haiku. * src/terminal.c (Fterminal_live_p): Return `haiku' if appropriate. * src/verbose.mk.in (AM_V_CXX, AM_V_CXXLD): New logging variables. * src/xdisp.c (redisplay_internal) (note_mouse_highlight): Return on Haiku if a popup is activated. (display_menu_bar): Return on Haiku if frame is a Haiku frame. * src/xfaces.c (GCGraphicsExposures): Enable correctly on Haiku. (x_create_gc): Enable dummy GC code on Haiku. * src/xfns.c (x-server-version, x-file-dialog): Add Haiku specifics to doc strings. * src/xterm.c (syms_of_xterm): Add Haiku information to doc string.
* | | Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-11-11
|\| |
| * | New emacsclient option to either create or reuse an existing frame.Gregory Heytings2021-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/misc.texi (emacsclient Options): Document the new option. * doc/man/emacsclient.1: Mention the new option (bug#51374). * etc/NEWS: Mention the new option. * lib-src/emacsclient.c (reuse_frame): New variable. (longopts): New option. (decode_options): Decode the new option. (print_help_and_exit): Document the new option. (main): Use the new option.
| * | Fix compilation errors with MinGW64 GCC 11Eli Zaretskii2021-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-src/ntlib.c (IS_DIRECTORY_SEP): Remove redundant macro. * lib-src/ntlib.c (DEFER_MS_W32_H): * nt/addpm.c (DEFER_MS_W32_H): * nt/cmdproxy.c (DEFER_MS_W32_H): * nt/ddeclient.c (DEFER_MS_W32_H): * nt/preprep.c (DEFER_MS_W32_H): * nt/runemacs.c (DEFER_MS_W32_H): Fix a typo. * nt/Makefile.in (BASE_CFLAGS): Add -I switches to pick up config.h and lib/attribute.h.
| * | Include <config.h> first in MS-Windows sourcePaul Eggert2021-10-24
| |/
| * Fix Seccomp filter for newer GNU/Linux systems (Bug#51073).Philipp Stephani2021-10-09
| | | | | | | | | | | | | | | | On some systems, process startup calls prctl(PR_CAPBSET_READ) via 'cap_get_bound'. We can just return EINVAL. * lib-src/seccomp-filter.c (main): Add a rule for prctl(PR_CAPBSET_READ, ...).
| * Simplify socket symlink-attack checkingPaul Eggert2021-10-03
| | | | | | | | | | | | | | | | This is a minor bugfix cleanup (Bug#33847#161). * lib-src/emacsclient.c: Move "#include <acl.h>" to inside "#ifdef SOCKETS_IN_FILE_SYSTEM", which is more accurate and simpler than having a separate "#ifndef WINDOWSNT". (O_PATH): Likewise.
| * ; Fix typosStefan Kangas2021-09-03
| |
| * Improve compatibility with musl-libc (Bug#48789)Philipp Stephani2021-08-29
| | | | | | | | | | * lib-src/seccomp-filter.c (export_filter): Remove use of nonstandard macro TEMP_FAILURE_RETRY.
| * Fix libexec installation on NS (bug#50250)Alan Third2021-08-29
| | | | | | | | * lib-src/Makefile.in (ns_applibexecdir): New variable.
| * Avoid using %n in emacsclientOmar Polo2021-08-22
| | | | | | | | * lib-src/emacsclient.c (local_sockname): Avoid using %n (bug#50155).
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-07-25
|\|
| * Redo emacsclient socket symlink-attack checkingPaul Eggert2021-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add file-has-acl. * lib/file-has-acl.c: New file, copied from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib-src/emacsclient.c: Include acl.h, for file_has_acl. (O_PATH): Default to O_SEARCH, which is good enough here. (union local_sockaddr): New type. (socket_status): Remove, replacing with ... (connect_socket): New function. All callers changed. This function checks for ownership and permissions issues with the parent directory of the socket file, instead of checking the owner of the socket (which does not help security). (socknamesize): Move to file scope. (local_sockname): New arg S. No need to pass socknamesize. UID arg is now uid_t. All callers changed. Get file descriptor of parent directory of socket, to foil some symlink attacks. Do not follow symlinks to that directory. (set_local_socket): Create the socket here instead of on each attempt to connect it. Fall back from XDG_RUNTIME_DIR to /tmp only if the former fails due to ENOENT. Adjust permission-failure diagnostic to match changed behavior. This addresses Bug#33847, which complained about emacsclient in a safer XDG environment not connecting to an Emacs server running in a less-safe enviroment outside XDG. The patch fixes a longstanding issue with emacsclient permission checking. It’s ineffective to look at the permission of the socket file itself; on some platforms, these permissions are ignored anyway. What matters are the permissions on the parent directory of the socket file, as these are what make symlink attacks possible. Change the permissions check accordingly, and also refuse to follow symlinks to that parent directory. These changes make it OK for emacsclient to fall back from XDG_RUNTIME_DIR to the traditionally less-safe /tmp/emacsNNNN directories, since /tmp is universally sticky nowadays.
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-07-18
|\|
| * Pacify gcc 11.1.1 -Wanalyzer-null-argumentPaul Eggert2021-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-src/etags.c (regexp): Omit member force_explicit_name, since it’s always true. All uses removed. This lets us remove calls to strlen (name) where GCC isn’t smart enough to deduce that name must be nonnull. * lib-src/movemail.c (main): Fix bug that could cause link (tempname, NULL) to be called. * src/emacs.c (argmatch): Break check into two ‘if’s, since GCC doesn’t seem to be smart enough to check the single ‘if’. * src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp could be given a NULL arg. * src/xfont.c (xfont_list_family): Use nonnull value for dummy initial value.
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-06-20
|\|
| * Improve and update the 'etags' test suiteEli Zaretskii2021-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-src/etags.c (mercury_pr): Remove redundant comment. * test/manual/etags/merc-src/accumulator.m: Add more complex declarations. * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/CTAGS.good: Adapt to latest changes in 'etags' and the test suite. (Bug#47408)
| * Fix Mercury support, notably qualified procedures.Fabrice Nicol2021-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct the previous fix (did not correctly handle qualified types). Also fix the following issues: - remove module name (+ dot) from tags, as prefixing module name is often inconsistent in code and may cause tags to be too specific. - now tag 0-arity predicates and functions (':- func foo_14.') - now tag one-word declarations (':- interface.') * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN arguments to 'make_tag'. (mercury_decl): Return more information about the declaration or definition it finds. This allows mercury_pr to be smarter. (Bug#47408)
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-06-13
|\|
| * Support mercury in 'ctags' as wellEli Zaretskii2021-06-10
| | | | | | | | | | | | | | | | | | | | | | The previous lack of support was due to incorrect calls to 'make_tag' in 'mercury_pr', which caused 'pfnote' to refrain from adding Mercury tags to the list of recorded tags. * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN arguments to 'make_tag'. * test/manual/etags/CTAGS.good: Adjust to the above change.
| * Minor fixes for last changeEli Zaretskii2021-06-06
| | | | | | | | | | | | | | | | | | | | | | | | * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: Adapt to added Mercury support. * lib-src/etags.c (find_entries, test_objc_is_mercury): * etc/NEWS: Fix punctuation and typos in last change.
| * Add support for Mercury (https://mercurylang.org) in 'etags'Fabrice Nicol2021-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tag declarations starting lines with ':-'. By default, all declarations are tagged. Optionally, first predicate or functions in clauses can be tagged as in Prolog support using '--declarations'. (Bug#47408). * lib-src/etags.c (test_objc_is_mercury, Mercury_functions) (mercury_skip_comment, mercury_decl, mercury_pr): Implement Mercury support. As Mercury and Objective-C have the same file extension .m, a heuristic test tries to detect the language. * doc/man/etags.1: Document the change. Add Mercury-specific behavior for '--declarations'. This option tags first predicates or functions in clauses in addition to declarations.
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-05-19
|\|
| * Add support for Rust in etagsPierre-Antoine Rouby2021-05-17
| | | | | | | | | | | | | | | | * lib-src/etags.c (Rust_functions): New function to make tags for rust files. (Rust_help, Rust_suffixes): New constant. * doc/emacs/maintaining.texi (Tag Syntax): Add Rust item. * doc/man/etags.1: Add Rust (bug#46055).
| * * lib-src/Makefile.in (clean): Tidy up seccomp-filter files.Glenn Morris2021-05-09
| |
| * Base the "extraclean" Make rule on "maintainer-clean"Glenn Morris2021-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (FIND_DELETE): New, set by configure. (extraclean_dirs): Remove. (extraclean): Make it just a small variation on maintainer-clean. * admin/charsets/Makefile.in (extraclean): * admin/grammars/Makefile.in (extraclean): * admin/unidata/Makefile.in (extraclean): * leim/Makefile.in (extraclean): * lib-src/Makefile.in (extraclean): * lisp/Makefile.in (extraclean): * lwlib/Makefile.in (extraclean): * nt/Makefile.in (extraclean): * src/Makefile.in (extraclean): Remove target. * lib/Makefile.in (extraclean): Merge into maintainer-clean.
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-04-25
|\|
| * Ensure that argument to 'verify' is a constant expression.Philipp Stephani2021-04-22
| | | | | | | | | | | | | | Casting NULL is not a constant expression (Bug#47951). * lib-src/seccomp-filter.c (main): Turn check for null pointer representation into a runtime assertion.
| * Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...).Philipp Stephani2021-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dynamic loader of GNU libc 2.28 uses this system call to initialize CPU information, see https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28. Simulating an older kernel by returning EINVAL should be the most harmless rule here. The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers; see the FIXME at the top of https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28. * lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not already present. Inline the value because there doesn't seem to be a header file exporting this constant yet. (main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL.
| * Fix Seccomp filter on CentOS 8.3 (Bug#47828).Philipp Stephani2021-04-18
| | | | | | | | * lib-src/seccomp-filter.c (main): mmap: Also allow MAP_SHARED.
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-04-18
|\|
| * * lib-src/seccomp-filter.c: Add missing headers.Philipp Stephani2021-04-12
| |
| * Generate Seccomp filters only if we have the necessary constants.Philipp Stephani2021-04-12
| | | | | | | | | | | | | | | | | | | | If we're missing SECCOMP_SET_MODE_FILTER, the seccomp-filter build fails. Reuse the existing HAVE_SECCOMP configuration variable, which checks for these macros. * configure.ac (HAVE_SECCOMP): Substitute in Makefile.in. * lib-src/Makefile.in (HAVE_SECCOMP): New variable. (SECCOMP_FILTER): Define only if HAVE_SECCOMP.
| * Add a variant of the Seccomp filter file that allows 'execve'.Philipp Stephani2021-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful when starting Emacs with a Seccomp filter enabled, e.g. using 'bwrap'. * lib-src/seccomp-filter.c (main): Generate new Seccomp files. * lib-src/Makefile.in (all) (seccomp-filter.bpf seccomp-filter.pfc seccomp-filter-exec.bpf seccomp-filter-exec.pfc): Generate new Seccomp files. * .gitignore: Ignore new Seccomp files. * test/src/emacs-tests.el (emacs-tests/bwrap/allows-stdout): New unit test.
| * * lib-src/seccomp-filter.c (main): Also allow O_NOFOLLOW.Philipp Stephani2021-04-11
| |
| * Don't attempt to generate Seccomp filter file in Linux < 4.14.Philipp Stephani2021-04-11
| | | | | | | | | | | | | | | | Only Linux 4.14 and later contain the required support for SECCOMP_RET_KILL_PROCESS. * lib-src/Makefile.in (SECCOMP_FILTER): Define only if we run at least Linux 4.14.