summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAge
* Link with libdl when using pgtkRobert Pluim2022-03-16
| | | | | * configure.ac: Define LIBMODULES on GNU/Linux when using pgtk, even when not using modules, since pgtkterm.c uses dlsym. (Bug#54378)
* Port to current GnulibPaul Eggert2022-02-23
| | | | | | * configure.ac (AM_COND_IF): New macro, needed because Gnulib normally assumes Automake and now uses this Automake macro. Problem reported by Lars Ingebrigtsen (Bug#32452#47).
* Improve XInput2 version checkingPo Lu2022-02-22
| | | | | | | | | | | | | | * configure.ac: Check for various important structures from all versions of libXi. * src/xfns.c (setup_xi_event_mask): * src/xwidget.c (x_draw_xwidget_glyph_string): * src/xterm.c (x_init_master_valuators, handle_one_xevent) (x_term_init): Replace XI version checks based on protocol headers with new constants. * src/xterm.h (HAVE_XINPUT2_1, HAVE_XINPUT2_2, HAVE_XINPUT2_3) (HAVE_XINPUT2_4): New definitions.
* Improve the help message for the pgtk configure optionPo Lu2022-02-15
| | | | * configure.ac: Describe the purpose of PGTK better.
* Add support for basic syncing with the window manager on resizePo Lu2022-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is handled by GTK 3, so the code is disabled on that specific build. On other builds, this eliminates any unexposed part of a frame from showing up after a resize when `frame-resize-pixelwise' is t. * configure.ac: Check for the X Synchronization Extension if present. * src/Makefile.in (EMACS_CFLAGS): (LIBES): Add XSYNC_LIBS and XSYNC_CFLAGS. * src/xfns.c (append_wm_protocols): Declare `_NET_WM_SYNC_REQUEST' support if appropriate. (x_window): Adjust location of call to `append_wm_protocols' on Xt version to prevent it from being overwritten. (Fx_create_frame): Create basic counter. * src/xterm.c (XTframe_up_to_date): Set counter value to the one asked for by the window manager. (handle_one_xevent): Handle _NET_WM_SYNC_REQUEST. (x_free_frame_resources): Free frame counter if present. (x_term_init): Test for XSync and set fields accordingly. * src/xterm.h (struct x_display_info): New fields for XSync support and new atoms. (struct x_output): New fields for counter status. (FRAME_X_BASIC_COUNTER): New macro.
* Make Emacs build with some other XLib implementationsPo Lu2022-02-04
| | | | | | | | | | | | | | | * configure.ac (HAVE_XKB): Check for functions that aren't always implemented by various XLib implementations. * src/xfns.c (select_visual): Handle NULL values of vinfo. (XkbRefreshKeyboardMapping): (XkbFreeNames): (XDisplayCells): (XDestroySubwindows): Define replacement functions where they aren't available. * src/xterm.c (x_find_modifier_meanings): Handle NULL values of various fields.
* Merge from origin/emacs-28Stefan Kangas2022-01-25
|\ | | | | | | | | c34d06e3d7 * configure.ac (LIBSECCOMP): Bump minimum version for facc... 335a5a9e0f Make the `f' command work in image-mode again
| * * configure.ac (LIBSECCOMP): Bump minimum version for faccessat2.Philipp Stephani2022-01-24
| |
| * Bump Emacs version to 28.0.91emacs-28.0.91Stefan Kangas2022-01-08
| | | | | | | | | | | | | | * README: * configure.ac: * msdos/sed2v2.inp: * nt/README.W32: Bump Emacs version to 28.0.91.
* | Improve portability of X11 IM codePo Lu2022-01-25
| | | | | | | | | | | | * configure.ac: Test for XICCallback.callback if X11R6 or later. * src/xfns.c (Xxic_preedit_start_callback): Use XICCallback if present.
* | * configure.ac: Remove forgotten GLIB_GSETTINGS callYuuki Harano2022-01-24
| |
* | Make xwidgets work on builds that don't use Cairo drawingPo Lu2022-01-21
| | | | | | | | | | | | | | | | | | * configure.ac: Check for the parts of Cairo that are needed for xwidgets when they are enabled without cairo drawing. * src/xterm.c: * src/xwidget.c: Always include cairo-xlib headers when xwidgets are enabled.
* | Port some X11 tooltip code to XCBPo Lu2022-01-19
| | | | | | | | | | | | | | | | * configure.ac: Require `xcb-aux' to be present before using XCB. * src/xfns.c (x_sync): (x_create_tip_frame): (Fx_show_tip): Port window related code to XCB.
* | Use Cairo XCB surfaces when XCB is availablePo Lu2022-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us get at goodies such as shm support, which aren't available with the xlib surface. (bug#52120) * configure.ac: Test for cairo-xcb if cairo is available on X. * src/xterm.c (USE_CAIRO_XCB_SURFACE): New define. (x_begin_cr_clip): Create XCB surfaces if available. (x_try_cr_xlib_drawable): (x_scroll_run): Handle XCB surfaces. (x_term_init): Find XCB visualtype structure. * src/xterm.h (struct x_display_info): New field `xcb_visual'. * src/xwidget.c (x_draw_xwidget_glyph_string): Fix integer overflow.
* | Remove non-functional configure testPo Lu2022-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | It cannot work anymore, leading to compiler warnings when building xterm.c. * configure.ac: Remove test for whether XRegisterIMInstantiateCallback wants XPointer or XPointer * as the client_data. * src/xterm.c (xim_initialize): (xim_close_dpy): Just cast client data to void * and hope that the compiler keeps quiet.
* | ; * configure.ac: Move some AC_SUBSTs to the correct location.Po Lu2022-01-04
| |
* | Remove gsettings.m4 and write directly into Makefile.inYuuki Harano2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (HAVE_PGTK): Declare substitution (HAVE_GSETTINGS): Declare substitution * Makefile.in (HAVE_PGTK): New variable (HAVE_GSETTINGS): New variable (gsettingsschemadir): Don't use value from gsettings.m4 (distclean): Add clean-gsettings-schemas (install-gsettings-schemas): Implement instead of gsettings.m4 (uninstall-gsettings-schemas): Implement instead of gsettings.m4 (clean-gsettings-schemas): Implement instead of gsettings.m4 ($(gsettings_SCHEMAS:.xml=.valid)): Implement instead of gsettings.m4 * m4/gsettings.m4: Remove
* | 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...
| * ; Run set-copyright from admin.elGlenn Morris2022-01-01
| |
* | Fix XRegisterIMInstantiateCallback function argument configure testPo Lu2022-01-02
| | | | | | | | * configure.ac: Use XIDProc where XIMProc was mistakenly used.
* | Merge from origin/emacs-28Eli Zaretskii2022-01-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-01
| |
* | Add configure tests for faulty XI2 installationsPo Lu2021-12-26
| | | | | | | | | | | | | | * configure.ac: Detect cases where XI 2.4 headers are installed without the correct event structures. * src/xterm.c (handle_one_xevent): Don't use structures that might not exist unless configure found them.
* | Merge from origin/emacs-28Stefan Kangas2021-12-23
|\| | | | | | | | | | | | | | | | | 29fffbdd87 Revert field-related thingatpt changes 9bcb732686 * lisp/window.el (quit-restore-window): Select previously ... b7d31d6192 Revert "Remove Motif support" # Conflicts: # etc/NEWS
| * Revert "Remove Motif support"Robert Pluim2021-12-21
| | | | | | | | This reverts commit db237850abc240e2c3e765e9cc7e15ee5681dcaf.
| * Bump Emacs version to 28.0.90Stefan Kangas2021-12-01
| | | | | | | | | | | | | | * README: * configure.ac: * msdos/sed2v2.inp: * nt/README.W32: Bump Emacs version to 28.0.90.
| * Use posix_spawn if possible.Philipp Stephani2021-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | posix_spawn is less error-prone than vfork + execve, and can make better use of system-specific enhancements like 'clone' on Linux. Use it if we don't need to configure a pseudoterminal. Backported from commit a60053f8368e058229721f1bf1567c2b1676b239. Unlike that commit, only define USABLE_POSIX_SPAWN on macOS, because there posix_spawn is much faster than vfork. Don't merge to master. * configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN) (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR) (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) (HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New configuration variables. * src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro. (emacs_posix_spawn_init_actions) (emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New helper functions. (emacs_spawn): Use posix_spawn if possible. (cherry picked from commit a60053f8368e058229721f1bf1567c2b1676b239)
* | Enable webp support in PGTK builds, tooKévin Le Gouguec2021-12-19
| | | | | | | | * configure.ac (HAVE_WEBP): Enable webp in PGTK builds, too.
* | Update from gnulibPaul Eggert2021-12-18
| | | | | | | | | | Make the following changes by hand, and run ‘admin/merge-gnulib’. * configure.ac (AM_CONDITIONAL): Adjust to new Gnulib convention.
* | ; * configure.ac: Add missing object to Haiku cairo buildPo Lu2021-12-18
| |
* | Fix cairo build on haikuPo Lu2021-12-18
| | | | | | | | | | * configure.ac: Move pgtk cairo detection to the correct location.
* | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-12
|\ \
| * | Improve documentation of sqlite3 supportEli Zaretskii2021-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/sqlite-mode.el (sqlite-mode-list-data): * configure.ac (HAVE_SQLITE3): Fix typos. * doc/lispref/text.texi (Database): Improve and clarify wording, add index entries, mention all the function arguments. * etc/NEWS: Minor wording changes of the sqlite entries.
* | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-11
|\| |
| * | Check whether the sqlite supports sqlite3_load_extensionLars Ingebrigtsen2021-12-11
| | | | | | | | | | | | | | | | | | | | | * configure.ac: Check for sqlite3_load_extension, which is apparently missing in some versions. * src/sqlite.c: Add guards. (Fsqlite_load_extension): Ifdef out on systems that doesn't have it.
| * | Add sqlite3 support to EmacsLars Ingebrigtsen2021-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Add check for the sqlite library. * doc/lispref/text.texi (Database): Document it. * lisp/sqlite.el: New file. * lisp/term/w32-win.el (dynamic-library-alist): Add a mapping. * src/Makefile.in (SQLITE3_LIBS): Add the libraries. * src/alloc.c (union emacs_align_type): Add a Lisp_Sqlite struct. * src/data.c (Ftype_of): Add sqlite. * src/emacs.c (main): Load the syms. * src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add PVEC_SQLITE. (GCALIGNED_STRUCT): New struct to keep data for sqlite database objects and statement objects. (SQLITEP, SQLITE, CHECK_SQLITE, XSQLITE): New macros for accessing the objects. * src/pdumper.c (dump_vectorlike): Update hash. (dump_vectorlike): Don't dump it. * src/print.c (print_vectorlike): Add a printer for the sqlite object. * src/sqlite.c: New file. * test/src/sqlite-tests.el: Add tests.
* | | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-12-04
|\| |
| * | Port to Tiny C on x86-64Paul Eggert2021-12-03
| | | | | | | | | | | | | | | | | | | | | | | | This allows Emacs to build on Ubuntu 21.10 x86-64 with ‘./configure --without-modules CC=tcc’. * configure.ac (GC_SETJMP_WORKS): Accept __x86_64__ as an alias for __amd64__. * src/lisp.h (alignas): Provide a no-op substitute.
* | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-11-30
|\| |
| * | Fix typos in configure.acPo Lu2021-11-28
| | | | | | | | | | | | * configure.ac: Fix typos in wording of XInput 2 options.
| * | Reorganize emba control filesMichael Albinus2021-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using dynamic job generation in GitLab does not work sufficiently. So we generate the jobs in the Emacs sources. * configure.ac (SUBDIR_MAKEFILES): Add test/infra/Makefile. * test/Makefile.in (subdirs, generate-test-jobs): New targets. * test/infra/Makefile.in: * test/infra/test-jobs.yml: New files. * test/infra/default-gitlab-ci.yml: * test/infra/test-jobs-generator.sh: Remove. * test/infra/gitlab-ci.yml: Insert contents of default-gitlab-ci.yml. (stages): Remove generator and trigger. Add normal. (test-jobs-generator, test-jobs-pipeline): Remove jobs. (top): Include test-jobs.yml.
| * | 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.
| * | ; * configure.ac (emacs_config_features): Add XINPUT2.Eli Zaretskii2021-11-20
| | |
| * | Add support for event processing via XInput 2Po Lu2021-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Add an option to use XInput 2 if available. * src/Makefile.in (XINPUT_LIBS, XINPUT_CFLAGS): New variables. (EMACS_CFLAGS): Add Xinput CFLAGS. (LIBES): Add XInput libs. * src/xmenu.c (popup_activated_flag): Expose flag if XInput 2 is available. * src/xfns.c (x_window): Set XInput 2 event mask. (setup_xi_event_mask): New function. (syms_of_xfns): Provide XInput 2 feature. * src/xterm.c (x_detect_focus_change): Handle XInput 2 GenericEvents. (handle_one_xevent): Handle XInput 2 events. (x_term_init): Ask the server for XInput 2 support and set xkb_desc if available. (x_delete_terminal): Free XKB kb desc if it exists, and free XI2 devices if they exist. (xi_grab_or_ungrab_device) (xi_reset_scroll_valuators_for_device_id) (x_free_xi_devices, x_init_master_valuators): New functions. (x_get_scroll_valuator_delta): New function. (init_xterm): Don't tell GTK to only use Core Input when built with XInput 2 support. * src/xterm.h (struct x_display_info): Add fields for XKB and XI2 support. * src/gtkutil.c (xg_event_is_for_menubar): Handle XIDeviceEvents. (xg_is_menu_window): New function. (xg_event_is_for_scrollbar): Handle XIDeviceEvents. * etc/NEWS: Document changes. * lisp/mwheel.el (mouse-wheel-down-alternate-event) (mouse-wheel-up-alternate-event) (mouse-wheel-left-alternate-event) (mouse-wheel-right-alternate-event): New user options. (mouse-wheel-text-scale) (mwheel-scroll): Test for alternate events. (mouse-wheel--setup-bindings): Set up bindings for alternate buttons.
* | | configure.ac (PGTK_LIBS): remove pgtk dl dependency (Bug#50494)Jeff Walsh2021-11-14
| | |
* | | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-11-13
|\| |
| * | Use posix_spawn if possible.Philipp Stephani2021-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | posix_spawn is less error-prone than vfork + execve, and can make better use of system-specific enhancements like 'clone' on Linux. Use it if we don't need to configure a pseudoterminal. * configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN) (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR) (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) (HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New configuration variables. * src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro. (emacs_posix_spawn_init_actions) (emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New helper functions. (emacs_spawn): Use posix_spawn if possible.
* | | Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-11-11
|\| |
| * | Revert "Add support for event processing via XInput 2"Po Lu2021-11-10
| | | | | | | | | | | | This reverts commit 346cfc81247e6bf8e727a27b42f44f2389bd1269.
| * | Add support for event processing via XInput 2oldosfan2021-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Add an option to use XInput 2 if available * src/Makefile.in (XINPUT_LIBS, XINPUT_CFLAGS): New variables (EMACS_CFLAGS): Add Xinput CFLAGS (LIBES): Add XInput libs * src/xmenu.c (popup_activated_flag): Expose flag if XInput 2 is available * src/xfns.c (x_window): Set XInput 2 event mask * src/xterm.c (x_detect_focus_change): Handle XInput 2 GenericEvents (handle_one_xevent): Handle XInput 2 events (x_term_init): Ask the server for XInput 2 support and set xkb_desc if available (x_delete_terminal): Free XKB kb desc if it exists, and free XI2 devices if they exist (x_free_xi_devices, x_init_master_valuators): New functions (x_get_scroll_valuator_delta): New function (init_xterm): Don't tell GTK to only use Core Input when built with XInput 2 support * src/xterm.h (struct x_display_info): Add fields for XKB and XI2 support * src/gtkutil.c (xg_event_is_for_menubar): Handle XIDeviceEvents (xg_is_menu_window): New function (xg_event_is_for_scrollbar): Handle XIDeviceEvents