summaryrefslogtreecommitdiff
path: root/lisp
Commit message (Collapse)AuthorAgeFilesLines
* Fix string-glyph-split infloopLars Ingebrigtsen2021-11-241-1/+6
| | | | | * lisp/emacs-lisp/subr-x.el (string-glyph-split): Fix infloop when applied to (string-glyph-split "✈️🌍") (bug#52067).
* Fix mouse-wheel-text-scalePo Lu2021-11-241-2/+2
| | | | | * lisp/mwheel.el (mouse-wheel-text-scale): Test for alternative events correctly.
* Merge from origin/emacs-28Stefan Kangas2021-11-231-3/+4
|\ | | | | | | | | | | | | | | d791cd556d Fix '(space :relative-width N)' display spec w/non-ASCII c... 712898210f * lisp/proced.el (proced-sort-header): Fix event positions... # Conflicts: # lisp/proced.el
| * * lisp/proced.el (proced-sort-header): Fix event positions (bug#1779).Juri Linkov2021-11-221-3/+4
| | | | | | | | The logic was copied from 'tabulated-list-col-sort'.
* | * lisp/subr.el (event-start, event-end): Handle `(menu-bar)` eventsStefan Monnier2021-11-222-12/+11
| | | | | | | | * lisp/net/browse-url.el (browse-url-interactive-arg): Simplify accordingly
* | * lisp/textmodes/flyspell.el: Pop up the menu under cursor from keyboard.Juri Linkov2021-11-221-11/+2
| | | | | | | | | | | | * lisp/textmodes/flyspell.el (flyspell-emacs-popup): Use popup-menu-normalize-position with point when no mouse is involved, instead of the incorrect use of mouse-position (bug#52025).
* | * lisp/tab-bar.el: 'C-x t RET' creates a new tab for non-existent tab name.Juri Linkov2021-11-221-2/+8
| | | | | | | | | | * lisp/tab-bar.el (tab-bar-switch-to-tab): Create a new tab and rename it to NAME when can't find the tab with the given NAME (bug#51935).
* | Simplify `gnu` compilation-mode regexpMattias Engdegård2021-11-221-7/+2
| | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Remove the pattern ostensibly added for Ruby, because at closer inspection it could never have matched anything. This lessens the performance impact of the pattern added for GCC's -fanalyzer, now slightly tweaked.
* | * lisp/tab-bar.el (tab-bar-history-old-minibuffer-depth): Remove variable.Juri Linkov2021-11-221-11/+4
| | | | | | | | | | (tab-bar--history-pre-change, tab-bar--history-change): Use minibuffer-depth instead of this variable (bug#51370).
* | ; Further minor simplification of rx form in bytecomp.elStefan Kangas2021-11-221-2/+2
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): Simplify even more. Thanks to Mattias Engdegård <mattiase@acm.org>.
* | ; Fix typoStefan Kangas2021-11-221-1/+1
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): Fix typo.
* | ; Very minor simplification in bytecomp.elStefan Kangas2021-11-221-1/+1
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): Very minor simplification of 'rx' form.
* | Use substitute-command-keys for literal key sequencesStefan Kangas2021-11-2237-245/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/abbrev.el (expand-region-abbrevs): * lisp/calc/calc-graph.el (calc-graph-show-dumb): * lisp/calc/calc-help.el (calc-help-for-help): * lisp/calc/calc-mode.el (calc-auto-why): * lisp/calc/calc.el (calc-do): * lisp/calculator.el (calculator-mode): * lisp/dired-aux.el (dired-create-files) (dired-do-create-files-regexp, dired-create-files-non-directory): * lisp/dired-x.el (dired-virtual): * lisp/dired.el (dired-mark-region, dired-unmark-all-files): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode): * lisp/epa-ks.el (epa-ks--display-keys): * lisp/erc/erc.el (erc-toggle-debug-irc-protocol): * lisp/files.el (save-some-buffers): * lisp/gnus/gnus-dired.el (gnus-dired-find-file-mailcap) (gnus-dired-print): * lisp/gnus/gnus-group.el (gnus-keep-same-level): * lisp/gnus/gnus-score.el (gnus-score-find-trace): * lisp/gnus/gnus.el (to-list): * lisp/gnus/message.el (message--send-mail-maybe-partially): * lisp/mail/supercite.el (sc-set-variable): * lisp/minibuffer.el (minibuffer-inactive-mode): * lisp/progmodes/etags.el (select-tags-table): * lisp/progmodes/idlw-shell.el (idlwave-shell-mode) (idlwave-shell-char-mode-loop): * lisp/replace.el (query-replace-help): * lisp/simple.el (set-variable): * lisp/subr.el (read-char-from-minibuffer): * lisp/textmodes/ispell.el (ispell-help, ispell-message): * lisp/textmodes/reftex-global.el (reftex-find-duplicate-labels): * lisp/textmodes/reftex-vars.el (reftex-toc-include-file-boundaries) (reftex-toc-include-labels, reftex-toc-include-index-entries) (reftex-toc-include-context, reftex-toc-follow-mode) (reftex-index-include-context, reftex-index-follow-mode) (reftex-enable-partial-scans) (reftex-auto-update-selection-buffers) (reftex-highlight-selection): * lisp/time.el (display-time-update): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): * lisp/vc/ediff-init.el (ediff-keep-variants): * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map) (ediff-patch-file-internal): * lisp/windmove.el (windmove-delete-default-keybindings): Use 'substitute-command-keys' for literal key sequences. * lisp/userlock.el (userlock--fontify-key): Remove function. (ask-user-about-lock, ask-user-about-lock-help) (ask-user-about-supersession-threat) (ask-user-about-supersession-help): Use 'substitute-command-keys' for literal key sequences. * lisp/ibuffer.el (ibuffer-unmark-all): Use 'substitute-command-keys' for command.
* | Avoid false positives about wide docstrings for key sequencesStefan Kangas2021-11-221-1/+6
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): Ignore literal key sequence substitutions. * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-substitutions.el: New file. * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-wide-docstring-ignore-substitutions.el"): New test.
* | Add new function buffer-text-pixel-sizemartin rudalics2021-11-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): Document it. * lisp/emacs-lisp/subr-x.el (string-pixel-width): Use buffer-text-pixel-size (bug#51995). * src/xdisp.c (window_text_pixel_size): Factor out from Fwindow_text_pixel_size. (Fbuffer_text_pixel_size): New function.
* | Add new format for literal key sequences to substitute-command-keysStefan Kangas2021-11-221-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/help.el (substitute-command-keys): Add new format "\\`f'" for literal key sequences. (Bug#50804) * doc/lispref/help.texi (Keys in Documentation): Document the above new substitution. * test/lisp/help-tests.el (help-tests-substitute-command-keys/literal-key-sequence): (help-tests-substitute-command-keys/literal-key-sequence-errors): New tests. (help-tests-substitute-key-bindings/face-help-key-binding): Extend test.
* | Make `xwidget-display-event' a special event as wellPo Lu2021-11-221-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/commands.texi (Xwidget Events): Document that `xwidget-display-event' is a special event, and that it should be handled through callbacks. * etc/NEWS: Update NEWS entry. * lisp/xwidget.el (xwidget-webkit-new-session) (xwidget-webkit-import-widget): Attach display callback. (xwidget-webkit-display-event): Call display callback instead. (xwidget-webkit-display-callback): New function. * src/keyboard.c (make_lispy_event): Store source information for XWIDGET_DISPLAY_EVENT correctly. * src/xwidget.c (store_xwidget_display_event): Store source of the display request. (webkit_ready_to_show): Store source if available. (webkit_create_cb_1): Store source if available. (kill_xwidget): Remove dead widget from internal_xwidget_list.
* | Adapt isearch help screen for variable-pitch-modeStefan Kangas2021-11-211-3/+3
| | | | | | | | | | * lisp/isearch.el (isearch-help-for-help-internal): Adapt for 'variable-pitch-mode', now that 'make-help-screen' uses that.
* | ; Simplify rcirc authentication querying functionsOmar Polo2021-11-211-18/+3
| |
* | implement certfp authentication to rcircOmar Polo2021-11-211-4/+22
| | | | | | | | | | * lisp/net/rcirc.el (rcirc-connect): Use the provided client certs * doc/misc/rcirc.texi (Configuration): Document the change
* | Improve error parsing for GCC -fanalyzer outputPhilip Kaludercic2021-11-211-1/+4
| | | | | | | | | | * compile.el (compilation-error-regexp-alist-alist): Adjust gnu rule * compile-tests.el (compile-tests--test-regexps-data): Add testcase
* | Add :version tags to new mwheel defcustomsRobert Pluim2021-11-211-0/+2
| | | | | | | | | | * lisp/mwheel.el (mouse-wheel-down-alternate-event): (mouse-wheel-up-alternate-event): Add :version tag.
* | ; Fix a few haiku typosRobert Pluim2021-11-211-1/+1
| | | | | | | | | | | | * lisp/net/browse-url.el (browse-url-webpositive-program): Correct :version tag. * src/frame.c (Fframep): Fix quoting of "haiku".
* | Use variable-pitch-mode in 'C-h C-h'Stefan Kangas2021-11-212-5/+10
| | | | | | | | | | | | | | | | | | * lisp/faces.el (help-key-binding): Inherit 'fixed-pitch'. * lisp/help-macro.el (make-help-screen): Use 'variable-pitch-mode'. This was discussed in https://lists.gnu.org/r/emacs-devel/2021-11/msg01378.html
* | Merge from origin/emacs-28Stefan Kangas2021-11-217-37/+55
|\| | | | | | | | | | | | | | | | | | | | | | | 0dd3883def Update to Org 9.5-72-gc5d6656 e3d5337970 Fix mouse handling with several TTY frames on MS-Windows 7e437af413 Fix temacs invocation from outside of the 'src' directory 0fbfd4253e ; Avoid byte-compilation warnings in edmacro.el c22c988b1f Fix mouse events on tab bar or tool bar when 'track-mouse'... 354c834fba Fix `browse-url-interactive-arg' for certain kinds of events # Conflicts: # lisp/mouse.el
| * Update to Org 9.5-72-gc5d6656Kyle Meyer2021-11-203-35/+40
| |
| * ; Avoid byte-compilation warnings in edmacro.elEli Zaretskii2021-11-201-0/+6
| | | | | | | | | | | | * lisp/edmacro.el (mouse-wheel-down-event, mouse-wheel-up-event) (mouse-wheel-right-event, mouse-wheel-left-event): Defvar them, to avoid compilation warnings in --without-x builds.
| * Fix mouse events on tab bar or tool bar when 'track-mouse' is tmartin rudalics2021-11-202-1/+7
| | | | | | | | | | | | | | | | * lisp/mouse.el (mouse-drag-track): * lisp/mouse-drag.el (mouse-drag-drag): Set 'track-mouse' to some value neither t nor nil. * src/keyboard.c (make_lispy_position): If track_mouse is Qt, report event on tool or tab bar (Bug#51794).
| * Fix `browse-url-interactive-arg' for certain kinds of eventsPo Lu2021-11-201-1/+2
| | | | | | | | | | * lisp/net/browse-url.el (browse-url-interactive-arg): Don't call `mouse-set-point' unless event is actually a mouse event.
| * Add upward compatibility entry in Tramp (don't merge)Michael Albinus2021-11-191-0/+2
| | | | | | | | | | * lisp/net/tramp.el (tramp-file-name-for-operation): Add `abbreviate-file-name'.
* | Fill the Emacs version on the splash pageLars Ingebrigtsen2021-11-211-8/+18
| | | | | | | | | | | | | | * lisp/startup.el (fancy-startup-tail): (normal-mouse-startup-screen): (normal-no-mouse-startup-screen): Fill the Emacs version data, since it's usually longer than a single line, anyway.
* | Fix icalendar time zone parsingdickmao2021-11-211-7/+7
| | | | | | | | | | | | | | | | * lisp/calendar/icalendar.el (icalendar--decode-isodatetime): Parse time zones more correctly. * test/lisp/calendar/icalendar-tests.el (icalendar-tests--decode-isodatetime): Fix tests so that they work in other time zones than Europe/Berlin (bug#51959).
* | Add a user command to stop page loading in xwidget-webkitPo Lu2021-11-211-1/+12
| | | | | | | | | | | | * lisp/xwidget.el: Add `xwidget-webkit-stop' to menu. (xwidget-webkit-stop): New command. (xwidget-webkit-tool-bar-map): New tool bar item.
* | Add support for the Haiku operating system and its window systemPo Lu2021-11-2013-34/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .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.
* | ; Fix my last commitStefan Kangas2021-11-201-1/+1
| | | | | | | | | | * lisp/play/animate.el (animate-string): Ensure the delay is always a float.
* | Make string-animate smootherStefan Kangas2021-11-201-3/+11
| | | | | | | | | | | | | | * lisp/play/animate.el (animate-total-added-delay): New defcustom. (animate-n-steps): Double the default value. Use :type 'natnum'. (animate-string): Make the delay depend on the above new defcustom divided by the number of steps.
* | image-dired: Improve some messagesStefan Kangas2021-11-201-7/+7
| | | | | | | | | | | | * lisp/image-dired.el (image-dired-dir) (image-dired-create-thumb-1): Improve messages. (image-dired-rotate-original): Signal 'user-error' instead of 'error'.
* | Convert snake and tetris keymaps to defvar-keymapStefan Kangas2021-11-202-45/+40
| | | | | | | | | | | | * lisp/play/snake.el (snake-mode-map, snake-null-map): * lisp/play/tetris.el (tetris-mode-map, tetris-null-map): Convert to defvar-keymap.
* | Make shr render text with superscripts prettierLars Ingebrigtsen2021-11-201-2/+9
| | | | | | | | | | | | | | * lisp/net/shr.el (shr-sup): New face. (shr-tag-sup, shr-tag-sub): Use it to make the super/subscripts slightly smaller so that we don't get uneven line heights with text that uses these.
* | Add support for event processing via XInput 2Po Lu2021-11-201-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Fix another narrow-to-defun problem in js-modeLars Ingebrigtsen2021-11-201-1/+1
| | | | | | | | | | * lisp/progmodes/js.el (js--function-prologue-beginning): Fix typo in looking-back form (bug#51926).
* | Make xwidget-events special and document xwidget callbacksPo Lu2021-11-201-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Users have always been supposed to use callbacks for handling xwidget events, but for some reason this has not been documented until now. * doc/lispref/commands.texi (Xwidget Events): Document xwidget callbacks and the special status of `xwidget-event's. * doc/lispref/display.texi (Xwidgets): Add xwidget property list functions to the concept index. * lisp/xwidget.el: Make xwidget events special.
* | Use `xwidget-live-p' inside `xwidget-at'.Po Lu2021-11-201-5/+3
| | | | | | | | | | | | | | | | | | | | It should no longer be possible for Lisp code to abuse internal xwidget state, or cause crashes with killed xwidgets and such, so the pedantic checking done in this function is no longer necessary. (In fact, it is even wrong, as it won't catch killed xwidgets.) * lisp/xwidget.el (xwidget-at): Use `xwidget-live-p'.
* | Remove nonsensical command in xwidget-webkit-mode-mapPo Lu2021-11-201-1/+0
| | | | | | | | | | * lisp/xwidget.el (xwidget-webkit-mode-map): Remove nonsensical command binding.
* | Fix option type of `xwidget-webkit-cookie-file' againPo Lu2021-11-201-1/+1
| | | | | | | | | | * lisp/xwidget.el (xwidget-webkit-cookie-file): Revert changes caused by rebase.
* | Clarify doc string in xwidget-webkitPo Lu2021-11-201-2/+3
| | | | | | | | | | * lisp/xwidget.el (xwidget-webkit-buffer-name-format): Update doc string.
* | * lisp/xwidget.el (xwidget-webkit-cookie-file): Fix type.Glenn Morris2021-11-191-1/+1
| |
* | Make xwidget-webkit default to not storing cookiesPo Lu2021-11-201-3/+1
| | | | | | | | | | | | * etc/NEWS: Update to reflect change. * lisp/xwidget.el (xwidget-webkit-cookie-file): Set default value to nil.
* | Fix doc strings in ucs-normalize.elEli Zaretskii2021-11-191-26/+43
| | | | | | | | | | | | | | | | | | | | * lisp/international/ucs-normalize.el (ucs-normalize-NFD-region) (ucs-normalize-NFD-string, string-glyph-compose) (string-glyph-decompose, ucs-normalize-NFC-string) (ucs-normalize-NFKD-region, ucs-normalize-NFKD-string) (ucs-normalize-NFKC-region, ucs-normalize-NFKC-string) (ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFC-region): Fix wording and typos.
* | Fix documentation of last commitEli Zaretskii2021-11-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/xwidget.el (xwidget-webkit-cookie-file): Don't use "path" for file names in the doc string. Improve wording and markup of the doc string. * src/xwidget.c (Fxwidget_webkit_set_cookie_storage_file): * doc/lispref/display.texi (Xwidgets): Don't use "path" for file names. * etc/NEWS: Improve the wording of the entry about 'xwidget-webkit-cookie-file'.