From: Bruno Haible <bruno@clisp.org>
To: Eli Zaretskii <eliz@gnu.org>, Po Lu <luangruo@yahoo.com>,
Paul Eggert <eggert@cs.ucla.edu>
Cc: angelo.g0@libero.it, emacs-devel@gnu.org
Subject: Re: Android port
Date: Sun, 06 Aug 2023 12:33:32 +0200 [thread overview]
Message-ID: <11660747.27k8W16iEi@nimes> (raw)
In-Reply-To: <d791cad9-e66b-e176-07d6-1c85d4c29f36@cs.ucla.edu>
Paul Eggert wrote:
> As I understand it the Android port uses Gnulib printf-posix and
> vasprintf-posix modules only because Android printf lacks support for
> "%td", "%jd" and "%ju".
No, that's not the case. Android *printf supports the 't', 'j', 'z' already
since 2009-03-04 (ca. Android 1.6).
I don't know what's the minimum supported Android version targetted by Po Lu
is, but for Android 4.3 you find the deficiencies listed in gnulib/m4/printf.m4:
dnl . = yes, # = no.
dnl
dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
dnl Android 4.3 . # . # # # # # # # # ? . # . # . # . . . # . .
Legend:
dnl 2 = checking whether printf supports size specifiers as in C23...
dnl 4 = checking whether printf supports infinite 'double' arguments...
dnl 5 = checking whether printf supports infinite 'long double' arguments...
dnl 6 = checking whether printf supports the 'a' and 'A' directives...
dnl 7 = checking whether printf supports the 'b' directive...
dnl 8 = checking whether printf supports the 'B' directive...
dnl 9 = checking whether printf supports the 'F' directive...
dnl 10 = checking whether printf supports the 'n' directive...
dnl 11 = checking whether printf supports the 'ls' directive...
dnl 12 = checking whether printf supports the 'lc' directive correctly...
dnl 14 = checking whether printf supports the grouping flag...
dnl 16 = checking whether printf supports the zero flag correctly...
dnl 18 = checking whether printf survives out-of-memory conditions...
dnl 22 = checking whether snprintf fully supports the 'n' directive...
> If this understanding is correct, how about if
> we go through the printf formats in the Emacs C source code, and replace
> all uses of "%jd" and "%ju" with "%"PRIdMAX and "%"PRIuMAX, and all uses
> of "%td" with "%"pT"d" where pT is an Emacs invention defined like this:
>
> #ifdef __ANDROID__
> # define pT "z"
> #else
> # define pT "t"
> #endif
This workaround is not needed, since the problem is not there, not for
Android and not for other platforms either: Gnulib's documentation lists
the platforms
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{z}) on some platforms:
AIX 5.1, HP-UX 11.23, IRIX 6.5, Solaris 9, Cygwin 1.5.24, mingw, MSVC 14.
AIX 5.1, HP-UX 11.23, IRIX 6.5, Solaris 9, Cygwin 1.5.24 are long obsolete,
mingw is dealt with by Emacs differently, and MSVC is not supported by
Emacs (AFAIU).
Bruno
next prev parent reply other threads:[~2023-08-06 10:33 UTC|newest]
Thread overview: 205+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-04 7:42 Android port Angelo Graziosi
2023-08-04 7:54 ` Eli Zaretskii
2023-08-04 9:45 ` Po Lu
2023-08-04 10:40 ` Eli Zaretskii
2023-08-04 12:12 ` Po Lu
2023-08-04 12:59 ` Eli Zaretskii
2023-08-04 13:23 ` Po Lu
2023-08-04 14:00 ` Eli Zaretskii
2023-08-05 0:48 ` Po Lu
2023-08-05 6:39 ` Eli Zaretskii
2023-08-05 7:00 ` Po Lu
2023-08-05 8:39 ` Angelo Graziosi
2023-08-05 9:15 ` Po Lu
2023-08-05 10:04 ` Bruno Haible
2023-08-05 11:05 ` Angelo Graziosi
2023-08-05 11:20 ` Bruno Haible
2023-08-05 12:06 ` Angelo Graziosi
2023-08-05 12:12 ` Eli Zaretskii
2023-08-05 12:16 ` Po Lu
2023-08-05 12:31 ` Eli Zaretskii
2023-08-05 12:35 ` Po Lu
2023-08-05 12:42 ` Po Lu
2023-08-05 12:25 ` Bruno Haible
2023-08-05 12:42 ` Eli Zaretskii
2023-08-05 12:47 ` Bruno Haible
2023-08-05 13:00 ` Eli Zaretskii
2023-08-05 13:13 ` Po Lu
2023-08-05 15:26 ` Eli Zaretskii
2023-08-05 15:35 ` Eli Zaretskii
2023-08-05 23:37 ` Po Lu
2023-08-06 5:00 ` Eli Zaretskii
2023-08-06 5:07 ` Po Lu
2023-08-06 5:24 ` Eli Zaretskii
2023-08-06 8:48 ` Paul Eggert
2023-08-06 8:58 ` Eli Zaretskii
2023-08-06 9:24 ` Po Lu
2023-08-06 9:35 ` Eli Zaretskii
2023-08-06 9:41 ` Po Lu
2023-08-06 9:44 ` Eli Zaretskii
2023-08-06 9:54 ` Po Lu
2023-08-06 10:00 ` Eli Zaretskii
2023-08-06 10:10 ` Po Lu
2023-08-06 10:40 ` Eli Zaretskii
2023-08-06 11:02 ` Bruno Haible
2023-08-06 11:56 ` Eli Zaretskii
2023-08-06 12:30 ` Po Lu
2023-08-06 12:42 ` Eli Zaretskii
2023-08-06 14:40 ` Bruno Haible
2023-08-06 15:09 ` Eli Zaretskii
2023-08-06 15:46 ` Bruno Haible
2023-08-06 17:44 ` Eli Zaretskii
2023-08-06 18:54 ` Bruno Haible
2023-08-06 19:14 ` Eli Zaretskii
2023-08-06 13:05 ` Eli Zaretskii
2023-08-06 13:12 ` Bruno Haible
2023-08-06 13:18 ` Eli Zaretskii
2023-08-06 13:41 ` Po Lu
2023-08-06 15:09 ` Angelo Graziosi
2023-08-06 15:35 ` Angelo Graziosi
2023-08-06 15:44 ` Angelo Graziosi
2023-08-06 17:36 ` Eli Zaretskii
2023-08-06 18:11 ` Angelo Graziosi
2023-08-06 18:19 ` Eli Zaretskii
2023-08-06 18:34 ` Angelo Graziosi
2023-08-06 18:53 ` Eli Zaretskii
2023-08-06 20:26 ` Angelo Graziosi
2023-08-07 2:26 ` Eli Zaretskii
2023-08-07 7:20 ` Angelo Graziosi
2023-08-07 7:22 ` Po Lu
2023-08-07 8:19 ` Corwin Brust
2023-08-07 8:44 ` Po Lu
2023-08-07 11:11 ` Eli Zaretskii
2023-08-07 11:22 ` Eli Zaretskii
2023-08-07 12:03 ` Angelo Graziosi
2023-08-07 15:48 ` Corwin Brust
2023-08-06 15:39 ` Eli Zaretskii
2023-08-06 15:48 ` Angelo Graziosi
2023-08-06 10:41 ` Bruno Haible
2023-08-06 11:07 ` Manuel Giraud via Emacs development discussions.
2023-08-06 11:39 ` Eli Zaretskii
2023-08-06 12:47 ` Po Lu
2023-08-06 16:21 ` Paul Eggert
2023-08-06 12:16 ` Po Lu
2023-08-06 12:23 ` Eli Zaretskii
2023-08-06 9:39 ` Arsen Arsenović
2023-08-06 9:43 ` Eli Zaretskii
2023-08-06 10:33 ` Bruno Haible [this message]
2023-08-06 12:20 ` Po Lu
2023-08-06 12:26 ` Eli Zaretskii
2023-08-06 12:33 ` Po Lu
2023-08-06 12:43 ` Bruno Haible
2023-08-06 12:51 ` Po Lu
2023-08-06 13:13 ` Eli Zaretskii
2023-08-06 13:07 ` Bruno Haible
2023-08-06 18:10 ` Paul Eggert
2023-08-06 18:15 ` Eli Zaretskii
2023-08-06 17:44 ` Paul Eggert
2023-08-06 17:51 ` Eli Zaretskii
2023-08-06 23:55 ` Po Lu
2023-08-07 0:49 ` Po Lu
2023-08-07 11:19 ` Eli Zaretskii
2023-08-07 12:03 ` Eli Zaretskii
2023-08-07 14:47 ` Eli Zaretskii
2023-08-04 9:44 ` Po Lu
2023-08-04 10:34 ` Eli Zaretskii
2023-08-04 12:02 ` Po Lu
2023-08-04 12:58 ` Angelo Graziosi
2023-08-04 13:17 ` Po Lu
2023-08-04 13:37 ` Corwin Brust
2023-08-05 3:24 ` Corwin Brust
2023-08-05 6:46 ` Eli Zaretskii
2023-08-05 7:11 ` Corwin Brust
2023-08-04 13:48 ` Angelo Graziosi
2023-08-04 14:09 ` Eli Zaretskii
2023-08-05 1:04 ` Po Lu
2023-08-05 6:41 ` Eli Zaretskii
2023-08-04 10:53 ` Angelo Graziosi
[not found] <87pm43a1jp.fsf.ref@yahoo.com>
2023-08-04 4:12 ` Po Lu
2023-08-04 6:27 ` Eli Zaretskii
2023-08-04 6:37 ` Po Lu
-- strict thread matches above, loose matches on Subject: below --
2023-02-18 8:35 Angelo Graziosi
2023-02-18 8:42 ` Po Lu
2023-02-18 21:58 ` Angelo Graziosi
2023-02-19 2:13 ` Po Lu
2023-02-19 9:01 ` Angelo Graziosi
2023-02-19 9:24 ` Dov Grobgeld
2023-02-19 10:17 ` Michael Albinus
2023-02-19 10:55 ` Po Lu
2023-02-19 11:49 ` Michael Albinus
2023-02-19 10:55 ` Po Lu
2023-02-19 11:11 ` Angelo Graziosi
2023-02-19 11:24 ` Peter Oliver
2023-02-19 12:01 ` Po Lu
2023-02-19 10:40 ` Arsen Arsenović
2023-02-19 10:53 ` Po Lu
2023-02-19 11:19 ` Angelo Graziosi
2023-02-19 11:59 ` Po Lu
2023-02-19 17:10 ` Angelo Graziosi
2023-02-20 2:39 ` Po Lu
2023-02-20 17:05 ` Angelo Graziosi
2023-02-21 2:28 ` Po Lu
2023-02-21 17:39 ` Angelo Graziosi
2023-02-21 17:51 ` Jonathan Kenyon
2023-02-21 18:24 ` Jonathan Kenyon
2023-02-21 18:48 ` Simon Pugnet
2023-02-22 2:33 ` Po Lu
2023-02-22 3:21 ` Jonathan Kenyon
2023-02-22 3:35 ` Po Lu
2023-02-22 14:11 ` Po Lu
2023-02-22 15:16 ` Simon Pugnet
2023-02-22 16:01 ` Angelo Graziosi
2023-02-23 14:47 ` Angelo Graziosi
2023-02-24 0:56 ` Po Lu
2023-02-24 1:01 ` Po Lu
2023-02-24 17:49 ` Angelo Graziosi
2023-02-22 2:31 ` Po Lu
2023-02-22 2:30 ` Po Lu
2023-02-22 8:04 ` Angelo Graziosi
2023-02-22 8:31 ` Angelo Graziosi
2023-03-05 22:03 ` Angelo Graziosi
2023-03-05 23:57 ` Po Lu
2023-03-07 15:47 ` Angelo Graziosi
2023-03-07 23:58 ` Po Lu
2023-03-08 16:12 ` Angelo Graziosi
2023-03-09 1:22 ` Po Lu
2023-03-09 16:38 ` Angelo Graziosi
2023-07-17 8:21 ` Angelo Graziosi
2023-07-17 8:30 ` Po Lu
2023-08-31 5:51 ` Jean Louis
2023-08-31 10:27 ` Angelo Graziosi
2023-07-17 8:40 ` Takesi Ayanokoji
2023-07-18 7:31 ` Angelo Graziosi
2023-07-18 7:41 ` Po Lu
2023-02-19 11:30 ` Peter Oliver
2023-02-18 18:12 ` Jean Louis
2023-02-19 8:31 ` Po Lu
[not found] <87ttzkmrw1.fsf.ref@yahoo.com>
2023-02-17 11:51 ` Po Lu
2023-02-17 12:26 ` Eric S Fraga
2023-02-17 12:56 ` Arsen Arsenović
2023-02-17 13:05 ` Po Lu
2023-02-17 13:21 ` Arsen Arsenović
2023-02-19 11:17 ` Arsen Arsenović
2023-02-19 12:21 ` Po Lu
2023-02-19 14:16 ` Po Lu
2023-02-19 14:40 ` Arsen Arsenović
2023-02-19 15:13 ` Arsen Arsenović
2023-02-20 2:37 ` Po Lu
2023-02-20 15:33 ` Arsen Arsenović
2023-02-20 15:46 ` Po Lu
2023-02-20 16:05 ` Arsen Arsenović
2023-02-19 14:42 ` Arsen Arsenović
2023-02-17 13:50 ` tomas
2023-02-21 13:41 ` Po Lu
2023-03-10 20:07 ` Etienne Prud'homme
2023-03-10 23:50 ` Po Lu
[not found] <87bkmv6z36.fsf.ref@yahoo.com>
2023-01-19 2:24 ` gnulib fsusage Po Lu
2023-01-19 6:44 ` Eli Zaretskii
2023-01-19 10:11 ` Po Lu
2023-01-19 10:26 ` Eli Zaretskii
2023-01-19 11:59 ` Po Lu
2023-01-19 13:33 ` Eli Zaretskii
2023-01-19 13:40 ` Po Lu
2023-01-19 14:27 ` Android port (was: gnulib fsusage) Eli Zaretskii
2023-01-19 14:34 ` Android port Po Lu
2023-01-19 14:56 ` Eli Zaretskii
2023-01-20 0:18 ` Po Lu
2023-01-20 7:09 ` Eli Zaretskii
2023-01-20 9:39 ` Po Lu
2023-01-25 10:48 ` Po Lu
2023-01-26 8:59 ` Eli Zaretskii
2023-01-20 6:47 ` Android port (was: gnulib fsusage) Jean Louis
2023-01-20 7:19 ` Eli Zaretskii
2023-01-28 7:50 ` Konstantin Kharlamov
2023-01-28 8:49 ` Eli Zaretskii
2023-01-28 9:06 ` Konstantin Kharlamov
2023-01-28 9:21 ` Eli Zaretskii
2023-01-28 9:31 ` Konstantin Kharlamov
2023-01-28 9:59 ` Android port Po Lu
2023-01-28 9:57 ` Po Lu
2023-01-28 10:23 ` Konstantin Kharlamov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11660747.27k8W16iEi@nimes \
--to=bruno@clisp.org \
--cc=angelo.g0@libero.it \
--cc=eggert@cs.ucla.edu \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=luangruo@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).