aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Allow listing all backends, and fix up deletionLars Ingebrigtsen2021-12-151-0/+4
|
* Document using make-multisession directlyLars Ingebrigtsen2021-12-151-0/+20
|
* Document the multisession optionsLars Ingebrigtsen2021-12-141-0/+13
|
* Tweak multisession stuff and improve concurrencyLars Ingebrigtsen2021-12-131-6/+7
|
* Copy edit the multisession docs a bitLars Ingebrigtsen2021-12-121-3/+6
|
* Use proper namespace for exampleLars Ingebrigtsen2021-12-121-1/+1
|
* Note concurrency promisesLars Ingebrigtsen2021-12-121-1/+1
|
* Note concurrency promisesLars Ingebrigtsen2021-12-121-1/+3
|
* Mention list-multisession-valuesLars Ingebrigtsen2021-12-121-2/+8
|
* Document multisession variablesLars Ingebrigtsen2021-12-122-0/+89
|
* Add sqlite-finalize and edit the manual sectionLars Ingebrigtsen2021-12-111-5/+22
|
* Fix typos in manualLars Ingebrigtsen2021-12-102-2/+2
|
* Add a menu entry for the sqlite section in the manualLars Ingebrigtsen2021-12-101-0/+1
|
* Mention with-sqlite-transactionLars Ingebrigtsen2021-12-091-0/+5
|
* Document the sqlite functionsLars Ingebrigtsen2021-12-081-0/+124
|
* Merge from origin/emacs-28Stefan Kangas2021-12-061-16/+25
|\ | | | | | | | | | | e3427faf55 Fix typos and improve consistency in ERC manual 0bf10d5082 * test/Makefile.in (check-declare): Add missing --batch. 34f5656137 Document the subtleties of the 'cursor' text property
| * Document the subtleties of the 'cursor' text propertyEli Zaretskii2021-12-051-16/+25
| | | | | | | | | | * doc/lispref/text.texi (Special Properties): Update the documentation of the 'cursor' property per bug#8627.
* | Revert "Clarify Creating Frames documentation"Lars Ingebrigtsen2021-12-051-4/+5
| | | | | | | | | | | | This reverts commit 5d7eb2979bc7eec01cff7e7908dbbd3edb38ea0c. The new documentation was incorrect.
* | Clarify Creating Frames documentationLars Ingebrigtsen2021-12-051-5/+4
| | | | | | | | | | | | * doc/lispref/frames.texi (Creating Frames): Remove misleading explanation -- even if the hooks are set, they won't be run (bug#38143).
* | Fix (date-to-time "2021-12-04")Paul Eggert2021-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should complete the fix for Bug#52209. * lisp/calendar/time-date.el (date-to-time): Apply decoded-time-set-defaults only to the output of (parse-time-string date), and only when the output has a year (to avoid confusion when dates lack years). There is no point applying it after timezone-make-date-arpa-standard since the latter fills in all the blanks. And the former code mistakenly called encode-time on an already-encoded time. This goes back to the code a couple of days ago, except with changed behavior (to fix Bug#52209) only when timezone-make-date-arpa-standard is not called. * test/lisp/calendar/time-date-tests.el (test-date-to-time) (test-days-between): New tests.
* | Clarify the run-at-time documentation about "integral multiple"Lars Ingebrigtsen2021-12-031-1/+7
| | | | | | | | | | | | * lisp/emacs-lisp/timer.el (run-at-time): * doc/lispref/os.texi (Timers): Explain what "integral multiple" really means.
* | Add a new variable 'process-error-pause-time'Lars Ingebrigtsen2021-12-021-0/+9
| | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Asynchronous Processes): Document it. * lisp/cus-start.el (standard): Customize. * src/process.c (read_process_output_error_handler) (exec_sentinel_error_handler): Use it. (syms_of_process): New variable process-error-pause-time (bug#19457).
* | Fix recent changes related to 'glyphless-display-mode'Eli Zaretskii2021-12-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | * lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Fix spelling of "bidirectional". * lisp/international/characters.el (char-acronym-table): Fix acronyms for LRI and RLI: use their accepted shorthands. (glyphless-char-display-control): Fix spelling of doc string. * doc/lispref/display.texi (Glyphless Chars): Fix spelling and add a cross-reference.
* | Add a bidi-control target for `glyphless-char-display-control'Lars Ingebrigtsen2021-12-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Glyphless Chars): Document bidi-control. * lisp/international/characters.el (char-acronym-table): Add the ISOLATE characters. (update-glyphless-char-display): Implement bidi-control, and mark all Cf characters we don't know about as UNK. (glyphless--bidi-control-characters): New variable. (glyphless-char-display-control): Add a new type -- bidi-control. * lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Add a new type -- bidi-control.
* | Add `touch-end' event typePo Lu2021-12-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: * doc/lispref/commands.texi (Misc Events): Document new `touch-end' event type. * lisp/bindings.el: Ignore touch-end events by default. * src/keyboard.c (make_lispy_event): Add support for TOUCH_END_EVENT events. (syms_of_keyboard): New symbol `touch-end'. * src/termhooks.h (enum event_kind): New member `TOUCH_END_EVENT'. * src/xterm.c (handle_one_xevent): Send touch-end events when appropriate.
* | Add a new minor mode `glyphless-display-mode'Lars Ingebrigtsen2021-12-011-0/+7
| | | | | | | | | | | | | | * doc/emacs/display.texi (Text Display): Mention it. * doc/lispref/display.texi (Glyphless Chars): Document it. * lisp/textmodes/glyphless-mode.el: New minor mode (bug#27544).
* | Support precision mouse scrolling on MS-WindowsEli Zaretskii2021-12-011-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32fns.c (w32_wnd_proc): Pass the WM_SETTINGCHANGE message to the Lisp thread. * src/w32term.c (w32_construct_mouse_wheel): Support mice with precision scrolling wheel. (w32_get_mouse_wheel_vertical_delta): New function. (w32_read_socket): When the WM_SETTINGCHANGE is received, call 'w32_get_mouse_wheel_vertical_delta'. (w32_initialize): Call 'w32_get_mouse_wheel_vertical_delta' at startup. * src/nsterm.m (syms_of_nsterm): * src/haikuterm.c (syms_of_haikuterm): * src/xterm.c (syms_of_xterm): Remove window-system specific variables for coalescing mwheel events. * src/keyboard.c (syms_of_keyboard) <mwheel-coalesce-scroll-events>: New variable, to replace the above platform-specific ones. * doc/lispref/commands.texi (Misc Events): Improve wording of the description of mouse-wheel events.
* | ; Fix last change.Eli Zaretskii2021-11-301-1/+1
| |
* | Improve documentation of pixel-fillEli Zaretskii2021-11-301-5/+13
| | | | | | | | | | | | | | * doc/lispref/text.texi (Filling): Describe the arguments of 'pixel-fill-region'. Add index entry. * lisp/textmodes/pixel-fill.el (pixel-fill-region): Doc fix.
* | Document pixel-fill-regionLars Ingebrigtsen2021-11-301-0/+33
| | | | | | | | | | | | | | * doc/lispref/text.texi (Filling): Document pixel-fill-region. * lisp/textmodes/pixel-fill.el (pixel-fill-width): Add new helper function.
* | Edit the lispref manual for define-key/keymap-set falloutLars Ingebrigtsen2021-11-298-117/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/variables.texi (Tips for Defining): * doc/lispref/text.texi (Clickable Text): * doc/lispref/modes.texi (Derived Modes): (Example Major Modes): * doc/lispref/loading.texi (Autoload): (Hooks for Loading): * doc/lispref/keymaps.texi (Creating Keymaps): (Inheritance and Keymaps): (Controlling Active Maps): (Changing Key Bindings): (Low-Level Key Binding): (Remapping Commands): (Translation Keymaps): (Key Binding Commands): * doc/lispref/help.texi (Help Functions): * doc/lispref/display.texi (Abstract Display Example): * doc/lispref/commands.texi (Interactive Codes): (Keyboard Events): (Misc Events): (Classifying Events): (Strings of Events): Prefer `keymap-set' instead of `define-key' most places, and use `defvar-keymap' in some of the examples.
* | Merge from origin/emacs-28Stefan Kangas2021-11-281-2/+4
|\ \ | |/ | | | | | | | | | | 1fffe9a210 ; * lisp/org/org.el: Fix version header. 2a4de5e5e5 Fix Subject when forwarding message with 2-line From b8b2dd17c5 Update to Org 9.5.1-11-g96d91b a937f536b3 * doc/lispref/commands.texi (Click Events): Fix wording (b...
| * * doc/lispref/commands.texi (Click Events): Fix wording (bug#52142).Eli Zaretskii2021-11-271-2/+4
| |
* | Improve documentation of wheel eventsPo Lu2021-11-271-6/+10
| | | | | | | | | | * doc/lispref/commands.texi (Misc Events): Add missing parameters to `wheel-up' and `wheel-down'.
* | Merge from origin/emacs-28Stefan Kangas2021-11-261-2/+2
|\ \ | |/ | | | | | | | | | | | | cfaf681d3d ; * src/emacs.c (main): Add commentary about command-line ... 4d16a2f737 Fix pdf generation with Texinfo 6.7 a22c9a34bd Fix 'posn-at-point' near some overlays d1aa552d11 ; * CONTRIBUTE: No cleanups on release branches, even in d... 588caf0b27 * lisp/repeat.el (repeat-post-hook): Add check symbolp rep...
| * Fix pdf generation with Texinfo 6.7Robert Pluim2021-11-251-2/+2
| | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): Put @group inside @example (bug#52102).
| * Revert "Use @pxref when necessary"Eli Zaretskii2021-11-243-3/+3
| | | | | | | | | | | | This reverts commit b4f47d2ee2203a9f22bebeb3d09e0fb3fce2f65e. Cleanups should not be done on the release branch: that's unnecessary risk.
* | Merge from origin/emacs-28Eli Zaretskii2021-11-243-3/+3
|\ \ | |/ | | | | b4f47d2 Use @pxref when necessary
| * Use @pxref when necessaryRobert Pluim2021-11-243-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/customize.texi (Composite Types): * doc/lispref/edebug.texi (Specification List): * doc/lispref/variables.texi (Local Variables): * doc/misc/efaq.texi (Basic keys): (Informational files for Emacs): * doc/misc/flymake.texi (Locating a master file): * doc/misc/gnus.texi (Don't Panic): (Oort Gnus): * doc/misc/htmlfontify.texi (Non-interactive): * doc/misc/mh-e.texi (More About MH-E): * doc/misc/pcl-cvs.texi (Entering PCL-CVS): * doc/misc/tramp.texi (Remote processes): * doc/misc/vhdl-mode.texi (Indentation Calculation): (Custom Indentation Functions): Use @pxref when inside parens.
* | Remove APPEND argument from add-display-text-propertyLars Ingebrigtsen2021-11-241-4/+1
| | | | | | | | | | | | * doc/lispref/display.texi (Display Property): Update doc. * lisp/emacs-lisp/subr-x.el (add-display-text-property): Remove the append argument -- it's nonsensical.
* | Add new function 'add-display-text-property'Lars Ingebrigtsen2021-11-241-0/+25
| | | | | | | | | | * doc/lispref/display.texi (Display Property): Document it. * lisp/emacs-lisp/subr-x.el (add-display-text-property): New function.
* | Fix documentation of 'min-width' display spec.Eli Zaretskii2021-11-241-7/+9
| | | | | | | | | | * doc/lispref/display.texi (Other Display Specs): Clarify documentation of the 'min-width' display spec.
* | Add support for the min-width display propertyLars Ingebrigtsen2021-11-241-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Display Property): Document get-display-property. (Other Display Specs): Document min-width property. * src/dispextern.h (struct it): Add fields for min-width handling. * src/xdisp.c (find_display_property, get_display_property): New helper functions. (display_min_width): Insert stretch glyphs based on the min width. (Fget_display_property): New defun. (handle_display_prop): Handle min-width ends. (handle_single_display_spec): Handle min-width starts.
* | Merge from origin/emacs-28Stefan Kangas2021-11-241-1/+1
|\ \ | |/ | | | | | | 756b8a5f1b Fix typos in documentation 38fdeaef46 ; * etc/DEBUG: Fix last change.
| * Fix typos in documentationTakesi Ayanokoji2021-11-231-1/+1
| | | | | | | | | | | | | | * doc/lispref/anti.texi: * doc/misc/efaq.texi: Fix typos. Copyright-paperwork-exempt: yes
* | Improve recently installed documentationEli Zaretskii2021-11-221-15/+17
| | | | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): Move to description of 'buffer-text-pixel-size' to preserve previous text; mention the importance of WINDOW.
* | Add new function buffer-text-pixel-sizemartin rudalics2021-11-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | * 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/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Add support for the Haiku operating system and its window systemPo Lu2021-11-203-16/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .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.