<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/java/org/gnu, branch scratch/handler-bind</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 typo</title>
<updated>2023-12-16T23:14:56+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2023-12-16T23:14:43+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=2b08cc2d5f17327f54d3b2c7b790ef34dd015925'/>
<id>2b08cc2d5f17327f54d3b2c7b790ef34dd015925</id>
<content type='text'>
* java/org/gnu/emacs/EmacsSafThread.java
(cacheDirectoryFromCursor): Fix typo.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsSafThread.java
(cacheDirectoryFromCursor): Fix typo.
</pre>
</div>
</content>
</entry>
<entry>
<title>Provide for Num Lock and Scroll Lock on Android</title>
<updated>2023-12-16T02:55:18+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-12-16T02:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a2c2ec548bb7fc03e1f050c2c784b65e9725fea1'/>
<id>a2c2ec548bb7fc03e1f050c2c784b65e9725fea1</id>
<content type='text'>
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Retain META_NUM_LOCK_ON and META_SCROLL_LOCK_ON while filtering
meta state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Retain META_NUM_LOCK_ON and META_SCROLL_LOCK_ON while filtering
meta state.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix a few more typos</title>
<updated>2023-12-10T13:06:45+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2023-12-10T13:05:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7d283ca1a32d1005ab3b7986692d91ee071ebde7'/>
<id>7d283ca1a32d1005ab3b7986692d91ee071ebde7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix typos</title>
<updated>2023-12-10T12:22:04+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2023-12-10T12:22:04+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=06a12b0cccbda419752f3388346be7d302ebcbeb'/>
<id>06a12b0cccbda419752f3388346be7d302ebcbeb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up some redundant or otherwise suspect code</title>
<updated>2023-11-29T02:51:49+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-11-29T02:46:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=265ffe59fbd7c01e2bd5a8c6dcac9035c00de004'/>
<id>265ffe59fbd7c01e2bd5a8c6dcac9035c00de004</id>
<content type='text'>
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
Don't check if URI is non-NULL, for instanceof checks this
also.

* java/org/gnu/emacs/EmacsSafThread.java (accessDocument1):
Don't check !writable twice.

* java/org/gnu/emacs/EmacsService.java (documentIdFromName):
Designate this function as public, since it is called
through JNI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
Don't check if URI is non-NULL, for instanceof checks this
also.

* java/org/gnu/emacs/EmacsSafThread.java (accessDocument1):
Don't check !writable twice.

* java/org/gnu/emacs/EmacsService.java (documentIdFromName):
Designate this function as public, since it is called
through JNI.
</pre>
</div>
</content>
</entry>
<entry>
<title>Dismiss Android Back key events that are canceled</title>
<updated>2023-11-25T02:41:09+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-11-25T02:40:13+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=207ee7f9880c72920d4b323d7d6ed16544ba948b'/>
<id>207ee7f9880c72920d4b323d7d6ed16544ba948b</id>
<content type='text'>
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown): Disregard
KEYCODE_BACK events.
(onKeyUp): If the event is KEYCODE_BACK, deliver the disregarded
key press event, unless FLAG_CANCELED is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown): Disregard
KEYCODE_BACK events.
(onKeyUp): If the event is KEYCODE_BACK, deliver the disregarded
key press event, unless FLAG_CANCELED is set.
</pre>
</div>
</content>
</entry>
<entry>
<title>Offer to grant storage permissions if absent</title>
<updated>2023-11-18T06:15:55+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-11-18T06:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=669e754f5bdc9f9130a68eec6966babe9a85ecae'/>
<id>669e754f5bdc9f9130a68eec6966babe9a85ecae</id>
<content type='text'>
* java/org/gnu/emacs/EmacsService.java (externalStorageAvailable)
(requestStorageAccess23, requestStorageAccess30)
(requestStorageAccess): New functions.

* lisp/startup.el (fancy-startup-tail, normal-splash-screen):
Call android-win functions for inserting the new storage
permission notice.

* lisp/term/android-win.el
(android-display-storage-permission-popup)
(android-after-splash-screen): New functions.

* src/android.c (android_init_emacs_service): Link to new Java
functions.
(android_external_storage_available_p)
(android_request_storage_access): New functions.

* src/android.h: Update prototypes.

* src/androidfns.c (Fandroid_external_storage_available_p)
(Fandroid_request_storage_access): New functions.
(syms_of_androidfns): Register new subrs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsService.java (externalStorageAvailable)
(requestStorageAccess23, requestStorageAccess30)
(requestStorageAccess): New functions.

* lisp/startup.el (fancy-startup-tail, normal-splash-screen):
Call android-win functions for inserting the new storage
permission notice.

* lisp/term/android-win.el
(android-display-storage-permission-popup)
(android-after-splash-screen): New functions.

* src/android.c (android_init_emacs_service): Link to new Java
functions.
(android_external_storage_available_p)
(android_request_storage_access): New functions.

* src/android.h: Update prototypes.

