<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/java/org, branch emacs-30.2</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Fix remaining Android bugs reported over the past months</title>
<updated>2025-02-19T12:40:12+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-19T12:40:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ded77feffface0c167edacf0d807273f3d4878db'/>
<id>ded77feffface0c167edacf0d807273f3d4878db</id>
<content type='text'>
* java/org/gnu/emacs/EmacsActivity.java (attachWindow):
Guarantee that child windows promoted to toplevels receive
layout parameters that direct them to receive their parents'
dimensions.  Otherwise, the size of the window as a child is
retained on Huawei HarmonyOS 4.2 and possibly other Android
distributions.

* java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
Run anchor updates on the UI thread, as
`InputMethodManager#updateCursorAnchorInfo' is liable to call
`View#requestLayout'.

* java/org/gnu/emacs/EmacsView.java (onMeasure): Always call
`measureChildren', or child frames' onLayout handlers might not
be invoked after they request a layout cycle and are duly
processed in `onLayout'.
(swapBuffers): Delete erroneous commentary.

* java/org/gnu/emacs/EmacsWindow.java (viewLayout): If
overrideRedirect, don't inadvertently clear rect.left and
rect.top by recording the window's WM window-relative position.
Fix typos.
(reparentTo): Invalidate focus after transferring frame.
(translateCoordinates): Account for override-redirect windows.
Mostly important for mouse-drag-and-drop-region.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsActivity.java (attachWindow):
Guarantee that child windows promoted to toplevels receive
layout parameters that direct them to receive their parents'
dimensions.  Otherwise, the size of the window as a child is
retained on Huawei HarmonyOS 4.2 and possibly other Android
distributions.

* java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
Run anchor updates on the UI thread, as
`InputMethodManager#updateCursorAnchorInfo' is liable to call
`View#requestLayout'.

* java/org/gnu/emacs/EmacsView.java (onMeasure): Always call
`measureChildren', or child frames' onLayout handlers might not
be invoked after they request a layout cycle and are duly
processed in `onLayout'.
(swapBuffers): Delete erroneous commentary.

* java/org/gnu/emacs/EmacsWindow.java (viewLayout): If
overrideRedirect, don't inadvertently clear rect.left and
rect.top by recording the window's WM window-relative position.
Fix typos.
(reparentTo): Invalidate focus after transferring frame.
(translateCoordinates): Account for override-redirect windows.
Mostly important for mouse-drag-and-drop-region.
</pre>
</div>
</content>
</entry>
<entry>
<title>Properly move existing tooltips on Android</title>
<updated>2025-02-19T07:34:51+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-19T07:34:51+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e97be722d392056b6ef9e47664273ee2ca7df374'/>
<id>e97be722d392056b6ef9e47664273ee2ca7df374</id>
<content type='text'>
* java/org/gnu/emacs/EmacsWindow.java (requestViewLayout): If an
override redirect window, additionally notify the window manager
of layout changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsWindow.java (requestViewLayout): If an
override redirect window, additionally notify the window manager
of layout changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix crash in frame deletion on Android</title>
<updated>2025-02-17T03:33:50+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-17T03:33:50+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e3dc0ea2544dc09908546c6e6baba47371cbc176'/>
<id>e3dc0ea2544dc09908546c6e6baba47371cbc176</id>
<content type='text'>
* java/org/gnu/emacs/EmacsWindow.java (destroyHandle):
Invalidate the input focus in the UI thread, as is proper.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsWindow.java (destroyHandle):
Invalidate the input focus in the UI thread, as is proper.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2025</title>
<updated>2025-01-02T17:39:42+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2025-01-02T17:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7fa975adbce3f2ce4ba40ea52110b992a52262b6'/>
<id>7fa975adbce3f2ce4ba40ea52110b992a52262b6</id>
<content type='text'>
Run "TZ=UTC0 admin/update-copyright".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run "TZ=UTC0 admin/update-copyright".
</pre>
</div>
</content>
</entry>
<entry>
<title>Register for more Intents actions on Android</title>
<updated>2024-08-09T02:11:51+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-08-09T02:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=16462b1a62d04a726f99f275b37fd3e6fd512202'/>
<id>16462b1a62d04a726f99f275b37fd3e6fd512202</id>
<content type='text'>
* java/AndroidManifest.xml.in &lt;EmacsOpenActivity&gt;: Register
for SEND Intents with mailto URIs.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use
Intent constants rather than string literals.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/AndroidManifest.xml.in &lt;EmacsOpenActivity&gt;: Register
for SEND Intents with mailto URIs.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use
Intent constants rather than string literals.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix typos</title>
<updated>2024-07-18T09:46:50+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2024-07-07T15:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a6cab228d4d1a82a80eac81b057857a230eef0b5'/>
<id>a6cab228d4d1a82a80eac81b057857a230eef0b5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Port better to Android 3.0</title>
<updated>2024-07-18T05:34:55+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-16T02:14:30+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=34882d524328638e2198952578638e0ffe0697c5'/>
<id>34882d524328638e2198952578638e0ffe0697c5</id>
<content type='text'>
* java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the
old getPackageInfo calling convention if it exists rather than
on Android 2.3.3 and earlier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the
old getPackageInfo calling convention if it exists rather than
on Android 2.3.3 and earlier.
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not set LD_LIBRARY_PATH during Android initialization</title>
<updated>2024-07-14T04:46:23+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-14T04:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b00fc31dd1d4543f8b017e8d7fef7686cd430bcc'/>
<id>b00fc31dd1d4543f8b017e8d7fef7686cd430bcc</id>
<content type='text'>
* doc/emacs/android.texi (Android Environment): Adjust
documentation to match.

