emacs/.gitignore
Po Lu a496509ced Update Android port
* .gitignore: Add new files.
* INSTALL.android: Explain how to build Emacs for ancient
versions of Android.
* admin/merge-gnulib (GNULIB_MODULES): Add getdelim.
* build-aux/config.guess (timestamp, version):
* build-aux/config.sub (timestamp, version): Autoupdate.
* configure.ac (BUILD_DETAILS, ANDROID_MIN_SDK):
(ANDROID_STUBIFY): Allow specifying CFLAGS via ANDROID_CFLAGS.
Add new configure tests for Android API version when not
explicitly specified.

* doc/emacs/android.texi (Android): Add reference to ``Other
Input Devices''.
(Android File System): Remove restrictions on directory-files on
the assets directory.
* doc/emacs/emacs.texi (Top): Add Other Input Devices to menu.
* doc/emacs/input.texi (Other Input Devices): New node.
* doc/lispref/commands.texi (Touchscreen Events): Document
changes to touchscreen input events.
* doc/lispref/frames.texi (Pop-Up Menus): Likewise.
* etc/NEWS: Announce changes.
* java/Makefile.in: Use lib-src/asset-directory-tool to generate
an `directory-tree' file placed in /assets.
* java/debug.sh: Large adjustments to support Android 2.2 and
later.

* java/org/gnu/emacs/EmacsContextMenu.java (inflateMenuItems):
* java/org/gnu/emacs/EmacsCopyArea.java (perform):
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog):
* java/org/gnu/emacs/EmacsDrawLine.java (perform):
* java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
* java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable):
* java/org/gnu/emacs/EmacsFillPolygon.java (perform):
* java/org/gnu/emacs/EmacsFillRectangle.java (perform):
* java/org/gnu/emacs/EmacsGC.java (EmacsGC):
* java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
(destroyHandle):
* java/org/gnu/emacs/EmacsSdk7FontDriver.java (draw): Avoid
redundant canvas saves and restores.
* java/org/gnu/emacs/EmacsService.java (run):
* java/org/gnu/emacs/EmacsView.java (EmacsView):
(handleDirtyBitmap):
* java/org/gnu/emacs/EmacsWindow.java (changeWindowBackground)
(EmacsWindow): Make compatible with Android 2.2 and later.

* lib-src/Makefile.in (DONT_INSTALL): Add asset-directory-tool
on Android.:(asset-directory-tool{EXEEXT}): New target.
* lib-src/asset-directory-tool.c (struct directory_tree, xmalloc)
(main_1, main_2, main): New file.

* lib, m4: Merge from gnulib.  This will be reverted before
merging to master.

* lisp/button.el (button-map):
(push-button):
* lisp/frame.el (display-popup-menus-p): Improve touchscreen
support.
* lisp/subr.el (event-start):
(event-end): Handle touchscreen events.
* lisp/touch-screen.el (touch-screen-handle-timeout):
(touch-screen-handle-point-update):
(touch-screen-handle-point-up):
(touch-screen-track-tap):
(touch-screen-track-drag):
(touch-screen-drag-mode-line-1):
(touch-screen-drag-mode-line): New functions.
([mode-line touchscreen-begin]):
([bottom-divider touchscreen-begin]): Bind new events.

* lisp/wid-edit.el (widget-event-point):
(widget-keymap):
(widget-event-start):
(widget-button--check-and-call-button):
(widget-button-click): Improve touchscreen support.

* src/alloc.c (make_lisp_symbol): Avoid ICE on Android NDK GCC.
(mark_pinned_symbols): Likewise.

* src/android.c (struct android_emacs_window): New struct.
(window_class): New variable.
(android_run_select_thread): Add workaround for Android platform
bug.
(android_extract_long, android_scan_directory_tree): New
functions.
(android_file_access_p): Use those functions instead.
(android_init_emacs_window): New function.
(android_init_emacs_gc_class): Update signature of `markDirty'.
(android_change_gc, android_set_clip_rectangles): Tell the GC
whether or not clip rects were dirtied.
(android_swap_buffers): Do not look up method every time.
(struct android_dir): Adjust for new directory tree lookup.
(android_opendir, android_readdir, android_closedir): Likewise.
(android_four_corners_bilinear): Fix coding style.
(android_ftruncate): New function.
* src/android.h: Update prototypes.  Replace ftruncate with
android_ftruncate when necessary.