* src/androidfns.c (Fandroid_external_storage_available_p)
(Fandroid_request_storage_access): New functions.
(syms_of_androidfns): Register new subrs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Register ``pinch to zoom'' touch screen gestures</title>
<updated>2023-11-15T13:07:14+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-11-15T12:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a9a8d5e95992ab63a63305e2a0b2d2b36bb2c698'/>
<id>a9a8d5e95992ab63a63305e2a0b2d2b36bb2c698</id>
<content type='text'>
* doc/emacs/input.texi (Touchscreens): Address pinch gestures.

* doc/lispref/commands.texi (Touchscreen Events): Address touch
screen pinch events and the process by which they are produced.

* java/org/gnu/emacs/EmacsWindow.java (figureChange)
&lt;ACTION_POINTER_DOWN&gt;: Supply pointer index to getX and getY,
correcting a mistake where the first touch point's coordinate
was saved here in lieu of the pointer that was pressed's.

* lisp/touch-screen.el (touch-screen-current-tool): Revise doc
string.
(touch-screen-aux-tool): New variable.
(touch-screen-scroll-point-to-y, touch-screen-pinch): New
functions.
(global-map): Bind [touchscreen-pinch] to touch-screen-pinch.
(touch-screen-handle-point-update): Revise doc string; set new
tenth field of t-s-c-t to POINT relative to its window, without
regard to whether an event has been sent.
(touch-screen-distance, touch-screen-centrum): New functions.
(touch-screen-handle-aux-point-update): New function; generate
and send touchscreen-pinch if need be.
(touch-screen-handle-point-up): If an ancillary tool exists,
transfer the information there into touch-screen-current-tool
and clear t-s-a-t.
(touch-screen-handle-touch): Call t-s-a-p-u as is proper; set
t-s-a-t if a touchscreen-down event arrives and t-s-c-t is set.

* src/androidterm.c (handle_one_android_event): Properly save
the event's X and Y when a new touch point is registered.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/emacs/input.texi (Touchscreens): Address pinch gestures.

* doc/lispref/commands.texi (Touchscreen Events): Address touch
screen pinch events and the process by which they are produced.

* java/org/gnu/emacs/EmacsWindow.java (figureChange)
&lt;ACTION_POINTER_DOWN&gt;: Supply pointer index to getX and getY,
correcting a mistake where the first touch point's coordinate
was saved here in lieu of the pointer that was pressed's.

* lisp/touch-screen.el (touch-screen-current-tool): Revise doc
string.
(touch-screen-aux-tool): New variable.
(touch-screen-scroll-point-to-y, touch-screen-pinch): New
functions.
(global-map): Bind [touchscreen-pinch] to touch-screen-pinch.
(touch-screen-handle-point-update): Revise doc string; set new
tenth field of t-s-c-t to POINT relative to its window, without
regard to whether an event has been sent.
(touch-screen-distance, touch-screen-centrum): New functions.
(touch-screen-handle-aux-point-update): New function; generate
and send touchscreen-pinch if need be.
(touch-screen-handle-point-up): If an ancillary tool exists,
transfer the information there into touch-screen-current-tool
and clear t-s-a-t.
(touch-screen-handle-touch): Call t-s-a-p-u as is proper; set
t-s-a-t if a touchscreen-down event arrives and t-s-c-t is set.

* src/androidterm.c (handle_one_android_event): Properly save
the event's X and Y when a new touch point is registered.
</pre>
</div>
</content>
</entry>
<entry>
<title>Properly merge EXTRA_EMAIL content with mailto URIs</title>
<updated>2023-11-14T02:57:18+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-11-14T02:57:18+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bda31b2c6d62652c742e800b692dffd926f8284b'/>
<id>bda31b2c6d62652c742e800b692dffd926f8284b</id>
<content type='text'>
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
EXTRA_EMAIL is an array rather than a string, so insert
its first element into an empty mailto URI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
EXTRA_EMAIL is an array rather than a string, so insert
its first element into an empty mailto URI.
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust dump file location under Android</title>
<updated>2023-11-12T03:44:58+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-11-12T03:44:58+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e56e9c19545f43c35dec85fa650f3799c6e9c308'/>
<id>e56e9c19545f43c35dec85fa650f3799c6e9c308</id>
<content type='text'>
* java/org/gnu/emacs/EmacsApplication.java (EmacsApplication)
&lt;apkFileName&gt;: New field.
(getApkFile): Move from EmacsService.java.
(findDumpFile): If the dump file is older than the APK, delete
it irrespective of whether the checksums agree.
(onCreate): Initialize apkFileName.

* java/org/gnu/emacs/EmacsService.java (onCreate): Use
EmacsApplication.apkFileName.

* src/android.c (android_on_low_memory): Correct arguments to
Fclear_image_cache.

* src/image.c (Fclear_image_cache): Check that animation_cache
is always a cons.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsApplication.java (EmacsApplication)
&lt;apkFileName&gt;: New field.
(getApkFile): Move from EmacsService.java.
(findDumpFile): If the dump file is older than the APK, delete
it irrespective of whether the checksums agree.
(onCreate): Initialize apkFileName.

* java/org/gnu/emacs/EmacsService.java (onCreate): Use
EmacsApplication.apkFileName.

* src/android.c (android_on_low_memory): Correct arguments to
Fclear_image_cache.

* src/image.c (Fclear_image_cache): Check that animation_cache
is always a cons.
</pre>
</div>
</content>
</entry>
</feed>
