mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-01 08:17:38 +00:00
85a078e785
* .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.
319 lines
5.5 KiB
Plaintext
319 lines
5.5 KiB
Plaintext
# Files that Git should ignore in the Emacs source directory.
|
|
|
|
# Copyright 2009-2021 Free Software Foundation, Inc.
|
|
|
|
# This file is part of GNU Emacs.
|
|
|
|
# GNU Emacs is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# GNU Emacs is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
# Currently we assume only Git 1.7.1 (April 2010) or later, so this
|
|
# file does not rely on "**" in patterns. The "**" feature was added
|
|
# in Git 1.8.2 (March 2013).
|
|
|
|
|
|
# Personal customization.
|
|
.dir-locals-2.el
|
|
|
|
# Built by 'autogen.sh'.
|
|
/aclocal.m4
|
|
/configure
|
|
src/config.in
|
|
|
|
# Built by 'configure'.
|
|
Info.plist
|
|
InfoPlist.strings
|
|
Makefile
|
|
makefile
|
|
!etc/refcards/Makefile
|
|
!test/lisp/progmodes/flymake-resources/Makefile
|
|
!test/manual/etags/Makefile
|
|
!test/manual/etags/make-src/Makefile
|
|
!test/manual/indent/Makefile
|
|
/*.cache
|
|
/confdefs.h
|
|
/config.status
|
|
/configure.lineno
|
|
/conftest*
|
|
lib/gnulib.mk
|
|
src/config.h
|
|
src/epaths.h
|
|
src/emacs-module.h
|
|
|
|
# C-level sources built by 'make'.
|
|
lib/alloca.h
|
|
lib/byteswap.h
|
|
lib/dirent.h
|
|
lib/errno.h
|
|
lib/execinfo.h
|
|
lib/fcntl.h
|
|
lib/getopt.h
|
|
lib/getopt-cdefs.h
|
|
lib/gmp.h
|
|
lib/ieee754.h
|
|
lib/inttypes.h
|
|
lib/libgnu.a
|
|
lib/limits.h
|
|
lib/malloc/*.gl.h
|
|
lib/signal.h
|
|
lib/std*.h
|
|
!lib/std*.in.h
|
|
!lib/stdio-impl.h
|
|
lib/string.h
|
|
lib/sys/
|
|
lib/time.h
|
|
lib/unistd.h
|
|
src/buildobj.h
|
|
src/globals.h
|
|
src/lisp.mk
|
|
src/verbose.mk
|
|
|
|
# Lisp-level sources built by 'make'.
|
|
*cus-load.el
|
|
*loaddefs.el
|
|
lisp/cedet/semantic/bovine/c-by.el
|
|
lisp/cedet/semantic/bovine/make-by.el
|
|
lisp/cedet/semantic/bovine/scm-by.el
|
|
lisp/cedet/semantic/wisent/javat-wy.el
|
|
lisp/cedet/semantic/wisent/js-wy.el
|
|
lisp/cedet/semantic/wisent/python-wy.el
|
|
lisp/cedet/srecode/srt-wy.el
|
|
lisp/cedet/semantic/grammar-wy.el
|
|
lisp/eshell/esh-groups.el
|
|
lisp/finder-inf.el
|
|
lisp/leim/ja-dic/
|
|
lisp/leim/leim-list.el
|
|
lisp/leim/quail/4Corner.el
|
|
lisp/leim/quail/ARRAY30.el
|
|
lisp/leim/quail/CCDOSPY.el
|
|
lisp/leim/quail/CTLau.el
|
|
lisp/leim/quail/CTLau-b5.el
|
|
lisp/leim/quail/ECDICT.el
|
|
lisp/leim/quail/ETZY.el
|
|
lisp/leim/quail/PY-b5.el
|
|
lisp/leim/quail/PY.el
|
|
lisp/leim/quail/Punct.el
|
|
lisp/leim/quail/Punct-b5.el
|
|
lisp/leim/quail/QJ.el
|
|
lisp/leim/quail/QJ-b5.el
|
|
lisp/leim/quail/SW.el
|
|
lisp/leim/quail/TONEPY.el
|
|
lisp/leim/quail/ZIRANMA.el
|
|
lisp/leim/quail/ZOZY.el
|
|
lisp/leim/quail/quick-b5.el
|
|
lisp/leim/quail/quick-cns.el
|
|
lisp/leim/quail/tsang-b5.el
|
|
lisp/leim/quail/tsang-cns.el
|
|
lisp/mh-e/mh-autoloads.el
|
|
lisp/subdirs.el
|
|
|
|
# Dependencies.
|
|
deps/
|
|
|
|
# Logs and temporaries.
|
|
*.log
|
|
*.tmp
|
|
|
|
# Time stamps.
|
|
*.stamp
|
|
stamp_BLD
|
|
src/gl-stamp
|
|
|
|
# Object files and debugging.
|
|
*.a
|
|
*.dSYM/
|
|
*.dll
|
|
*.core
|
|
*.elc
|
|
*.eln
|
|
*.o
|
|
*.res
|
|
*.so
|
|
*.dylib
|
|
core
|
|
core.*[0-9]
|
|
gmon.out
|
|
native-lisp/
|
|
oo/
|
|
oo-spd/
|
|
src/*.map
|
|
vgcore.*[0-9]
|
|
|
|
# Tests.
|
|
test/manual/biditest.txt
|
|
test/manual/etags/srclist
|
|
test/manual/etags/regexfile
|
|
test/manual/etags/ETAGS
|
|
test/manual/etags/CTAGS
|
|
test/manual/indent/*.new
|
|
test/lisp/gnus/mml-sec-resources/random_seed
|
|
test/lisp/play/fortune-resources/fortunes.dat
|
|
|
|
# ctags, etags.
|
|
TAGS
|
|
!admin/notes/tags
|
|
|
|
# GNU global.
|
|
GPATH
|
|
GSYMS
|
|
GRTAGS
|
|
GTAGS
|
|
|
|
# auto-generated compilation database
|
|
compile_commands.json
|
|
|
|
# ccls, a LSP-compliant server for C
|
|
/.ccls-cache
|
|
|
|
# GNU idutils.
|
|
ID
|
|
|
|
# Executables.
|
|
*.exe
|
|
a.out
|
|
lib-src/be-resources
|
|
lib-src/blessmail
|
|
lib-src/ctags
|
|
lib-src/ebrowse
|
|
lib-src/emacsclient
|
|
lib-src/etags
|
|
lib-src/hexl
|
|
lib-src/make-docfile
|
|
lib-src/make-fingerprint
|
|
lib-src/movemail
|
|
lib-src/profile
|
|
lib-src/seccomp-filter
|
|
lib-src/test-distrib
|
|
lib-src/update-game-score
|
|
nextstep/Cocoa/Emacs.base/Contents/Info.plist
|
|
nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj
|
|
nextstep/Emacs.app/
|
|
nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
|
|
nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
|
|
src/bootstrap-emacs
|
|
src/emacs
|
|
src/emacs-[0-9]*
|
|
src/Emacs
|
|
src/temacs
|
|
src/dmpstruct.h
|
|
src/*.pdmp
|
|
|
|
# Character-set info.
|
|
admin/charsets/jisx2131-filter
|
|
admin/unidata/unidata.txt
|
|
etc/charsets/*.map
|
|
lisp/international/charprop.el
|
|
lisp/international/charscript.el
|
|
lisp/international/cp51932.el
|
|
lisp/international/emoji-zwj.el
|
|
lisp/international/emoji-labels.el
|
|
lisp/international/eucjp-ms.el
|
|
lisp/international/uni-*.el
|
|
lisp/language/pinyin.el
|
|
|
|
# Documentation.
|
|
*.aux
|
|
*.cm
|
|
*.cms
|
|
*.cp
|
|
*.cps
|
|
*.doc
|
|
*.dvi
|
|
*.fn
|
|
*.fns
|
|
*.info
|
|
*.ky
|
|
*.kys
|
|
*.op
|
|
*.ops
|
|
*.pdf
|
|
!doc/lispintro/cons-*.pdf
|
|
!doc/lispintro/drawers.pdf
|
|
!doc/lispintro/lambda-*.pdf
|
|
!etc/refcards/gnus-logo.pdf
|
|
*.pg
|
|
*.pgs
|
|
*.pj
|
|
*.pjs
|
|
*.sc
|
|
*.scs
|
|
*.t2d/
|
|
*.tg
|
|
*.tgs
|
|
*.toc
|
|
*.tp
|
|
*.tps
|
|
*.vr
|
|
*.vrs
|
|
doc/*/*.html
|
|
doc/*/*/*.html
|
|
doc/*/*.ps
|
|
doc/*/*/*.ps
|
|
doc/emacs/emacsver.texi
|
|
doc/man/emacs.1
|
|
doc/misc/cc-mode.ss
|
|
doc/misc/modus-themes.texi
|
|
doc/misc/org.texi
|
|
etc/DOC
|
|
etc/refcards/emacsver.tex
|
|
gnustmp*
|
|
/info/
|
|
|
|
# Version control and locks.
|
|
*.orig
|
|
*.swp
|
|
*~
|
|
.#*
|
|
\#*\#
|
|
ChangeLog
|
|
[0-9]*.patch
|
|
[0-9]*.txt
|
|
/vc-dwim-log-*
|
|
|
|
# Built by 'make install'.
|
|
etc/emacs.tmpdesktop
|
|
|
|
# Built by 'make-dist'.
|
|
/MANIFEST
|
|
|
|
# Distribution directories.
|
|
/emacs-[1-9]*/
|
|
|
|
# Microsoft-related builds and installations.
|
|
*.in-h
|
|
_*
|
|
!lib/_Noreturn.h
|
|
!m4/_*.m4
|
|
/bin/
|
|
/BIN/
|
|
/data/
|
|
etc/icons/
|
|
lib/cxxdefs.h
|
|
lib/SYS/
|
|
/libexec/
|
|
/lock/
|
|
/README.W32
|
|
/share/
|
|
/site-lisp/
|
|
nt/emacs.rc
|
|
nt/emacsclient.rc
|
|
src/gdb.ini
|
|
/var/
|
|
|
|
# Seccomp filter files.
|
|
lib-src/seccomp-filter.bpf
|
|
lib-src/seccomp-filter.pfc
|
|
lib-src/seccomp-filter-exec.bpf
|
|
lib-src/seccomp-filter-exec.pfc
|