aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2023-08-14 21:39:02 +0800
committerPo Lu2023-08-14 21:39:02 +0800
commitd5afc8d935e88d0b4ad5a22f6f002222955cad26 (patch)
treec8fc083a2f4c05df9f4a0503d0250bf6c01e36a5
parentcca14e0253c0b93ad65ffe1e212bf2a21b26020f (diff)
downloademacs-d5afc8d935e88d0b4ad5a22f6f002222955cad26.tar.gz
emacs-d5afc8d935e88d0b4ad5a22f6f002222955cad26.zip
; * ChangeLog.android: Clean up entries after the 11th of March.
-rw-r--r--ChangeLog.android1143
1 files changed, 393 insertions, 750 deletions
diff --git a/ChangeLog.android b/ChangeLog.android
index 04622fedab0..8dd13eafa03 100644
--- a/ChangeLog.android
+++ b/ChangeLog.android
@@ -1310,100 +1310,69 @@
1310 1310
13112023-06-23 Po Lu <luangruo@yahoo.com> 13112023-06-23 Po Lu <luangruo@yahoo.com>
1312 1312
1313 Update Android port
1314 * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): 1313 * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
1315 * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity): 1314 * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity):
1316 (hasChar): Clean up dead stores. 1315 (hasChar): Clean up dead stores.
1317 1316
1318 * src/android.c (android_wc_lookup_string): Fix typo. 1317 * src/android.c (android_wc_lookup_string): Fix typo.
1319 1318 (android_wc_lookup_string): Check that GetStringChars returns
1320 Correctly check result of string lookup 1319 non-NULL, not if it throws an exception.
1321 * src/android.c (android_wc_lookup_string): Check that
1322 GetStringChars returns non-NULL, not if it throws an exception.
1323
1324 Merge remote-tracking branch 'origin/master' into feature/android
1325
13262023-06-22 Po Lu <luangruo@yahoo.com>
1327
1328 Merge remote-tracking branch 'origin/master' into feature/android
1329 1320
13302023-06-21 Po Lu <luangruo@yahoo.com> 13212023-06-21 Po Lu <luangruo@yahoo.com>
1331 1322
1332 Update Android port 1323 * src/androidfns.c (android_set_tool_bar_position)
1333 * src/androidfns.c (android_set_tool_bar_position):
1334 (frame_geometry): 1324 (frame_geometry):
1335 * src/androidterm.c (android_flash): 1325 * src/androidterm.c (android_flash)
1336 (android_clear_under_internal_border): Synchronize with X. 1326 (android_clear_under_internal_border): Synchronize with X.
1337 1327
1338 Merge remote-tracking branch 'origin/master' into feature/android
1339
1340 Merge remote-tracking branch 'origin/master' into feature/android
1341
13422023-06-20 Po Lu <luangruo@yahoo.com> 13282023-06-20 Po Lu <luangruo@yahoo.com>
1343 1329
1344 * src/androidfns.c (android_frame_parm_handlers): Fix typo. 1330 * src/androidfns.c (android_frame_parm_handlers): Fix typo.
1345 1331 (android_set_tool_bar_position): New function.
1346 Synchronize tool bar position code with X
1347 * src/androidfns.c (android_set_tool_bar_position): New
1348 function.
1349 (android_frame_parm_handlers): Add new frame param handler. 1332 (android_frame_parm_handlers): Add new frame param handler.
1350 1333
1351 Merge remote-tracking branch 'origin/master' into feature/android
1352
13532023-06-19 Po Lu <luangruo@yahoo.com> 13342023-06-19 Po Lu <luangruo@yahoo.com>
1354 1335
1355 * lib-src/Makefile.in (seccomp-filter$(EXEEXT)): Link with Gnulib. 1336 * lib-src/Makefile.in (seccomp-filter$(EXEEXT)): Link with Gnulib.
1356 1337
1357 Update Android port
1358 * java/org/gnu/emacs/EmacsView.java (EmacsView, dimensionsLock): 1338 * java/org/gnu/emacs/EmacsView.java (EmacsView, dimensionsLock):
1359 New field. 1339 New field.
1360 (<init>): Create new lock object. 1340 (<init>): Create new lock object.
1361 (handleDirtyBitmap, onLayout, onAttachedToWindow): Make sure 1341 (handleDirtyBitmap, onLayout, onAttachedToWindow): Make sure
1362 measuredWidth and measuredHeight are extracted and set 1342 measuredWidth and measuredHeight are extracted and set atomically.
1363 atomically. Send Expose upon layout changes if the view has 1343 Send Expose upon layout changes if the view has grown.
1364 grown.
1365 1344
1366 * exec/Makefile.in (clean): Add `exec1'. 1345 * exec/Makefile.in (clean): Add `exec1'.
1367 1346
1368 Merge remote-tracking branch 'origin/master' into feature/android
1369
13702023-06-18 Po Lu <luangruo@yahoo.com> 13472023-06-18 Po Lu <luangruo@yahoo.com>
1371 1348
1372 Update Android port 1349 * src/window.h (struct window): Improve documentation of
1373 * src/window.h (GCALIGNED_STRUCT): Improve documentation of
1374 `last_mark'. 1350 `last_mark'.
1351
1375 * src/xdisp.c (mark_window_display_accurate_1): Don't set 1352 * src/xdisp.c (mark_window_display_accurate_1): Don't set
1376 `last_mark' to -1 if the mark is inactive. 1353 `last_mark' to -1 if the mark is inactive.
1377 1354
1378 Enable text conversion in conf-modes
1379 * lisp/textmodes/conf-mode.el (conf-mode-initialize): Set 1355 * lisp/textmodes/conf-mode.el (conf-mode-initialize): Set
1380 text-conversion-style. 1356 text-conversion-style.
1381 1357
1382 Merge remote-tracking branch 'origin/master' into feature/android
1383
13842023-06-17 Po Lu <luangruo@yahoo.com> 13582023-06-17 Po Lu <luangruo@yahoo.com>
1385 1359
1386 Merge remote-tracking branch 'origin/master' into feature/android
1387
1388 Initialize signal mask earlier
1389 * java/org/gnu/emacs/EmacsService.java (onCreate, run): Don't 1360 * java/org/gnu/emacs/EmacsService.java (onCreate, run): Don't
1390 initialize signal mask here. 1361 initialize signal mask here.
1362
1391 * java/org/gnu/emacs/EmacsApplication.java (onCreate): Do it 1363 * java/org/gnu/emacs/EmacsApplication.java (onCreate): Do it
1392 here instead. 1364 here instead.
1365
1393 * src/android.c (JNICALL): Restore previous signal masks. 1366 * src/android.c (JNICALL): Restore previous signal masks.
1394 1367
1395 * java/README: More documentation. 1368 * java/README: More documentation.
1396 1369
1397 Merge remote-tracking branch 'origin/master' into feature/android
1398
13992023-06-16 Po Lu <luangruo@yahoo.com> 13702023-06-16 Po Lu <luangruo@yahoo.com>
1400 1371
1401 Fix quitting after changes to signal delivery
1402 * src/android.c (android_write_event, JNICALL) 1372 * src/android.c (android_write_event, JNICALL)
1403 (android_run_in_emacs_thread): Don't rely on raise to call 1373 (android_run_in_emacs_thread): Don't rely on raise to call
1404 deliver_process_signal. 1374 deliver_process_signal.
1405 1375
1406 Update Android port
1407 * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): 1376 * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
1408 * java/org/gnu/emacs/EmacsApplication.java (findDumpFile): 1377 * java/org/gnu/emacs/EmacsApplication.java (findDumpFile):
1409 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu) 1378 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
@@ -1423,201 +1392,184 @@
1423 (EmacsWindowAttachmentManager): Remove various unused arguments 1392 (EmacsWindowAttachmentManager): Remove various unused arguments
1424 and variables, dead stores, and make minor cleanups and 1393 and variables, dead stores, and make minor cleanups and
1425 performance improvements. 1394 performance improvements.
1395
1426 * src/androidmenu.c (FIND_METHOD_STATIC, android_menu_show): 1396 * src/androidmenu.c (FIND_METHOD_STATIC, android_menu_show):
1427 Adjust accordingly. 1397 Adjust accordingly.
1428 1398
1429 Merge remote-tracking branch 'origin/master' into feature/android
1430
14312023-06-15 Po Lu <luangruo@yahoo.com> 13992023-06-15 Po Lu <luangruo@yahoo.com>
1432 1400
1433 Update Android port
1434 * java/org/gnu/emacs/EmacsInputConnection.java 1401 * java/org/gnu/emacs/EmacsInputConnection.java
1435 (EmacsInputConnection, beginBatchEdit, reset, endBatchEdit): 1402 (EmacsInputConnection, beginBatchEdit, reset, endBatchEdit): Keep
1436 Keep track of the number of batch edits and return an 1403 track of the number of batch edits and return an appropriate
1437 appropriate value. 1404 value.
1438 (takeSnapshot): Implement function. 1405 (takeSnapshot): Implement function.
1406
1439 * java/org/gnu/emacs/EmacsNative.java (takeSnapshot): New 1407 * java/org/gnu/emacs/EmacsNative.java (takeSnapshot): New
1440 function. 1408 function.
1409
1441 * java/org/gnu/emacs/EmacsService.java (resetIC): Improve 1410 * java/org/gnu/emacs/EmacsService.java (resetIC): Improve
1442 debugging output. 1411 debugging output.
1412
1443 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): 1413 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
1444 Call `reset' to clear the UI side batch edit count. 1414 Call `reset' to clear the UI side batch edit count.
1445 * src/androidterm.c (struct 1415
1446 android_get_surrounding_text_context): New fields 1416 * src/androidterm.c (struct android_get_surrounding_text_context):
1447 `conversion_start' and `conversion_end'. 1417 New fields `conversion_start' and `conversion_end'.
1448 (android_get_surrounding_text): Return the conversion region. 1418 (android_get_surrounding_text): Return the conversion region.
1449 (android_get_surrounding_text_internal, NATIVE_NAME): Factor out 1419 (android_get_surrounding_text_internal, NATIVE_NAME): Factor out
1450 `getSurroundingText'. 1420 `getSurroundingText'.
1451 (takeSnapshot): New function. 1421 (takeSnapshot): New function.
1452 1422
1453 Merge remote-tracking branch 'origin/master' into feature/android
1454
14552023-06-14 Po Lu <luangruo@yahoo.com> 14232023-06-14 Po Lu <luangruo@yahoo.com>
1456 1424
1457 Improve IM synchronization on Android
1458 * java/org/gnu/emacs/EmacsInputConnection.java 1425 * java/org/gnu/emacs/EmacsInputConnection.java
1459 (EmacsInputConnection): Reimplement as an InputConnection, not 1426 (EmacsInputConnection): Reimplement as an InputConnection, not
1460 BaseInputConnection. 1427 BaseInputConnection.
1428
1461 * src/androidterm.c (performEditorAction): Sync prior to sending 1429 * src/androidterm.c (performEditorAction): Sync prior to sending
1462 keyboard events. 1430 keyboard events.
1463 1431
1464 Merge remote-tracking branch 'origin/master' into feature/android
1465
14662023-06-13 Po Lu <luangruo@yahoo.com> 14322023-06-13 Po Lu <luangruo@yahoo.com>
1467 1433
1468 Improve behavior of Gnus on Android
1469 * etc/NEWS: Fix typo. 1434 * etc/NEWS: Fix typo.
1435
1470 * lisp/gnus/gnus-score.el (gnus-read-char): New function. 1436 * lisp/gnus/gnus-score.el (gnus-read-char): New function.
1471 (gnus-summary-increase-score): Use it to display a dialog box on 1437 (gnus-summary-increase-score): Use it to display a dialog box on
1472 Android, where input methods have trouble with plain old 1438 Android, where input methods have trouble with plain old
1473 read-char. 1439 read-char.
1474 1440
1475 Merge remote-tracking branch 'origin/master' into feature/android
1476
14772023-06-12 Po Lu <luangruo@yahoo.com> 14412023-06-12 Po Lu <luangruo@yahoo.com>
1478 1442
1479 Improve appearance of custom dialog buttons on Android
1480 * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Resolve 1443 * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Resolve
1481 dialog button style and use it instead. 1444 dialog button style and use it instead.
1482 1445
1483 Fix deadlocks
1484 * java/org/gnu/emacs/EmacsView.java (EmacsView) 1446 * java/org/gnu/emacs/EmacsView.java (EmacsView)
1485 (showOnScreenKeyboard, hideOnScreenKeyboard): Don't synchronize. 1447 (showOnScreenKeyboard, hideOnScreenKeyboard): Don't synchronize.
1448
1486 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow) 1449 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
1487 (toggleOnScreenKeyboard): Revert to calling IMM functions from 1450 (toggleOnScreenKeyboard): Revert to calling IMM functions from the
1488 the main thread. 1451 main thread.
1452
1489 * src/android.c (struct android_event_container) 1453 * src/android.c (struct android_event_container)
1490 (android_pselect_nfds, android_pselect_readfds) 1454 (android_pselect_nfds, android_pselect_readfds)
1491 (android_pselect_writefds, android_pselect_exceptfds) 1455 (android_pselect_writefds, android_pselect_exceptfds)
1492 (android_pselect_timeout): Don't make volatile. 1456 (android_pselect_timeout): Don't make volatile.
1493 (android_wait_event): Run queries if necessary. 1457 (android_wait_event): Run queries if necessary.
1494 1458
1495 Merge remote-tracking branch 'origin/master' into feature/android
1496
14972023-06-11 Po Lu <luangruo@yahoo.com> 14592023-06-11 Po Lu <luangruo@yahoo.com>
1498 1460
1499 Update Android port
1500 * lisp/net/tramp.el (tramp-encoding-shell): 1461 * lisp/net/tramp.el (tramp-encoding-shell):
1501 * lisp/obsolete/terminal.el (terminal-emulator): 1462 * lisp/obsolete/terminal.el (terminal-emulator):
1502 * lisp/term.el (term-exec-1): 1463 * lisp/term.el (term-exec-1):
1503 * lisp/textmodes/artist.el (artist-figlet-get-font-list): 1464 * lisp/textmodes/artist.el (artist-figlet-get-font-list):
1504 * src/android.c (JNICALL): Where /bin/sh was previously used, 1465 * src/android.c (JNICALL): Where /bin/sh was previously used, use
1505 use /system/bin/sh on Android. 1466 /system/bin/sh on Android.
1506 1467
1507 Update Android port
1508 * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView): 1468 * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
1509 Document member variables. 1469 Document member variables.
1510 (onDraw): Use separate Paint object on the UI thread. 1470 (onDraw): Use separate Paint object on the UI thread.
1471
1511 * src/textconv.c (really_commit_text, really_set_composing_text) 1472 * src/textconv.c (really_commit_text, really_set_composing_text)
1512 (really_delete_surrounding_text): Run modification hooks when 1473 (really_delete_surrounding_text): Run modification hooks when
1513 deleting text. 1474 deleting text.
1514 1475
1515 Avoid extraneous calls to the UI thread
1516 * java/org/gnu/emacs/EmacsView.java (EmacsView) 1476 * java/org/gnu/emacs/EmacsView.java (EmacsView)
1517 (showOnScreenKeyboard, hideOnScreenKeyboard) 1477 (showOnScreenKeyboard, hideOnScreenKeyboard)
1518 (onCheckIsTextEditor): Make synchronized. 1478 (onCheckIsTextEditor): Make synchronized.
1479
1519 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow) 1480 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
1520 (toggleOnScreenKeyboard): Don't post to the main thread. 1481 (toggleOnScreenKeyboard): Don't post to the main thread.
1521 1482
1522 Merge remote-tracking branch 'origin/master' into feature/android
1523
15242023-06-10 Po Lu <luangruo@yahoo.com> 14832023-06-10 Po Lu <luangruo@yahoo.com>
1525 1484
1526 ; Update Android port
1527 * src/keyboard.c (handle_input_available_signal): Don't generate 1485 * src/keyboard.c (handle_input_available_signal): Don't generate
1528 instructions not available in arm mode. 1486 instructions not available in arm mode.
1529 1487
1530 Update Android port
1531 * src/android.c (android_select, android_check_query) 1488 * src/android.c (android_select, android_check_query)
1532 (android_check_query_urgent, android_answer_query) 1489 (android_check_query_urgent, android_answer_query)
1533 (android_answer_query_spin, android_begin_query, android_end_query) 1490 (android_answer_query_spin, android_begin_query)
1491 (android_end_query)
1534 (android_run_in_emacs_thread): Use finer grained memory 1492 (android_run_in_emacs_thread): Use finer grained memory
1535 synchronization semantics. 1493 synchronization semantics.
1494
1536 * src/androidterm.c (android_get_selection): Use the current 1495 * src/androidterm.c (android_get_selection): Use the current
1537 selection, not its value at the time of the last redisplay. 1496 selection, not its value at the time of the last redisplay.
1497
1538 * src/keyboard.c (handle_input_available_signal): Place memory 1498 * src/keyboard.c (handle_input_available_signal): Place memory
1539 barrier. 1499 barrier.
1540 1500
1541 Inherit surrounding text properties when inserting conversion text
1542 * src/textconv.c (really_commit_text) 1501 * src/textconv.c (really_commit_text)
1543 (really_set_composing_text): Improve behavior of certain 1502 (really_set_composing_text): Improve behavior of certain
1544 fontification mechanisms by inheriting text properties from 1503 fontification mechanisms by inheriting text properties from
1545 surrounding text. 1504 surrounding text.
1546 1505
1547 Merge remote-tracking branch 'origin/master' into feature/android
1548
1549 Prevent hangs from IM requests with the main thread busy
1550 * src/android.c (android_select): Clear `android_urgent_query'. 1506 * src/android.c (android_select): Clear `android_urgent_query'.
1551 (android_check_query): Make static. Clear 1507 (android_check_query): Make static. Clear `android_urgent_query'.
1552 `android_urgent_query'.
1553 (android_check_query_urgent): New function; work like 1508 (android_check_query_urgent): New function; work like
1554 `android_check_query', but only answer urgent queries. 1509 `android_check_query', but only answer urgent queries.
1555 (android_answer_query, android_end_query): Clear urgent query 1510 (android_answer_query, android_end_query): Clear urgent query
1556 flag. 1511 flag.
1557 (android_run_in_emacs_thread): Initially wait two seconds for 1512 (android_run_in_emacs_thread): Initially wait two seconds for the
1558 the query to run from the keyboard loop; upon a timeout, set 1513 query to run from the keyboard loop; upon a timeout, set
1559 `android_urgent_query' to true and wait for it to run while 1514 `android_urgent_query' to true and wait for it to run while
1560 reading async input. 1515 reading async input.
1516
1561 * src/android.h: Update prototypes. 1517 * src/android.h: Update prototypes.
1518
1562 * src/keyboard.c (handle_async_input): Call 1519 * src/keyboard.c (handle_async_input): Call
1563 `android_check_query_urgent'. 1520 `android_check_query_urgent'.
1564 1521
15652023-06-09 Po Lu <luangruo@yahoo.com> 15222023-06-09 Po Lu <luangruo@yahoo.com>
1566 1523
1567 ; Fix typos 1524 * src/textconv.c (really_commit_text)
1568 * src/textconv.c (really_commit_text):
1569 (handle_pending_conversion_events): Fix minor typos. 1525 (handle_pending_conversion_events): Fix minor typos.
1570 1526
1571 Avoid responding to input method queries asynchronously
1572 * src/androidterm.c (handle_one_android_event): Don't answer 1527 * src/androidterm.c (handle_one_android_event): Don't answer
1573 queries here; just rely on the event interrupting 1528 queries here; just rely on the event interrupting android_select.
1574 android_select. This avoids exposing buffer contents to input 1529 This avoids exposing buffer contents to input methods while a
1575 methods while a command is being executed. 1530 command is being executed.
1531
1576 * src/textconv.c (TEXTCONV_DEBUG, really_commit_text) 1532 * src/textconv.c (TEXTCONV_DEBUG, really_commit_text)
1577 (really_finish_composing_text, really_set_composing_text) 1533 (really_finish_composing_text, really_set_composing_text)
1578 (really_set_composing_region, really_delete_surrounding_text) 1534 (really_set_composing_region, really_delete_surrounding_text)
1579 (really_set_point_and_mark, get_extracted_text): Add debugging 1535 (really_set_point_and_mark, get_extracted_text): Add debugging
1580 printouts. 1536 printouts.
1581 1537
1582 Initialize text conversion hooks for each C Mode buffer
1583 * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Always add 1538 * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Always add
1584 text conversion hooks. 1539 text conversion hooks.
1585 1540
1586 * src/android.c (android_get_gc_values): Remove redundancy. 1541 * src/android.c (android_get_gc_values): Remove redundancy.
1587 1542
1588 Block profiling signals in the Android UI thread
1589 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New 1543 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
1590 function `setupSystemThread'. 1544 function `setupSystemThread'.
1545
1591 * java/org/gnu/emacs/EmacsService.java (onCreate): Block all 1546 * java/org/gnu/emacs/EmacsService.java (onCreate): Block all
1592 signals except for SIGBUS and SIGSEGV in the UI thread. 1547 signals except for SIGBUS and SIGSEGV in the UI thread.
1548
1593 * src/android.c (setupSystemThread): New function. 1549 * src/android.c (setupSystemThread): New function.
1594 1550
1595 Fix crash starting Emacs to open file
1596 * java/org/gnu/emacs/EmacsThread.java (run): Correct check 1551 * java/org/gnu/emacs/EmacsThread.java (run): Correct check
1597 against extraStartupArgument when an initial file is specified. 1552 against extraStartupArgument when an initial file is specified.
1598 1553
1599 Merge remote-tracking branch 'origin/master' into feature/android
1600
16012023-06-08 Po Lu <luangruo@yahoo.com> 15542023-06-08 Po Lu <luangruo@yahoo.com>
1602 1555
1603 Merge remote-tracking branch 'origin/master' into feature/android
1604
1605 Correctly display popup dialogs from Emacsclient
1606 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu): 1556 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
1607 Make subclasses final. 1557 Make subclasses final.
1558
1608 * java/org/gnu/emacs/EmacsDialog.java (display1): Check if an 1559 * java/org/gnu/emacs/EmacsDialog.java (display1): Check if an
1609 instance of EmacsOpenActivity is open; if it is, try using it to 1560 instance of EmacsOpenActivity is open; if it is, try using it to
1610 display the pop up dialog. 1561 display the pop up dialog.
1562
1611 * java/org/gnu/emacs/EmacsDialogButtonLayout.java 1563 * java/org/gnu/emacs/EmacsDialogButtonLayout.java
1612 (EmacsDialogButtonLayout): Make final. 1564 (EmacsDialogButtonLayout): Make final.
1613 * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>): 1565
1614 Likewise. 1566 * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>): Likewise.
1567
1615 * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity): 1568 * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity):
1616 New field `currentActivity'. 1569 New field `currentActivity'.
1617 (onCreate, onDestroy, onWindowFocusChanged, onPause): Set that 1570 (onCreate, onDestroy, onWindowFocusChanged, onPause): Set that
1618 field as appropriate. 1571 field as appropriate.
1619 1572
1620 Update Android port
1621 * src/android.c (android_is_special_directory): New function. 1573 * src/android.c (android_is_special_directory): New function.
1622 (android_get_asset_name, android_content_name_p) 1574 (android_get_asset_name, android_content_name_p)
1623 (android_get_content_name): 1575 (android_get_content_name):
@@ -1628,64 +1580,59 @@
1628 * src/inotify.c (IN_ONLYDIR, Finotify_add_watch): Factor out 1580 * src/inotify.c (IN_ONLYDIR, Finotify_add_watch): Factor out
1629 checks against asset and content directories to that function. 1581 checks against asset and content directories to that function.
1630 1582
1631 ; Update from Gnulib
1632
1633 Merge remote-tracking branch 'origin/master' into feature/android
1634
16352023-06-07 Po Lu <luangruo@yahoo.com> 15832023-06-07 Po Lu <luangruo@yahoo.com>
1636 1584
1637 ; Update Android port 1585 * doc/emacs/android.texi (Android Startup): Fix reference to non
1638 * doc/emacs/android.texi (Android Startup): Fix reference to 1586 existent node.
1639 non existent node.
1640 1587
1641 Update Android port
1642 * java/org/gnu/emacs/EmacsInputConnection.java (beginBatchEdit) 1588 * java/org/gnu/emacs/EmacsInputConnection.java (beginBatchEdit)
1643 (endBatchEdit, commitCompletion, commitText, deleteSurroundingText) 1589 (endBatchEdit, commitCompletion, commitText)
1590 (deleteSurroundingText)
1644 (finishComposingText, getSelectedText, getTextAfterCursor) 1591 (finishComposingText, getSelectedText, getTextAfterCursor)
1645 (getTextBeforeCursor, setComposingText, setComposingRegion) 1592 (getTextBeforeCursor, setComposingText, setComposingRegion)
1646 (performEditorAction, performContextMenuAction, getExtractedText) 1593 (performEditorAction, performContextMenuAction, getExtractedText)
1647 (setSelection, sendKeyEvent, deleteSurroundingTextInCodePoints) 1594 (setSelection, sendKeyEvent, deleteSurroundingTextInCodePoints)
1648 (requestCursorUpdates): Ensure that the input connection is up 1595 (requestCursorUpdates): Ensure that the input connection is up to
1649 to date. 1596 date.
1650 (getSurroundingText): New function. 1597 (getSurroundingText): New function.
1651 * java/org/gnu/emacs/EmacsNative.java (getSurroundingText): 1598
1652 Export new C function. 1599 * java/org/gnu/emacs/EmacsNative.java (getSurroundingText): Export
1600 new C function.
1601
1653 * java/org/gnu/emacs/EmacsService.java (resetIC): Invalidate 1602 * java/org/gnu/emacs/EmacsService.java (resetIC): Invalidate
1654 previously created input connections. 1603 previously created input connections.
1604
1655 * java/org/gnu/emacs/EmacsView.java (EmacsView) 1605 * java/org/gnu/emacs/EmacsView.java (EmacsView)
1656 (onCreateInputConnection): Signify that input connections are 1606 (onCreateInputConnection): Signify that input connections are
1657 now up to date. 1607 now up to date.
1658 * src/androidterm.c (struct 1608
1659 android_get_surrounding_text_context): New structure. 1609 * src/androidterm.c (struct android_get_surrounding_text_context):
1610 New structure.
1660 (android_get_surrounding_text, NATIVE_NAME): 1611 (android_get_surrounding_text, NATIVE_NAME):
1661 * src/textconv.c (get_surrounding_text): 1612 * src/textconv.c (get_surrounding_text):
1662 * src/textconv.h: New functions. 1613 * src/textconv.h: New functions.
1663 1614
1664 Merge remote-tracking branch 'origin/master' into feature/android
1665
16662023-06-06 Po Lu <luangruo@yahoo.com> 16152023-06-06 Po Lu <luangruo@yahoo.com>
1667 1616
1668 * lisp/simple.el (analyze-text-conversion): Remove old workaround. 1617 * lisp/simple.el (analyze-text-conversion): Remove old workaround.
1669 1618
1670 Merge remote-tracking branch 'origin/master' into feature/android
1671
1672 Merge remote-tracking branch 'origin/master' into feature/android
1673
16742023-06-06 Po Lu <luangruo@yahoo.com> 16192023-06-06 Po Lu <luangruo@yahoo.com>
1675 1620
1676 Update Android port
1677 * java/org/gnu/emacs/EmacsContextMenu.java (display): Use 1621 * java/org/gnu/emacs/EmacsContextMenu.java (display): Use
1678 `EmacsHolder' instead of `Holder'. 1622 `EmacsHolder' instead of `Holder'.
1623
1679 * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Use 1624 * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Use
1680 `EmacsDialogButtonLayout' to ensure that buttons are wrapped 1625 `EmacsDialogButtonLayout' to ensure that buttons are wrapped
1681 properly. 1626 properly.
1682 (display): Adjust for new holder class. 1627 (display): Adjust for new holder class.
1628
1683 * java/org/gnu/emacs/EmacsDialogButtonLayout.java 1629 * java/org/gnu/emacs/EmacsDialogButtonLayout.java
1684 (EmacsDialogButtonLayout, onMeasure, onLayout): New functions. 1630 (EmacsDialogButtonLayout, onMeasure, onLayout): New functions.
1685 1631
1686 * java/org/gnu/emacs/EmacsDrawLine.java: 1632 * java/org/gnu/emacs/EmacsDrawLine.java:
1687 * java/org/gnu/emacs/EmacsFillPolygon.java: Remove redundant 1633 * java/org/gnu/emacs/EmacsFillPolygon.java: Remove redundant
1688 imports. 1634 imports.
1635
1689 * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>): 1636 * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>):
1690 * java/org/gnu/emacs/EmacsService.java (class Holder<T>) 1637 * java/org/gnu/emacs/EmacsService.java (class Holder<T>)
1691 (getEmacsView, EmacsService): Rename `Holder' to `EmacsHolder' 1638 (getEmacsView, EmacsService): Rename `Holder' to `EmacsHolder'
@@ -1693,71 +1640,64 @@
1693 1640
16942023-06-06 Po Lu <luangruo@yahoo.com> 16412023-06-06 Po Lu <luangruo@yahoo.com>
1695 1642
1696 Improve undo behavior on Android
1697 * lisp/simple.el (undo-auto-amalgamate): Update doc string to 1643 * lisp/simple.el (undo-auto-amalgamate): Update doc string to
1698 describe new amalgamating commands. 1644 describe new amalgamating commands.
1699 (analyze-text-conversion): Make this an amalgamating command by 1645 (analyze-text-conversion): Make this an amalgamating command by
1700 default, unless a new line has been inserted. Also, shorten the 1646 default, unless a new line has been inserted. Also, shorten the
1701 undo boundary timer. 1647 undo boundary timer.
1648
1702 * src/textconv.c (really_commit_text) 1649 * src/textconv.c (really_commit_text)
1703 (really_set_composing_text): Correctly report ephemeral 1650 (really_set_composing_text): Correctly report ephemeral deletions.
1704 deletions.
1705 (syms_of_textconv): Fix doc strings. 1651 (syms_of_textconv): Fix doc strings.
1706 1652
1707 Merge remote-tracking branch 'origin/master' into feature/android
1708
17092023-06-05 Po Lu <luangruo@yahoo.com> 16532023-06-05 Po Lu <luangruo@yahoo.com>
1710 1654
1711 Clear batch edit state once a new input connection is established
1712 * src/androidterm.c (android_handle_ime_event): Clear batch edit 1655 * src/androidterm.c (android_handle_ime_event): Clear batch edit
1713 state, in case the previous input method forgot to do so. 1656 state, in case the previous input method forgot to do so.
1714 1657
1715 Update Android port
1716 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New 1658 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
1717 function clearInputFlags. 1659 function clearInputFlags.
1660
1718 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): 1661 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
1719 Stop reporting changes after a new input method connection is 1662 Stop reporting changes after a new input method connection is
1720 established. 1663 established.
1664
1721 * src/androidterm.c (android_handle_ime_event): Implement that 1665 * src/androidterm.c (android_handle_ime_event): Implement that
1722 change. 1666 change.
1723 (JNICALL): New function. 1667 (JNICALL): New function.
1724 1668
1725 Merge remote-tracking branch 'origin/master' into feature/android
1726
17272023-06-04 Po Lu <luangruo@yahoo.com> 16692023-06-04 Po Lu <luangruo@yahoo.com>
1728 1670
1729 * src/keyboard.c: Fix build without window system 1671 * src/keyboard.c: Fix build without window system
1730 1672
1731 * configure.ac: Tune pty detection for Android. 1673 * configure.ac: Tune pty detection for Android.
1732 1674
1733 Fix input method synchronization problems
1734 * java/debug.sh (gdbserver_cmd, is_root): Prefer TCP again. 1675 * java/debug.sh (gdbserver_cmd, is_root): Prefer TCP again.
1735 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New 1676
1736 function `queryAndSpin'. 1677 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function
1678 `queryAndSpin'.
1679
1737 * java/org/gnu/emacs/EmacsService.java (EmacsService) 1680 * java/org/gnu/emacs/EmacsService.java (EmacsService)
1738 (icBeginSynchronous, icEndSynchronous, viewGetSelection): New 1681 (icBeginSynchronous, icEndSynchronous, viewGetSelection): New
1739 synchronization functions. 1682 synchronization functions.
1740 (resetIC, updateCursorAnchorInfo): Call those instead. 1683 (resetIC, updateCursorAnchorInfo): Call those instead.
1684
1741 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): 1685 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
1742 Call viewGetSelection. 1686 Call viewGetSelection.
1687
1743 * src/android.c (JNICALL, android_answer_query_spin): New 1688 * src/android.c (JNICALL, android_answer_query_spin): New
1744 functions. 1689 functions.
1745 1690
1746 Merge remote-tracking branch 'origin/master' into feature/android
1747
17482023-06-03 Po Lu <luangruo@yahoo.com> 16912023-06-03 Po Lu <luangruo@yahoo.com>
1749 1692
1750 Fix typos in Android port
1751 * lisp/bindings.el (global-map): Bind cut, copy and paste. 1693 * lisp/bindings.el (global-map): Bind cut, copy and paste.
1694
1752 * src/androidterm.c (JNICALL): Use key. 1695 * src/androidterm.c (JNICALL): Use key.
1753 1696
1754 Behave correctly when IMEs commit or compose text with active mark
1755 * src/textconv.c (really_commit_text) 1697 * src/textconv.c (really_commit_text)
1756 (really_set_composing_text): Delete text between mark and point 1698 (really_set_composing_text): Delete text between mark and point if
1757 if the mark is active. Don't record changes if the text is 1699 the mark is active. Don't record changes if the text is empty.
1758 empty.
1759 1700
1760 Update Android port
1761 * src/androidterm.c (struct android_get_extracted_text_context): 1701 * src/androidterm.c (struct android_get_extracted_text_context):
1762 New field `mark_active'. 1702 New field `mark_active'.
1763 (android_get_extracted_text): Set that field. 1703 (android_get_extracted_text): Set that field.
@@ -1765,39 +1705,41 @@
1765 (android_build_extracted_text): New argument `mark_active'. Set 1705 (android_build_extracted_text): New argument `mark_active'. Set
1766 flags appropriately. 1706 flags appropriately.
1767 (NATIVE_NAME, android_update_selection): Likewise. 1707 (NATIVE_NAME, android_update_selection): Likewise.
1708
1768 * src/textconv.c (get_extracted_text): New argument 1709 * src/textconv.c (get_extracted_text): New argument
1769 `mark_active'. Set it if the mark is active. 1710 `mark_active'. Set it if the mark is active.
1770 * src/textconv.h: Update prototypes.
1771 1711
1772 Merge remote-tracking branch 'origin/master' into feature/android 1712 * src/textconv.h: Update prototypes.
1773 1713
1774 * etc/MACHINES: Fix reference to obsolete file. 1714 * etc/MACHINES: Fix reference to obsolete file.
1775 1715
17762023-06-02 Po Lu <luangruo@yahoo.com> 17162023-06-02 Po Lu <luangruo@yahoo.com>
1777 1717
1778 Improve Eldoc text conversion support 1718 * lisp/emacs-lisp/eldoc.el ("back-to-indentation"): Register touch
1779 * lisp/emacs-lisp/eldoc.el: ("back-to-indentation"): Register 1719 screen and text conversion commands.
1780 touch screen and text conversion commands.
1781 1720
1782 Improve CC Mode support for text conversion
1783 * lisp/progmodes/cc-cmds.el (c-post-text-conversion): New 1721 * lisp/progmodes/cc-cmds.el (c-post-text-conversion): New
1784 function. 1722 function.
1785 * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add it as 1723
1786 the `post-texxt-conversion-hook'. 1724 * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add it as the
1725 `post-texxt-conversion-hook'.
1726
1787 * lisp/simple.el (post-text-conversion-hook): New hook. 1727 * lisp/simple.el (post-text-conversion-hook): New hook.
1788 (analyze-text-conversion): Run it until success before trying 1728 (analyze-text-conversion): Run it until success before trying post
1789 post insert functions. 1729 insert functions.
1790 1730
1791 Update Android port
1792 * java/org/gnu/emacs/EmacsInputConnection.java 1731 * java/org/gnu/emacs/EmacsInputConnection.java
1793 (EmacsInputConnection): Apply workarounds on Vivo devices as 1732 (EmacsInputConnection): Apply workarounds on Vivo devices as well.
1794 well. 1733
1795 * src/android.c (sendKeyPress, sendKeyRelease): Clear counter. 1734 * src/android.c (sendKeyPress, sendKeyRelease): Clear counter.
1735
1796 * src/androidgui.h (struct android_key_event): New field 1736 * src/androidgui.h (struct android_key_event): New field
1797 `counter'. 1737 `counter'.
1798 * src/androidterm.c (handle_one_android_event): Generate 1738
1799 barriers as appropriate. 1739 * src/androidterm.c (handle_one_android_event): Generate barriers
1740 as appropriate.
1800 (JNICALL): Set `counter'. 1741 (JNICALL): Set `counter'.
1742
1801 * src/frame.h (enum text_conversion_operation): 1743 * src/frame.h (enum text_conversion_operation):
1802 * src/textconv.c (detect_conversion_events) 1744 * src/textconv.c (detect_conversion_events)
1803 (really_set_composing_text, handle_pending_conversion_events_1) 1745 (really_set_composing_text, handle_pending_conversion_events_1)
@@ -1805,52 +1747,51 @@
1805 * src/textconv.h: Implement text conversion barriers and fix 1747 * src/textconv.h: Implement text conversion barriers and fix
1806 various typos. 1748 various typos.
1807 1749
1808 Merge remote-tracking branch 'origin/master' into feature/android
1809
18102023-06-01 Po Lu <luangruo@yahoo.com> 17502023-06-01 Po Lu <luangruo@yahoo.com>
1811 1751
1812 Correctly export file:// URIs on Android
1813 * java/org/gnu/emacs/EmacsService.java (browseUrl): If uri's 1752 * java/org/gnu/emacs/EmacsService.java (browseUrl): If uri's
1814 scheme is `file', rewrite it into a content URI. 1753 scheme is `file', rewrite it into a content URI.
1815 1754
1816 Update Android port
1817 * java/org/gnu/emacs/EmacsInputConnection.java 1755 * java/org/gnu/emacs/EmacsInputConnection.java
1818 (EmacsInputConnection, performContextMenuAction): New function. 1756 (EmacsInputConnection, performContextMenuAction): New function.
1757
1819 * java/org/gnu/emacs/EmacsNative.java (EmacsNative) 1758 * java/org/gnu/emacs/EmacsNative.java (EmacsNative)
1820 (performContextMenuAction): New function. 1759 (performContextMenuAction): New function.
1760
1821 * src/android.c (android_get_gc_values): Implement more 1761 * src/android.c (android_get_gc_values): Implement more
1822 efficiently. 1762 efficiently.
1763
1823 * src/androidterm.c (android_handle_ime_event): Pass through 1764 * src/androidterm.c (android_handle_ime_event): Pass through
1824 `update' argument to `finish_composing_text'. Fix thinko. 1765 `update' argument to `finish_composing_text'. Fix thinko.
1766
1825 * src/textconv.c (really_finish_composing_text) 1767 * src/textconv.c (really_finish_composing_text)
1826 (really_set_composing_text, really_set_composing_region) 1768 (really_set_composing_text, really_set_composing_region)
1827 (handle_pending_conversion_events_1, finish_composing_text): New 1769 (handle_pending_conversion_events_1, finish_composing_text): New
1828 argument `update'. Notify IME of conversion region changes if 1770 argument `update'. Notify IME of conversion region changes if
1829 set. 1771 set.
1772
1830 * src/textconv.h: Update structs and prototypes. 1773 * src/textconv.h: Update structs and prototypes.
1831 1774
1832 Update Android port
1833 * java/org/gnu/emacs/EmacsInputConnection.java 1775 * java/org/gnu/emacs/EmacsInputConnection.java
1834 (EmacsInputConnection): Add compatibility adjustments for 1776 (EmacsInputConnection): Add compatibility adjustments for Samsung
1835 Samsung devices. 1777 devices.
1836 1778
1837 Correctly report start and end in extracted text
1838 * src/androidterm.c (struct android_get_extracted_text_context): 1779 * src/androidterm.c (struct android_get_extracted_text_context):
1839 New field `start_offset' and `end_offset'. Delete `offset'. 1780 New field `start_offset' and `end_offset'. Delete `offset'.
1840 (android_get_extracted_text, android_build_extracted_text): 1781 (android_get_extracted_text, android_build_extracted_text):
1841 Replace `offset' with new args `start_offset' and `end_offset'. 1782 Replace `offset' with new args `start_offset' and `end_offset'.
1842 (NATIVE_NAME): Set `start_offset' and `end_offset'. 1783 (NATIVE_NAME): Set `start_offset' and `end_offset'.
1843 (android_update_selection): Likewise. 1784 (android_update_selection): Likewise.
1785
1844 * src/textconv.c (get_extracted_text): Likewise. 1786 * src/textconv.c (get_extracted_text): Likewise.
1845 * src/textconv.h: Update prototypes.
1846 1787
1847 Merge remote-tracking branch 'origin/master' into feature/android 1788 * src/textconv.h: Update prototypes.
1848 1789
18492023-05-31 Po Lu <luangruo@yahoo.com> 17902023-05-31 Po Lu <luangruo@yahoo.com>
1850 1791
1851 Fix build with Lisp_Object type checking 1792 * configure.ac: Pass through `--enable-check-lisp-object-type' on
1852 * configure.ac: Pass through `--enable-check-lisp-object-type' 1793 Android.
1853 on Android. 1794
1854 * src/alloc.c (android_make_lisp_symbol): 1795 * src/alloc.c (android_make_lisp_symbol):
1855 * src/android.c: 1796 * src/android.c:
1856 * src/androidfns.c (android_set_no_focus_on_map) 1797 * src/androidfns.c (android_set_no_focus_on_map)
@@ -1860,88 +1801,72 @@
1860 (Fandroid_get_clipboard_targets): 1801 (Fandroid_get_clipboard_targets):
1861 * src/keyboard.c (make_lispy_event, syms_of_keyboard): 1802 * src/keyboard.c (make_lispy_event, syms_of_keyboard):
1862 * src/sfntfont.c (sfnt_enum_font_1, sfntfont_list_1): 1803 * src/sfntfont.c (sfnt_enum_font_1, sfntfont_list_1):
1863 * src/textconv.c (really_set_point_and_mark): Fix Lisp_Object 1804 * src/textconv.c (really_set_point_and_mark): Fix Lisp_Object and
1864 and integer screw-ups. 1805 integer screw-ups.
1865 1806
1866 Update Android port
1867 * doc/emacs/input.texi (Other Input Devices, Touchscreens) 1807 * doc/emacs/input.texi (Other Input Devices, Touchscreens)
1868 (On-Screen Keyboards): 1808 (On-Screen Keyboards):
1869 * doc/lispref/commands.texi (Misc Events): 1809 * doc/lispref/commands.texi (Misc Events):
1870 * src/android.c (android_faccessat): Improve word choices and 1810 * src/android.c (android_faccessat): Improve word choices and
1871 commentary. 1811 commentary.
1812
1872 * lisp/touch-screen.el (touch-screen-handle-scroll): Make 1813 * lisp/touch-screen.el (touch-screen-handle-scroll): Make
1873 precision scrolling work better with horizontal movement. 1814 precision scrolling work better with horizontal movement.
1874 1815
1875 * src/android.c (android_copy_area): Pacify compiler warning. 1816 * src/android.c (android_copy_area): Pacify compiler warning.
1876 1817
1877 Update Android port 1818 * exec/exec.c (insert_args): New argument `arg3'. Replace argv[1]
1878 * exec/exec.c (insert_args): New argument `arg3'. Replace 1819 with that argument.
1879 argv[1] with that argument.
1880 (exec_0): Pass file name of script to `insert_args'. 1820 (exec_0): Pass file name of script to `insert_args'.
1881 1821
1882 Update android.texi 1822 * doc/emacs/android.texi (What is Android?, Android Startup)
1883 * doc/emacs/android.texi (What is Android?): 1823 (Android File System, Android Environment, Android Windowing)
1884 (Android Startup):
1885 (Android File System):
1886 (Android Environment):
1887 (Android Windowing):
1888 (Android Troubleshooting): Improve wording and various other 1824 (Android Troubleshooting): Improve wording and various other
1889 issues. 1825 issues.
1890 1826
1891 Merge remote-tracking branch 'origin/master' into feature/android
1892
1893 Update Android port
1894 * java/debug.sh (is_root): Go back to using unix sockets; allow 1827 * java/debug.sh (is_root): Go back to using unix sockets; allow
1895 adb to forward them correctly. 1828 adb to forward them correctly.
1829
1896 * java/org/gnu/emacs/EmacsInputConnection.java 1830 * java/org/gnu/emacs/EmacsInputConnection.java
1897 (getExtractedText): Don't print text if NULL. 1831 (getExtractedText): Don't print text if NULL.
1832
1898 * java/org/gnu/emacs/EmacsService.java (EmacsService): New field 1833 * java/org/gnu/emacs/EmacsService.java (EmacsService): New field
1899 `imSyncInProgress'. 1834 `imSyncInProgress'.
1900 (updateIC): If an IM sync might be in progress, avoid deadlocks. 1835 (updateIC): If an IM sync might be in progress, avoid deadlocks.
1836
1901 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): 1837 * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
1902 Set `imSyncInProgress' across synchronization point. 1838 Set `imSyncInProgress' across synchronization point.
1839
1903 * src/android.c (android_check_query): Use __atomic_store_n. 1840 * src/android.c (android_check_query): Use __atomic_store_n.
1904 (android_answer_query): New function. 1841 (android_answer_query): New function.
1905 (android_begin_query): Set `android_servicing_query' to 2. 1842 (android_begin_query): Set `android_servicing_query' to 2. Check
1906 Check once, and don't spin waiting for query to complete. 1843 once, and don't spin waiting for query to complete.
1907 (android_end_query): Use __atomic_store_n. 1844 (android_end_query): Use __atomic_store_n.
1908 (android_run_in_emacs_thread): Compare-and-exchange flag. If 1845 (android_run_in_emacs_thread): Compare-and-exchange flag. If
1909 originally 1, fail. 1846 originally 1, fail.
1847
1910 * src/textconv.c (really_set_composing_text): Clear conversion 1848 * src/textconv.c (really_set_composing_text): Clear conversion
1911 region if text is empty. 1849 region if text is empty.
1912 1850
19132023-05-30 Po Lu <luangruo@yahoo.com>
1914
1915 Merge remote-tracking branch 'origin/master' into feature/android
1916
19172023-05-29 Po Lu <luangruo@yahoo.com> 18512023-05-29 Po Lu <luangruo@yahoo.com>
1918 1852
1919 * src/android.c: Fix typos. 1853 * src/android.c (android_blit_copy, android_blit_xor): Fix typos.
1920 1854
1921 Merge remote-tracking branch 'origin/master' into feature/android 1855 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function
1856 `blitRect'.
1922 1857
1923 Update Android port 1858 * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView): Use
1924 * src/android.c (android_blit_copy): 1859 it on Android 8.x.
1925 (android_blit_xor): Fix typos.
1926
1927 * src/android.c (android_blit_copy): Fix typos.
1928 1860
1929 Work around more problems with Bitmaps
1930 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
1931 function `blitRect'.
1932 * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
1933 Use it on Android 8.x.
1934 * src/android.c (blitRect): Implement new function. 1861 * src/android.c (blitRect): Implement new function.
1935 1862 (android_neon_mask_line): Fix iteration over remainder.
1936 Update Android port
1937 * src/android.c (android_neon_mask_line): Fix iteration
1938 over remainder.
1939 (android_blit_copy): Be more paranoid. 1863 (android_blit_copy): Be more paranoid.
1940 1864
1941 Implement android_copy_area in C
1942 * java/org/gnu/emacs/EmacsCopyArea.java: Remove file. 1865 * java/org/gnu/emacs/EmacsCopyArea.java: Remove file.
1943 * java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea): 1866
1944 Delete function. 1867 * java/org/gnu/emacs/EmacsService.java (copyArea): Delete
1868 function.
1869
1945 * src/android.c (struct android_emacs_service) 1870 * src/android.c (struct android_emacs_service)
1946 (android_init_emacs_service): Remove `copy_area'. 1871 (android_init_emacs_service): Remove `copy_area'.
1947 (android_create_gc, android_change_gc, android_get_gc_values): 1872 (android_create_gc, android_change_gc, android_get_gc_values):
@@ -1950,68 +1875,66 @@
1950 (android_blit_copy, android_blit_xor): New functions. 1875 (android_blit_copy, android_blit_xor): New functions.
1951 (android_copy_area): Implement in C. 1876 (android_copy_area): Implement in C.
1952 (android_lock_bitmap): Accept drawables instead of windows. 1877 (android_lock_bitmap): Accept drawables instead of windows.
1878
1953 * src/android.h: Adjust prototype for `android_lock_bitmap'. 1879 * src/android.h: Adjust prototype for `android_lock_bitmap'.
1880
1954 * src/androidgui.h (struct android_gc): Record last known GC 1881 * src/androidgui.h (struct android_gc): Record last known GC
1955 values. 1882 values.
1956 1883
19572023-05-27 Po Lu <luangruo@yahoo.com> 18842023-05-27 Po Lu <luangruo@yahoo.com>
1958 1885
1959 Add extra thread-related checking
1960 * java/org/gnu/emacs/EmacsService.java (EmacsService) 1886 * java/org/gnu/emacs/EmacsService.java (EmacsService)
1961 (checkEmacsThread): New function. 1887 (checkEmacsThread): New function.
1962 (fillPolygon, drawRectangle, drawLine, drawPoint, copyArea) 1888 (fillPolygon, drawRectangle, drawLine, drawPoint, copyArea)
1963 (clearArea): 1889 (clearArea):
1964 * java/org/gnu/emacs/EmacsThread.java (EmacsThread): 1890 * java/org/gnu/emacs/EmacsThread.java (EmacsThread):
1965 * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers): 1891 * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers): Call
1966 Call where appropriate. 1892 where appropriate.
1967 1893
1968 Remove synchronization around `damageRegion'
1969 * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers): 1894 * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers):
1970 Remove unnecessary documentation. `damageRegion' is only 1895 Remove unnecessary documentation. `damageRegion' is only changed
1971 changed from the Emacs thread. 1896 from the Emacs thread.
1972
1973 Merge remote-tracking branch 'origin/master' into feature/android
1974 1897
19752023-05-26 Po Lu <luangruo@yahoo.com> 18982023-05-26 Po Lu <luangruo@yahoo.com>
1976 1899
1977 Allow starting Emacs --debug-init on Android
1978 * doc/emacs/android.texi (Android Troubleshooting): Document 1900 * doc/emacs/android.texi (Android Troubleshooting): Document
1979 `debug-init' option. 1901 `debug-init' option.
1902
1980 * java/AndroidManifest.xml.in 1903 * java/AndroidManifest.xml.in
1981 (EmacsLauncherPreferencesActivity): New activity. Export on 1904 (EmacsLauncherPreferencesActivity): New activity. Export on
1982 systems older than Android 7.0. 1905 systems older than Android 7.0.
1906
1983 * java/org/gnu/emacs/EmacsActivity.java (onCreate): Adjust for 1907 * java/org/gnu/emacs/EmacsActivity.java (onCreate): Adjust for
1984 string startup argument. 1908 string startup argument.
1909
1985 * java/org/gnu/emacs/EmacsLauncherPreferencesActivity.java: New 1910 * java/org/gnu/emacs/EmacsLauncherPreferencesActivity.java: New
1986 file. 1911 file.
1912
1987 * java/org/gnu/emacs/EmacsPreferencesActivity.java 1913 * java/org/gnu/emacs/EmacsPreferencesActivity.java
1988 (EmacsPreferencesActivity): Don't make final. 1914 (EmacsPreferencesActivity): Don't make final.
1989 (startEmacsQ): Give start-up argument as an argument, not as a 1915 (startEmacsQ): Give start-up argument as an argument, not as a
1990 boolean. 1916 boolean.
1991 (startEmacsDebugInit): New function. 1917 (startEmacsDebugInit): New function.
1992 (onCreate): Register new listener; make final. 1918 (onCreate): Register new listener; make final.
1919
1993 * java/org/gnu/emacs/EmacsService.java (onCreate): Pass 1920 * java/org/gnu/emacs/EmacsService.java (onCreate): Pass
1994 extraStartupArgument. 1921 extraStartupArgument.
1922
1995 * java/org/gnu/emacs/EmacsThread.java (EmacsThread): Rename 1923 * java/org/gnu/emacs/EmacsThread.java (EmacsThread): Rename
1996 startDashQ to extraStartupArgument. 1924 startDashQ to extraStartupArgument.
1997 (run): Adjust accordingly. 1925 (run): Adjust accordingly.
1926
1998 * java/res/values-v24/bool.xml: 1927 * java/res/values-v24/bool.xml:
1999 * java/res/values/bool.xml: 1928 * java/res/values/bool.xml:
2000 * java/res/values/strings.xml: New files. 1929 * java/res/values/strings.xml: New files.
1930
2001 * java/res/xml/preferences.xml: Add new option. Move string 1931 * java/res/xml/preferences.xml: Add new option. Move string
2002 resources around. 1932 resources around.
2003 1933
2004 Merge remote-tracking branch 'origin/master' into feature/android
2005
20062023-05-25 Po Lu <luangruo@yahoo.com>
2007
2008 Merge remote-tracking branch 'origin/master' into feature/android
2009
20102023-05-24 Po Lu <luangruo@yahoo.com> 19342023-05-24 Po Lu <luangruo@yahoo.com>
2011 1935
2012 Update Android port 1936 * src/sfnt.c (sfnt_decompose_compound_glyph): Allow decomposing up
2013 * src/sfnt.c (sfnt_decompose_compound_glyph): Allow decomposing 1937 to 16 nested components.
2014 up to 16 nested components.
2015 (CALL, LOOPCALL): Correctly error if no fdef storage exists. 1938 (CALL, LOOPCALL): Correctly error if no fdef storage exists.
2016 (sfnt_interpret_run): New label `next_instruction', for CALL. 1939 (sfnt_interpret_run): New label `next_instruction', for CALL.
2017 (sfnt_interpret_compound_glyph_1): Allow decomposing up to 16 1940 (sfnt_interpret_compound_glyph_1): Allow decomposing up to 16
@@ -2020,58 +1943,39 @@
2020 (sfnt_read_cvar_table): Prevent assigning uninitialized values. 1943 (sfnt_read_cvar_table): Prevent assigning uninitialized values.
2021 (sfnt_vary_simple_glyph): Update commentary. 1944 (sfnt_vary_simple_glyph): Update commentary.
2022 1945
2023 Merge remote-tracking branch 'origin/master' into feature/android
2024
20252023-05-23 Po Lu <luangruo@yahoo.com> 19462023-05-23 Po Lu <luangruo@yahoo.com>
2026 1947
2027 * exec/exec.c (exec_0): Use strcpy. 1948 * exec/exec.c (exec_0): Use strcpy.
2028 1949
2029 Merge remote-tracking branch 'origin/master' into feature/android
2030
20312023-05-22 Po Lu <luangruo@yahoo.com>
2032
2033 Merge remote-tracking branch 'origin/master' into feature/android
2034
2035 Merge remote-tracking branch 'origin/master' into feature/android
2036
20372023-05-21 Po Lu <luangruo@yahoo.com>
2038
2039 Merge remote-tracking branch 'origin/master' into feature/android
2040
20412023-05-20 Po Lu <luangruo@yahoo.com> 19502023-05-20 Po Lu <luangruo@yahoo.com>
2042 1951
2043 Remove arbitrary process count limit 1952 * exec/trace.c (handle_clone_prepare, handle_clone): When
2044 * exec/trace.c (handle_clone_prepare): 1953 !REENTRANT, use malloc to allocate tracees after running out of
2045 (handle_clone): When !REENTRANT, use malloc to allocate 1954 static ones.
2046 tracees after running out of static ones.
2047 1955
2048 Update Android port 1956 * java/org/gnu/emacs/EmacsView.java (swapBuffers): Restore missing
2049 * java/org/gnu/emacs/EmacsView.java (swapBuffers): Restore 1957 damage rect code.
2050 missing damage rect code.
2051 (onDetachedFromWindow): Remove redundant synchronization. 1958 (onDetachedFromWindow): Remove redundant synchronization.
2052 1959
2053 Merge remote-tracking branch 'origin/master' into feature/android
2054
20552023-05-19 Po Lu <luangruo@yahoo.com> 19602023-05-19 Po Lu <luangruo@yahoo.com>
2056 1961
2057 Make tapping on header lines behave reasonably
2058 * lisp/touch-screen.el (touch-screen-tap-header-line): New 1962 * lisp/touch-screen.el (touch-screen-tap-header-line): New
2059 function. 1963 function.
2060 ([header-line touchscreen-begin]): Define to 1964 ([header-line touchscreen-begin]): Define to
2061 `touch-screen-tap-header-line'. 1965 `touch-screen-tap-header-line'.
2062 1966
2063 Merge remote-tracking branch 'origin/master' into feature/android
2064
20652023-05-18 Po Lu <luangruo@yahoo.com> 19672023-05-18 Po Lu <luangruo@yahoo.com>
2066 1968
2067 * make-dist (possibly_non_vc_files): Add Android-specific files. 1969 * make-dist (possibly_non_vc_files): Add Android-specific files.
2068 1970
2069 Allow interacting with the tab line from a touch screen
2070 * doc/emacs/frames.texi (Tab Bars): Explain how to interact with 1971 * doc/emacs/frames.texi (Tab Bars): Explain how to interact with
2071 the tab bar from a touch screen. 1972 the tab bar from a touch screen.
1973
2072 * doc/emacs/input.texi (Touchscreens): Document exactly what a 1974 * doc/emacs/input.texi (Touchscreens): Document exactly what a
2073 ``long press'' is. 1975 ``long press'' is.
1976
2074 * doc/emacs/windows.texi (Tab Line): Likewise. 1977 * doc/emacs/windows.texi (Tab Line): Likewise.
1978
2075 * lisp/tab-line.el (tab-line-tab-map, tab-line-add-map) 1979 * lisp/tab-line.el (tab-line-tab-map, tab-line-add-map)
2076 (tab-line-tab-close-map, tab-line-left-map, tab-line-right-map): 1980 (tab-line-tab-close-map, tab-line-left-map, tab-line-right-map):
2077 Bind `touchscreen-begin' to each command. 1981 Bind `touchscreen-begin' to each command.
@@ -2079,322 +1983,272 @@
2079 (tab-line-hscroll-right, tab-line-hscroll-left, tab-line-new-tab) 1983 (tab-line-hscroll-right, tab-line-hscroll-left, tab-line-new-tab)
2080 (tab-line-select-tab, tab-line-close-tab): Use them. 1984 (tab-line-select-tab, tab-line-close-tab): Use them.
2081 1985
2082 Merge remote-tracking branch 'origin/master' into feature/android
2083
20842023-05-17 Po Lu <luangruo@yahoo.com>
2085
2086 ; Update from Gnulib
2087
2088 Merge remote-tracking branch 'origin/master' into feature/android
2089
20902023-05-16 Po Lu <luangruo@yahoo.com> 19862023-05-16 Po Lu <luangruo@yahoo.com>
2091 1987
2092 Add touchscreen support to the tab bar
2093 * lisp/menu-bar.el (popup-menu-normalize-position): Normalize 1988 * lisp/menu-bar.el (popup-menu-normalize-position): Normalize
2094 `touchscreen-begin' events correctly. 1989 `touchscreen-begin' events correctly.
2095 * lisp/tab-bar.el (tab-bar-mouse-context-menu): New argument 1990
2096 POSN. Use it if specified. 1991 * lisp/tab-bar.el (tab-bar-mouse-context-menu): New argument POSN.
1992 Use it if specified.
2097 (touch-screen-track-tap, tab-bar-handle-timeout) 1993 (touch-screen-track-tap, tab-bar-handle-timeout)
2098 (tab-bar-touchscreen-begin): New functions. 1994 (tab-bar-touchscreen-begin): New functions.
2099 (tab-bar-map): Bind [tab-bar touchscreen-begin]. 1995 (tab-bar-map): Bind [tab-bar touchscreen-begin].
1996
2100 * lisp/touch-screen.el (touch-screen-track-drag): Fix doc 1997 * lisp/touch-screen.el (touch-screen-track-drag): Fix doc
2101 string. 1998 string.
1999
2102 * src/dispextern.h: Export `get_tab_bar_item_kbd'. 2000 * src/dispextern.h: Export `get_tab_bar_item_kbd'.
2001
2103 * src/keyboard.c (coords_in_tab_bar_window): New function. 2002 * src/keyboard.c (coords_in_tab_bar_window): New function.
2104 (make_lispy_event): Adjust touchscreen begin event mouse 2003 (make_lispy_event): Adjust touchscreen begin event mouse
2105 position list for tab bar. 2004 position list for tab bar.
2005
2106 * src/xdisp.c (tab_bar_item_info): Allow CLOSE_P to be NULL. 2006 * src/xdisp.c (tab_bar_item_info): Allow CLOSE_P to be NULL.
2107 (get_tab_bar_item): Adjust doc string. 2007 (get_tab_bar_item): Adjust doc string.
2108 (get_tab_bar_item_kbd): New function. 2008 (get_tab_bar_item_kbd): New function.
2109 2009
2110 Merge remote-tracking branch 'origin/master' into feature/android
2111
21122023-05-15 Po Lu <luangruo@yahoo.com> 20102023-05-15 Po Lu <luangruo@yahoo.com>
2113 2011
2114 Fix year 2038 code for Android 4.4 and earlier
2115 * configure.ac: Also disable enable_year2038. 2012 * configure.ac: Also disable enable_year2038.
2116 2013
2117 Fix the MS-DOS build
2118 * msdos/sed1v2.inp: Fix removal of ANDROID_BUILD_CFLAGS. 2014 * msdos/sed1v2.inp: Fix removal of ANDROID_BUILD_CFLAGS.
2119 * msdos/sedlibmk.inp: Clear DIR_HAS_FD_MEMBER and 2015 * msdos/sedlibmk.inp: Clear DIR_HAS_FD_MEMBER and LOCALE_FR_UTF8.
2120 LOCALE_FR_UTF8.
2121
2122 ; Update from Gnulib
2123
2124 Merge remote-tracking branch 'origin/master' into feature/android
2125
2126 Merge remote-tracking branch 'origin/master' into feature/android
2127 2016
21282023-05-14 Po Lu <luangruo@yahoo.com> 20172023-05-14 Po Lu <luangruo@yahoo.com>
2129 2018
2130 Implement document moving on Android
2131 * java/org/gnu/emacs/EmacsDocumentsProvider.java 2019 * java/org/gnu/emacs/EmacsDocumentsProvider.java
2132 (notifyChangeByName): New function. 2020 (notifyChangeByName): New function.
2133 (queryDocument1): Set FLAG_SUPPORTS_MOVE where necessary. 2021 (queryDocument1): Set FLAG_SUPPORTS_MOVE where necessary.
2134 (moveDocument): Implement new function. 2022 (moveDocument): Implement new function.
2135 2023
2136 Merge remote-tracking branch 'origin/master' into feature/android
2137
21382023-05-13 Po Lu <luangruo@yahoo.com>
2139
2140 Merge remote-tracking branch 'origin/master' into feature/android
2141
21422023-05-12 Po Lu <luangruo@yahoo.com>
2143
2144 Merge remote-tracking branch 'origin/master' into feature/android
2145
21462023-05-11 Po Lu <luangruo@yahoo.com>
2147
2148 Merge remote-tracking branch 'origin/master' into feature/android
2149
21502023-05-10 Po Lu <luangruo@yahoo.com>
2151
2152 Merge remote-tracking branch 'origin/master' into feature/android
2153
21542023-05-09 Po Lu <luangruo@yahoo.com>
2155
2156 Merge remote-tracking branch 'origin/master' into feature/android
2157
21582023-05-08 Po Lu <luangruo@yahoo.com> 20242023-05-08 Po Lu <luangruo@yahoo.com>
2159 2025
2160 Update Android port
2161 * java/Makefile.in (install_temp/assets/version): Fix generation 2026 * java/Makefile.in (install_temp/assets/version): Fix generation
2162 in out of tree builds. 2027 in out of tree builds.
2163 2028
2164 Merge remote-tracking branch 'origin/master' into feature/android
2165
21662023-05-07 Po Lu <luangruo@yahoo.com> 20292023-05-07 Po Lu <luangruo@yahoo.com>
2167 2030
2168 Update Android port
2169 * java/org/gnu/emacs/EmacsInputConnection.java 2031 * java/org/gnu/emacs/EmacsInputConnection.java
2170 (requestCursorUpdates): 2032 (requestCursorUpdates):
2171 * java/org/gnu/emacs/EmacsNative.java (requestCursorUpdates): 2033 * java/org/gnu/emacs/EmacsNative.java (requestCursorUpdates):
2172 * java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo): 2034 * java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
2173 New functions. 2035 New functions.
2036
2174 * src/android.c (struct android_emacs_service) 2037 * src/android.c (struct android_emacs_service)
2175 (android_init_emacs_service): Add new method. 2038 (android_init_emacs_service): Add new method.
2176 (android_update_cursor_anchor_info): New function. 2039 (android_update_cursor_anchor_info): New function.
2040
2177 * src/androidfns.c (android_set_preeditarea): New function. 2041 * src/androidfns.c (android_set_preeditarea): New function.
2042
2178 * src/androidgui.h (enum android_ime_operation): New operation 2043 * src/androidgui.h (enum android_ime_operation): New operation
2179 `REQUEST_CURSOR_UPDATES'. 2044 `REQUEST_CURSOR_UPDATES'.
2180 (struct android_ime_event): Document new meaning of `length'. 2045 (struct android_ime_event): Document new meaning of `length'.
2046
2181 * src/androidterm.c (android_request_cursor_updates): New 2047 * src/androidterm.c (android_request_cursor_updates): New
2182 function. 2048 function.
2183 (android_handle_ime_event): Handle new operations. 2049 (android_handle_ime_event): Handle new operations.
2184 (handle_one_android_event, android_draw_window_cursor): Update 2050 (handle_one_android_event, android_draw_window_cursor): Update
2185 the preedit area if needed, like on X. 2051 the preedit area if needed, like on X.
2186 (requestCursorUpdates): New function. 2052 (requestCursorUpdates): New function.
2053
2187 * src/androidterm.h (struct android_output): New field 2054 * src/androidterm.h (struct android_output): New field
2188 `need_cursor_updates'. 2055 `need_cursor_updates'.
2189 2056
2190 Merge remote-tracking branch 'origin/master' into feature/android
2191
21922023-05-06 Po Lu <luangruo@yahoo.com> 20572023-05-06 Po Lu <luangruo@yahoo.com>
2193 2058
2194 Merge remote-tracking branch 'origin/master' into feature/android
2195
2196 Update Android port
2197 * configure.ac (LIBGMP_CFLAGS): Avoid non portable test 2059 * configure.ac (LIBGMP_CFLAGS): Avoid non portable test
2198 expression. 2060 expression.
2199 2061
2200 Update Android port 2062 * cross/verbose.mk.android (AM_V_CC): Get rid of badly aligned
2201 * cross/verbose.mk.android: Get rid of badly aligned ANDROID_CC 2063 ANDROID_CC messages.
2202 messages. 2064
2203 * java/org/gnu/emacs/EmacsInputConnection.java (syncAfterCommit) 2065 * java/org/gnu/emacs/EmacsInputConnection.java (syncAfterCommit)
2204 (extractAbsoluteOffsets): Add workarounds for several kinds of 2066 (extractAbsoluteOffsets): Add workarounds for several kinds of
2205 machines. 2067 machines.
2206 (commitText, getExtractedText): Likewise. 2068 (commitText, getExtractedText): Likewise.
2069
2207 * src/textconv.c (really_commit_text): Improve definition of 2070 * src/textconv.c (really_commit_text): Improve definition of
2208 POSITION. 2071 POSITION.
2209 (get_extracted_text): Default to providing at least 4 2072 (get_extracted_text): Default to providing at least 4 characters.
2210 characters.
2211
2212 Merge remote-tracking branch 'origin/master' into feature/android
2213 2073
22142023-05-05 Po Lu <luangruo@yahoo.com> 20742023-05-05 Po Lu <luangruo@yahoo.com>
2215 2075
2216 Fix execution of /proc/self/exe within child processes 2076 * exec/exec.h (struct exec_tracee): New field `new_child'. Also
2217 * exec/exec.h (struct exec_tracee): New field `new_child'. 2077 make `waiting_for_syscall' a bitfield.
2218 Also, make `waiting_for_syscall' a bitfield. 2078
2219 * exec/trace.c (PTRACE_GETEVENTMSG): New declaration. 2079 * exec/trace.c (PTRACE_GETEVENTMSG): New declaration.
2220 (MAX_TRACEES): Bump to 4096. 2080 (MAX_TRACEES): Bump to 4096.
2221 (handle_clone_prepare): New function. 2081 (handle_clone_prepare): New function.
2222 (handle_clone): If required, set `new_child' and wait for a 2082 (handle_clone): If required, set `new_child' and wait for a ptrace
2223 ptrace event describing the parent to arrive. 2083 event describing the parent to arrive.
2224 (after_fork): Clear new field. 2084 (after_fork): Clear new field.
2225 (exec_waitpid): Upon a ptrace event describing a clone, create 2085 (exec_waitpid): Upon a ptrace event describing a clone, create the
2226 the child's tracee if it doesn't already exist. Otherwise, copy 2086 child's tracee if it doesn't already exist. Otherwise, copy over
2227 over the parent's cmdline and start running it. 2087 the parent's cmdline and start running it.
2228 2088
2229 Update Android port
2230 * doc/emacs/android.texi (Android Environment): Document lossage 2089 * doc/emacs/android.texi (Android Environment): Document lossage
2231 with SIGSTOP. 2090 with SIGSTOP.
2091
2232 * exec/exec.c (exec_0): Check X_OK on file being opened. Also 2092 * exec/exec.c (exec_0): Check X_OK on file being opened. Also
2233 handle /proc/self/exe. 2093 handle /proc/self/exe.
2234 2094
2235 Update Android port
2236 * exec/trace.c (SYS_SECCOMP): Define when not present. 2095 * exec/trace.c (SYS_SECCOMP): Define when not present.
2237 2096
2238 Merge remote-tracking branch 'origin/master' into feature/android
2239
22402023-05-04 Po Lu <luangruo@yahoo.com> 20972023-05-04 Po Lu <luangruo@yahoo.com>
2241 2098
2242 Document another misfeature of Android
2243 * doc/emacs/android.texi (Android Environment): Describe how to 2099 * doc/emacs/android.texi (Android Environment): Describe how to
2244 turn off process killing. 2100 turn off process killing.
2245 2101
2246 Update Android port
2247 * exec/trace.c (check_signal): New function. 2102 * exec/trace.c (check_signal): New function.
2248 (handle_exec, process_system_call): Handle signal-delivery-stop 2103 (handle_exec, process_system_call): Handle signal-delivery-stop
2249 while waiting synchronously for syscall completion. 2104 while waiting synchronously for syscall completion.
2250 2105
2251 Merge remote-tracking branch 'origin/master' into feature/android
2252
22532023-05-03 Po Lu <luangruo@yahoo.com> 21062023-05-03 Po Lu <luangruo@yahoo.com>
2254 2107
2255 Update Android port 2108 * exec/config.h.in: Update from new automatically generated
2256 * exec/config.h.in: Autoheader. 2109 headers.
2110
2257 * exec/configure.ac: Check for siginfo_t.si_syscall. 2111 * exec/configure.ac: Check for siginfo_t.si_syscall.
2258 * exec/trace.c (exec_waitpid): If SIGSYS is received, and caused by
2259 seccomp, drop it should the call number be the invalid system call
2260 used by Emacs.
2261 2112
2262 Update Android port 2113 * exec/trace.c (exec_waitpid): If SIGSYS is received, and caused
2263 * exec/config.h.in: Autoheader. 2114 by seccomp, drop it should the call number be the invalid system
2115 call used by Emacs.
2116
2264 * exec/configure.ac: Use system extensions. 2117 * exec/configure.ac: Use system extensions.
2265 (HAVE_PROCESS_VM): Define if process_vm_readv and 2118 (HAVE_PROCESS_VM): Define if process_vm_readv and
2266 process_vm_writev are available. 2119 process_vm_writev are available.
2120
2267 * exec/trace.c (read_memory, user_copy): Implement in terms of 2121 * exec/trace.c (read_memory, user_copy): Implement in terms of
2268 process_vm if possible. 2122 process_vm if possible.
2269 2123
2270 Remove extra debugging code
2271 * exec/loader-mipsel.s (__start): Remove extraneous debugging 2124 * exec/loader-mipsel.s (__start): Remove extraneous debugging
2272 code. 2125 code.
2273 2126
2274 Update Android port
2275 * exec/Makefile.in: (.PHONY): Add `bootstrap-clean' and 2127 * exec/Makefile.in: (.PHONY): Add `bootstrap-clean' and
2276 `extraclean'. 2128 `extraclean'.
2277 (bootstrap-clean): New rule. 2129 (bootstrap-clean): New rule.
2278 2130
2279 Update Android port
2280 * java/Makefile.in (FIND_DELETE): New substitution. 2131 * java/Makefile.in (FIND_DELETE): New substitution.
2281 (clean): Use FIND_DELETE. 2132 (clean): Use FIND_DELETE.
2282 2133
2283 Merge remote-tracking branch 'origin/master' into feature/android
2284
22852023-05-02 Po Lu <luangruo@yahoo.com> 21342023-05-02 Po Lu <luangruo@yahoo.com>
2286 2135
2287 * doc/emacs/android.texi (Android Environment): Improve doc. 2136 * doc/emacs/android.texi (Android Environment): Improve doc.
2288 2137
2289 Update Android port
2290 * exec/config.h.in (__bool_true_false_are_defined): 2138 * exec/config.h.in (__bool_true_false_are_defined):
2291 * exec/configure.ac (REENTRANT): New definition. 2139 * exec/configure.ac (REENTRANT): New definitions.
2292 (READLINKAT_SYSCALL, READLINK_SYSCALL): New defines. Set on all 2140 (READLINKAT_SYSCALL, READLINK_SYSCALL): New defines. Set on all
2293 hosts. 2141 hosts.
2294 * exec/exec.c (MIN, MAX): Remove redundant declarations. Move 2142
2295 to config.h. 2143 * exec/exec.c (MIN, MAX): Remove redundant declarations. Move to
2144 config.h.
2296 (exec_0): Copy name of executable into NAME when !REENTRANT. 2145 (exec_0): Copy name of executable into NAME when !REENTRANT.
2146
2297 * exec/exec.h (struct exec_tracee): New struct `exec_file'. 2147 * exec/exec.h (struct exec_tracee): New struct `exec_file'.
2148
2298 * exec/trace.c (remove_tracee, handle_exec, handle_readlinkat) 2149 * exec/trace.c (remove_tracee, handle_exec, handle_readlinkat)
2299 (process_system_call, after_fork): Handle readlinkat system 2150 (process_system_call, after_fork): Handle readlinkat system calls.
2300 calls.
2301 2151
2302 Fix ps name in Android subprocesses
2303 * exec/Makefile.in (.SUFFIXES): Include ., then `srcdir'. 2152 * exec/Makefile.in (.SUFFIXES): Include ., then `srcdir'.
2153
2304 * exec/loader-aarch64.s (_start): 2154 * exec/loader-aarch64.s (_start):
2305 * exec/loader-armeabi.s (_start): 2155 * exec/loader-armeabi.s (_start):
2306 * exec/loader-mips64el.s (__start): 2156 * exec/loader-mips64el.s (__start):
2307 * exec/loader-mipsel.s (__start): 2157 * exec/loader-mipsel.s (__start):
2308 * exec/loader-x86.s (_start): 2158 * exec/loader-x86.s (_start):
2309 * exec/loader-x86_64.s (_start): Get basename of opened exec 2159 * exec/loader-x86_64.s (_start): Get basename of opened exec file
2310 file and make it the command name. Fix envp skipping on x86 2160 and make it the command name. Fix envp skipping on x86 and
2311 and various leaks. 2161 various leaks.
2312
2313 Port Android port to older Android systems
2314 * exec/config.h.in: Autoheader.
2315 * exec/configure.ac: Check for declarations of stpcpy and
2316 stpncpy.
2317 * exec/exec.c (stpcpy, stpncpy): Use replacements if
2318 declarations are not present; this happens when a new Android
2319 NDK is building for an old version of Android.
2320 2162
2321 Merge remote-tracking branch 'origin/master' into feature/android 2163 * exec/configure.ac: Check for declarations of stpcpy and stpncpy.
2164
2165 * exec/exec.c (stpcpy, stpncpy): Use replacements if declarations
2166 are not present; this happens when a new Android NDK is building
2167 for an old version of Android.
2322 2168
23232023-05-01 Po Lu <luangruo@yahoo.com> 21692023-05-01 Po Lu <luangruo@yahoo.com>
2324 2170
2325 Update Android port
2326 * exec/config.h.in: Update config.h.in. 2171 * exec/config.h.in: Update config.h.in.
2172
2327 * exec/configure.ac: Check for stpcpy and stpncpy. 2173 * exec/configure.ac: Check for stpcpy and stpncpy.
2328 * exec/exec.c (rpl_stpcpy, rpl_stpncpy): Define replacements 2174
2329 when they are not present on the system. 2175 * exec/exec.c (rpl_stpcpy, rpl_stpncpy): Define replacements when
2176 they are not present on the system.
2330 (process_program_header): Fill comment. 2177 (process_program_header): Fill comment.
2331 2178
2332 * src/term.c (syms_of_term): Pretend Android uses TERMINFO. 2179 * src/term.c (syms_of_term): Pretend Android uses TERMINFO.
2333 2180
2334 Fix cwd relative process execution on Android
2335 * exec/exec.c (format_pid): New function. 2181 * exec/exec.c (format_pid): New function.
2336 (exec_0): Make cwd relative file names relative to 2182 (exec_0): Make cwd relative file names relative to /proc/pid/cwd.
2337 /proc/pid/cwd. 2183
2338 * exec/trace.c (handle_exec): Handle EINTR. 2184 * exec/trace.c (handle_exec): Handle EINTR.
2185
2339 (process_system_call): Report failure without clobbering x0. 2186 (process_system_call): Report failure without clobbering x0.
2340 2187
2341 * README: Describe `exec' directory. 2188 * README: Describe `exec' directory.
2342 2189
2343 Fix use dialog box regression on Android
2344 * lisp/subr.el (use-dialog-box-p): Always prefer dialog boxes. 2190 * lisp/subr.el (use-dialog-box-p): Always prefer dialog boxes.
2345 2191
2346 Make it easier to quit on Android 2192 * src/android.c (android_write_event, JNICALL): Raise SIGIO on key
2347 * src/android.c (android_write_event): 2193 press and window action events.
2348 (JNICALL): Raise SIGIO on key press and window action events.
2349 2194
2350 Fix syscall error reporting on aarch64 2195 * exec/trace.c (process_system_call): Save and restore x0, x1 and
2351 * exec/trace.c (process_system_call): Save and restore x0, x1 2196 x2 regs after replacing them with an invalid file descriptor.
2352 and x2 regs after replacing them with an invalid file
2353 descriptor.
2354 2197
2355 Update Android port
2356 * Makefile.in (extraclean): Clean in exec as well. 2198 * Makefile.in (extraclean): Clean in exec as well.
2199
2357 * configure.ac: Fix detection of absolute srcdir. Also, pass 2200 * configure.ac: Fix detection of absolute srcdir. Also, pass
2358 CFLAGS. 2201 CFLAGS.
2359 * exec/Makefile.in: (.c.o): Add -I. so config.h can be 2202
2360 found.:(.s.o): Don't create m4 temporary in srcdir. 2203 * exec/Makefile.in: (.c.o): Add -I. so config.h can be found.
2361 * exec/config-mips.m4.in (DADDI2, DADDI3): New macros. Define 2204 (.s.o): Don't create m4 temporary in srcdir.
2362 to substitute if as cannot assemble daddi. 2205
2206 * exec/config-mips.m4.in (DADDI2, DADDI3): New macros. Define to
2207 substitute if as cannot assemble daddi.
2208
2363 * exec/configure.ac (user_h): Look for user.h in asm/ as well. 2209 * exec/configure.ac (user_h): Look for user.h in asm/ as well.
2364 Use new user.h. Also look in ptrace.h on arm systems. Check if 2210 Use new user.h. Also look in ptrace.h on arm systems. Check if
2365 as supports daddi on mips64. 2211 as supports daddi on mips64.
2212
2366 * exec/exec.c (check_interpreter): Fix char signedness bug. 2213 * exec/exec.c (check_interpreter): Fix char signedness bug.
2367 * exec/loader-mips64el.s (__start): Use DADDI2 and DADDI3 for 2214
2368 two- and 3-operand daddi. 2215 * exec/loader-mips64el.s (__start): Use DADDI2 and DADDI3 for two-
2216 and 3-operand daddi.
2217
2369 * exec/mipsel-user.h: Don't include sgidefs.h. 2218 * exec/mipsel-user.h: Don't include sgidefs.h.
2219
2370 * java/INSTALL: Document that m4 is now required. 2220 * java/INSTALL: Document that m4 is now required.
2371 * src/android.c (android_rewrite_spawn_argv): Add missing NULL.
2372 2221
2373 Merge remote-tracking branch 'origin/master' into feature/android 2222 * src/android.c (android_rewrite_spawn_argv): Add missing NULL.
2374 2223
2375 Work around system restrictions regarding exec
2376 * doc/emacs/android.texi (Android Environment): Document 2224 * doc/emacs/android.texi (Android Environment): Document
2377 `android-use-exec-loader'. 2225 `android-use-exec-loader'.
2226
2378 * exec/exec1.c (main): Set program group of child process. 2227 * exec/exec1.c (main): Set program group of child process.
2228
2379 * src/android.c (android_rewrite_spawn_argv): New function. 2229 * src/android.c (android_rewrite_spawn_argv): New function.
2230
2380 * src/android.h: Update prototypes. 2231 * src/android.h: Update prototypes.
2232
2381 * src/androidfns.c (syms_of_androidfns): New variable 2233 * src/androidfns.c (syms_of_androidfns): New variable
2382 `android_use_exec_loader'. 2234 `android_use_exec_loader'.
2383 * src/callproc.c (emacs_spawn): Rewrite the argument vector to
2384 use exec1 if necessary.
2385 2235
2386 Remove exec/configure 2236 * src/callproc.c (emacs_spawn): Rewrite the argument vector to use
2387 * exec/configure: Remove file. 2237 exec1 if necessary.
2238
2388 * .gitignore: Add exec/configure. 2239 * .gitignore: Add exec/configure.
2389 2240
23902023-04-30 Po Lu <luangruo@yahoo.com> 22412023-04-30 Po Lu <luangruo@yahoo.com>
2391 2242
2392 Add helper binary `exec1'
2393 * .gitignore: New files. 2243 * .gitignore: New files.
2244
2394 * Makefile.in (mostlyclean_dirs): Add libexec, if its Makefile 2245 * Makefile.in (mostlyclean_dirs): Add libexec, if its Makefile
2395 exists. 2246 exists.
2247
2396 * autogen.sh (do_git): Autoreconf in exec as well. 2248 * autogen.sh (do_git): Autoreconf in exec as well.
2249
2397 * configure.ac: Configure libexec on Android. 2250 * configure.ac: Configure libexec on Android.
2251
2398 * exec/Makefile.in: 2252 * exec/Makefile.in:
2399 * exec/README: 2253 * exec/README:
2400 * exec/config-mips.m4.in: 2254 * exec/config-mips.m4.in:
@@ -2430,182 +2284,94 @@
2430 (user_alloca, user_copy, remove_tracee, handle_clone) 2284 (user_alloca, user_copy, remove_tracee, handle_clone)
2431 (syscall_trap_p, handle_exec, process_system_call, tracing_execve) 2285 (syscall_trap_p, handle_exec, process_system_call, tracing_execve)
2432 (after_fork, find_tracee, exec_waitpid, exec_init): New files. 2286 (after_fork, find_tracee, exec_waitpid, exec_init): New files.
2433 * java/Makefile.in (CROSS_EXEC_BINS): Add exec1 and 2287 * java/Makefile.in (CROSS_EXEC_BINS): Add exec1 and loader.
2434 loader.
2435 ($(CROSS_EXEC_BINS) &): New target. 2288 ($(CROSS_EXEC_BINS) &): New target.
2436 2289
2437 Merge remote-tracking branch 'origin/master' into feature/android
2438
24392023-04-29 Po Lu <luangruo@yahoo.com> 22902023-04-29 Po Lu <luangruo@yahoo.com>
2440 2291
2441 Merge remote-tracking branch 'origin/master' into feature/android
2442
2443 Update Android port
2444 * build-aux/ndk-build-helper.mk (TARGET_ARCH): Define variable. 2292 * build-aux/ndk-build-helper.mk (TARGET_ARCH): Define variable.
2293
2445 * configure.ac (ENABLE_CHECKING, CHECK_STRUCTS) 2294 * configure.ac (ENABLE_CHECKING, CHECK_STRUCTS)
2446 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST, GLYPH_DEBUG) 2295 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST, GLYPH_DEBUG)
2447 (GC_CHECK_STRING_BYTES): Enable checking correctly on Android. 2296 (GC_CHECK_STRING_BYTES): Enable checking correctly on Android.
2297
2448 * java/README: Fix typos. 2298 * java/README: Fix typos.
2299
2449 * m4/ndk-build.m4 (ndk_run_test): Pass target arch. 2300 * m4/ndk-build.m4 (ndk_run_test): Pass target arch.
2301
2450 * src/android.c (android_get_content_name, android_close) 2302 * src/android.c (android_get_content_name, android_close)
2451 (android_fclose, android_check_string): Fix various typos caught 2303 (android_fclose, android_check_string): Fix various typos caught
2452 by checking. 2304 by checking.
2305
2453 * src/charset.c (load_charset_map_from_file): Call emacs_fclose, 2306 * src/charset.c (load_charset_map_from_file): Call emacs_fclose,
2454 not fclose. 2307 not fclose.
2455 * src/image.c (image_set_transform): Fix thinko.
2456 (png_load_body, jpeg_load_body, gif_load): Call emacs_fclose,
2457 not fclose. Use open instead of fdopen.
2458 * src/xfaces.c (Fx_load_color_file): Likewise.
2459
24602023-04-28 Po Lu <luangruo@yahoo.com>
2461 2308
2462 Merge remote-tracking branch 'origin/master' into feature/android 2309 * src/image.c (image_set_transform): Fix thinko.
2310 (png_load_body, jpeg_load_body, gif_load): Call emacs_fclose, not
2311 fclose. Use open instead of fdopen.
2463 2312
2464 Merge remote-tracking branch 'origin/master' into feature/android 2313 * src/xfaces.c (Fx_load_color_file): Likewise.
2465 2314
24662023-04-27 Po Lu <luangruo@yahoo.com> 23152023-04-27 Po Lu <luangruo@yahoo.com>
2467 2316
2468 Update Android port
2469 * src/image.c (image_create_bitmap_from_data): Fix typo in 2317 * src/image.c (image_create_bitmap_from_data): Fix typo in
2470 preprocessor conditionals. 2318 preprocessor conditionals.
2471 2319
2472 Merge remote-tracking branch 'origin/master' into feature/android 2320 * doc/emacs/android.texi (Android File System, Android Windowing):
2321 Make Emacs manual more portable.
2473 2322
2474 Update Android port
2475 * doc/emacs/android.texi (Android File System):
2476 (Android Windowing): Make Emacs manual more portable.
2477
2478 Update Android port
2479 * doc/lispref/commands.texi (Misc Events): 2323 * doc/lispref/commands.texi (Misc Events):
2480 * doc/lispref/frames.texi (Accessing Selections): 2324 * doc/lispref/frames.texi (Accessing Selections, X Selections):
2481 (X Selections): Fix pieces of the Info manual. 2325 Fix pieces of the Info manual.
2482
2483 Merge remote-tracking branch 'origin/master' into feature/android
2484 2326
24852023-04-26 Po Lu <luangruo@yahoo.com> 23272023-04-26 Po Lu <luangruo@yahoo.com>
2486 2328
2487 Make two well known amusements work on Android 2329 * lisp/play/doctor.el (text-conversion-style, doctor-mode):
2488 * lisp/play/doctor.el (text-conversion-style): 2330 * lisp/play/dunnet.el (text-conversion-style, dun-mode): Set
2489 (doctor-mode): 2331 `text-conversion-style' to `action'.
2490 * lisp/play/dunnet.el (text-conversion-style):
2491 (dun-mode): Set `text-conversion-style' to `action'.
2492
2493 Merge remote-tracking branch 'origin/master' into feature/android
2494
24952023-04-25 Po Lu <luangruo@yahoo.com>
2496
2497 Merge remote-tracking branch 'origin/master' into feature/android
2498
24992023-04-24 Po Lu <luangruo@yahoo.com>
2500
2501 Merge remote-tracking branch 'origin/master' into feature/android
2502
25032023-04-23 Po Lu <luangruo@yahoo.com>
2504
2505 Merge remote-tracking branch 'origin/master' into feature/android
2506
25072023-04-22 Po Lu <luangruo@yahoo.com>
2508
2509 Merge remote-tracking branch 'origin/master' into feature/android
2510
25112023-04-21 Po Lu <luangruo@yahoo.com>
2512
2513 Merge remote-tracking branch 'origin/master' into feature/android
2514
25152023-04-20 Po Lu <luangruo@yahoo.com>
2516
2517 Merge remote-tracking branch 'origin/master' into feature/android
2518
25192023-04-19 Po Lu <luangruo@yahoo.com>
2520
2521 Merge remote-tracking branch 'origin/master' into feature/android
2522
25232023-04-18 Po Lu <luangruo@yahoo.com>
2524
2525 Merge remote-tracking branch 'origin/master' into feature/android
2526
25272023-04-17 Po Lu <luangruo@yahoo.com>
2528
2529 Merge remote-tracking branch 'origin/master' into feature/android
2530
25312023-04-16 Po Lu <luangruo@yahoo.com>
2532
2533 Merge remote-tracking branch 'origin/master' into feature/android
2534
25352023-04-15 Po Lu <luangruo@yahoo.com>
2536
2537 Merge remote-tracking branch 'origin/master' into feature/android
2538
25392023-04-14 Po Lu <luangruo@yahoo.com>
2540
2541 Merge remote-tracking branch 'origin/master' into feature/android
2542 2332
25432023-04-13 Po Lu <luangruo@yahoo.com> 23332023-04-13 Po Lu <luangruo@yahoo.com>
2544 2334
2545 Update Android port
2546 * doc/emacs/android.texi (Android Fonts): Update documentation. 2335 * doc/emacs/android.texi (Android Fonts): Update documentation.
2336
2547 * doc/lispref/frames.texi (Accessing Selections, X Selections): 2337 * doc/lispref/frames.texi (Accessing Selections, X Selections):
2548 Fix typos. 2338 Fix typos.
2339
2549 * src/sfntfont-android.c (system_font_directories) 2340 * src/sfntfont-android.c (system_font_directories)
2550 (init_sfntfont_android): Add `/product/fonts'. 2341 (init_sfntfont_android): Add `/product/fonts'.
2551 2342
2552 Merge remote-tracking branch 'origin/master' into feature/android
2553
25542023-04-12 Po Lu <luangruo@yahoo.com>
2555
2556 Merge remote-tracking branch 'origin/master' into feature/android
2557
25582023-04-11 Po Lu <luangruo@yahoo.com>
2559
2560 Merge remote-tracking branch 'origin/master' into feature/android
2561
25622023-04-10 Po Lu <luangruo@yahoo.com>
2563
2564 Merge remote-tracking branch 'origin/master' into feature/android
2565
25662023-04-09 Po Lu <luangruo@yahoo.com>
2567
2568 Merge remote-tracking branch 'origin/master' into feature/android
2569
25702023-04-08 Po Lu <luangruo@yahoo.com> 23432023-04-08 Po Lu <luangruo@yahoo.com>
2571 2344
2572 Merge remote-tracking branch 'origin/master' into feature/android
2573
2574 Document selections on Android more thoroughly
2575 * doc/lispref/elisp.texi (Top): 2345 * doc/lispref/elisp.texi (Top):
2576 * doc/lispref/frames.texi (Frames): Add ``Accessing Selections'' 2346 * doc/lispref/frames.texi (Frames): Add ``Accessing Selections''
2577 to menu. 2347 to menu.
2578 (Accessing Selections, X Selections, Other Selections): New 2348 (Accessing Selections, X Selections, Other Selections): New nodes.
2579 nodes.
2580
25812023-04-07 Po Lu <luangruo@yahoo.com>
2582
2583 Merge remote-tracking branch 'origin/master' into feature/android
2584 2349
25852023-04-06 Po Lu <luangruo@yahoo.com> 23502023-04-06 Po Lu <luangruo@yahoo.com>
2586 2351
2587 Merge remote-tracking branch 'origin/master' into feature/android
2588
25892023-04-06 Po Lu <luangruo@yahoo.com>
2590
2591 Implement `yank-media' on Android
2592 * doc/emacs/android.texi (Android Windowing): Update selection 2352 * doc/emacs/android.texi (Android Windowing): Update selection
2593 restrictions. 2353 restrictions.
2354
2594 * java/org/gnu/emacs/EmacsClipboard.java (EmacsClipboard): New 2355 * java/org/gnu/emacs/EmacsClipboard.java (EmacsClipboard): New
2595 functions `getClipboardTargets' and `getClipboardData'. 2356 functions `getClipboardTargets' and `getClipboardData'.
2357
2596 * java/org/gnu/emacs/EmacsSdk11Clipboard.java 2358 * java/org/gnu/emacs/EmacsSdk11Clipboard.java
2597 (EmacsSdk11Clipboard, getClipboardTargets, getClipboardData): 2359 (EmacsSdk11Clipboard, getClipboardTargets, getClipboardData):
2598 Implement. 2360 Implement these virtual functions defined in EmacsClipboard.
2361
2599 * java/org/gnu/emacs/EmacsSdk8Clipboard.java: Stub out new 2362 * java/org/gnu/emacs/EmacsSdk8Clipboard.java: Stub out new
2600 functions. 2363 functions.
2601 2364
2602 * lisp/term/android-win.el (android-get-clipboard-1): Implement 2365 * lisp/term/android-win.el (android-get-clipboard-1): Implement
2603 MIME type targets. 2366 MIME type targets.
2367
2604 * src/android.c (android_exception_check) 2368 * src/android.c (android_exception_check)
2605 (android_exception_check_1, android_exception_check_2): Fix 2369 (android_exception_check_1, android_exception_check_2): Fix
2606 punctuation in warning message. 2370 punctuation in warning message.
2607 (android_exception_check_nonnull_1): New function. 2371 (android_exception_check_nonnull_1): New function.
2372
2608 * src/android.h: Update prototypes. 2373 * src/android.h: Update prototypes.
2374
2609 * src/androidselect.c (struct android_emacs_clipboard): New 2375 * src/androidselect.c (struct android_emacs_clipboard): New
2610 methods. 2376 methods.
2611 (android_init_emacs_clipboard): Initialize new methods. 2377 (android_init_emacs_clipboard): Initialize new methods.
@@ -2613,58 +2379,24 @@
2613 (Fandroid_get_clipboard_data): New functions. 2379 (Fandroid_get_clipboard_data): New functions.
2614 (syms_of_androidselect): Define new subrs. 2380 (syms_of_androidselect): Define new subrs.
2615 2381
26162023-04-05 Po Lu <luangruo@yahoo.com>
2617
2618 Merge remote-tracking branch 'origin/master' into feature/android
2619
26202023-04-04 Po Lu <luangruo@yahoo.com> 23822023-04-04 Po Lu <luangruo@yahoo.com>
2621 2383
2622 * lisp/subr.el (read-char-from-minibuffer): Fix typo.
2623
2624 Update Android port
2625 * lisp/subr.el (read-char-from-minibuffer): Don't use undefined 2384 * lisp/subr.el (read-char-from-minibuffer): Don't use undefined
2626 variable. Reported by Robert Pluim. 2385 variable. Reported by Robert Pluim.
2627 2386
2628 Merge remote-tracking branch 'origin/master' into feature/android
2629
26302023-04-03 Po Lu <luangruo@yahoo.com> 23872023-04-03 Po Lu <luangruo@yahoo.com>
2631 2388
2632 Merge remote-tracking branch 'origin/master' into feature/android
2633
2634 ; * src/androidselect.c (Fandroid_clipboard_exists_p): Add check.
2635
2636 Update Android port
2637 * src/sfnt.c (sfnt_normalize_vector): Don't rely on undefined 2389 * src/sfnt.c (sfnt_normalize_vector): Don't rely on undefined
2638 sign extension semantics. 2390 sign extension semantics.
2639 2391
2640 Merge remote-tracking branch 'origin/master' into feature/android
2641
26422023-04-02 Po Lu <luangruo@yahoo.com>
2643
2644 Merge remote-tracking branch 'origin/master' into feature/android
2645
26462023-04-01 Po Lu <luangruo@yahoo.com>
2647
2648 Merge remote-tracking branch 'origin/master' into feature/android
2649
2650 Merge remote-tracking branch 'origin/master' into feature/android
2651
2652 Merge remote-tracking branch 'origin/master' into feature/android
2653
26542023-03-31 Po Lu <luangruo@yahoo.com>
2655
2656 Merge remote-tracking branch 'origin/master' into feature/android
2657
26582023-03-30 Po Lu <luangruo@yahoo.com> 23922023-03-30 Po Lu <luangruo@yahoo.com>
2659 2393
2660 Tweak outline cache stuff
2661 * src/sfntfont.c: Adjust font cache size constants. 2394 * src/sfntfont.c: Adjust font cache size constants.
2662 2395
2663 * src/sfnt.c (GETINFO): Fix typo. 2396 * src/sfnt.c (GETINFO): Fix typo.
2664 2397
2665 * src/sfnt.h: Fix typo. 2398 * src/sfnt.h: Fix typo.
2666 2399
2667 Update Android port
2668 * src/sfnt.c (sfnt_make_interpreter): New argument `fvar'. Set 2400 * src/sfnt.c (sfnt_make_interpreter): New argument `fvar'. Set
2669 axis count. 2401 axis count.
2670 (SCANCTRL): Implement selector bit 8. 2402 (SCANCTRL): Implement selector bit 8.
@@ -2677,72 +2409,50 @@
2677 (sfnt_vary_interpreter): Set naxis and norm_coords. 2409 (sfnt_vary_interpreter): Set naxis and norm_coords.
2678 (sfnt_make_test_interpreter, pushb_test_args, pushw_test_args) 2410 (sfnt_make_test_interpreter, pushb_test_args, pushw_test_args)
2679 (sfnt_name_instruction, main): Adjust accordingly. 2411 (sfnt_name_instruction, main): Adjust accordingly.
2680 * src/sfnt.h (struct sfnt_interpreter, PROTOTYPE):
2681 * src/sfntfont.c (sfntfont_setup_interpreter, sfntfont_open):
2682 Set up distortion information.
2683 2412
2684 Merge remote-tracking branch 'origin/master' into feature/android 2413 * src/sfnt.h (struct sfnt_interpreter):
2414 * src/sfntfont.c (sfntfont_setup_interpreter, sfntfont_open): Set
2415 up distortion information.
2685 2416
26862023-03-29 Po Lu <luangruo@yahoo.com> 24172023-03-29 Po Lu <luangruo@yahoo.com>
2687 2418
2688 Improve rules for enumerating user fonts
2689 * doc/emacs/android.texi (Android Fonts): Document distortable 2419 * doc/emacs/android.texi (Android Fonts): Document distortable
2690 font replacement rules. 2420 font replacement rules.
2421
2691 * src/sfntfont.c (sfnt_replace_fonts_p): New function. 2422 * src/sfntfont.c (sfnt_replace_fonts_p): New function.
2692 (sfnt_enum_font_1): Call it. 2423 (sfnt_enum_font_1): Call it.
2693 2424
2694 Fix optimized move functions 2425 * src/sfnt.c (sfnt_move_x, sfnt_move_y, sfnt_move): Set N flags
2695 * src/sfnt.c (sfnt_move_x): 2426 and don't forget to set N points too.
2696 (sfnt_move_y): 2427 (sfnt_read_avar_table): Fix sequencing problem.
2697 (sfnt_move): Set N flags and don't forget to
2698 set N points too.
2699
2700 * src/sfnt.c (sfnt_read_avar_table): Fix sequencing problem.
2701
2702 Merge remote-tracking branch 'origin/master' into feature/android
2703 2428
2704 Update Android port
2705 * src/sfntfont.c (sfntfont_setup_interpreter): Don't create 2429 * src/sfntfont.c (sfntfont_setup_interpreter): Don't create
2706 interpreter for blatently broken fonts. 2430 interpreter for blatently broken fonts.
2431 (sfntfont_open): Avoid specifying redundant blends.
2707 2432
2708 Update Android port
2709 * src/sfntfont.c (sfntfont_open): Avoid specifying redundant
2710 blends.
2711
2712 Merge remote-tracking branch 'origin/master' into feature/android
2713
2714 Update Android port
2715 * src/sfnt.c (sfnt_validate_gs): Fix validation of projection 2433 * src/sfnt.c (sfnt_validate_gs): Fix validation of projection
2716 vector. 2434 vector.
2717 2435
27182023-03-28 Po Lu <luangruo@yahoo.com> 24362023-03-28 Po Lu <luangruo@yahoo.com>
2719 2437
2720 Update Android port
2721 * src/sfnt.c (sfnt_vary_compound_glyph): 2438 * src/sfnt.c (sfnt_vary_compound_glyph):
2722 * src/sfntfont.c (sfntfont_get_glyph) 2439 * src/sfntfont.c (sfntfont_get_glyph)
2723 (sfntfont_get_glyph_outline): Avoid clobbering offset size flag 2440 (sfntfont_get_glyph_outline): Avoid clobbering offset size flag
2724 when varying compound glyph. 2441 when varying compound glyph.
2725 2442
2726 Update Android port
2727 * src/sfnt.c (sfnt_vary_simple_glyph, sfnt_vary_compound_glyph): 2443 * src/sfnt.c (sfnt_vary_simple_glyph, sfnt_vary_compound_glyph):
2728 Fix application of intermediate tuples. 2444 Fix application of intermediate tuples.
2729 * src/sfntfont.c (sfntfont_open): Set xlfd name after applying 2445 * src/sfntfont.c (sfntfont_open): Set xlfd name after applying
2730 distortion. 2446 distortion.
2731 2447
2732 Correctly round lbearing values
2733 * src/sfnt.h (SFNT_ROUND_FIXED): 2448 * src/sfnt.h (SFNT_ROUND_FIXED):
2734 * src/sfntfont.c (sfntfont_probe_widths): 2449 * src/sfntfont.c (sfntfont_probe_widths):
2735 (sfntfont_measure_pcm): Round lbearing properly. 2450 (sfntfont_measure_pcm): Round lbearing properly.
2451 (sfnt_open_tables): Fix typos in non-HarfBuzz code.
2736 2452
2737 Update Android port
2738 * src/sfntfont.c (sfnt_open_tables): Fix typos in non-HarfBuzz
2739 code.
2740
2741 Merge remote-tracking branch 'origin/master' into feature/android
2742
2743 Update Android port
2744 * src/androidterm.c (android_draw_image_glyph_string): Restore 2453 * src/androidterm.c (android_draw_image_glyph_string): Restore
2745 potentially clobbered GC clipping. 2454 potentially clobbered GC clipping.
2455
2746 * src/sfnt.c (sfnt_large_integer_add, sfnt_multiply_divide_round) 2456 * src/sfnt.c (sfnt_large_integer_add, sfnt_multiply_divide_round)
2747 (sfnt_mul_fixed_round): New functions. 2457 (sfnt_mul_fixed_round): New functions.
2748 (sfnt_build_glyph_outline): Take unscaled glyph metrics. 2458 (sfnt_build_glyph_outline): Take unscaled glyph metrics.
@@ -2750,24 +2460,24 @@
2750 (sfnt_vary_compound_glyph, sfnt_vary_interpreter): Use rounding 2460 (sfnt_vary_compound_glyph, sfnt_vary_interpreter): Use rounding
2751 multiplication to scale deltas. 2461 multiplication to scale deltas.
2752 (main): Adjust tests. 2462 (main): Adjust tests.
2463
2753 * src/sfntfont.c (sfntfont_get_glyph_outline) 2464 * src/sfntfont.c (sfntfont_get_glyph_outline)
2754 (sfntfont_probe_widths, sfntfont_open, sfntfont_measure_pcm) 2465 (sfntfont_probe_widths, sfntfont_open, sfntfont_measure_pcm)
2755 (sfntfont_draw): More minor fixes to variable fonts. 2466 (sfntfont_draw): More minor fixes to variable fonts.
2756 2467
27572023-03-27 Po Lu <luangruo@yahoo.com> 24682023-03-27 Po Lu <luangruo@yahoo.com>
2758 2469
2759 Update Android port
2760 * src/sfnt.c (sfnt_normalize_blend): Don't crash when axis 2470 * src/sfnt.c (sfnt_normalize_blend): Don't crash when axis
2761 variations are not present. 2471 variations are not present.
2762 2472
2763 Merge remote-tracking branch 'origin/master' into feature/android
2764
2765 Update Android port
2766 * configure.ac (HAVE_OTF_GET_VARIATION_GLYPHS): Check for 2473 * configure.ac (HAVE_OTF_GET_VARIATION_GLYPHS): Check for
2767 `hb_font_set_var_named_instance'. 2474 `hb_font_set_var_named_instance'.
2475
2768 * src/sfnt.c (main): Update tests. 2476 * src/sfnt.c (main): Update tests.
2477
2769 * src/sfntfont-android.c (Fandroid_enumerate_fonts): Blacklist 2478 * src/sfntfont-android.c (Fandroid_enumerate_fonts): Blacklist
2770 bad font. 2479 bad font.
2480
2771 * src/sfntfont.c (struct sfnt_font_tables, struct sfnt_font_desc) 2481 * src/sfntfont.c (struct sfnt_font_tables, struct sfnt_font_desc)
2772 (sfnt_decode_instance_name, sfnt_weight_descriptions) 2482 (sfnt_decode_instance_name, sfnt_weight_descriptions)
2773 (sfnt_enum_font_1, sfntfont_list_1, sfntfont_desc_to_entity) 2483 (sfnt_enum_font_1, sfntfont_list_1, sfntfont_desc_to_entity)
@@ -2778,24 +2488,22 @@
2778 (sfntfont_draw, sfntfont_begin_hb_font, syms_of_sfntfont) 2488 (sfntfont_draw, sfntfont_begin_hb_font, syms_of_sfntfont)
2779 (mark_sfntfont): Handle variable fonts correctly. 2489 (mark_sfntfont): Handle variable fonts correctly.
2780 2490
2781 Refactor sfntfont.c
2782 * src/sfnt.c (sfnt_build_glyph_outline): Take scale, not head 2491 * src/sfnt.c (sfnt_build_glyph_outline): Take scale, not head
2783 and pixel size. 2492 and pixel size.
2784 (sfnt_scale_metrics_to_pixel_size): Delete function. 2493 (sfnt_scale_metrics_to_pixel_size): Delete function.
2785 (sfnt_get_scale): New function. 2494 (sfnt_get_scale): New function.
2786 (main): Update tests. 2495 (main): Update tests.
2787 * src/sfnt.h (PROTOTYPE): Update prototypes. 2496
2497 * src/sfnt.h: Update prototypes.
2498
2788 * src/sfntfont.c (struct sfnt_outline_cache) 2499 * src/sfntfont.c (struct sfnt_outline_cache)
2789 (sfntfont_get_glyph_outline, struct sfnt_font_info) 2500 (sfntfont_get_glyph_outline, struct sfnt_font_info)
2790 (sfntfont_open): Save scale in font information and use it. 2501 (sfntfont_open): Save scale in font information and use it.
2791 (sfntfont_measure_instructed_pcm): Delete function. 2502 (sfntfont_measure_instructed_pcm): Delete function.
2792 (sfntfont_measure_pcm): Make this the only ``measure pcm'' 2503 (sfntfont_measure_pcm): Make this the only ``measure pcm''
2793 function. 2504 function.
2794 (sfntfont_draw): Rely on sfntfont_get_glyph_outline for the 2505 (sfntfont_draw): Rely on sfntfont_get_glyph_outline for the scale.
2795 scale. 2506 (struct sfnt_font_tables): New structure.
2796
2797 Refactor sfntfont.c
2798 * src/sfntfont.c (struct sfnt_font_tables): New structure.
2799 (struct sfnt_font_desc): New field `tables'. 2507 (struct sfnt_font_desc): New field `tables'.
2800 (struct sfnt_font_info): New field `desc'. 2508 (struct sfnt_font_info): New field `desc'.
2801 (sfntfont_setup_interpreter): Drop fd arguments and don't try to 2509 (sfntfont_setup_interpreter): Drop fd arguments and don't try to
@@ -2808,11 +2516,6 @@
2808 2516
28092023-03-26 Po Lu <luangruo@yahoo.com> 25172023-03-26 Po Lu <luangruo@yahoo.com>
2810 2518
2811 Merge remote-tracking branch 'origin/master' into feature/android
2812
28132023-03-26 Po Lu <luangruo@yahoo.com>
2814
2815 Update Android port
2816 * src/sfnt.c (sfnt_table_names): Add avar. 2519 * src/sfnt.c (sfnt_table_names): Add avar.
2817 (sfnt_read_glyph): Clear distortion fields. 2520 (sfnt_read_glyph): Clear distortion fields.
2818 (sfnt_build_glyph_outline): Calculate the outline origin point. 2521 (sfnt_build_glyph_outline): Calculate the outline origin point.
@@ -2837,40 +2540,25 @@
2837 (struct sfnt_test_dcontext, sfnt_test_get_glyph, main): Test 2540 (struct sfnt_test_dcontext, sfnt_test_get_glyph, main): Test
2838 distortable font handling. 2541 distortable font handling.
2839 2542
2840 * src/sfnt.h (SFNT_ENABLE_HINTING): 2543 * src/sfnt.h (SFNT_ENABLE_HINTING, enum sfnt_table)
2841 (enum sfnt_table): 2544 (struct sfnt_glyph, struct sfnt_glyph_outline, struct sfnt_raster)
2842 (struct sfnt_glyph): 2545 (struct sfnt_default_uvs_table, struct sfnt_unicode_value_range)
2843 (struct sfnt_glyph_outline): 2546 (struct sfnt_nondefault_uvs_table, struct sfnt_uvs_mapping)
2844 (struct sfnt_raster): 2547 (struct sfnt_mapped_variation_selector_record)
2845 (struct sfnt_default_uvs_table): 2548 (struct sfnt_table_offset_rec, struct sfnt_uvs_context)
2846 (struct sfnt_unicode_value_range): 2549 (struct sfnt_mapped_table, struct sfnt_variation_axis)
2847 (struct sfnt_nondefault_uvs_table): 2550 (struct sfnt_instance, struct sfnt_fvar_table)
2848 (struct sfnt_uvs_mapping): 2551 (struct sfnt_short_frac_correspondence)
2849 (struct sfnt_mapped_variation_selector_record): 2552 (struct sfnt_short_frac_segment, struct sfnt_avar_table)
2850 (struct sfnt_table_offset_rec): 2553 (struct sfnt_tuple_variation, struct sfnt_cvar_table)
2851 (struct sfnt_uvs_context): 2554 (struct sfnt_gvar_table, struct sfnt_blend)
2852 (struct sfnt_mapped_table): 2555 (struct sfnt_metrics_distortion): Update prototypes.
2853 (struct sfnt_variation_axis): 2556
2854 (struct sfnt_instance): 2557 * src/sfntfont.c (sfntfont_get_glyph_outline)
2855 (struct sfnt_fvar_table):
2856 (struct sfnt_short_frac_correspondence):
2857 (struct sfnt_short_frac_segment):
2858 (struct sfnt_avar_table):
2859 (struct sfnt_tuple_variation):
2860 (struct sfnt_cvar_table):
2861 (struct sfnt_gvar_table):
2862 (struct sfnt_blend):
2863 (struct sfnt_metrics_distortion):
2864 (PROTOTYPE): Update prototypes.
2865
2866 * src/sfntfont.c (sfntfont_get_glyph_outline):
2867 (sfntfont_measure_pcm): Adjust calls. 2558 (sfntfont_measure_pcm): Adjust calls.
2868 2559
28692023-03-24 Po Lu <luangruo@yahoo.com> 25602023-03-24 Po Lu <luangruo@yahoo.com>
2870 2561
2871 Merge remote-tracking branch 'origin/master' into feature/android
2872
2873 Update Android port
2874 * src/sfnt.c (sfnt_table_names): Add fvar, gvar, cvar. 2562 * src/sfnt.c (sfnt_table_names): Add fvar, gvar, cvar.
2875 (sfnt_read_maxp_table): Call xmalloc, not malloc. 2563 (sfnt_read_maxp_table): Call xmalloc, not malloc.
2876 (sfnt_read_simple_glyph): Avoid use-after-free if simple is 2564 (sfnt_read_simple_glyph): Avoid use-after-free if simple is
@@ -2887,6 +2575,7 @@
2887 (sfnt_read_packed_points, sfnt_read_packed_deltas) 2575 (sfnt_read_packed_points, sfnt_read_packed_deltas)
2888 (sfnt_compute_tuple_scale, sfnt_infer_deltas_1, sfnt_infer_deltas) 2576 (sfnt_compute_tuple_scale, sfnt_infer_deltas_1, sfnt_infer_deltas)
2889 (sfnt_vary_glyph): Add WIP variation glyph implementation. 2577 (sfnt_vary_glyph): Add WIP variation glyph implementation.
2578
2890 * src/sfnt.h (enum sfnt_table, struct sfnt_simple_glyph): 2579 * src/sfnt.h (enum sfnt_table, struct sfnt_simple_glyph):
2891 Likewise. 2580 Likewise.
2892 2581
@@ -2894,14 +2583,14 @@
2894 2583
2895 * java/INSTALL: Fix typo. 2584 * java/INSTALL: Fix typo.
2896 2585
2897 Merge remote-tracking branch 'origin/master' into feature/android
2898
2899 Update Android port
2900 * configure.ac: Add support for HarfBuzz on Android. 2586 * configure.ac: Add support for HarfBuzz on Android.
2587
2901 * java/INSTALL: Document where to get Emacs with HarfBuzz. 2588 * java/INSTALL: Document where to get Emacs with HarfBuzz.
2589
2902 * lisp/subr.el (overriding-text-conversion-style, y-or-n-p): 2590 * lisp/subr.el (overriding-text-conversion-style, y-or-n-p):
2903 Correctly set text conversion style if y-or-n-p is called inside 2591 Correctly set text conversion style if y-or-n-p is called inside
2904 the minibuffer. 2592 the minibuffer.
2593
2905 * src/sfnt.c (sfnt_read_cmap_format_8) 2594 * src/sfnt.c (sfnt_read_cmap_format_8)
2906 (sfnt_read_cmap_format_12): Fix typos. 2595 (sfnt_read_cmap_format_12): Fix typos.
2907 (sfnt_read_24, sfnt_read_cmap_format_14): New function. 2596 (sfnt_read_24, sfnt_read_cmap_format_14): New function.
@@ -2913,6 +2602,7 @@
2913 (sfnt_variation_glyph_for_char, sfnt_map_table, sfnt_unmap_table) 2602 (sfnt_variation_glyph_for_char, sfnt_map_table, sfnt_unmap_table)
2914 (sfnt_read_table, sfnt_test_uvs): New functions. 2603 (sfnt_read_table, sfnt_test_uvs): New functions.
2915 (main): Add UVS tests. 2604 (main): Add UVS tests.
2605
2916 * src/sfnt.h (struct sfnt_cmap_format_14) 2606 * src/sfnt.h (struct sfnt_cmap_format_14)
2917 (struct sfnt_variation_selector_record) 2607 (struct sfnt_variation_selector_record)
2918 (struct sfnt_default_uvs_table, struct sfnt_unicode_value_range) 2608 (struct sfnt_default_uvs_table, struct sfnt_unicode_value_range)
@@ -2920,8 +2610,10 @@
2920 (struct sfnt_mapped_variation_selector_record) 2610 (struct sfnt_mapped_variation_selector_record)
2921 (struct sfnt_table_offset_rec, struct sfnt_uvs_context) 2611 (struct sfnt_table_offset_rec, struct sfnt_uvs_context)
2922 (struct sfnt_mapped_table): New structures. Update prototypes. 2612 (struct sfnt_mapped_table): New structures. Update prototypes.
2613
2923 * src/sfntfont-android.c (android_sfntfont_driver): Register 2614 * src/sfntfont-android.c (android_sfntfont_driver): Register
2924 HarfBuzz callbacks where required. 2615 HarfBuzz callbacks where required.
2616
2925 * src/sfntfont.c (sfntfont_select_cmap): Look for a format 14 2617 * src/sfntfont.c (sfntfont_select_cmap): Look for a format 14
2926 table. Save it in new arg FORMAT14. 2618 table. Save it in new arg FORMAT14.
2927 (sfntfont_read_cmap): Adjust accordingly. 2619 (sfntfont_read_cmap): Adjust accordingly.
@@ -2935,87 +2627,75 @@
2935 (sfntfont_get_variation_glyphs): New function. 2627 (sfntfont_get_variation_glyphs): New function.
2936 (sfntfont_unmap_blob, sfntfont_get_font_table) 2628 (sfntfont_unmap_blob, sfntfont_get_font_table)
2937 (sfntfont_begin_hb_font): New functions. 2629 (sfntfont_begin_hb_font): New functions.
2938 * src/sfntfont.h: Update prototypes.
2939 * src/textconv.c (Fset_text_conversion_style): Fix doc string.
2940 2630
29412023-03-19 Po Lu <luangruo@yahoo.com> 2631 * src/sfntfont.h: Update prototypes.
2942 2632
2943 Merge remote-tracking branch 'origin/master' into feature/android 2633 * src/textconv.c (Fset_text_conversion_style): Fix doc string.
2944 2634
29452023-03-18 Po Lu <luangruo@yahoo.com> 26352023-03-18 Po Lu <luangruo@yahoo.com>
2946 2636
2947 Update Android port
2948 * java/org/gnu/emacs/EmacsView.java (onAttachedToWindow): Send 2637 * java/org/gnu/emacs/EmacsView.java (onAttachedToWindow): Send
2949 measured width and height in exposures again. 2638 measured width and height in exposures again.
2950 2639
2951 Merge remote-tracking branch 'origin/master' into feature/android
2952
2953 Remove extraneous debugging code
2954 * src/androidterm.c (handle_one_android_event): Don't log expose 2640 * src/androidterm.c (handle_one_android_event): Don't log expose
2955 events. 2641 events.
2956 2642
2957 Work around pselect lossage on Android
2958 * src/android.c (android_run_select_thread): New flag. Use it 2643 * src/android.c (android_run_select_thread): New flag. Use it
2959 rather than the rc of pselect and errno to determine whether or 2644 rather than the rc of pselect and errno to determine whether or
2960 not it has been interrupted. 2645 not it has been interrupted.
2961 (android_handle_sigusr1): Set said flag. 2646 (android_handle_sigusr1): Set said flag.
2962 2647
2963 Update Android port 2648 * java/org/gnu/emacs/EmacsView.java (prepareForLayout): New
2964 * java/org/gnu/emacs/EmacsView.java (EmacsView) 2649 function. Call this prior to mapping the view.
2965 (prepareForLayout): New function. Call this prior to mapping
2966 the view.
2967 (onGlobalLayout): New function. Register as global layout 2650 (onGlobalLayout): New function. Register as global layout
2968 listener. 2651 listener.
2652
2969 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow) 2653 * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
2970 (notifyContentRectPosition): New function. Use specified 2654 (notifyContentRectPosition): New function. Use specified
2971 xPosition and yPosition when reporting the offsets of children 2655 xPosition and yPosition when reporting the offsets of children of
2972 of the root window. 2656 the root window.
2657
2973 * java/org/gnu/emacs/EmacsWindowAttachmentManager.java 2658 * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
2974 (registerWindow): Specify activity launch bounds if necessary. 2659 (registerWindow): Specify activity launch bounds if necessary.
2660
2975 * src/androidterm.c (handle_one_android_event): Send 2661 * src/androidterm.c (handle_one_android_event): Send
2976 MOVE_FRAME_EVENT where necessary. 2662 MOVE_FRAME_EVENT where necessary.
2977 2663
29782023-03-17 Po Lu <luangruo@yahoo.com> 26642023-03-17 Po Lu <luangruo@yahoo.com>
2979 2665
2980 Merge remote-tracking branch 'origin/master' into feature/android
2981
2982 Include more information in Android bug reports
2983 * src/androidfns.c (Fx_server_vendor, Fx_server_version): New 2666 * src/androidfns.c (Fx_server_vendor, Fx_server_version): New
2984 functions. 2667 functions.
2985 (syms_of_androidfns): Define new functions. 2668 (syms_of_androidfns): Define new functions.
2669
2986 * src/androidterm.c (android_set_build_fingerprint) 2670 * src/androidterm.c (android_set_build_fingerprint)
2987 (syms_of_androidterm): Set new variable 2671 (syms_of_androidterm): Set new variable
2988 Vandroid_build_manufacturer. 2672 Vandroid_build_manufacturer.
2673
2989 * src/xfns.c (Fx_server_vendor, Fx_server_version): Update doc 2674 * src/xfns.c (Fx_server_vendor, Fx_server_version): Update doc
2990 strings. 2675 strings.
2991 2676
2992 Fix WINDOWSNT build of fileio.c and image.c
2993 * src/fileio.c (emacs_fd_to_int): Don't define on WINDOWSNT. 2677 * src/fileio.c (emacs_fd_to_int): Don't define on WINDOWSNT.
2678
2994 * src/image.c (image_create_bitmap_from_data): Don't abort if 2679 * src/image.c (image_create_bitmap_from_data): Don't abort if
2995 !defined HAVE_ANDROID. 2680 !defined HAVE_ANDROID.
2996 2681
2997 Update Android port
2998 * configure.ac: 2682 * configure.ac:
2999 * m4/ndk-build.m4 (ndk_INIT): 2683 * m4/ndk-build.m4 (ndk_INIT, ndk_LATE): Avoid AC_REQUIRE magic.
3000 (ndk_LATE): Avoid AC_REQUIRE magic.
3001
3002 Merge remote-tracking branch 'origin/master' into feature/android
3003 2684
3004 Improve radio button appearance in Android menus 2685 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu): New
3005 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu): 2686 field `lastGroupId'.
3006 New field `lastGroupId'.
3007 (Item): New field `isRadio'. 2687 (Item): New field `isRadio'.
3008 (addItem): New arg `isRadio'. 2688 (addItem): New arg `isRadio'.
3009 (inflateMenuItems): Apply an empty radio button group if 2689 (inflateMenuItems): Apply an empty radio button group if required.
3010 required. 2690
3011 * src/androidmenu.c (android_init_emacs_context_menu): Adjust 2691 * src/androidmenu.c (android_init_emacs_context_menu): Adjust
3012 accordingly. 2692 accordingly.
3013 (android_menu_show): Likewise. 2693 (android_menu_show): Likewise.
3014 2694
3015 Update Android port
3016 * java/org/gnu/emacs/EmacsView.java (cancelPopupMenu): Dismiss 2695 * java/org/gnu/emacs/EmacsView.java (cancelPopupMenu): Dismiss
3017 context menu correctly. 2696 context menu correctly.
3018 (isOpaque): New function. 2697 (isOpaque): New function.
2698
3019 * java/org/gnu/emacs/EmacsWindowAttachmentManager.java: Make 2699 * java/org/gnu/emacs/EmacsWindowAttachmentManager.java: Make
3020 consumer list public. 2700 consumer list public.
3021 2701
@@ -3023,16 +2703,12 @@
3023 2703
30242023-03-16 Po Lu <luangruo@yahoo.com> 27042023-03-16 Po Lu <luangruo@yahoo.com>
3025 2705
3026 Merge remote-tracking branch 'origin/master' into feature/android
3027
3028 Update Android port
3029 * lisp/frame.el (android-detect-mouse): 2706 * lisp/frame.el (android-detect-mouse):
3030 * lisp/term/android-win.el (android-get-connection): Add 2707 * lisp/term/android-win.el (android-get-connection): Add function
3031 function declarations. 2708 declarations.
3032 2709
3033 * configure.ac: Remove unnecessary escape. 2710 * configure.ac: Remove unnecessary escape.
3034 2711
3035 Make ANDROID_CC and SDK_BUILD_TOOLS precious variables
3036 * configure.ac (AUTO_DEPEND, ANDROID_STUBIFY, ANDROID_LDFLAGS): 2712 * configure.ac (AUTO_DEPEND, ANDROID_STUBIFY, ANDROID_LDFLAGS):
3037 * lib/Makefile.in (ANDROID_CFLAGS, ANDROID_BUILD_CFLAGS) 2713 * lib/Makefile.in (ANDROID_CFLAGS, ANDROID_BUILD_CFLAGS)
3038 (ALL_CFLAGS): 2714 (ALL_CFLAGS):
@@ -3043,194 +2719,168 @@
3043 variables precious. Rename ANDROID_CFLAGS substitution to 2719 variables precious. Rename ANDROID_CFLAGS substitution to
3044 ANDROID_BUILD_CFLAGS. 2720 ANDROID_BUILD_CFLAGS.
3045 2721
3046 Update Android port
3047 * nt/mingw-cfg.site: Suppress build of gnulib printf. 2722 * nt/mingw-cfg.site: Suppress build of gnulib printf.
3048 2723
3049 Update Android port
3050 * java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots): Add 2724 * java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots): Add
3051 icon to document root. 2725 icon to document root.
3052 2726
3053 Update Android port 2727 * lisp/loadup.el (current-load-list): Set to empty load list after
3054 * lisp/loadup.el (current-load-list): Set to empty load list 2728 startup.
3055 after startup.
3056 * src/lread.c (build_load_history): Revert earlier changes. 2729 * src/lread.c (build_load_history): Revert earlier changes.
3057 2730
3058 Merge remote-tracking branch 'origin/master' into feature/android
3059
30602023-03-15 Po Lu <luangruo@yahoo.com> 27312023-03-15 Po Lu <luangruo@yahoo.com>
3061 2732
3062 Update Android port
3063 * configure.ac: Improve portability. 2733 * configure.ac: Improve portability.
3064 2734
3065 Merge remote-tracking branch 'origin/master' into feature/android
3066
30672023-03-15 Robert Pluim <rpluim@gmail.com> 27352023-03-15 Robert Pluim <rpluim@gmail.com>
3068 2736
3069 Fix typos in Android port
3070 * src/fileio.c (Finsert_file_contents): 2737 * src/fileio.c (Finsert_file_contents):
3071 * src/window.c (replace_buffer_in_windows): Call Fboundp, not 2738 * src/window.c (replace_buffer_in_windows): Call Fboundp, not
3072 boundp. 2739 boundp.
3073 2740
30742023-03-15 Po Lu <luangruo@yahoo.com> 27412023-03-15 Po Lu <luangruo@yahoo.com>
3075 2742
3076 Update Android port 2743 * cross/Makefile.in (lib/gnulib.mk): Edit out build-aux stuff.
3077 * cross/Makefile.in (lib/gnulib.mk): Edit out
3078 build-aux stuff.
3079 * m4/ndk-build.m4: Also look for cross ranlib. 2744 * m4/ndk-build.m4: Also look for cross ranlib.
3080 2745
3081 * src/sfntfont.c (sfntfont_close): Fix warning w/o mmap. 2746 * src/sfntfont.c (sfntfont_close): Fix warning w/o mmap.
3082 2747
3083 Port to systems without endian.h 2748 * lib-src/asset-directory-tool.c (main_2): Port to systems without
3084 * lib-src/asset-directory-tool.c (main_2): Port to systems 2749 htole32.
3085 without htole32.
3086 2750
30872023-03-15 Po Lu <luangruo@yahoo.com> 27512023-03-15 Po Lu <luangruo@yahoo.com>
3088 2752
3089 Update Android port
3090 * configure.ac (XCONFIGURE): Disable NS. 2753 * configure.ac (XCONFIGURE): Disable NS.
3091 * cross/Makefile.in (lib-src/config.h):
3092 2754
3093 (lib/libgnu.a): 2755 * cross/Makefile.in (lib-src/config.h, lib/libgnu.a)
3094 (src/android-emacs): Port sed invocation to Mac OS without GNU 2756 (src/android-emacs): Port sed invocation to Mac OS without GNU
3095 sed. 2757 sed.
3096 2758
30972023-03-15 Po Lu <luangruo@yahoo.com> 27592023-03-15 Po Lu <luangruo@yahoo.com>
3098 2760
3099 Update Android port
3100 * doc/lispref/commands.texi (Misc Events): Document variable 2761 * doc/lispref/commands.texi (Misc Events): Document variable
3101 `disable-inhibit-text-conversion'. 2762 `disable-inhibit-text-conversion'.
3102 * java/org/gnu/emacs/EmacsDialog.java (display1): Try an 2763
3103 activity that is certain to be focused first. 2764 * java/org/gnu/emacs/EmacsDialog.java (display1): Try an activity
2765 that is certain to be focused first.
2766
3104 * lisp/touch-screen.el (touch-screen-track-tap) 2767 * lisp/touch-screen.el (touch-screen-track-tap)
3105 (touch-screen-track-drag): Bind 2768 (touch-screen-track-drag): Bind `disable-inhibit-text-conversion'.
3106 `disable-inhibit-text-conversion'. 2769
3107 * src/keyboard.c (read_key_sequence): Only disable text 2770 * src/keyboard.c (read_key_sequence): Only disable text conversion
3108 conversion if an actual function or numeric key is found in the 2771 if an actual function or numeric key is found in the key sequence.
3109 key sequence.
3110 (syms_of_keyboard): New variable 2772 (syms_of_keyboard): New variable
3111 `disable-inhibit-text-conversion'. 2773 `disable-inhibit-text-conversion'.
2774
3112 * src/lread.c (read_filtered_event): Check new variable. 2775 * src/lread.c (read_filtered_event): Check new variable.
2776
3113 * src/textconv.c (textconv_query): Remove unused label. 2777 * src/textconv.c (textconv_query): Remove unused label.
3114 2778
3115 Omit gnulib modules added by Android port on MinGW
3116 * nt/gnulib-cfg.mk: Omit new gnulib modules. 2779 * nt/gnulib-cfg.mk: Omit new gnulib modules.
3117 2780
31182023-03-14 Po Lu <luangruo@yahoo.com> 27812023-03-14 Po Lu <luangruo@yahoo.com>
3119 2782
3120 Update Android port 2783 * lisp/minibuffer.el (minibuffer-setup-on-screen-keyboard): Handle
3121 * lisp/minibuffer.el (minibuffer-setup-on-screen-keyboard): 2784 cases where last-event-frame is a kbd macro.
3122 Handle cases where last-event-frame is a kbd macro.
3123 * src/keyboard.c (lispy_function_keys): Remove duplicates. 2785 * src/keyboard.c (lispy_function_keys): Remove duplicates.
3124 2786
3125 Fix the MS-DOS build
3126 * msdos/sed1v2.inp: 2787 * msdos/sed1v2.inp:
3127 * msdos/sed3v2.inp: 2788 * msdos/sed3v2.inp:
3128 * msdos/sedlibcf.inp: 2789 * msdos/sedlibcf.inp:
3129 * msdos/sedlibmk.inp: Update for Android port and new Gnulib 2790 * msdos/sedlibmk.inp: Update for Android port and new Gnulib
3130 modules. 2791 modules.
3131 2792
3132 Update Android port 2793 * java/org/gnu/emacs/EmacsWindow.java (figureChange): Detect mice
3133 * java/org/gnu/emacs/EmacsWindow.java (figureChange): Detect 2794 on up events as well.
3134 mice on up events as well.
3135 (onSomeKindOfMotionEvent): Work past framework bug. 2795 (onSomeKindOfMotionEvent): Work past framework bug.
2796
3136 * src/androidterm.c (android_perform_conversion_query): 2797 * src/androidterm.c (android_perform_conversion_query):
3137 * src/textconv.c (textconv_query): 2798 * src/textconv.c (textconv_query):
3138 * src/textconv.h (TEXTCONV_SKIP_ACTIVE_REGION): Remove unused 2799 * src/textconv.h (TEXTCONV_SKIP_ACTIVE_REGION): Remove unused
3139 code. 2800 code.
3140 2801
3141 Update Android port
3142 * doc/emacs/android.texi (Android Windowing): Document how to 2802 * doc/emacs/android.texi (Android Windowing): Document how to
3143 display dialogs when Emacs is in the background. 2803 display dialogs when Emacs is in the background.
2804
3144 * java/org/gnu/emacs/EmacsDialog.java (display1): Use system 2805 * java/org/gnu/emacs/EmacsDialog.java (display1): Use system
3145 dialogs if possible. 2806 dialogs if possible.
3146 2807
3147 Merge remote-tracking branch 'origin/master' into feature/android
3148
31492023-03-13 Po Lu <luangruo@yahoo.com> 28082023-03-13 Po Lu <luangruo@yahoo.com>
3150 2809
3151 Update Android port
3152 * etc/NEWS: Announce new option. 2810 * etc/NEWS: Announce new option.
2811
3153 * lisp/menu-bar.el (menu-bar-close-window): New option. 2812 * lisp/menu-bar.el (menu-bar-close-window): New option.
3154 (kill-this-buffer): 2813 (kill-this-buffer, kill-this-buffer-enabled-p): Adjust
3155 (kill-this-buffer-enabled-p): Adjust accordingly. 2814 accordingly.
3156 * src/keyboard.c (lispy_function_keys): Add more silly 2815
3157 keys. 2816 * src/keyboard.c (lispy_function_keys): Add more silly keys.
3158 2817
3159 Update Android port
3160 * src/android.c (android_check_string, android_build_string): 2818 * src/android.c (android_check_string, android_build_string):
3161 Reduce consing when building menu bar strings. 2819 Reduce consing when building menu bar strings.
3162 2820
3163 * etc/MACHINES (Android): Update with more recent information. 2821 * etc/MACHINES (Android): Update with more recent information.
3164 2822
3165 Update Android port
3166 * doc/emacs/android.texi (Android Startup): Document changes to 2823 * doc/emacs/android.texi (Android Startup): Document changes to
3167 emacsclient wrapper. 2824 emacsclient wrapper.
2825
3168 * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity) 2826 * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
3169 (startEmacsClient): Open EmacsActivity if the service is not 2827 (startEmacsClient): Open EmacsActivity if the service is not
3170 running. 2828 running.
2829
3171 * java/org/gnu/emacs/EmacsService.java (onCreate): 2830 * java/org/gnu/emacs/EmacsService.java (onCreate):
3172 * java/org/gnu/emacs/EmacsThread.java (EmacsThread, run): Pass 2831 * java/org/gnu/emacs/EmacsThread.java (run): Pass any file to open
3173 any file to open to Emacs. 2832 to Emacs.
2833
3174 * lisp/term/android-win.el (handle-args-function): Implement. 2834 * lisp/term/android-win.el (handle-args-function): Implement.
3175 2835
3176 Update Android port
3177 * src/image.c (image_create_bitmap_from_file, image_find_image_fd) 2836 * src/image.c (image_create_bitmap_from_file, image_find_image_fd)
3178 (close_android_fd, slurp_file): Return and use `struct 2837 (close_android_fd, slurp_file): Return and use `struct
3179 android_fd_or_asset' on Android. 2838 android_fd_or_asset' on Android.
3180 (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body) 2839 (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
3181 (webp_load, svg_load): Adjust accordingly. 2840 (webp_load, svg_load): Adjust accordingly.
3182 2841
3183 Merge remote-tracking branch 'origin/master' into feature/android
3184
31852023-03-12 Po Lu <luangruo@yahoo.com> 28422023-03-12 Po Lu <luangruo@yahoo.com>
3186 2843
3187 Update Android port 2844 * src/android.c (android_get_screen_width)
3188 * src/android.c (android_get_screen_width): 2845 (android_get_screen_height, android_get_mm_width)
3189 (android_get_screen_height): 2846 (android_get_mm_height, android_detect_mouse): Correctly handle
3190 (android_get_mm_width): 2847 Java exceptions.
3191 (android_get_mm_height):
3192 (android_detect_mouse): Correctly handle Java exceptions.
3193 2848
3194 Merge remote-tracking branch 'origin/master' into feature/android 2849 * src/android.c (android_check_if_event): New function.
2850
2851 * src/androidgui.h: Update prototypes.
3195 2852
3196 Update Android port
3197 * src/android.c (android_check_if_event):
3198 * src/androidgui.h: New function.
3199 * src/androidterm.c (android_event_is_for_frame): New function. 2853 * src/androidterm.c (android_event_is_for_frame): New function.
3200 (android_reset_conversion): Free and unqueue all text conversion 2854 (android_reset_conversion): Free and unqueue all text conversion
3201 events for the given frame. 2855 events for the given frame.
3202 2856
3203 Update Android port
3204 * src/androidterm.c (NATIVE_NAME, JNICALL) 2857 * src/androidterm.c (NATIVE_NAME, JNICALL)
3205 (android_build_extracted_text, android_update_selection): Use 2858 (android_build_extracted_text, android_update_selection): Use
3206 0-based indices for Android buffer positions. Also, report 2859 0-based indices for Android buffer positions. Also, report
3207 surrounding text relative to the region, not to the cursor. 2860 surrounding text relative to the region, not to the cursor.
3208 * src/textconv.c (textconv_query): Accept new values of
3209 position.
3210 (really_set_composing_text): Use ephemeral last point.
3211 2861
3212 Merge remote-tracking branch 'origin/master' into feature/android 2862 * src/textconv.c (textconv_query): Accept new values of position.
2863 (really_set_composing_text): Use ephemeral last point.
3213 2864
3214 Update Android port 2865 * java/org/gnu/emacs/EmacsOpenActivity.java (onCancel): New
3215 * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity) 2866 function.
3216 (onCancel): New function.
3217 (displayFailureDialog): Handle dialog cancellation. 2867 (displayFailureDialog): Handle dialog cancellation.
2868
3218 * src/sfntfont.c (sfnt_parse_languages): Look for SLNG tag if 2869 * src/sfntfont.c (sfnt_parse_languages): Look for SLNG tag if
3219 DLNG is not present. 2870 DLNG is not present.
3220 2871
3221 Add Super modifier support to Android port
3222 * src/androidgui.h (enum android_modifier_mask): New modifier 2872 * src/androidgui.h (enum android_modifier_mask): New modifier
3223 ANDROID_SUPER_MASK. 2873 ANDROID_SUPER_MASK.
2874
3224 * src/androidterm.c (android_android_to_emacs_modifiers) 2875 * src/androidterm.c (android_android_to_emacs_modifiers)
3225 (android_emacs_to_android_modifiers): Add new modifier. 2876 (android_emacs_to_android_modifiers): Add new modifier.
3226 2877
3227 Fix crash during androidterm init
3228 * src/androidterm.c (syms_of_androidterm): Initialize 2878 * src/androidterm.c (syms_of_androidterm): Initialize
3229 Vandroid_build_fingerprint in case GC happens. 2879 Vandroid_build_fingerprint in case GC happens.
3230 2880
3231 * src/emacs-module.c (module_reset_handlerlist): Fix macro conflict. 2881 * src/emacs-module.c (module_reset_handlerlist): Fix macro
2882 conflict.
3232 2883
3233 Clean up emacs-module.c
3234 * src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT) 2884 * src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT)
3235 (module_make_global_ref, module_free_global_ref) 2885 (module_make_global_ref, module_free_global_ref)
3236 (module_make_function, module_get_function_finalizer) 2886 (module_make_function, module_get_function_finalizer)
@@ -3247,50 +2897,43 @@
3247 (module_open_channel, module_reset_handlerlist): Adjust as 2897 (module_open_channel, module_reset_handlerlist): Adjust as
3248 recommended by Paul Eggert <eggert@cs.ucla.edu>. 2898 recommended by Paul Eggert <eggert@cs.ucla.edu>.
3249 2899
3250 Update Android port 2900 * configure.ac: Take option `--with-shared-user-id' and give it to
3251 * configure.ac: Take option `--with-shared-user-id' and give it 2901 AndroidManifest.xml.in.
3252 to AndroidManifest.xml.in. 2902
3253 * java/AndroidManifest.xml.in: Substitute that into the 2903 * java/AndroidManifest.xml.in: Substitute that into the
3254 application info. 2904 application info.
2905
3255 * java/INSTALL (BUILDING WITH A SHARED USER ID): New section. 2906 * java/INSTALL (BUILDING WITH A SHARED USER ID): New section.
3256 2907
32572023-03-11 Po Lu <luangruo@yahoo.com> 29082023-03-11 Po Lu <luangruo@yahoo.com>
3258 2909
3259 Merge remote-tracking branch 'origin/master' into feature/android 2910 * configure.ac (with_mailutils): Default to off on Android.
3260
3261 Improve default value of `with_mailutils' on Android
3262 * configure.ac: Default to off on Android.
3263
3264 * configure.ac: Fix typo.
3265 2911
3266 Update Android port
3267 * configure.ac (HAVE_MAILUTILS, with_mailutils) 2912 * configure.ac (HAVE_MAILUTILS, with_mailutils)
3268 (ANDROID_SDK_8_OR_EARLIER, XCONFIGURE): Fix POP and mailutils 2913 (ANDROID_SDK_8_OR_EARLIER, XCONFIGURE): Fix POP and mailutils
3269 configuration on Android. 2914 configuration on Android.
2915
3270 * java/Makefile.in: 2916 * java/Makefile.in:
3271 * src/callproc.c (syms_of_callproc): Avoid using built-in 2917 * src/callproc.c (syms_of_callproc): Avoid using built-in movemail
3272 movemail when --with-mailutils. 2918 when --with-mailutils.
3273 2919
3274 Update Android port
3275 * src/android.c (android_resolve_handle) 2920 * src/android.c (android_resolve_handle)
3276 (android_resolve_handle2): Don't perform checking done by 2921 (android_resolve_handle2): Don't perform checking done by CheckJNI
3277 CheckJNI by default. 2922 by default.
3278 (android_copy_area): Check for errors here because CopyArea can 2923 (android_copy_area): Check for errors here because CopyArea can
3279 perform a lot of consing. 2924 perform a lot of consing.
3280 (android_define_cursor): Remove redundant code. 2925 (android_define_cursor): Remove redundant code.
3281 2926
3282 Fix problems with the menu bar on large screen Android devices
3283 * java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed): 2927 * java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed):
3284 Process submenu closing normally if it happens more than 300 ms 2928 Process submenu closing normally if it happens more than 300 ms
3285 after a submenu item was selected. 2929 after a submenu item was selected.
2930
3286 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu) 2931 * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
3287 (onMenuItemClick, display1): Give `wasSubmenuSelected' different 2932 (onMenuItemClick, display1): Give `wasSubmenuSelected' different
3288 values depending on how the submenu was selected. 2933 values depending on how the submenu was selected.
3289 2934
3290 * lib/gnulib.mk.in: Update from gnulib. 2935 * lib/gnulib.mk.in: Update from gnulib.
3291 2936
3292 Merge remote-tracking branch 'origin/master' into feature/android
3293
32942023-03-11 Po Lu <luangruo@yahoo.com> 29372023-03-11 Po Lu <luangruo@yahoo.com>
3295 2938
3296 Don't use GCC extensions in src/emacs-module.c 2939 Don't use GCC extensions in src/emacs-module.c