mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-29 08:31:35 -08:00
* .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. |
||
|---|---|---|
| .. | ||
| calc | ||
| calendar | ||
| cedet | ||
| emacs-lisp | ||
| emulation | ||
| erc | ||
| eshell | ||
| gnus | ||
| image | ||
| international | ||
| language | ||
| leim/quail | ||
| mh-e | ||
| net | ||
| nxml | ||
| obsolete | ||
| org | ||
| play | ||
| progmodes | ||
| term | ||
| textmodes | ||
| url | ||
| vc | ||
| abbrev.el | ||
| align.el | ||
| allout-widgets.el | ||
| allout.el | ||
| ansi-color.el | ||
| apropos.el | ||
| arc-mode.el | ||
| array.el | ||
| auth-source-pass.el | ||
| auth-source.el | ||
| autoarg.el | ||
| autoinsert.el | ||
| autorevert.el | ||
| avoid.el | ||
| battery.el | ||
| bindings.el | ||
| bookmark.el | ||
| bs.el | ||
| buff-menu.el | ||
| button.el | ||
| calculator.el | ||
| case-table.el | ||
| cdl.el | ||
| ChangeLog.1 | ||
| ChangeLog.2 | ||
| ChangeLog.3 | ||
| ChangeLog.4 | ||
| ChangeLog.5 | ||
| ChangeLog.6 | ||
| ChangeLog.7 | ||
| ChangeLog.8 | ||
| ChangeLog.9 | ||
| ChangeLog.10 | ||
| ChangeLog.11 | ||
| ChangeLog.12 | ||
| ChangeLog.13 | ||
| ChangeLog.14 | ||
| ChangeLog.15 | ||
| ChangeLog.16 | ||
| ChangeLog.17 | ||
| char-fold.el | ||
| chistory.el | ||
| cmuscheme.el | ||
| color.el | ||
| comint.el | ||
| completion.el | ||
| composite.el | ||
| COPYING | ||
| cus-dep.el | ||
| cus-edit.el | ||
| cus-face.el | ||
| cus-start.el | ||
| cus-theme.el | ||
| custom.el | ||
| dabbrev.el | ||
| delim-col.el | ||
| delsel.el | ||
| descr-text.el | ||
| desktop.el | ||
| dframe.el | ||
| dired-aux.el | ||
| dired-x.el | ||
| dired.el | ||
| dirtrack.el | ||
| disp-table.el | ||
| display-fill-column-indicator.el | ||
| display-line-numbers.el | ||
| dnd.el | ||
| doc-view.el | ||
| dom.el | ||
| dos-fns.el | ||
| dos-vars.el | ||
| dos-w32.el | ||
| double.el | ||
| dynamic-setting.el | ||
| ebuff-menu.el | ||
| echistory.el | ||
| ecomplete.el | ||
| edmacro.el | ||
| ehelp.el | ||
| elec-pair.el | ||
| electric.el | ||
| elide-head.el | ||
| emacs-lock.el | ||
| env.el | ||
| epa-dired.el | ||
| epa-file.el | ||
| epa-hook.el | ||
| epa-ks.el | ||
| epa-mail.el | ||
| epa.el | ||
| epg-config.el | ||
| epg.el | ||
| expand.el | ||
| ezimage.el | ||
| face-remap.el | ||
| facemenu.el | ||
| faces.el | ||
| ffap.el | ||
| filecache.el | ||
| fileloop.el | ||
| filenotify.el | ||
| files-x.el | ||
| files.el | ||
| filesets.el | ||
| find-cmd.el | ||
| find-dired.el | ||
| find-file.el | ||
| find-lisp.el | ||
| finder.el | ||
| flow-ctrl.el | ||
| foldout.el | ||
| follow.el | ||
| font-core.el | ||
| font-lock.el | ||
| format-spec.el | ||
| format.el | ||
| forms.el | ||
| frame.el | ||
| frameset.el | ||
| fringe.el | ||
| generic-x.el | ||
| help-at-pt.el | ||
| help-fns.el | ||
| help-macro.el | ||
| help-mode.el | ||
| help.el | ||
| hex-util.el | ||
| hexl.el | ||
| hfy-cmap.el | ||
| hi-lock.el | ||
| hilit-chg.el | ||
| hippie-exp.el | ||
| hl-line.el | ||
| htmlfontify.el | ||
| ibuf-ext.el | ||
| ibuf-macs.el | ||
| ibuffer.el | ||
| icomplete.el | ||
| ido.el | ||
| ielm.el | ||
| iimage.el | ||
| image-dired.el | ||
| image-file.el | ||
| image-mode.el | ||
| image.el | ||
| imenu.el | ||
| indent.el | ||
| info-look.el | ||
| info-xref.el | ||
| info.el | ||
| informat.el | ||
| isearch.el | ||
| isearchb.el | ||
| jit-lock.el | ||
| jka-cmpr-hook.el | ||
| jka-compr.el | ||
| json.el | ||
| jsonrpc.el | ||
| kermit.el | ||
| keymap.el | ||
| kmacro.el | ||
| ldefs-boot.el | ||
| linum.el | ||
| loadhist.el | ||
| loadup.el | ||
| locate.el | ||
| lpr.el | ||
| ls-lisp.el | ||
| macros.el | ||
| Makefile.in | ||
| makesum.el | ||
| man.el | ||
| master.el | ||
| mb-depth.el | ||
| md4.el | ||
| menu-bar.el | ||
| midnight.el | ||
| minibuf-eldef.el | ||
| minibuffer.el | ||
| misc.el | ||
| misearch.el | ||
| mouse-copy.el | ||
| mouse-drag.el | ||
| mouse.el | ||
| mpc.el | ||
| msb.el | ||
| mwheel.el | ||
| newcomment.el | ||
| notifications.el | ||
| novice.el | ||
| obarray.el | ||
| outline.el | ||
| paren.el | ||
| password-cache.el | ||
| pcmpl-cvs.el | ||
| pcmpl-gnu.el | ||
| pcmpl-linux.el | ||
| pcmpl-rpm.el | ||
| pcmpl-unix.el | ||
| pcmpl-x.el | ||
| pcomplete.el | ||
| pixel-scroll.el | ||
| plstore.el | ||
| printing.el | ||
| proced.el | ||
| profiler.el | ||
| ps-bdf.el | ||
| ps-def.el | ||
| ps-mule.el | ||
| ps-print.el | ||
| ps-samp.el | ||
| README | ||
| recentf.el | ||
| rect.el | ||
| register.el | ||
| registry.el | ||
| repeat.el | ||
| replace.el | ||
| reposition.el | ||
| reveal.el | ||
| rfn-eshadow.el | ||
| rot13.el | ||
| rtree.el | ||
| ruler-mode.el | ||
| savehist.el | ||
| saveplace.el | ||
| scroll-all.el | ||
| scroll-bar.el | ||
| scroll-lock.el | ||
| select.el | ||
| server.el | ||
| ses.el | ||
| shadowfile.el | ||
| shell.el | ||
| simple.el | ||
| skeleton.el | ||
| so-long.el | ||
| sort.el | ||
| soundex.el | ||
| speedbar.el | ||
| startup.el | ||
| strokes.el | ||
| subr.el | ||
| svg.el | ||
| t-mouse.el | ||
| tab-bar.el | ||
| tab-line.el | ||
| tabify.el | ||
| talk.el | ||
| tar-mode.el | ||
| tempo.el | ||
| term.el | ||
| thingatpt.el | ||
| thread.el | ||
| thumbs.el | ||
| time-stamp.el | ||
| time.el | ||
| timezone.el | ||
| tmm.el | ||
| tool-bar.el | ||
| tooltip.el | ||
| transient.el | ||
| tree-widget.el | ||
| tutorial.el | ||
| type-break.el | ||
| uniquify.el | ||
| userlock.el | ||
| vcursor.el | ||
| version.el | ||
| view.el | ||
| vt-control.el | ||
| vt100-led.el | ||
| w32-fns.el | ||
| w32-vars.el | ||
| wdired.el | ||
| whitespace.el | ||
| wid-browse.el | ||
| wid-edit.el | ||
| widget.el | ||
| windmove.el | ||
| window.el | ||
| winner.el | ||
| woman.el | ||
| x-dnd.el | ||
| xdg.el | ||
| xml.el | ||
| xt-mouse.el | ||
| xwidget.el | ||
| yank-media.el | ||
This directory contains source code for the parts of Emacs that are
written in Emacs Lisp. *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions. Byte-compiled
files are architecture-independent.
The term subdirectory contains Lisp files that customize Emacs for
certain terminal types. When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.
The other subdirectories hold Lisp packages grouped by their general
purpose.