aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog.android
diff options
context:
space:
mode:
authorPo Lu2023-08-20 20:53:13 +0800
committerPo Lu2023-08-20 20:53:13 +0800
commit5734c57851e23ee34357b8c5eae8ea89c2dc5037 (patch)
treef81d5809a16f000e0105c3db2a5a8cb734591e86 /ChangeLog.android
parent4f714dc08137d36d0d1e886814008f2abe5712c0 (diff)
downloademacs-5734c57851e23ee34357b8c5eae8ea89c2dc5037.tar.gz
emacs-5734c57851e23ee34357b8c5eae8ea89c2dc5037.zip
; * ChangeLog.android: Complete cleanup.
Diffstat (limited to 'ChangeLog.android')
-rw-r--r--ChangeLog.android708
1 files changed, 319 insertions, 389 deletions
diff --git a/ChangeLog.android b/ChangeLog.android
index 759868c668e..f56c0469408 100644
--- a/ChangeLog.android
+++ b/ChangeLog.android
@@ -1016,86 +1016,74 @@
1016 1016
10172023-07-10 Po Lu <luangruo@yahoo.com> 10172023-07-10 Po Lu <luangruo@yahoo.com>
1018 1018
1019 Update Android port
1020 * java/org/gnu/emacs/EmacsService.java (browseUrl): New argument 1019 * java/org/gnu/emacs/EmacsService.java (browseUrl): New argument
1021 SEND. Choose from a list of applications that want to share the 1020 SEND. Choose from a list of applications that want to share the
1022 URL if true. 1021 URL if true.
1022
1023 * lisp/net/browse-url.el (browse-url-android-share): New user 1023 * lisp/net/browse-url.el (browse-url-android-share): New user
1024 option. 1024 option.
1025 (browse-url-default-android-browser): Respect said user option. 1025 (browse-url-default-android-browser): Respect said user option.
1026 * src/android.c (android_init_emacs_service) 1026
1027 (android_browse_url): Expose new option. 1027 * src/android.c (android_init_emacs_service, android_browse_url):
1028 Expose new option.
1029
1028 * src/android.h: Update prototypes. 1030 * src/android.h: Update prototypes.
1029 * src/androidselect.c (Fandroid_browse_url): Likewise.
1030 1031
1031 ; Update from Gnulib 1032 * src/androidselect.c (Fandroid_browse_url): Likewise.
1032 * lib/vasnprintf.c (VASNPRINTF):
1033 * m4/printf.m4 (gl_SWPRINTF_WORKS):
1034 (gl_SWPRINTF_DIRECTIVE_LA):
1035 * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE):
1036 1033
1037 Merge remote-tracking branch 'origin/master' into feature/android 1034 * lib/vasnprintf.c:
1035 * m4/printf.m4:
1036 * m4/vasnprintf.m4: Update from Gnulib.
1038 1037
10392023-07-09 Po Lu <luangruo@yahoo.com> 10382023-07-09 Po Lu <luangruo@yahoo.com>
1040 1039
1041 Update Android port
1042 * java/org/gnu/emacs/EmacsWindow.java (eventModifiers) 1040 * java/org/gnu/emacs/EmacsWindow.java (eventModifiers)
1043 (motionEventModifiers): New functions. 1041 (motionEventModifiers): New functions.
1044 (onKeyDown, onKeyUp, onFocusChanged, onSomeKindOfMotionEvent): 1042 (onKeyDown, onKeyUp, onFocusChanged, onSomeKindOfMotionEvent):
1045 Don't record the previous modifier mask; instead, always use the 1043 Don't record the previous modifier mask; instead, always use the
1046 modifier state specified in the event. 1044 modifier state specified in the event.
1045
1047 * src/androidterm.c (handle_one_android_event): Don't dispatch 1046 * src/androidterm.c (handle_one_android_event): Don't dispatch
1048 button release events when a popup is active. 1047 button release events when a popup is active.
1049 1048
1050 Update Android port 1049 * java/org/gnu/emacs/EmacsService.java (onStartCommand): Fix typo
1051 * java/org/gnu/emacs/EmacsService.java (onStartCommand): Fix 1050 in notification message.
1052 typo in notification message. 1051 * java/org/gnu/emacs/EmacsWindow.java (onFocusChanged): Reset the
1053 * java/org/gnu/emacs/EmacsWindow.java (onFocusChanged): Reset 1052 recorded modifier state upon a change to the window focus.
1054 the recorded modifier state upon a change to the window focus.
1055 1053
1056 * java/org/gnu/emacs/EmacsService.java (onCreate): Fix typo. 1054 * java/org/gnu/emacs/EmacsService.java (onCreate): Fix typo.
1057 1055
1058 Update Android port 1056 * java/org/gnu/emacs/EmacsDrawPoint.java (perform): Don't fill an
1059 * java/org/gnu/emacs/EmacsDrawPoint.java (perform): Don't fill 1057 extra pixel.
1060 an extra pixel.
1061 * java/org/gnu/emacs/EmacsService.java (onCreate): Make sure 1058 * java/org/gnu/emacs/EmacsService.java (onCreate): Make sure
1062 scaledDensity is always at least 160 dpi. 1059 scaledDensity is always at least 160 dpi.
1063 1060
1064 Merge remote-tracking branch 'origin/master' into feature/android
1065
10662023-07-08 Po Lu <luangruo@yahoo.com> 10612023-07-08 Po Lu <luangruo@yahoo.com>
1067 1062
1068 Fix EmacsDrawLine again
1069 * java/org/gnu/emacs/EmacsDrawLine.java (perform): Symmetrically 1063 * java/org/gnu/emacs/EmacsDrawLine.java (perform): Symmetrically
1070 adjust coordinates to cover the last pixel. Then, fill the left 1064 adjust coordinates to cover the last pixel. Then, fill the left
1071 most pixel of the line. 1065 most pixel of the line.
1072 1066
1073 Update Android port
1074 * java/org/gnu/emacs/EmacsService.java (DEBUG_IC) 1067 * java/org/gnu/emacs/EmacsService.java (DEBUG_IC)
1075 (DEBUG_THREADS): Improve commentary. 1068 (DEBUG_THREADS): Improve commentary.
1076 * src/androidterm.c (handle_one_android_event): Signal 1069
1077 completion of IME events that have lost their frames. 1070 * src/androidterm.c (handle_one_android_event): Signal completion
1071 of IME events that have lost their frames.
1078 (requestCursorUpdates): Don't set an edit counter as this event 1072 (requestCursorUpdates): Don't set an edit counter as this event
1079 won't be passed to the text conversion machinery. 1073 won't be passed to the text conversion machinery.
1080 1074
1081 ; Fix whitespace 1075 * src/android.c (android_blit_xor, android_check_query_urgent)
1082 * src/android.c (android_blit_xor): 1076 (android_run_in_emacs_thread, android_update_extracted_text): Fix
1083 (android_check_query_urgent): 1077 whitespace.
1084 (android_run_in_emacs_thread):
1085 (android_update_extracted_text): Fix whitespace.
1086
1087 Merge remote-tracking branch 'origin/master' into feature/android
1088 1078
10892023-07-07 Po Lu <luangruo@yahoo.com> 10792023-07-07 Po Lu <luangruo@yahoo.com>
1090 1080
1091 Update Android port
1092 * java/org/gnu/emacs/EmacsSurfaceView.java (copyToFrontBuffer): 1081 * java/org/gnu/emacs/EmacsSurfaceView.java (copyToFrontBuffer):
1093 Use fallback bit blit function on Android 7.0 as well, as 1082 Use fallback bit blit function on Android 7.0 as well, as crashes
1094 crashes have been observed in drawBitmap. 1083 have been observed in drawBitmap.
1095 1084
10962023-07-07 Po Lu <luangruo@yahoo.com> 10852023-07-07 Po Lu <luangruo@yahoo.com>
1097 1086
1098 Update Android port
1099 * lisp/tool-bar.el (modifier-bar-modifier-list): New variable. 1087 * lisp/tool-bar.el (modifier-bar-modifier-list): New variable.
1100 (modifier-bar-button): New function. 1088 (modifier-bar-button): New function.
1101 (tool-bar-event-apply-alt-modifier) 1089 (tool-bar-event-apply-alt-modifier)
@@ -1110,42 +1098,44 @@
1110 (modifier-bar-mode): Disable tool bar items corresponding to 1098 (modifier-bar-mode): Disable tool bar items corresponding to
1111 modifier keys that've already been pressed. 1099 modifier keys that've already been pressed.
1112 1100
1113 * etc/images/shift.pbm: Regenerate from correct font. 1101 * etc/images/shift.pbm: Regenerate using the same font as the
1114 1102 other modifier button bitmaps.
11152023-07-07 Po Lu <luangruo@yahoo.com>
1116
1117 Merge remote-tracking branch 'origin/master' into feature/android
1118 1103
11192023-07-06 Po Lu <luangruo@yahoo.com> 11042023-07-06 Po Lu <luangruo@yahoo.com>
1120 1105
1121 Update Android port
1122 * java/org/gnu/emacs/EmacsNative.java (scaledDensity): Announce 1106 * java/org/gnu/emacs/EmacsNative.java (scaledDensity): Announce
1123 new argument `scaledDensity'. 1107 new argument `scaledDensity'.
1124 * java/org/gnu/emacs/EmacsNoninteractive.java (main): Specify 1108
1125 new argument. 1109 * java/org/gnu/emacs/EmacsNoninteractive.java (main): Specify new
1110 argument.
1111
1126 * java/org/gnu/emacs/EmacsService.java (onCreate): Compute an 1112 * java/org/gnu/emacs/EmacsService.java (onCreate): Compute an
1127 adjusted DPI for the font size based on the ratio between 1113 adjusted DPI for the font size based on the ratio between density
1128 density and scaledDensity. 1114 and scaledDensity.
1129 (run): Specify that adjusted density. 1115 (run): Specify that adjusted density.
1116
1130 * src/android.c (setEmacsParams): Set 1117 * src/android.c (setEmacsParams): Set
1131 `android_scaled_pixel_density'. 1118 `android_scaled_pixel_density'.
1132 * src/android.h: (android_scaled_pixel_density: New variable. 1119
1120 * src/android.h (android_scaled_pixel_density) New variable.
1121
1133 * src/androidterm.c (android_term_init): Set `font_resolution'. 1122 * src/androidterm.c (android_term_init): Set `font_resolution'.
1123
1134 * src/androidterm.h (struct android_display_info): New field. 1124 * src/androidterm.h (struct android_display_info): New field.
1125
1135 * src/font.c (font_pixel_size, font_find_for_lface) 1126 * src/font.c (font_pixel_size, font_find_for_lface)
1136 (font_open_for_lface, Ffont_face_attributes, Fopen_font): Use 1127 (font_open_for_lface, Ffont_face_attributes, Fopen_font): Use
1137 FRAME_RES instead of FRAME_RES_Y. 1128 FRAME_RES instead of FRAME_RES_Y.
1138 * src/frame.h (FRAME_RES): New macro. Use this to convert 1129
1139 between font point and pixel sizes as opposed to FRAME_RES_Y. 1130 * src/frame.h (FRAME_RES): New macro. Use this to convert between
1131 font point and pixel sizes as opposed to FRAME_RES_Y.
1132
1140 * src/w32font.c (fill_in_logfont): 1133 * src/w32font.c (fill_in_logfont):
1141 * src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use 1134 * src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use
1142 FRAME_RES instead of FRAME_RES_Y. (bug#64444) 1135 FRAME_RES instead of FRAME_RES_Y. (bug#64444)
1143 1136
1144 Merge remote-tracking branch 'origin/master' into feature/android
1145
11462023-07-05 Po Lu <luangruo@yahoo.com> 11372023-07-05 Po Lu <luangruo@yahoo.com>
1147 1138
1148 Fix bug#64445
1149 * doc/emacs/android.texi (Android Environment): Document that 1139 * doc/emacs/android.texi (Android Environment): Document that
1150 Emacs also receives READ_EXTERNAL_STORAGE by default on old 1140 Emacs also receives READ_EXTERNAL_STORAGE by default on old
1151 versions of Android. 1141 versions of Android.
@@ -1154,17 +1144,15 @@
1154 1144
1155 * doc/emacs/emacs.texi (Emacs and Android): Fix menu. 1145 * doc/emacs/emacs.texi (Emacs and Android): Fix menu.
1156 1146
1157 ; Update Android port 1147 * doc/emacs/android.texi (Android): Fix discrepancies between menu
1158 * doc/emacs/android.texi (Android): Fix discrepancies between 1148 and sectioning.
1159 menu and sectioning.
1160 1149
1161 Fix crash between Android 4.0 and Android 5.1
1162 * java/org/gnu/emacs/EmacsService.java (detectMouse): Don't use 1150 * java/org/gnu/emacs/EmacsService.java (detectMouse): Don't use
1163 function that is not present on Android 4.0. 1151 function that is not present on Android 4.0.
1164 1152
1165 Update Android port
1166 * doc/lispref/commands.texi (Misc Events): Correctly index 1153 * doc/lispref/commands.texi (Misc Events): Correctly index
1167 `set-text-conversion-style'. 1154 `set-text-conversion-style'.
1155
1168 * lisp/tool-bar.el (tool-bar-event-apply-alt-modifier) 1156 * lisp/tool-bar.el (tool-bar-event-apply-alt-modifier)
1169 (tool-bar-event-apply-super-modifier) 1157 (tool-bar-event-apply-super-modifier)
1170 (tool-bar-event-apply-hyper-modifier) 1158 (tool-bar-event-apply-hyper-modifier)
@@ -1172,35 +1160,40 @@
1172 (tool-bar-event-apply-control-modifier) 1160 (tool-bar-event-apply-control-modifier)
1173 (tool-bar-event-apply-meta-modifier): Pass t when restoring text 1161 (tool-bar-event-apply-meta-modifier): Pass t when restoring text
1174 conversion style. 1162 conversion style.
1163
1175 * src/keyboard.c (restore_reading_key_sequence): New function. 1164 * src/keyboard.c (restore_reading_key_sequence): New function.
1176 (read_key_sequence): Set `reading_key_sequence' where necessary. 1165 (read_key_sequence): Set `reading_key_sequence' where necessary.
1166
1177 * src/keyboard.h: Declare variable. 1167 * src/keyboard.h: Declare variable.
1168
1178 * src/textconv.c (check_postponed_buffers): New function. 1169 * src/textconv.c (check_postponed_buffers): New function.
1179 (Fset_text_conversion_style): New argument. If set, and a key 1170 (Fset_text_conversion_style): New argument. If set, and a key
1180 sequence is being read, postpone resetting the IME until the key 1171 sequence is being read, postpone resetting the IME until the key
1181 sequence is read. 1172 sequence is read.
1182 (syms_of_textconv): Clear new variable and add staticpro. 1173 (syms_of_textconv): Clear new variable and add staticpro.
1183 * src/textconv.h: Update prototypes.
1184 1174
1185 Merge remote-tracking branch 'origin/master' into feature/android 1175 * src/textconv.h: Update prototypes.
1186 1176
11872023-07-04 Po Lu <luangruo@yahoo.com> 11772023-07-04 Po Lu <luangruo@yahoo.com>
1188 1178
1189 Implement a tool bar containing modifier keys
1190 * doc/emacs/frames.texi (Tool Bars): Describe modifier bars. 1179 * doc/emacs/frames.texi (Tool Bars): Describe modifier bars.
1180
1191 * doc/lispref/keymaps.texi (Extended Menu Items, Tool Bar): 1181 * doc/lispref/keymaps.texi (Extended Menu Items, Tool Bar):
1192 Document changes to tool bar menu item handling and secondary 1182 Document changes to tool bar menu item handling and secondary tool
1193 tool bars. 1183 bars.
1184
1194 * etc/NEWS: Announce changes. 1185 * etc/NEWS: Announce changes.
1195 * lisp/simple.el (event-apply-modifier): Correctly apply Ctrl 1186
1196 and Shift modifiers to lower case ASCII key events that already 1187 * lisp/simple.el (event-apply-modifier): Correctly apply Ctrl and
1197 have other modifiers applied. 1188 Shift modifiers to lower case ASCII key events that already have
1189 other modifiers applied.
1190
1198 * lisp/tool-bar.el (tool-bar--cache-key) 1191 * lisp/tool-bar.el (tool-bar--cache-key)
1199 (tool-bar--secondary-cache-key): New defsubsts. 1192 (tool-bar--secondary-cache-key): New defsubsts.
1200 (tool-bar--flush-cache): Flush secondary tool bar cache. 1193 (tool-bar--flush-cache): Flush secondary tool bar cache.
1201 (tool-bar-make-keymap): Include secondary tool bar if necessary. 1194 (tool-bar-make-keymap): Include secondary tool bar if necessary.
1202 (tool-bar-make-keymap-1): New arg MAP. Generate a keymap for 1195 (tool-bar-make-keymap-1): New arg MAP. Generate a keymap for that
1203 that map if specified, else default to tool-bar-map. 1196 map if specified, else default to tool-bar-map.
1204 (set-text-conversion-style, tool-bar-apply-modifiers) 1197 (set-text-conversion-style, tool-bar-apply-modifiers)
1205 (overriding-text-conversion-style) 1198 (overriding-text-conversion-style)
1206 (tool-bar-event-apply-alt-modifier) 1199 (tool-bar-event-apply-alt-modifier)
@@ -1210,83 +1203,58 @@
1210 (tool-bar-event-apply-control-modifier) 1203 (tool-bar-event-apply-control-modifier)
1211 (tool-bar-event-apply-meta-modifier, modifier-bar-mode): New 1204 (tool-bar-event-apply-meta-modifier, modifier-bar-mode): New
1212 functions. 1205 functions.
1206
1213 * src/dispextern.h (enum tool_bar_item_idx): Add 1207 * src/dispextern.h (enum tool_bar_item_idx): Add
1214 TOOL_BAR_ITEM_WRAP. 1208 TOOL_BAR_ITEM_WRAP.
1209
1215 * src/frame.c (make_frame): Clear new field `tool_bar_wraps_p'. 1210 * src/frame.c (make_frame): Clear new field `tool_bar_wraps_p'.
1211
1216 * src/frame.h (struct frame): New field `tool_bar_wraps_p'. 1212 * src/frame.h (struct frame): New field `tool_bar_wraps_p'.
1213
1217 * src/keyboard.c (parse_tool_bar_item): Handle QCwrap properties 1214 * src/keyboard.c (parse_tool_bar_item): Handle QCwrap properties
1218 in tool bar menu items. 1215 in tool bar menu items.
1219 (syms_of_keyboard): New defsym QCwrap. 1216 (syms_of_keyboard): New defsym QCwrap.
1217
1220 * src/xdisp.c (build_desired_tool_bar_string): Clear 1218 * src/xdisp.c (build_desired_tool_bar_string): Clear
1221 f->tool_bar_wraps_p and set it appropriately. Insert new line 1219 f->tool_bar_wraps_p and set it appropriately. Insert new line
1222 characters in the tool bar string upon encountering a wrap 1220 characters in the tool bar string upon encountering a wrap
1223 character. 1221 character.
1224 (display_tool_bar_line): Stop at EOB, not line end. Reseat on 1222 (display_tool_bar_line): Stop at EOB, not line end. Reseat on the
1225 the next line upon encountering EOL characters. 1223 next line upon encountering EOL characters.
1226 (redisplay_tool_bar): Allow rows to be different heights if 1224 (redisplay_tool_bar): Allow rows to be different heights if
1227 explicit new lines are present upon the tool bar string. 1225 explicit new lines are present upon the tool bar string.
1228 1226
1229 * src/sfnt.c (sfnt_decompose_compound_glyph): Pacify warning. 1227 * src/sfnt.c (sfnt_decompose_compound_glyph): Pacify warning.
1230 1228
1231 Merge remote-tracking branch 'origin/master' into feature/android
1232
12332023-07-03 Po Lu <luangruo@yahoo.com>
1234
1235 Merge remote-tracking branch 'origin/master' into feature/android
1236
1237 Merge remote-tracking branch 'origin/master' into feature/android
1238
12392023-07-02 Po Lu <luangruo@yahoo.com>
1240
1241 Merge remote-tracking branch 'origin/master' into feature/android
1242
12432023-07-01 Po Lu <luangruo@yahoo.com>
1244
1245 Merge remote-tracking branch 'origin/master' into feature/android
1246
12472023-06-30 Po Lu <luangruo@yahoo.com> 12292023-06-30 Po Lu <luangruo@yahoo.com>
1248 1230
1249 * src/android.c (android_query_tree): Correctly return children. 1231 * src/android.c (android_query_tree): Correctly return children.
1250 1232
1251 Merge remote-tracking branch 'origin/master' into feature/android
1252
12532023-06-29 Po Lu <luangruo@yahoo.com>
1254
1255 Merge remote-tracking branch 'origin/master' into feature/android
1256
12572023-06-28 Po Lu <luangruo@yahoo.com>
1258
1259 Merge remote-tracking branch 'origin/master' into feature/android
1260
12612023-06-27 Po Lu <luangruo@yahoo.com> 12332023-06-27 Po Lu <luangruo@yahoo.com>
1262 1234
1263 * doc/emacs/android.texi (Android Environment): Improve wording. 1235 * doc/emacs/android.texi (Android Environment): Improve wording.
1264 1236
1265 * doc/emacs/android.texi (Android Environment): Fix typos. 1237 * doc/emacs/android.texi (Android Environment): Fix typos.
1266 1238
1267 Update Android port
1268 * src/android.c (android_exception_check) 1239 * src/android.c (android_exception_check)
1269 (android_exception_check_1) 1240 (android_exception_check_1)
1270 (android_exception_check_2) 1241 (android_exception_check_2)
1271 (android_exception_check_nonnull) 1242 (android_exception_check_nonnull)
1272 (android_exception_check_nonnull_1): Tell the compiler to expect 1243 (android_exception_check_nonnull_1): Tell the compiler to expect
1273 that the object is non-NULL, or that no exception has been 1244 that the object is non-NULL, or that no exception has been thrown.
1274 thrown.
1275 1245
1276 * exec/loader-mips64el.s (rest_of_exec): Fix typo in comment. 1246 * exec/loader-mips64el.s (rest_of_exec): Fix typo in comment.
1277 1247
1278 Merge remote-tracking branch 'origin/master' into feature/android
1279
12802023-06-26 Po Lu <luangruo@yahoo.com> 12482023-06-26 Po Lu <luangruo@yahoo.com>
1281 1249
1282 * doc/lispref/commands.texi (Touchscreen Events): Fix typo. 1250 * doc/lispref/commands.texi (Touchscreen Events): Fix typo.
1283 1251
12842023-06-26 Po Lu <luangruo@yahoo.com> 12522023-06-26 Po Lu <luangruo@yahoo.com>
1285 1253
1286 Update Android port
1287 * lisp/calc/calc.el (calc-mode, calc): Make sure the on-screen 1254 * lisp/calc/calc.el (calc-mode, calc): Make sure the on-screen
1288 keyboard is not hidden when a Calc buffer is created or a Calc 1255 keyboard is not hidden when a Calc buffer is created or a Calc
1289 Trail window is being created for the first time. 1256 Trail window is being created for the first time.
1257
1290 * lisp/touch-screen.el (touch-screen-window-selection-changed): 1258 * lisp/touch-screen.el (touch-screen-window-selection-changed):
1291 Take touch-screen-display-keyboard in to account. 1259 Take touch-screen-display-keyboard in to account.
1292 1260
@@ -1296,18 +1264,6 @@
1296 (sfnt_lerp_half): Avoid undefined shift of negative value. 1264 (sfnt_lerp_half): Avoid undefined shift of negative value.
1297 (sfnt_compute_tuple_scale): Pacify compiler warning. 1265 (sfnt_compute_tuple_scale): Pacify compiler warning.
1298 1266
12992023-06-26 Po Lu <luangruo@yahoo.com>
1300
1301 Merge remote-tracking branch 'origin/master' into feature/android
1302
13032023-06-25 Po Lu <luangruo@yahoo.com>
1304
1305 Merge remote-tracking branch 'origin/master' into feature/android
1306
13072023-06-24 Po Lu <luangruo@yahoo.com>
1308
1309 Merge remote-tracking branch 'origin/master' into feature/android
1310
13112023-06-23 Po Lu <luangruo@yahoo.com> 12672023-06-23 Po Lu <luangruo@yahoo.com>
1312 1268
1313 * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): 1269 * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
@@ -2719,13 +2675,14 @@
2719 variables precious. Rename ANDROID_CFLAGS substitution to 2675 variables precious. Rename ANDROID_CFLAGS substitution to
2720 ANDROID_BUILD_CFLAGS. 2676 ANDROID_BUILD_CFLAGS.
2721 2677
2722 * nt/mingw-cfg.site: Suppress build of gnulib printf. 2678 * nt/mingw-cfg.site: Suppress build of Gnulib printf.
2723 2679
2724 * java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots): Add 2680 * java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots): Add
2725 icon to document root. 2681 icon to document root.
2726 2682
2727 * lisp/loadup.el (current-load-list): Set to empty load list after 2683 * lisp/loadup.el (current-load-list): Set to empty load list after
2728 startup. 2684 startup.
2685
2729 * src/lread.c (build_load_history): Revert earlier changes. 2686 * src/lread.c (build_load_history): Revert earlier changes.
2730 2687
27312023-03-15 Po Lu <luangruo@yahoo.com> 26882023-03-15 Po Lu <luangruo@yahoo.com>
@@ -3905,7 +3862,7 @@
3905 places at once. Build android-emacs separately from libemacs.so. 3862 places at once. Build android-emacs separately from libemacs.so.
3906 3863
3907 * cross/Makefile.in ($(top_builddir)/lib/libgnu.a): 3864 * cross/Makefile.in ($(top_builddir)/lib/libgnu.a):
3908 * java/Makefile.in (CROSS_LIBS): Explicitly depend on gnulib to 3865 * java/Makefile.in (CROSS_LIBS): Explicitly depend on Gnulib to
3909 prevent it from being built at the same time from different jobs. 3866 prevent it from being built at the same time from different jobs.
3910 3867
3911 * src/sfntfont.c (sfntfont_close): Don't unlink font if mmap is 3868 * src/sfntfont.c (sfntfont_close): Don't unlink font if mmap is
@@ -4704,7 +4661,6 @@
4704 * m4/ndk-build.m4 (ndk_INIT): Accept cflags. 4661 * m4/ndk-build.m4 (ndk_INIT): Accept cflags.
4705 (ndk_CONFIG_FILES): Export NDK_BUILD_CFLAGS. 4662 (ndk_CONFIG_FILES): Export NDK_BUILD_CFLAGS.
4706 4663
4707 Update Android port
4708 * java/AndroidManifest.xml.in: Prevent the Emacs activity from 4664 * java/AndroidManifest.xml.in: Prevent the Emacs activity from
4709 being overlayed by the emacsclient wrapper. 4665 being overlayed by the emacsclient wrapper.
4710 * java/org/gnu/emacs/EmacsOpenActivity.java (run): Likewise. 4666 * java/org/gnu/emacs/EmacsOpenActivity.java (run): Likewise.
@@ -4985,7 +4941,7 @@
4985 4941
49862023-01-29 Po Lu <luangruo@yahoo.com> 49422023-01-29 Po Lu <luangruo@yahoo.com>
4987 4943
4988 * .gitignore: Add missing gnulib files. 4944 * .gitignore: Add missing Gnulib files.
4989 4945
4990 * INSTALL.android (module_target): Clarify documentation. 4946 * INSTALL.android (module_target): Clarify documentation.
4991 4947
@@ -6631,11 +6587,8 @@
6631 6587
66322023-01-08 Po Lu <luangruo@yahoo.com> 65882023-01-08 Po Lu <luangruo@yahoo.com>
6633 6589
6634 Merge remote-tracking branch 'origin/master' into feature/android
6635
6636 * configure.ac (ANDROID_OBJS): Add sfntfont files. 6590 * configure.ac (ANDROID_OBJS): Add sfntfont files.
6637 6591
6638 Check in new files
6639 * src/sfnt.h: 6592 * src/sfnt.h:
6640 * src/sfntfont-android.c: 6593 * src/sfntfont-android.c:
6641 * src/sfntfont.c: 6594 * src/sfntfont.c:
@@ -6643,152 +6596,106 @@
6643 6596
66442023-01-08 Po Lu <luangruo@yahoo.com> 65972023-01-08 Po Lu <luangruo@yahoo.com>
6645 6598
6646 Update Android port
6647 Note that the port currently does not work as of this check-in.
6648
6649 * src/android.c (android_change_gc): Fix situations where clip 6599 * src/android.c (android_change_gc): Fix situations where clip
6650 rects are cleared. 6600 rects are cleared.
6651 (android_create_pixmap_from_bitmap_data): Fix bitmap data 6601 (android_create_pixmap_from_bitmap_data): Fix bitmap data
6652 iteration. 6602 iteration.
6603
6653 * src/androidfns.c (Fx_show_tip, Fx_hide_tip): Remove annoying 6604 * src/androidfns.c (Fx_show_tip, Fx_hide_tip): Remove annoying
6654 errors. 6605 errors.
6655 6606
6656 * src/androidgui.h (enum android_event_type): 6607 * src/androidgui.h (enum android_event_type)
6657 (struct android_crossing_event): 6608 (struct android_crossing_event)
6658 (struct android_motion_event): 6609 (struct android_motion_event)
6659 (struct android_button_event): 6610 (struct android_button_event, union android_event): New crossing,
6660 (union android_event): New crossing, motion and button events. 6611 motion and button events.
6661 6612
6662 * src/androidterm.c (android_note_mouse_movement) 6613 * src/androidterm.c (android_note_mouse_movement)
6663 (mouse_or_wdesc_frame, android_construct_mouse_click) 6614 (mouse_or_wdesc_frame, android_construct_mouse_click)
6664 (handle_one_android_event, android_mouse_position) 6615 (handle_one_android_event, android_mouse_position)
6665 (android_wait_for_event, android_set_window_size_1) 6616 (android_wait_for_event, android_set_window_size_1)
6666 (android_bitmap_icon, android_free_frame_resources) 6617 (android_bitmap_icon, android_free_frame_resources)
6667 (syms_of_androidterm): New functions. Handle crossing, motion 6618 (syms_of_androidterm): New functions. Handle crossing, motion and
6668 and button events. 6619 button events.
6669 6620
6670 * src/androidterm.h (struct android_display_info): New field 6621 * src/androidterm.h (struct android_display_info): New field
6671 `last_mouse_movement_time'. 6622 `last_mouse_movement_time'.
6672 (struct android_output): Remove unused `need_buffer_flip' field. 6623 (struct android_output): Remove unused `need_buffer_flip' field.
6673 6624
6674 * src/emacs.c (android_emacs_init): Initialize sfntfont. 6625 * src/emacs.c (android_emacs_init): Initialize sfntfont.
6626
6675 * src/frame.c (syms_of_frame): Set frame_inhibit_implied_resize 6627 * src/frame.c (syms_of_frame): Set frame_inhibit_implied_resize
6676 to some reasonable value. 6628 to some reasonable value.
6677 * src/frame.h (GCALIGNED_STRUCT): Set wait_event_type on
6678 Android.
6679 6629
6680 * src/sfnt.c (eassert): 6630 * src/frame.h (GCALIGNED_STRUCT): Set wait_event_type on Android.
6681 (TEST_STATIC):
6682 (available):
6683 (enum sfnt_table):
6684 (sfnt_table_names):
6685 (SFNT_ENDOF):
6686 (struct sfnt_table_directory):
6687 (enum sfnt_scaler_type):
6688 (sfnt_coerce_fixed):
6689 (struct sfnt_hhea_table):
6690 (struct sfnt_cmap_table):
6691 (enum sfnt_platform_id):
6692 (enum sfnt_unicode_platform_specific_id):
6693 (enum sfnt_macintosh_platform_specific_id):
6694 (enum sfnt_microsoft_platform_specific_id):
6695 (struct sfnt_cmap_encoding_subtable):
6696 (struct sfnt_cmap_encoding_subtable_data):
6697 (struct sfnt_cmap_format_0):
6698 (struct sfnt_cmap_format_2_subheader):
6699 (struct sfnt_cmap_format_2):
6700 (struct sfnt_cmap_format_4):
6701 (struct sfnt_cmap_format_6):
6702 (struct sfnt_cmap_format_8_or_12_group):
6703 (struct sfnt_cmap_format_8):
6704 (struct sfnt_cmap_format_12):
6705 (struct sfnt_maxp_table):
6706 (struct sfnt_loca_table_short):
6707 (struct sfnt_loca_table_long):
6708 (struct sfnt_glyf_table):
6709 (struct sfnt_simple_glyph):
6710 (struct sfnt_compound_glyph_component):
6711 (struct sfnt_compound_glyph):
6712 (struct sfnt_glyph):
6713 (sfnt_read_table_directory):
6714 (file):
6715 (sfnt_read_cmap_table):
6716 (sfnt_read_head_table):
6717 (success):
6718 (sfnt_read_hhea_table):
6719 (sfnt_read_loca_table_short):
6720 (sfnt_read_loca_table_long):
6721 (sfnt_read_maxp_table):
6722 (sfnt_read_glyf_table):
6723 (sfnt_read_compound_glyph):
6724 (sfnt_read_glyph):
6725 (struct sfnt_point):
6726 (sfnt_expand_compound_glyph_context):
6727 (sfnt_decompose_compound_glyph):
6728 (struct sfnt_glyph_outline):
6729 (enum sfnt_glyph_outline_flags):
6730 (struct sfnt_build_glyph_outline_context):
6731 (sfnt_build_append):
6732 (sfnt_build_glyph_outline):
6733 (struct sfnt_raster):
6734 (struct sfnt_edge):
6735 (sfnt_prepare_raster):
6736 (sfnt_build_outline_edges):
6737 (sfnt_raster_glyph_outline): Move structures to sfnt.h.
6738 6631
6739 (struct sfnt_long_hor_metric): 6632 * src/sfnt.c (eassert, TEST_STATIC, available, enum sfnt_table)
6740 (struct sfnt_hmtx_table): 6633 (sfnt_table_names, SFNT_ENDOF, struct sfnt_table_directory)
6741 (struct sfnt_glyph_metrics): 6634 (sfnt_scaler_type, sfnt_coerce_fixed, struct sfnt_hhea_table)
6742 (sfnt_read_hmtx_table): 6635 (struct sfnt_cmap_table, enum sfnt_platform_id)
6743 (sfnt_lookup_glyph_metrics): 6636 (enum sfnt_unicode_platform_specific_id)
6744 (sfnt_read_name_table): 6637 (enum sfnt_macintosh_platform_specific_id)
6745 (sfnt_find_name): 6638 (enum sfnt_microsoft_platform_specific_id)
6746 (sfnt_read_meta_table): 6639 (struct sfnt_cmap_encoding_subtable)
6747 (sfnt_find_metadata): 6640 (struct sfnt_cmap_encoding_subtable_data)
6748 (sfnt_test_edge_ignore): New functions. 6641 (struct sfnt_cmap_format_0)
6642 (struct sfnt_cmap_format_2_subheader, struct sfnt_cmap_format_2)
6643 (struct sfnt_cmap_format_4, struct sfnt_cmap_format_6)
6644 (struct sfnt_cmap_format_8_or_12_group, struct sfnt_cmap_format_8)
6645 (struct sfnt_cmap_format_12, struct sfnt_maxp_table)
6646 (struct sfnt_loca_table_short, struct sfnt_loca_table_long)
6647 (struct sfnt_glyf_table, struct sfnt_simple_glyph)
6648 (struct sfnt_compound_glyph_component, struct sfnt_compound_glyph)
6649 (struct sfnt_glyph, sfnt_read_table_directory, file)
6650 (sfnt_read_cmap_table)
6651 (sfnt_read_head_table, success, sfnt_read_hhea_table)
6652 (sfnt_read_loca_table_short, sfnt_read_loca_table_long)
6653 (sfnt_read_maxp_table, sfnt_read_glyf_table)
6654 (sfnt_read_compound_glyph, sfnt_read_glyph, struct sfnt_point)
6655 (sfnt_expand_compound_glyph_context)
6656 (sfnt_decompose_compound_glyph, struct sfnt_glyph_outline)
6657 (enum sfnt_glyph_outline_flags)
6658 (struct sfnt_build_glyph_outline_context)
6659 (sfnt_build_append, sfnt_build_glyph_outline, struct sfnt_raster)
6660 (struct sfnt_edge, sfnt_prepare_raster, sfnt_build_outline_edges)
6661 (sfnt_raster_glyph_outline): Move structures to sfnt.h.
6662 (struct sfnt_long_hor_metric, sfnt_read_hmtx_table)
6663 (sfnt_lookup_glyph_metrics, sfnt_read_name_table, sfnt_find_name)
6664 (sfnt_read_meta_table, sfnt_find_metadata, sfnt_test_edge_ignore):
6665 New functions.
6749 (main): Add new tests. 6666 (main): Add new tests.
6750 * src/xdisp.c (redisplay_tool_bar):
6751 6667
67522023-01-08 Po Lu <luangruo@yahoo.com> 66682023-01-08 Po Lu <luangruo@yahoo.com>
6753 6669
6754 Delete unused files
6755 * java/org/gnu/emacs/EmacsPaintQueue.java 6670 * java/org/gnu/emacs/EmacsPaintQueue.java
6756 * java/org/gnu/emacs/EmacsPaintReq.java: Remove files. 6671 * java/org/gnu/emacs/EmacsPaintReq.java: Remove files.
6757 6672
6758 Update Java part of Android port 6673 * java/org/gnu/emacs/EmacsCopyArea.java (perform, paintTo):
6759 * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea, perform) 6674 * java/org/gnu/emacs/EmacsDrawLine.java:
6760 (paintTo): 6675 * java/org/gnu/emacs/EmacsDrawPoint.java:
6761 * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine): 6676 * java/org/gnu/emacs/EmacsDrawRectangle.java (paintTo):
6762 * java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint): 6677 * java/org/gnu/emacs/EmacsDrawable.java:
6763 * java/org/gnu/emacs/EmacsDrawRectangle.java (EmacsDrawRectangle) 6678 * java/org/gnu/emacs/EmacsFillPolygon.java:
6764 (paintTo): 6679 * java/org/gnu/emacs/EmacsFillRectangle.java:
6765 * java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable): 6680 * java/org/gnu/emacs/EmacsFontDriver.java:
6766 * java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon): 6681 * java/org/gnu/emacs/EmacsGC.java:
6767 * java/org/gnu/emacs/EmacsFillRectangle.java 6682 * java/org/gnu/emacs/EmacsNative.java:
6768 (EmacsFillRectangle): 6683 * java/org/gnu/emacs/EmacsPixmap.java:
6769 * java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver): 6684 * java/org/gnu/emacs/EmacsSdk23FontDriver.java:
6770 * java/org/gnu/emacs/EmacsGC.java (EmacsGC): 6685 * java/org/gnu/emacs/EmacsSdk7FontDriver.java (textExtents1)
6771 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): 6686 (textExtents, draw):
6772 * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): 6687 * java/org/gnu/emacs/EmacsService.java (copyArea):
6773 * java/org/gnu/emacs/EmacsSdk23FontDriver.java 6688 * java/org/gnu/emacs/EmacsSurfaceView.java:
6774 (EmacsSdk23FontDriver): 6689 * java/org/gnu/emacs/EmacsView.java (onLayout, onFocusChanged):
6775 * java/org/gnu/emacs/EmacsSdk7FontDriver.java 6690 * java/org/gnu/emacs/EmacsWindow.java (run, resizeWindow)
6776 (EmacsSdk7FontDriver, textExtents1, textExtents, draw): 6691 (lockCanvas, getBitmap, onKeyDown, onKeyUp)
6777 * java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea):
6778 * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
6779 * java/org/gnu/emacs/EmacsView.java (EmacsView, onLayout)
6780 (onFocusChanged):
6781 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, run)
6782 (resizeWindow, lockCanvas, getBitmap, onKeyDown, onKeyUp)
6783 (onActivityDetached): Move rendering to main thread. Make 6692 (onActivityDetached): Move rendering to main thread. Make
6784 drawing operations completely static. 6693 drawing operations completely static.
6785 6694
6786 Check in new file androidmenu.c
6787 * src/androidmenu.c: New file. 6695 * src/androidmenu.c: New file.
6788 6696
67892023-01-07 Po Lu <luangruo@yahoo.com> 66972023-01-07 Po Lu <luangruo@yahoo.com>
6790 6698
6791 Check in new file sfnt.c
6792 * src/sfnt.c (xmalloc, xrealloc, xfree, eassert, MIN) 6699 * src/sfnt.c (xmalloc, xrealloc, xfree, eassert, MIN)
6793 (sfnt_table_names, SFNT_ENDOF, struct sfnt_table_directory) 6700 (sfnt_table_names, SFNT_ENDOF, struct sfnt_table_directory)
6794 (enum sfnt_scaler_type, sfnt_coerce_fixed, struct sfnt_hhea_table) 6701 (enum sfnt_scaler_type, sfnt_coerce_fixed, struct sfnt_hhea_table)
@@ -6810,7 +6717,8 @@
6810 (sfnt_read_cmap_format_0, sfnt_read_cmap_format_2) 6717 (sfnt_read_cmap_format_0, sfnt_read_cmap_format_2)
6811 (sfnt_read_cmap_format_4, sfnt_read_cmap_format_6) 6718 (sfnt_read_cmap_format_4, sfnt_read_cmap_format_6)
6812 (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12) 6719 (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
6813 (sfnt_read_cmap_table_1, sfnt_read_cmap_table, sfnt_lookup_glyph_0) 6720 (sfnt_read_cmap_table_1, sfnt_read_cmap_table)
6721 (sfnt_lookup_glyph_0)
6814 (sfnt_lookup_glyph_2, sfnt_bsearch_above, sfnt_compare_uint16) 6722 (sfnt_lookup_glyph_2, sfnt_bsearch_above, sfnt_compare_uint16)
6815 (sfnt_lookup_glyph_4, sfnt_lookup_glyph_6, sfnt_lookup_glyph_8) 6723 (sfnt_lookup_glyph_4, sfnt_lookup_glyph_6, sfnt_lookup_glyph_8)
6816 (sfnt_lookup_glyph_12, sfnt_lookup_glyph, sfnt_read_head_table) 6724 (sfnt_lookup_glyph_12, sfnt_lookup_glyph, sfnt_read_head_table)
@@ -6839,68 +6747,77 @@
6839 (sfnt_lookup_glyph_metrics, struct sfnt_test_dcontext) 6747 (sfnt_lookup_glyph_metrics, struct sfnt_test_dcontext)
6840 (sfnt_test_move_to, sfnt_test_line_to, sfnt_test_curve_to) 6748 (sfnt_test_move_to, sfnt_test_line_to, sfnt_test_curve_to)
6841 (sfnt_test_get_glyph, sfnt_test_free_glyph, sfnt_test_span) 6749 (sfnt_test_get_glyph, sfnt_test_free_glyph, sfnt_test_span)
6842 (sfnt_test_edge, sfnt_test_raster, main): Check in 6750 (sfnt_test_edge, sfnt_test_raster, main): New file, meant to read
6843 5000-line-long file written by me for reading TrueType and 6751 TrueType fonts and OpenType fonts using TrueType outlines.
6844 OpenType fonts with TrueType outlines.
6845
68462023-01-02 Po Lu <luangruo@yahoo.com>
6847
6848 Merge remote-tracking branch 'origin/master' into feature/android
6849 6752
68502023-01-02 Po Lu <luangruo@yahoo.com> 67532023-01-02 Po Lu <luangruo@yahoo.com>
6851 6754
6852 Update Android port
6853 * Makefile.in (java): Depend on info. 6755 * Makefile.in (java): Depend on info.
6854 (MAKEFILE_NAME): 6756 (MAKEFILE_NAME, config.status): Remove unneeded changes.
6855 (config.status): Remove unneeded changes. 6757
6856 * configure.ac (BUILD_DETAILS, ANDROID_STUBIFY): Don't require a 6758 * configure.ac (BUILD_DETAILS, ANDROID_STUBIFY): Don't require a
6857 C++ compiler on Android. 6759 C++ compiler on Android.
6858 * java/AndroidManifest.xml: <EmacsActivity>: Set launchMode 6760
6859 appropriately. <EmacsMultitaskActivity>: New activity. 6761 * java/AndroidManifest.xml <EmacsActivity>: Set launchMode
6860 * java/Makefile.in (CROSS_BINS): Add EmacsClient. 6762 appropriately.
6861 * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity) 6763 <EmacsMultitaskActivity>: New activity.
6862 (onCreate): Use the window attachment manager. 6764
6863 * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea) 6765 * java/Makefile.in (CROSS_BINS): Add Emacsclient to the list of
6864 (paintTo): Implement clip masks correctly. 6766 binaries that will be copied into the app package.
6767
6768 * java/org/gnu/emacs/EmacsActivity.java (onCreate): Use the window
6769 attachment manager.
6770
6771 * java/org/gnu/emacs/EmacsCopyArea.java (paintTo): Implement clip
6772 masks correctly.
6773
6865 * java/org/gnu/emacs/EmacsDrawRectangle.java (getRect, paintTo): 6774 * java/org/gnu/emacs/EmacsDrawRectangle.java (getRect, paintTo):
6866 Fix damage tracking rectangles. 6775 Fix damage tracking rectangles.
6867 * java/org/gnu/emacs/EmacsFontDriver.java (FontSpec, toString): 6776
6868 New function. 6777 * java/org/gnu/emacs/EmacsFontDriver.java (toString): New
6869 (FontMetrics, EmacsFontDriver): Fix signature of textExtents. 6778 function.
6870 * java/org/gnu/emacs/EmacsMultitaskActivity.java 6779 (FontMetrics): Fix signature of textExtents.
6871 (EmacsMultitaskActivity): New file. 6780
6872 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New 6781 * java/org/gnu/emacs/EmacsMultitaskActivity.java: New file.
6873 functions sendFocusIn, sendFocusOut, sendWindowAction. 6782
6874 * java/org/gnu/emacs/EmacsPaintQueue.java (run): Fix clipping 6783 * java/org/gnu/emacs/EmacsNative.java (sendFocusIn, sendFocusOut)
6875 handling. 6784 (sendWindowAction): New functions.
6876 * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Add 6785
6877 constructor for mutable pixmaps. 6786 * java/org/gnu/emacs/EmacsPaintQueue.java (run): Correct treatment
6878 * java/org/gnu/emacs/EmacsSdk23FontDriver.java 6787 of the clip rectangle list.
6879 (EmacsSdk23FontDriver): New file. 6788
6880 * java/org/gnu/emacs/EmacsSdk7FontDriver.java 6789 * java/org/gnu/emacs/EmacsPixmap.java: Add constructor for mutable
6881 (EmacsSdk7FontDriver, Sdk7Typeface, Sdk7FontEntity, Sdk7FontObject) 6790 pixmaps.
6882 (checkMatch, hasChar, encodeChar): Implement text display and 6791
6883 fix font metrics semantics. 6792 * java/org/gnu/emacs/EmacsSdk23FontDriver.java: New file.
6793
6794 * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7Typeface)
6795 (Sdk7FontEntity, Sdk7FontObject, checkMatch, hasChar, encodeChar):
6796 Implement text display and fix font metrics semantics.
6884 6797
6885 * java/org/gnu/emacs/EmacsService.java (EmacsService): Remove 6798 * java/org/gnu/emacs/EmacsService.java (EmacsService): Remove
6886 availableChildren. 6799 availableChildren.
6887 (getLibraryDirectory, onCreate): Pass pixel density to Emacs. 6800 (getLibraryDirectory, onCreate): Pass pixel density to Emacs.
6888 (clearArea): Fix arguments. Switch to using the window 6801 (clearArea): Fix arguments. Switch to using the window attachment
6889 attachment manager. 6802 manager.
6803
6890 * java/org/gnu/emacs/EmacsSurfaceView.java (surfaceChanged) 6804 * java/org/gnu/emacs/EmacsSurfaceView.java (surfaceChanged)
6891 (surfaceCreated): Flip buffers on surface attachment. 6805 (surfaceCreated): Flip buffers on surface attachment.
6892 * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers): 6806
6893 New argument FORCE. Always swap if it is true. 6807 * java/org/gnu/emacs/EmacsView.java (swapBuffers): New argument
6808 FORCE. Always swap if it is true.
6894 (onKeyMultiple, onFocusChanged): New functions. 6809 (onKeyMultiple, onFocusChanged): New functions.
6895 6810
6896 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, destroyHandle) 6811 * java/org/gnu/emacs/EmacsWindow.java (destroyHandle, run): Switch
6897 (run): Switch to using the window attachment manager. 6812 to using the window attachment manager.
6898 * java/org/gnu/emacs/EmacsWindowAttachmentManager.java 6813
6899 (EmacsWindowAttachmentManager): New file. 6814 * java/org/gnu/emacs/EmacsWindowAttachmentManager.java: New file.
6900 6815
6901 * lisp/cus-edit.el (custom-button, custom-button-mouse) 6816 * lisp/cus-edit.el (custom-button, custom-button-mouse)
6902 (custom-button-pressed): 6817 (custom-button-pressed):
6818
6903 * lisp/faces.el (tool-bar): Define faces correctly on Android. 6819 * lisp/faces.el (tool-bar): Define faces correctly on Android.
6820
6904 * src/android.c (struct android_emacs_pixmap): Add mutable 6821 * src/android.c (struct android_emacs_pixmap): Add mutable
6905 constructor. 6822 constructor.
6906 (struct android_emacs_drawable): New structure. 6823 (struct android_emacs_drawable): New structure.
@@ -6909,40 +6826,38 @@
6909 (android_select): Set errno to EINTR if pselect fails. 6826 (android_select): Set errno to EINTR if pselect fails.
6910 (android_close): Remove unused debugging code. 6827 (android_close): Remove unused debugging code.
6911 (android_get_home_directory): New function. 6828 (android_get_home_directory): New function.
6912 (Java_org_gnu_emacs_EmacsNative_setEmacsParams): Set pixel 6829 (Java_org_gnu_emacs_EmacsNative_setEmacsParams): Set pixel density
6913 density and compute game path. 6830 and compute game path.
6914 (android_init_emacs_drawable): New function. 6831 (android_init_emacs_drawable): New function.
6915 (Java_org_gnu_emacs_EmacsNative_sendKeyPress): New argument 6832 (Java_org_gnu_emacs_EmacsNative_sendKeyPress): New argument
6916 `unicode_char'. Pass it in events. 6833 `unicode_char'. Pass it in events.
6917 (Java_org_gnu_emacs_EmacsNative_sendKeyRelease): Likewise. 6834 (Java_org_gnu_emacs_EmacsNative_sendKeyRelease): Likewise.
6918 (Java_org_gnu_emacs_EmacsNative_sendFocusIn) 6835 (Java_org_gnu_emacs_EmacsNative_sendFocusIn)
6919 (Java_org_gnu_emacs_EmacsNative_sendFocusOut) 6836 (Java_org_gnu_emacs_EmacsNative_sendFocusOut)
6920 (Java_org_gnu_emacs_EmacsNative_sendWindowAction): New 6837 (Java_org_gnu_emacs_EmacsNative_sendWindowAction): New functions.
6921 functions.
6922 (android_resolve_handle): Export function. 6838 (android_resolve_handle): Export function.
6923 (android_change_gc): Clear clip rects under the right 6839 (android_change_gc): Clear clip rects under the right
6924 circumstances. Set right clip mask field. 6840 circumstances. Set right clip mask field.
6925 (android_create_pixmap_from_bitmap_data): Use correct alpha 6841 (android_create_pixmap_from_bitmap_data): Use correct alpha
6926 channels. 6842 channels.
6927 (android_create_pixmap): Create mutable pixmap and avoid 6843 (android_create_pixmap): Create mutable pixmap and avoid redundant
6928 redundant color array allocation. 6844 color array allocation.
6929 (android_create_bitmap_from_data, android_create_image) 6845 (android_create_bitmap_from_data, android_create_image)
6930 (android_destroy_image, android_put_pixel, android_get_pixel) 6846 (android_destroy_image, android_put_pixel, android_get_pixel)
6931 (android_get_image, android_put_image, faccessat): New 6847 (android_get_image, android_put_image, faccessat): New functions.
6932 functions.
6933 6848
6934 * src/android.h: Update prototypes. 6849 * src/android.h: Update prototypes.
6935 6850
6936 * src/androidfns.c (android_default_font_parameter): Prefer 6851 * src/androidfns.c (android_default_font_parameter): Prefer
6937 monospace to Droid Sans Mono. 6852 monospace to Droid Sans Mono.
6938 * src/androidfont.c (struct android_emacs_font_driver): New 6853
6939 method `draw'. 6854 * src/androidfont.c (struct android_emacs_font_driver): New method
6855 `draw'.
6940 (struct android_emacs_font_spec): New field `dpi'. 6856 (struct android_emacs_font_spec): New field `dpi'.
6941 (struct androidfont_info): Add font metrics cache. 6857 (struct androidfont_info): Add font metrics cache.
6942 (android_init_font_driver, android_init_font_spec): Adjust 6858 (android_init_font_driver, android_init_font_spec): Adjust
6943 accordingly. 6859 accordingly.
6944 (androidfont_from_lisp, androidfont_from_java): Handle new 6860 (androidfont_from_lisp, androidfont_from_java): Handle new fields.
6945 fields.
6946 (androidfont_draw): Implement function. 6861 (androidfont_draw): Implement function.
6947 (androidfont_open_font): Set pixel size correctly. 6862 (androidfont_open_font): Set pixel size correctly.
6948 (androidfont_close_font): Free metrics cache. 6863 (androidfont_close_font): Free metrics cache.
@@ -6952,13 +6867,13 @@
6952 future use. 6867 future use.
6953 (androidfont_list_family): Implement function. 6868 (androidfont_list_family): Implement function.
6954 6869
6955 * src/androidgui.h (enum android_event_type): New focus and 6870 * src/androidgui.h (enum android_event_type): New focus and window
6956 window action events. 6871 action events.
6957 (enum android_modifier_mask): New masks. 6872 (enum android_modifier_mask): New masks.
6958 (struct android_key_event): New field `unicode_char'. 6873 (struct android_key_event): New field `unicode_char'.
6959 (ANDROID_IS_MODIFIER_KEY): Newmacro. 6874 (ANDROID_IS_MODIFIER_KEY): Newmacro.
6960 (struct android_focus_event, struct 6875 (struct android_focus_event, struct android_window_action_event):
6961 android_window_action_event): New structs. 6876 New structs.
6962 (union android_event): Add new fields. 6877 (union android_event): Add new fields.
6963 (enum android_image_format, struct android_image): New enums and 6878 (enum android_image_format, struct android_image): New enums and
6964 structs. 6879 structs.
@@ -6972,26 +6887,27 @@
6972 handling. 6887 handling.
6973 (android_frame_rehighlight): New function. 6888 (android_frame_rehighlight): New function.
6974 (android_frame_raise_lower): Implement accordingly. 6889 (android_frame_raise_lower): Implement accordingly.
6975 (android_make_frame_invisible): Clear highlight_frame if 6890 (android_make_frame_invisible): Clear highlight_frame if required.
6976 required.
6977 (android_free_frame_resources): Clear x_focus_event_frame if 6891 (android_free_frame_resources): Clear x_focus_event_frame if
6978 required. 6892 required.
6979 (android_draw_fringe_bitmap, android_draw_image_foreground) 6893 (android_draw_fringe_bitmap, android_draw_image_foreground)
6980 (android_draw_image_foreground_1) 6894 (android_draw_image_foreground_1)
6981 (android_draw_image_glyph_string): Remove unnecessary code. 6895 (android_draw_image_glyph_string): Remove unnecessary code.
6982 (android_create_terminal, android_term_init): Set the baud rate 6896 (android_create_terminal, android_term_init): Set the baud rate to
6983 to something sensible. 6897 something sensible.
6984 * src/androidterm.h (struct android_bitmap_record): Make 6898
6985 structure the same as on X. 6899 * src/androidterm.h (struct android_bitmap_record): Make structure
6900 the same as on X.
6986 (struct android_display_info): New focus tracking fields. 6901 (struct android_display_info): New focus tracking fields.
6987 (struct android_output): Likewise. 6902 (struct android_output): Likewise.
6903
6988 * src/dispextern.h (struct image): Add ximg and mask_img on 6904 * src/dispextern.h (struct image): Add ximg and mask_img on
6989 Android. 6905 Android.
6990 6906
6991 * src/emacs.c (android_emacs_init): Fix argc sorting iteration. 6907 * src/emacs.c (android_emacs_init): Fix argc sorting iteration.
6992 6908
6993 * src/fileio.c (user_homedir): 6909 * src/fileio.c (user_homedir, get_homedir): Implement correctly on
6994 (get_homedir): Implement correctly on Android. 6910 Android.
6995 6911
6996 * src/font.h (PT_PER_INCH): Define correctly on Android. 6912 * src/font.h (PT_PER_INCH): Define correctly on Android.
6997 6913
@@ -7008,25 +6924,24 @@
7008 (image_destroy_x_image, gui_put_x_image, image_put_x_image) 6924 (image_destroy_x_image, gui_put_x_image, image_put_x_image)
7009 (image_get_x_image, image_unget_x_image) 6925 (image_get_x_image, image_unget_x_image)
7010 (Create_Pixmap_From_Bitmap_Data, image_pixmap_draw_cross) 6926 (Create_Pixmap_From_Bitmap_Data, image_pixmap_draw_cross)
7011 (MaskForeground, image_types, syms_of_image): Implement all of 6927 (MaskForeground, image_types, syms_of_image): Implement all of the
7012 the above on Android in terms of an API very similar to X. 6928 above on Android in terms of an API very similar to X.
7013 6929
7014 * src/keyboard.c (FUNCTION_KEY_OFFSET, lispy_function_keys): 6930 * src/keyboard.c (FUNCTION_KEY_OFFSET, lispy_function_keys):
7015 Define on Android to something sensible. 6931 Define to something sensible under Android.
7016 6932
7017 * src/lread.c (build_load_history): Fix problem. 6933 * src/lread.c (build_load_history): Fix problem.
7018 6934
70192022-12-31 Po Lu <luangruo@yahoo.com> 69352022-12-31 Po Lu <luangruo@yahoo.com>
7020 6936
7021 Merge remote-tracking branch 'origin/master' into feature/android
7022
70232022-12-31 Po Lu <luangruo@yahoo.com>
7024
7025 Bring up the Android operating system and its window system
7026 * .dir-locals.el (c-mode): Add ANDROID_EXPORT noise macro. 6937 * .dir-locals.el (c-mode): Add ANDROID_EXPORT noise macro.
6938
7027 * .gitignore: Add new files to ignore. 6939 * .gitignore: Add new files to ignore.
6940
7028 * Makefile.in: Adjust for Android. 6941 * Makefile.in: Adjust for Android.
6942
7029 * admin/merge-gnulib: Add new warning. 6943 * admin/merge-gnulib: Add new warning.
6944
7030 * configure.ac: Detect Android. Run cross-configuration for 6945 * configure.ac: Detect Android. Run cross-configuration for
7031 Android when appropriate. 6946 Android when appropriate.
7032 6947
@@ -7036,69 +6951,67 @@
7036 * java/Makefile.in: 6951 * java/Makefile.in:
7037 * java/README: 6952 * java/README:
7038 * java/debug.sh: 6953 * java/debug.sh:
7039 * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): 6954 * java/org/gnu/emacs/EmacsActivity.java:
7040 * java/org/gnu/emacs/EmacsApplication.java (EmacsApplication): 6955 * java/org/gnu/emacs/EmacsApplication.java:
7041 * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea): 6956 * java/org/gnu/emacs/EmacsCopyArea.java:
7042 * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine): 6957 * java/org/gnu/emacs/EmacsDrawLine.java:
7043 * java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint): 6958 * java/org/gnu/emacs/EmacsDrawPoint.java:
7044 * java/org/gnu/emacs/EmacsDrawRectangle.java 6959 * java/org/gnu/emacs/EmacsDrawRectangle.java:
7045 (EmacsDrawRectangle): 6960 * java/org/gnu/emacs/EmacsDrawable.java:
7046 * java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable): 6961 * java/org/gnu/emacs/EmacsFillPolygon.java:
7047 * java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon): 6962 * java/org/gnu/emacs/EmacsFillRectangle.java:
7048 * java/org/gnu/emacs/EmacsFillRectangle.java 6963 * java/org/gnu/emacs/EmacsFontDriver.java:
7049 (EmacsFillRectangle): 6964 * java/org/gnu/emacs/EmacsGC.java:
7050 * java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver): 6965 * java/org/gnu/emacs/EmacsHandleObject.java:
7051 * java/org/gnu/emacs/EmacsGC.java (EmacsGC): 6966 * java/org/gnu/emacs/EmacsNative.java:
7052 * java/org/gnu/emacs/EmacsHandleObject.java (EmacsHandleObject): 6967 * java/org/gnu/emacs/EmacsPaintQueue.java:
7053 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): 6968 * java/org/gnu/emacs/EmacsPaintReq.java:
7054 * java/org/gnu/emacs/EmacsPaintQueue.java (EmacsPaintQueue): 6969 * java/org/gnu/emacs/EmacsPixmap.java:
7055 * java/org/gnu/emacs/EmacsPaintReq.java (EmacsPaintReq): 6970 * java/org/gnu/emacs/EmacsSdk7FontDriver.java:
7056 * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): 6971 * java/org/gnu/emacs/EmacsService.java:
7057 * java/org/gnu/emacs/EmacsSdk7FontDriver.java 6972 * java/org/gnu/emacs/EmacsSurfaceView.java:
7058 (EmacsSdk7FontDriver): 6973 * java/org/gnu/emacs/EmacsThread.java:
7059 * java/org/gnu/emacs/EmacsService.java (class Holder<T>) 6974 * java/org/gnu/emacs/EmacsView.java:
7060 (EmacsService): 6975 * java/org/gnu/emacs/EmacsWindow.java: New files and classes.
7061 * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
7062 * java/org/gnu/emacs/EmacsThread.java (EmacsThread):
7063 * java/org/gnu/emacs/EmacsView.java (EmacsView):
7064 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): New files
7065 and classes.
7066 6976
7067 * lib-src/Makefile.in (srcdir): 6977 * lib-src/Makefile.in (srcdir):
7068 * lib/Makefile.in (VPATH): 6978
7069 (HAVE_NATIVE_COMP): 6979 * lib/Makefile.in (VPATH, HAVE_NATIVE_COMP, libgnu_a_SOURCES):
7070 (libgnu_a_SOURCES):
7071 (DEPFLAGS): Configure correctly for cross-compiling. 6980 (DEPFLAGS): Configure correctly for cross-compiling.
7072 6981
7073 * lib/faccessat.c: 6982 * lib/faccessat.c:
6983
7074 * lib/fpending.c (__fpending): 6984 * lib/fpending.c (__fpending):
6985
7075 * lib/open.c: 6986 * lib/open.c:
6987
7076 * lib/unistd.c (_GL_UNISTD_INLINE): Temporary adjustments to 6988 * lib/unistd.c (_GL_UNISTD_INLINE): Temporary adjustments to
7077 gnulib. 6989 Gnulib.
7078 6990
7079 * lisp/frame.el (display-graphic-p): 6991 * lisp/frame.el (display-graphic-p, display-screens)
7080 (display-screens): 6992 (display-pixel-height, display-pixel-width, display-mm-height)
7081 (display-pixel-height): 6993 (display-mm-width, display-backing-store, display-save-under)
7082 (display-pixel-width): 6994 (display-planes, display-color-cells, display-visual-class):
7083 (display-mm-height): 6995 Adjust for new window system `android'.
7084 (display-mm-width):
7085 (display-backing-store):
7086 (display-save-under):
7087 (display-planes):
7088 (display-color-cells):
7089 (display-visual-class): Adjust for new window system `android'.
7090 6996
7091 * lisp/image/wallpaper.el (x-open-connection): Add declaration. 6997 * lisp/image/wallpaper.el (x-open-connection): Add declaration.
7092 * lisp/loadup.el (featurep): Load up files for Android. 6998
6999 * lisp/loadup.el (featurep): Load files for Android.
7000
7093 * lisp/net/eww.el (eww-form-submit, eww-form-file) 7001 * lisp/net/eww.el (eww-form-submit, eww-form-file)
7094 (eww-form-checkbox, eww-form-select): Adjust faces for android. 7002 (eww-form-checkbox, eww-form-select): Adjust faces for android.
7003
7095 * lisp/term/android-win.el: New file. 7004 * lisp/term/android-win.el: New file.
7005
7096 * src/Makefile.in: Add new targets emacs.so and android-emacs, 7006 * src/Makefile.in: Add new targets emacs.so and android-emacs,
7097 then adjust for cross compilation. 7007 then adjust for cross compilation.
7008
7098 * src/alloc.c (cleanup_vector): Clean up Android font entities 7009 * src/alloc.c (cleanup_vector): Clean up Android font entities
7099 as well. 7010 as well.
7100 (garbage_collect): Mark androidterm. 7011 (garbage_collect): Mark androidterm.
7012
7101 * src/android-emacs.c (main): 7013 * src/android-emacs.c (main):
7014
7102 * src/android.c (ANDROID_THROW, enum android_fd_table_entry_flags) 7015 * src/android.c (ANDROID_THROW, enum android_fd_table_entry_flags)
7103 (struct android_emacs_service, struct android_emacs_pixmap) 7016 (struct android_emacs_service, struct android_emacs_pixmap)
7104 (struct android_graphics_point, struct android_event_container) 7017 (struct android_graphics_point, struct android_event_container)
@@ -7123,10 +7036,14 @@
7123 (android_get_gc_values, android_set_foreground) 7036 (android_get_gc_values, android_set_foreground)
7124 (android_fill_rectangle, android_create_pixmap_from_bitmap_data) 7037 (android_fill_rectangle, android_create_pixmap_from_bitmap_data)
7125 (android_set_clip_mask, android_set_fill_style, android_copy_area) 7038 (android_set_clip_mask, android_set_fill_style, android_copy_area)
7126 (android_free_pixmap, android_set_background, android_fill_polygon) 7039 (android_free_pixmap, android_set_background)
7040 (android_fill_polygon)
7127 (android_draw_rectangle, android_draw_point, android_draw_line) 7041 (android_draw_rectangle, android_draw_point, android_draw_line)
7128 (android_create_pixmap, android_set_ts_origin, android_clear_area): 7042 (android_create_pixmap, android_set_ts_origin)
7043 (android_clear_area):
7044
7129 * src/android.h (ANDROID_EXPORT): 7045 * src/android.h (ANDROID_EXPORT):
7046
7130 * src/androidfns.c (android_display_info_for_name) 7047 * src/androidfns.c (android_display_info_for_name)
7131 (check_android_display_info, check_x_display_info, gamma_correct) 7048 (check_android_display_info, check_x_display_info, gamma_correct)
7132 (android_defined_color, android_decode_color) 7049 (android_defined_color, android_decode_color)
@@ -7156,8 +7073,10 @@
7156 (android_set_internal_border_width, android_set_menu_bar_lines) 7073 (android_set_internal_border_width, android_set_menu_bar_lines)
7157 (android_set_mouse_color, android_set_title, android_set_alpha) 7074 (android_set_mouse_color, android_set_title, android_set_alpha)
7158 (android_frame_parm_handlers, syms_of_androidfns): 7075 (android_frame_parm_handlers, syms_of_androidfns):
7076
7159 * src/androidfont.c (struct android_emacs_font_driver) 7077 * src/androidfont.c (struct android_emacs_font_driver)
7160 (struct android_emacs_font_spec, struct android_emacs_font_metrics) 7078 (struct android_emacs_font_spec)
7079 (struct android_emacs_font_metrics)
7161 (struct android_emacs_font_object, struct android_integer) 7080 (struct android_emacs_font_object, struct android_integer)
7162 (struct androidfont_info, struct androidfont_entity) 7081 (struct androidfont_info, struct androidfont_entity)
7163 (android_init_font_driver, android_init_font_spec) 7082 (android_init_font_driver, android_init_font_spec)
@@ -7170,6 +7089,7 @@
7170 (androidfont_list_family, androidfont_driver) 7089 (androidfont_list_family, androidfont_driver)
7171 (syms_of_androidfont_for_pdumper, syms_of_androidfont) 7090 (syms_of_androidfont_for_pdumper, syms_of_androidfont)
7172 (init_androidfont, android_finalize_font_entity): 7091 (init_androidfont, android_finalize_font_entity):
7092
7173 * src/androidgui.h (_ANDROID_GUI_H_, struct android_rectangle) 7093 * src/androidgui.h (_ANDROID_GUI_H_, struct android_rectangle)
7174 (struct android_point, enum android_gc_function) 7094 (struct android_point, enum android_gc_function)
7175 (enum android_gc_value_mask, enum android_fill_style) 7095 (enum android_gc_value_mask, enum android_fill_style)
@@ -7180,6 +7100,7 @@
7180 (NativeRectangle, struct android_any_event) 7100 (NativeRectangle, struct android_any_event)
7181 (struct android_key_event, struct android_configure_event) 7101 (struct android_key_event, struct android_configure_event)
7182 (union android_event): 7102 (union android_event):
7103
7183 * src/androidterm.c (android_window_to_frame, android_clear_frame) 7104 * src/androidterm.c (android_window_to_frame, android_clear_frame)
7184 (android_ring_bell, android_toggle_invisible_pointer) 7105 (android_ring_bell, android_toggle_invisible_pointer)
7185 (android_update_begin, android_update_end, show_back_buffer) 7106 (android_update_begin, android_update_end, show_back_buffer)
@@ -7227,64 +7148,73 @@
7227 (frame_set_mouse_pixel_position, get_keysym_name) 7148 (frame_set_mouse_pixel_position, get_keysym_name)
7228 (android_create_terminal, android_term_init, syms_of_androidterm) 7149 (android_create_terminal, android_term_init, syms_of_androidterm)
7229 (mark_androidterm): 7150 (mark_androidterm):
7230 * src/androidterm.h (_ANDROID_TERM_H_, struct android_display_info) 7151
7152 * src/androidterm.h (_ANDROID_TERM_H_)
7153 (struct android_display_info)
7231 (struct android_output, FRAME_ANDROID_OUTPUT, XSCROLL_BAR): New 7154 (struct android_output, FRAME_ANDROID_OUTPUT, XSCROLL_BAR): New
7232 files. 7155 files.
7156
7233 * src/dired.c (file_attributes): Do not use openat on Android. 7157 * src/dired.c (file_attributes): Do not use openat on Android.
7158
7234 * src/dispextern.h (No_Cursor): Define appropriately on Android. 7159 * src/dispextern.h (No_Cursor): Define appropriately on Android.
7235 (struct glyph_string, struct face): Make gc field of type struct 7160 (struct glyph_string, struct face): Make gc field of type struct
7236 android_gc on Android. 7161 android_gc on Android.
7162
7237 * src/dispnew.c (clear_current_matrices, clear_desired_matrices) 7163 * src/dispnew.c (clear_current_matrices, clear_desired_matrices)
7238 (adjust_frame_glyphs_for_window_redisplay, free_glyphs) 7164 (adjust_frame_glyphs_for_window_redisplay, free_glyphs)
7239 (update_frame, scrolling, char_ins_del_cost, update_frame_line) 7165 (update_frame, scrolling, char_ins_del_cost, update_frame_line)
7240 (init_display_interactive): Disable text terminal support 7166 (init_display_interactive): Disable text terminal support
7241 completely on Android. Fix non-toolkit menus for non-X systems. 7167 completely on Android. Fix non-toolkit menus for non-X systems.
7168
7242 * src/editfns.c (Fuser_full_name): Call android_user_full_name. 7169 * src/editfns.c (Fuser_full_name): Call android_user_full_name.
7170
7243 * src/emacs.c (android_emacs_init): Make main this on Android. 7171 * src/emacs.c (android_emacs_init): Make main this on Android.
7244 Prohibit argv sorting from exceeding end of argv. 7172 Prohibit argv sorting from exceeding end of argv.
7173
7245 * src/epaths.in: Add path definitions for Android. 7174 * src/epaths.in: Add path definitions for Android.
7246 7175
7247 * src/fileio.c (file_access_p): Call android_file_access_p. 7176 * src/fileio.c (file_access_p): Call android_file_access_p.
7248 (file_name_directory): Avoid using openat on Android. 7177 (file_name_directory): Avoid using openat on Android.
7249 (Fcopy_file): Adjust to call sys_fstat instead. 7178 (Fcopy_file): Adjust to call sys_fstat instead.
7250 (file_directory_p): 7179 (file_directory_p, Finsert_file_contents, write_region): Likewise.
7251 (Finsert_file_contents): 7180
7252 (write_region): Likewise.
7253 * src/filelock.c: 7181 * src/filelock.c:
7182
7254 * src/fns.c (Flocale_info): Pacify warning on Android. 7183 * src/fns.c (Flocale_info): Pacify warning on Android.
7184
7255 * src/font.c (font_make_entity_android): New function. 7185 * src/font.c (font_make_entity_android): New function.
7186
7256 * src/font.h: 7187 * src/font.h:
7257 * src/frame.c (Fframep): 7188
7258 (Fwindow_system): Handle new window system `android'. Update doc strings. 7189 * src/frame.c (Fframep, Fwindow_system): Handle new window system
7190 `android'. Update doc strings.
7259 (Fmake_terminal_frame): Disable on Android. 7191 (Fmake_terminal_frame): Disable on Android.
7260 (gui_display_get_resource): Disable get_string_resource_hook on Android. 7192 (gui_display_get_resource): Disable get_string_resource_hook on
7193 Android.
7261 (syms_of_frame): New defsym `android'. 7194 (syms_of_frame): New defsym `android'.
7262 7195
7263 * src/frame.h (GCALIGNED_STRUCT): Add new output data for 7196 * src/frame.h (GCALIGNED_STRUCT): Add new output data for Android.
7264 Android.
7265 (ENUM_BF): Expand enumerator size. 7197 (ENUM_BF): Expand enumerator size.
7266 (FRAME_ANDROID_P, FRAME_WINDOW_P, MOUSE_HL_INFO): Add 7198 (FRAME_ANDROID_P, FRAME_WINDOW_P, MOUSE_HL_INFO): Add definitions
7267 definitions for Android. 7199 for Android.
7268 7200
7269 * src/image.c (GET_PIXEL): 7201 * src/image.c (GET_PIXEL, image_create_bitmap_from_file)
7270 (image_create_bitmap_from_file): 7202 (image_create_x_image_and_pixmap_1, image_get_x_image, slurp_file)
7271 (image_create_x_image_and_pixmap_1): 7203 (lookup_rgb_color, image_to_emacs_colors, image_from_emacs_colors)
7272 (image_get_x_image): 7204 (image_pixmap_draw_cross, image_disable_image, MaskForeground)
7273 (slurp_file):
7274 (lookup_rgb_color):
7275 (image_to_emacs_colors):
7276 (image_from_emacs_colors):
7277 (image_pixmap_draw_cross):
7278 (image_disable_image):
7279 (MaskForeground):
7280 (gif_load): Add stubs for Android. 7205 (gif_load): Add stubs for Android.
7281 7206
7282 * src/lisp.h: 7207 * src/lisp.h:
7208
7283 * src/lread.c (safe_to_load_version, maybe_swap_for_eln1, openp): 7209 * src/lread.c (safe_to_load_version, maybe_swap_for_eln1, openp):
7210
7284 * src/pdumper.c (pdumper_load): Call sys_fstat instead of fstat. 7211 * src/pdumper.c (pdumper_load): Call sys_fstat instead of fstat.
7285 * src/process.c (wait_reading_process_output): Use 7212
7286 android_select instead of pselect. 7213 * src/process.c (wait_reading_process_output): Use android_select
7214 instead of pselect.
7215
7287 * src/scroll.c: Disable on Android. 7216 * src/scroll.c: Disable on Android.
7217
7288 * src/sysdep.c (widen_foreground_group, reset_sys_modes) 7218 * src/sysdep.c (widen_foreground_group, reset_sys_modes)
7289 (init_signals, emacs_fstatat, sys_fstat): New function. 7219 (init_signals, emacs_fstatat, sys_fstat): New function.
7290 (emacs_open, emacs_open_noquit, emacs_close): Implement 7220 (emacs_open, emacs_open_noquit, emacs_close): Implement
@@ -7298,29 +7228,29 @@
7298 (maybe_fatal, syms_of_term): Disable text terminal support on 7228 (maybe_fatal, syms_of_term): Disable text terminal support on
7299 Android. 7229 Android.
7300 7230
7301 * src/termhooks.h (enum output_method): Add android output 7231 * src/termhooks.h (enum output_method): Add android output method.
7302 method.
7303 (GCALIGNED_STRUCT, TERMINAL_FONT_CACHE): Define for Android. 7232 (GCALIGNED_STRUCT, TERMINAL_FONT_CACHE): Define for Android.
7304 7233
7305 * src/terminal.c (Fterminal_live_p): Implement for Android. 7234 * src/terminal.c (Fterminal_live_p): Implement for Android.
7306 7235
7307 * src/verbose.mk.in (AM_V_GLOBALS): Add JAVAC and DX. 7236 * src/verbose.mk.in (AM_V_GLOBALS): Add JAVAC and DX.
7308 * src/xdisp.c (redisplay_internal): Disable text terminals on Android. 7237 * src/xdisp.c (redisplay_internal): Disable text terminals on
7309 (display_menu_bar): 7238 Android.
7310 (display_tty_menu_item): 7239 (display_menu_bar, display_tty_menu_item)
7311 (draw_row_with_mouse_face): 7240 (draw_row_with_mouse_face, expose_frame): Make the non toolkit
7312 (expose_frame): Make the non toolkit menu bar work on Android. 7241 menu bar work on Android.
7313 7242
7314 * src/xfaces.c (GCGraphicsExposures): 7243 * src/xfaces.c (GCGraphicsExposures, x_create_gc, x_free_gc)
7315 (x_create_gc):
7316 (x_free_gc):
7317 (Fx_load_color_file): Define for Android. 7244 (Fx_load_color_file): Define for Android.
7318 7245
7319 * xcompile/Makefile.in (top_srcdir): 7246 * xcompile/Makefile.in:
7320 (top_builddir):
7321 * xcompile/README: 7247 * xcompile/README:
7322 * xcompile/langinfo.h (nl_langinfo): New files. 7248 * xcompile/langinfo.h (nl_langinfo): New files.
7323 7249
72502022-12-29 Po Lu <luangruo@yahoo.com>
7251
7252 Development of the Android port starts...
7253
7324This ChangeLog only chronicles changes constituting the initial 7254This ChangeLog only chronicles changes constituting the initial
7325development of the Android port. Refer to other ChangeLog files for a 7255development of the Android port. Refer to other ChangeLog files for a
7326narrative of unrelated modifications made to Emacs during that time, 7256narrative of unrelated modifications made to Emacs during that time,