* java/org/gnu/emacs/EmacsNoninteractive.java (main1): New
function.  Remove initialization of EmacsNative hither.
(main): Acquire an ApplicationInfo or LoadedApk, as the case may
be on the host system, derive a ClassLoader from the result, and
load and call `main1' from within this class loader.

* src/android-emacs.c (main):

* src/android.c (setEmacsParams): Do not override
LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH.  This enables
Emacs to execute subprocesses in certain "fortified" Android
systems, amongst other things.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/emacs/android.texi (Android Environment): Adjust
documentation to match.

* java/org/gnu/emacs/EmacsNoninteractive.java (main1): New
function.  Remove initialization of EmacsNative hither.
(main): Acquire an ApplicationInfo or LoadedApk, as the case may
be on the host system, derive a ClassLoader from the result, and
load and call `main1' from within this class loader.

* src/android-emacs.c (main):

* src/android.c (setEmacsParams): Do not override
LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH.  This enables
Emacs to execute subprocesses in certain "fortified" Android
systems, amongst other things.
</pre>
</div>
</content>
</entry>
<entry>
<title>Take precautions against ill-formed content URIs</title>
<updated>2024-07-11T03:38:41+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-11T03:38:41+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e0b271e279ba5b606330908604ac4fa42a389b30'/>
<id>e0b271e279ba5b606330908604ac4fa42a389b30</id>
<content type='text'>
* java/org/gnu/emacs/EmacsService.java (openContentUri)
(checkContentUri): Verify that URIs derived from user-provided
file names can be parsed before attempting to open them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsService.java (openContentUri)
(checkContentUri): Verify that URIs derived from user-provided
file names can be parsed before attempting to open them.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct conditions for iconification on Android</title>
<updated>2024-07-08T07:43:22+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-08T07:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=67f291ddae31cc4623fd93280b141ee8611f3f5a'/>
<id>67f291ddae31cc4623fd93280b141ee8611f3f5a</id>
<content type='text'>
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
&lt;isPaused&gt;: Rename to &lt;isStopped&gt;.
(attachWindow): Adjust to match.
(onPause): Delete function.
(onStop): Deem frames iconified after calls to onStop instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
&lt;isPaused&gt;: Rename to &lt;isStopped&gt;.
(attachWindow): Adjust to match.
(onPause): Delete function.
(onStop): Deem frames iconified after calls to onStop instead.
</pre>
</div>
</content>
</entry>
</feed>