* src/androidterm.c (handle_one_android_event): Pacify GCC.  Fix
touch screen tool bar bug.
* src/emacs.c (using_utf8): Fix compilation error.
* src/fileio.c (Ffile_system_info): Return Qnil when fsusage.o
is not built.
* src/filelock.c (BOOT_TIME_FILE): Fix definition for Android.
* src/frame.c (Fx_parse_geometry): Fix uninitialized variable
uses.
* src/keyboard.c (lispy_function_keys): Fix `back'.
* src/menu.c (x_popup_menu_1): Handle touch screen events.
(Fx_popup_menu): Document changes.

* src/sfnt.c (main): Improve tests.

* src/sfntfont-android.c (sfntfont_android_put_glyphs): Fix
minor problem.
(init_sfntfont_android): Check for
HAVE_DECL_ANDROID_GET_DEVICE_API_LEVEL.
* src/sfntfont.c (struct sfnt_font_desc): New fields `adstyle'
and `languages'.
(sfnt_parse_style): Append tokens to adstyle.
(sfnt_parse_languages): New function.
(sfnt_enum_font_1): Parse supported languages and adstyle.
(sfntfont_list_1): Handle new fields.
(sfntfont_text_extents): Fix uninitialized variable use.
(syms_of_sfntfont, mark_sfntfont): Adjust accordingly.
2023-01-19 22:19:06 +08:00

387 lines
6.8 KiB
Text

# Files that Git should ignore in the Emacs source directory.
# Copyright 2009-2023 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
.no-advice-on-failure
# 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
# Built by recursive call to `configure'.
*.android
!INSTALL.android
# Built by `java'.
java/install_temp/*
java/*.apk*
java/*.dex
java/org/gnu/emacs/*.class
# Built by `config.status'.
java/AndroidManifest.xml
# C-level sources built by 'make'.
lib/alloca.h
lib/assert.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
# Stuff built during cross compilation
xcompile/lib/alloca.h
xcompile/lib/assert.h
xcompile/lib/byteswap.h
xcompile/lib/dirent.h
xcompile/lib/errno.h
xcompile/lib/execinfo.h
xcompile/lib/fcntl.h
xcompile/lib/getopt.h
xcompile/lib/getopt-cdefs.h
xcompile/lib/gmp.h
xcompile/lib/ieee754.h
xcompile/lib/inttypes.h
xcompile/lib/libgnu.a
xcompile/lib/limits.h
xcompile/lib/malloc/*.gl.h
xcompile/lib/signal.h
xcompile/lib/std*.h
xcompile/!lib/std*.in.h
xcompile/!lib/stdio-impl.h
xcompile/lib/string.h
xcompile/lib/sys/
xcompile/lib/time.h
xcompile/lib/unistd.h
xcompile/lib/config.h
xcompile/lib/gnulib.mk
xcompile/src/*
xcompile/lib-src/*
xcompile/sys/*
xcompile/config.status
xcompile/*.bak
# 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/etags/CTAGS*.sorted
test/manual/indent/*.new
test/lisp/gnus/mml-sec-resources/random_seed
test/lisp/play/fortune-resources/fortunes.dat
test/**/*.xml
# 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/asset-directory-tool
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/sfnt
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/international/idna-mapping.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
# gsettings schema
/etc/*.gschema.valid
# Ignore directory made by admin/make-manuals.
/manual/
# Ignore Finder files on MacOS.
.DS_Store
# Ignore a directory used by dap-mode.
.vscode
/test/gmp.h
# GDB history
.gdb_history
_gdb_history