From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: "Jorge P. de Morais Neto" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 12 Sep 2025 16:06:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 79437@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.175769312831484 (code B ref -1); Fri, 12 Sep 2025 16:06:03 +0000 Received: (at submit) by debbugs.gnu.org; 12 Sep 2025 16:05:28 +0000 Received: from localhost ([127.0.0.1]:50776 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ux6H9-0008BC-L6 for submit@debbugs.gnu.org; Fri, 12 Sep 2025 12:05:28 -0400 Received: from lists.gnu.org ([2001:470:142::17]:35754) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ux6Gy-000863-PB for submit@debbugs.gnu.org; Fri, 12 Sep 2025 12:05:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ux6Gr-0005tw-Jl for bug-gnu-emacs@gnu.org; Fri, 12 Sep 2025 12:05:09 -0400 Received: from layka.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ux6Gn-0001pp-M2 for bug-gnu-emacs@gnu.org; Fri, 12 Sep 2025 12:05:09 -0400 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 6E4FE20D7F for ; Fri, 12 Sep 2025 18:05:01 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id qpVMPJAwztpI for ; Fri, 12 Sep 2025 18:05:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disr.it; s=mail; t=1757693100; bh=5YRntQpGPlT4CXZYFzKdp5Pzz8C0syF9E66RwyznRe0=; h=From:To:Subject:Date; b=DpUjStZxMbzJ5bmHETYblfUFyjbY1Qn/4jKK3AW0xUK6/ry045iI1EuIJ+PXC2gI9 5L5QqEH0SVA5HnJwnpW652pInTsv8OWCc+v1fP7EVtmpdQPvQHKBG1d+P/G1oYAeyx VdfSV+bINUo9up1NEeXTHx59u6t87+6hjLVzxmD/GqssfbKjBCsfhShD3nJno8RsTD iROv1+Nq61q01oXQfYH86Y//CKFNf4tJipWuBdpyQw5+JBpn4DyfGdnJ0PKnxqS06E YaOoFAPO2YRkWhJX0XJNTHzhCV7p7oQ7Aqa9NejxrhJRUK8T5rERRTKKU2xHN+BanI KvBwtGNk+U8gg== From: "Jorge P. de Morais Neto" User-Agent: Notmuch/0.39 (https://notmuchmail.org) Emacs/30.2 (x86_64-pc-linux-gnu) Date: Fri, 12 Sep 2025 13:04:32 -0300 Message-ID: <87v7lnpshb.fsf@disr.it> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=178.21.23.139; envelope-from=jorge+git@disr.it; helo=layka.disroot.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello, Emacs comrades! >From `emacs -Q': 1. Invoke M-x world-clock to load the required Elisp libraries 2. Customize `zoneinfo-style-world-list' to "(("Europe/Pisa" "Pisa"))". Set for session. 3. Invoke M-x world-clock again. 4. It says "Pisa sexta 12 setembro 15:50 Europe" (current time is 15:50 UTC). I asked a friend in Pisa the local time and he reported the error. I then realized world-clock said "Europe" instead of "Europe/Pisa". I suspected "Europe/Pisa" is an invalid timezone name, so I looked into Gnome settings widget, and indeed Italy's only timezone is "Europe/Rome". I then fixed `zoneinfo-style-world-list'. Emacs /silently/ parsed "Europe/Pisa" as "Europe", inducing the user into error. Yes, a previous user error caused the situation, but modern UX should detect and report predictable user errors, and typing an invalid timezone name is pretty predictable. Kind regards, Jorge In GNU Emacs 30.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49, cairo version 1.18.4) of 2025-08-14 built on localhost System Description: Gentoo Linux Configured using: 'configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-silent-rules --docdir=/usr/share/doc/emacs-30.2 --htmldir=/usr/share/doc/emacs-30.2/html --libdir=/usr/lib64 --program-suffix=-emacs-30 --includedir=/usr/include/emacs-30 --infodir=/usr/share/info/emacs-30 --localstatedir=/var --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-file-notification=inotify --with-pdumper --enable-acl --enable-xattr --with-dbus --with-modules --without-gameuser --with-libgmp --with-gpm --with-native-compilation=aot --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2 --with-mailutils --without-selinux --with-sqlite3 --with-gnutls --with-libsystemd --with-threads --with-tree-sitter --without-wide-int --with-sound=alsa --with-zlib --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars --without-gconf --without-xwidgets --without-gsettings --with-harfbuzz --without-libotf --without-m17n-flt --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-webp --with-imagemagick --with-dumping=pdumper 'CFLAGS=-march=native -O2 -fvect-cost-model=cheap -flto -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fno-fast-math -ffp-contract=off' 'CPPFLAGS= -DUSE_VALGRIND=no' 'LDFLAGS=-march=native -O2 -fvect-cost-model=cheap -flto -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ IMAGEMAGICK JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $EMACSLOADPATH: /home/jorge/.guix-profile/share/emacs/site-lisp: value of $LC_MONETARY: pt_BR.UTF-8 value of $LC_NUMERIC: pt_BR.UTF-8 value of $LC_TIME: pt_BR.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: World clock Minor modes in effect: tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t buffer-read-only: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils tabify thingatpt help-fns radix-tree help-mode cus-edit pp cus-start cus-load icons wid-edit cl-loaddefs cl-lib time rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 82756 9452) (symbols 48 8099 0) (strings 32 20847 2155) (string-bytes 1 616667) (vectors 16 11102) (vector-slots 8 152004 9768) (floats 8 32 38) (intervals 56 410 23) (buffers 992 14)) -- - We live in capitalism. Its power seems inescapable. So did the divine right of kings. (Ursula K. Le Guin) From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Sep 2025 06:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Jorge P. de Morais Neto" , Paul Eggert Cc: 79437@debbugs.gnu.org Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175774510811113 (code B ref 79437); Sat, 13 Sep 2025 06:32:02 +0000 Received: (at 79437) by debbugs.gnu.org; 13 Sep 2025 06:31:48 +0000 Received: from localhost ([127.0.0.1]:52731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxJnY-0002t9-Fz for submit@debbugs.gnu.org; Sat, 13 Sep 2025 02:31:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40436) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxJnU-0002sR-L5 for 79437@debbugs.gnu.org; Sat, 13 Sep 2025 02:31:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uxJnL-00009X-Uz; Sat, 13 Sep 2025 02:31:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=W4ciNnlCqC3X1RPJyYZxrrk6f1ORIxLudy7tbiwkkV8=; b=TIjuznYARkGa SbwYhY4hYjL799d64iD9s4qgL3pJ/zd0mzTTTqjAsWs3Uy5oxDmJ7Nt60Aro8SskiJwgJvvnvngDF 8SWTtK/krE0I4XRaHNaxAWlCswsLL1Z6j/YK2M9dkNG3B2Kc0dd2BSIDsn2TmgUrd6GH/hOt0c4wI Wf5PYZ89XkrSHVmZ4cy5tgag0rXNzYFIxSSs0bd46WOamV39UIcG++Y58b6KHOIqGHKDYMaqdxEod xV5OYAQ3wLqrNfaqbbIqFLM9VXkqb8DEgdyYEX42uv1ysuMvMCIhOi2k3jHS085xbYwKtYUYApyRY 9EjQwbz3wNTG7J5SWUqZJw==; Date: Sat, 13 Sep 2025 09:31:30 +0300 Message-Id: <86segqsw1p.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87v7lnpshb.fsf@disr.it> (jorge+git@disr.it) References: <87v7lnpshb.fsf@disr.it> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: "Jorge P. de Morais Neto" > Date: Fri, 12 Sep 2025 13:04:32 -0300 > > >From `emacs -Q': > > 1. Invoke M-x world-clock to load the required Elisp libraries > 2. Customize `zoneinfo-style-world-list' to "(("Europe/Pisa" "Pisa"))". > Set for session. > 3. Invoke M-x world-clock again. > 4. It says "Pisa sexta 12 setembro 15:50 Europe" (current time is 15:50 > UTC). > > I asked a friend in Pisa the local time and he reported the error. I > then realized world-clock said "Europe" instead of "Europe/Pisa". I > suspected "Europe/Pisa" is an invalid timezone name, so I looked into > Gnome settings widget, and indeed Italy's only timezone is > "Europe/Rome". I then fixed `zoneinfo-style-world-list'. > > Emacs /silently/ parsed "Europe/Pisa" as "Europe", inducing the user > into error. Yes, a previous user error caused the situation, but modern > UX should detect and report predictable user errors, and typing an > invalid timezone name is pretty predictable. AFAIU, it isn't Emacs that silently interprets "Europe/Pisa" as "Europe", it's your libc time-related functions. I believe specifying a non-existent file in timezone invokes undefined behavior, but maybe Paul has more specific information about that. From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Sep 2025 14:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 79437@debbugs.gnu.org, "Jorge P. de Morais Neto" Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175777546931333 (code B ref 79437); Sat, 13 Sep 2025 14:58:02 +0000 Received: (at 79437) by debbugs.gnu.org; 13 Sep 2025 14:57:49 +0000 Received: from localhost ([127.0.0.1]:55860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxRhF-00089J-BD for submit@debbugs.gnu.org; Sat, 13 Sep 2025 10:57:49 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:35044) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxRhC-00088s-Mb for 79437@debbugs.gnu.org; Sat, 13 Sep 2025 10:57:47 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 766803C2BEB56; Sat, 13 Sep 2025 07:57:40 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id a6V-BP5ImVhn; Sat, 13 Sep 2025 07:57:40 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 4E9083C305E81; Sat, 13 Sep 2025 07:57:40 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 4E9083C305E81 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1757775460; bh=PzZ6PVmn4dy+LCO0ulR837B7yme3YCC5VBjjjreO114=; h=Message-ID:Date:MIME-Version:To:From; b=SR0BXeEXvP+58kXF98BUvIv/I9f0bDEZqhG3VCEjDB09jtmxmu9YA5x0V3AeDKxU2 VDqiQMeMucmiuVqv7q60fR6a6Vl8GpLULHNzfrQXnTDtKzY8sE1ORm2naxqJOsHbkY LIUh8P1btr3WZYhGEiZaxMob038PZ/wu4CfuJttqUm8uBo2WmhtuxVuI5lhddMlIUI mJk5kaxQRWO9RrnkgBqAx0n+9tzPh84VCREBQCOuRKYODJXkIeBQHAo60csThoHhmA BXgTjtXvbwgizIJMOOtw0aMdRLPepwhrtRGv3Sb64NswvCI24YwS3xuD757rUp/gWJ qXeWADtmur4Vw== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id ClrufA14NGdo; Sat, 13 Sep 2025 07:57:40 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-17-226.fdr01.snmn.ca.ip.frontiernet.net [47.154.17.226]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 2B2DF3C2BEB56; Sat, 13 Sep 2025 07:57:40 -0700 (PDT) Message-ID: <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> Date: Sat, 13 Sep 2025 07:57:39 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <86segqsw1p.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2025-09-12 23:31, Eli Zaretskii wrote: > I believe specifying > a non-existent file in timezone invokes undefined behavior On NetBSD, which has native tzalloc, Emacs signals an error "invalid time zone specification". On other platforms POSIX does not define the behavior, but it's UTC on all platforms I know of. In the extremely rare case where wall clock time_t (contrary to POSIX) counts leap seconds, it may be UTC without leap seconds. The time zone abbreviation is platform-dependent; some platforms use "-00", some "UTC", some "GMT", some a string derived from TZ's value. My guess is that Jorge's friend's platform used the last approach, and used the abbreviation "Europe" which it derived from "Europe/Pisa". We could modify Gnulib's tzalloc to try to detect this situation and behave more like native tzalloc. It wouldn't be that easy, though, and I'm not sure it's worth the hassle. From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Sep 2025 15:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Paul Eggert Cc: 79437@debbugs.gnu.org, jorge+git@disr.it Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175777575332475 (code B ref 79437); Sat, 13 Sep 2025 15:03:02 +0000 Received: (at 79437) by debbugs.gnu.org; 13 Sep 2025 15:02:33 +0000 Received: from localhost ([127.0.0.1]:55876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxRlo-0008Re-9O for submit@debbugs.gnu.org; Sat, 13 Sep 2025 11:02:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34932) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxRlm-0008R9-G5 for 79437@debbugs.gnu.org; Sat, 13 Sep 2025 11:02:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uxRlh-0004dB-0w; Sat, 13 Sep 2025 11:02:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=O9py6OsbA0penGt6AMRyAaLLAk6zT1OKSv0UzZqEz/Q=; b=klr/2WXdm6GC /hu95hvC1xkWYAO0uVx/jLAo6DRVFI+sCbSBNDRYYey/56hblaGSQHqjtcZ660Nk5GcS8ZIMgQpBF gGeQ8GAegiSa4I/vIFFxIz+9DXEJ1vIC3yw7tZfBwm4AXJgVhNQwe5TP6rlLFzyS12EZExA42R/NH zhyqPntc5kqkq0371GPjVT316g/vWdRl8iBSNeW1Go5o4jIT3tlUB0z51EuFF51CWLpU3pye28J34 YIPepKg8XIhZtMFn+q8KAXC/E4rlE/9ARG7X/1GEoVGY6c8VXqa5z4H1BGAB0unO9JMj+LFsbM7rP AY2GAmTve3hr67ygnBIcsA==; Date: Sat, 13 Sep 2025 18:02:16 +0300 Message-Id: <86qzwapf9j.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> (message from Paul Eggert on Sat, 13 Sep 2025 07:57:39 -0700) References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 13 Sep 2025 07:57:39 -0700 > Cc: 79437@debbugs.gnu.org, "Jorge P. de Morais Neto" > From: Paul Eggert > > On 2025-09-12 23:31, Eli Zaretskii wrote: > > I believe specifying > > a non-existent file in timezone invokes undefined behavior > > On NetBSD, which has native tzalloc, Emacs signals an error "invalid > time zone specification". > > On other platforms POSIX does not define the behavior, but it's UTC on > all platforms I know of. In the extremely rare case where wall clock > time_t (contrary to POSIX) counts leap seconds, it may be UTC without > leap seconds. The time zone abbreviation is platform-dependent; some > platforms use "-00", some "UTC", some "GMT", some a string derived from > TZ's value. My guess is that Jorge's friend's platform used the last > approach, and used the abbreviation "Europe" which it derived from > "Europe/Pisa". > > We could modify Gnulib's tzalloc to try to detect this situation and > behave more like native tzalloc. It wouldn't be that easy, though, and > I'm not sure it's worth the hassle. Me neither. Wouldn't such a test be expensive (scan the entire timezone DB)? From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Sep 2025 15:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 79437@debbugs.gnu.org, jorge+git@disr.it Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.17577759651376 (code B ref 79437); Sat, 13 Sep 2025 15:07:02 +0000 Received: (at 79437) by debbugs.gnu.org; 13 Sep 2025 15:06:05 +0000 Received: from localhost ([127.0.0.1]:55900 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxRpE-0000M5-Lg for submit@debbugs.gnu.org; Sat, 13 Sep 2025 11:06:05 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:58278) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxRpB-0000LC-Us for 79437@debbugs.gnu.org; Sat, 13 Sep 2025 11:06:02 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 9A72C3C2BEB56; Sat, 13 Sep 2025 08:05:55 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id pUIdhdrjDTaW; Sat, 13 Sep 2025 08:05:55 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 712583C3068E2; Sat, 13 Sep 2025 08:05:55 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 712583C3068E2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1757775955; bh=Rz3vTJllr2vEiLqsQoqwIldwVHn+QnDtiZOxa/gT7/s=; h=Message-ID:Date:MIME-Version:To:From; b=K8MWlimsm0IR8VtP1/S13/hktVbLqsgvUBXvrRoo2QYBrHrYHtfbTiLxJo91JEcyI dsUG50W6N54I4LH5JFkKsSGcraOxNmgYzllvIWstCRWWF8RxlNZ41dNsyPSmiFdXeQ 1BPx2sb7uFI4T4D/Hv0mJ7G6mMDN7dTpAVRYlz3KLrn1TFk1S8TXxIhfqFNW4wDR1m Gl9Bj+pOjN0KP4a9aYBAlKJ/c2o0lcD7Fr2CIwsUvmPwYXPzPWckhlhoji/A/EPJ1S 9fYOSVCt7QbYUkxYgVIg1kLS1ZgHFO8EaM9j+LPU/X1aTNeMKsDc5RVJWwsFed2o0H LnWKdBUYlMqbg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id fan9Ex2uShGI; Sat, 13 Sep 2025 08:05:55 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-17-226.fdr01.snmn.ca.ip.frontiernet.net [47.154.17.226]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 4D9E43C2BEB56; Sat, 13 Sep 2025 08:05:55 -0700 (PDT) Message-ID: Date: Sat, 13 Sep 2025 08:05:55 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> <86qzwapf9j.fsf@gnu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <86qzwapf9j.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2025-09-13 08:02, Eli Zaretskii wrote: > Wouldn't such a test be expensive (scan the entire > timezone DB)? No, as we merely need to check whether the TZ setting matches a time zone file. (This is for the typical case where each named time zone has a file; Android would be different.) Yeah, probably not worth the hassle. From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Jorge P. de Morais Neto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Sep 2025 23:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Paul Eggert , Eli Zaretskii Cc: 79437@debbugs.gnu.org Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175780704110890 (code B ref 79437); Sat, 13 Sep 2025 23:44:02 +0000 Received: (at 79437) by debbugs.gnu.org; 13 Sep 2025 23:44:01 +0000 Received: from localhost ([127.0.0.1]:57934 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxZuS-0002pZ-Rt for submit@debbugs.gnu.org; Sat, 13 Sep 2025 19:44:01 -0400 Received: from layka.disroot.org ([178.21.23.139]:38040) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uxZuG-0002oq-VO for 79437@debbugs.gnu.org; Sat, 13 Sep 2025 19:43:56 -0400 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id C4C7B25B3A; Sun, 14 Sep 2025 01:43:46 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id BNSdy0xaibRq; Sun, 14 Sep 2025 01:43:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disr.it; s=mail; t=1757806944; bh=XS0sU80TJXDvHJj3U052870dNdKMVcqkBe+6wjKSvcs=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=OW5Jx3zMzhRVeTdW8Mpy5fFdeYcpVo/zTRWNhZ9mdeEPNB24TF7VhIgF1SvyHYjJ6 QMn5ApT8wtGLu8Qa5pnb9ZtUawkbjlm6YerrtxoE3WBR4RDrPtI9IAH9xgwlOyWgAM w+oLWsfSMT6EgjhOhhiJLU+P4oDGlEPIapwGY0rHP/M9JxY/YMYUYt1cfE43MhHaFH zQTAKRSOMNrRiCvD+2fUHyr4sgCSGp8j4Dc5uiqRjTxSOMwOsifnI69UpoK7yiXpGD dFhl9MzcI09WgW037uUAe9WRyqpVQtyx3j3ek7NwX6TGzGdgCz+uKAjL2t1DaLS+WG 57ZiVSx3M/K/Q== From: Jorge P. de Morais Neto In-Reply-To: <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> User-Agent: Notmuch/0.39 (https://notmuchmail.org) Emacs/30.2 (x86_64-pc-linux-gnu) Date: Sat, 13 Sep 2025 20:42:09 -0300 Message-ID: <87segpq5ri.fsf@disr.it> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi. A small clarification below: Em [2025-09-13 s=C3=A1b 07:57:39-0700], Paul Eggert escreveu: > My guess is that Jorge's friend's platform used the last approach, and > used the abbreviation "Europe" which it derived from "Europe/Pisa". My friend does not use Emacs. He simply told me the correct local time. I am the Emacs user, and I am on Gentoo GNU/Linux. Regards From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Jorge P. de Morais Neto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Sep 2025 23:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Paul Eggert , Eli Zaretskii Cc: 79437@debbugs.gnu.org Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175780782415403 (code B ref 79437); Sat, 13 Sep 2025 23:58:02 +0000 Received: (at 79437) by debbugs.gnu.org; 13 Sep 2025 23:57:04 +0000 Received: from localhost ([127.0.0.1]:57962 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxa75-00040N-M7 for submit@debbugs.gnu.org; Sat, 13 Sep 2025 19:57:04 -0400 Received: from layka.disroot.org ([178.21.23.139]:44798) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uxa6u-0003zb-DB for 79437@debbugs.gnu.org; Sat, 13 Sep 2025 19:56:58 -0400 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 2567C22C2E; Sun, 14 Sep 2025 01:56:51 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id utCDM0OJz59d; Sun, 14 Sep 2025 01:56:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disr.it; s=mail; t=1757807810; bh=fGNKrpSSFTNKt7aUHQBTjFPW8HWOO9RyaEwCZtkYLLM=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=oaIbV+BmdBHA1hW9jgZc7qIvGBT6PDc4EhU4YQGOvI7bTksQQALFFgN3DKQmGWKi2 oTODE528NRlIiFg+K5ktHB+eE401qJkmMBRBiR1f9e7lbFReQFLlgh4gOdrTQ2nVH5 dJ7vBPnLZVA2KPFuqoJ06JokF7Wo/+NqGtMKgk0lYKksl1xz/jYMNtESzjzZcSPk8o 90malNlIwe/ijAwh3LqUWtYjh+hz2yHSTUQB/nbQBjFNhLGflJOAgqcR5cqK5st+n7 OwaR6Jc4qWPPy+F7sAx0GgnamkeuM6vWAUeG2ThYyCAxcaiWChb/SyZr2d9lt9wo7K 0LoDClsPgC/fw== From: Jorge P. de Morais Neto In-Reply-To: References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> <86qzwapf9j.fsf@gnu.org> User-Agent: Notmuch/0.39 (https://notmuchmail.org) Emacs/30.2 (x86_64-pc-linux-gnu) Date: Sat, 13 Sep 2025 20:56:44 -0300 Message-ID: <87plbtq537.fsf@disr.it> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi. I reply below: Em [2025-09-13 s=C3=A1b 08:05:55-0700], Paul Eggert escreveu: > No, as we merely need to check whether the TZ setting matches a time > zone file. (This is for the typical case where each named time zone > has a file; Android would be different.) > > Yeah, probably not worth the hassle. I am an IT infrastructure analyst and not a software developer, so I am unsure whether to opine on the bug's solution, but what "hassle" are you talking about? A. Development time; B. code complexity; or C. runtime cost? Anyway, I see many possible solutions and workarounds: 1. `world-clock' could check the timezone name is valid, and warn in case it is not. 2. custom.el could validate `zoneinfo-style-world-list' when it is set. 3. The docstring of `zoneinfo-style-world-list' and `world-clock' could warn the user about the problem. I believe 3 should be implemented in any case. Ideally it would be combined with 1, 2, or preferably both. Kind regards! From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 14 Sep 2025 04:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Jorge P. de Morais Neto" , Eli Zaretskii Cc: 79437@debbugs.gnu.org Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175782571925299 (code B ref 79437); Sun, 14 Sep 2025 04:56:02 +0000 Received: (at 79437) by debbugs.gnu.org; 14 Sep 2025 04:55:19 +0000 Received: from localhost ([127.0.0.1]:59000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxeli-0006Zx-Ht for submit@debbugs.gnu.org; Sun, 14 Sep 2025 00:55:18 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:58880) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxelf-0006Ta-AP for 79437@debbugs.gnu.org; Sun, 14 Sep 2025 00:55:15 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id EA67C3C240960; Sat, 13 Sep 2025 21:55:08 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id K6Gxiwn4H0wG; Sat, 13 Sep 2025 21:55:08 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id C26323C2E8B5A; Sat, 13 Sep 2025 21:55:08 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu C26323C2E8B5A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1757825708; bh=GoxAF90aoej9Nr12Mg2ZylLyaQyMHu1klIor/F7yVf4=; h=Message-ID:Date:MIME-Version:To:From; b=HjFSk3+sP5H/UBEJc65J6EsXCsEsZlvifpPOLvzz1bUNOS+8366ATqmdEbIwhx9wt QzrvrzA+b//gr8ngGKAkX5CT55QaKCH0TVoNCgkaOFKPkwId+TeEZ/o1ZKs4yuBm0N yW1z1R9wXXtf6UegdIK26raY7e68hoIoX1TnWpuTsLvmW3Z3IuueCZVUJnshJ5whXJ 6kvBTttduz7cFm65RfcCoXxEPu9qrBjDviys9BRE+DNuFbiFC/zP6QBEKXn2rACJC8 wWH0myMyftZsWlNVIaGH9GxTZfDdbYVKy0+XiNkiJZoo2Ya3wXji21sp2nhM6AcozD iBkzzXo1WolPg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id E_w2QtkzVxX9; Sat, 13 Sep 2025 21:55:08 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-17-226.fdr01.snmn.ca.ip.frontiernet.net [47.154.17.226]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id A63BB3C240960; Sat, 13 Sep 2025 21:55:08 -0700 (PDT) Message-ID: <1eb07e3d-a87b-42d4-8f78-3282dd3d5da3@cs.ucla.edu> Date: Sat, 13 Sep 2025 21:55:07 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> <86qzwapf9j.fsf@gnu.org> <87plbtq537.fsf@disr.it> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <87plbtq537.fsf@disr.it> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2025-09-13 16:56, Jorge P. de Morais Neto wrote: > Anyway, I see many possible solutions and workarounds: > > 1. `world-clock' could check the timezone name is valid, and warn in > case it is not. > 2. custom.el could validate `zoneinfo-style-world-list' when it is set. > 3. The docstring of `zoneinfo-style-world-list' and `world-clock' could > warn the user about the problem. > > I believe 3 should be implemented in any case. Ideally it would be > combined with 1, 2, or preferably both. That all sounds reasonable, if someone else wants to implement and/or document it. From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 14 Sep 2025 05:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Jorge P. de Morais Neto Cc: 79437@debbugs.gnu.org, eggert@cs.ucla.edu Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.17578275012655 (code B ref 79437); Sun, 14 Sep 2025 05:25:02 +0000 Received: (at 79437) by debbugs.gnu.org; 14 Sep 2025 05:25:01 +0000 Received: from localhost ([127.0.0.1]:59127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxfES-0000gg-SY for submit@debbugs.gnu.org; Sun, 14 Sep 2025 01:25:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56496) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxfEO-0000ft-KL for 79437@debbugs.gnu.org; Sun, 14 Sep 2025 01:24:57 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uxfEH-0002Nv-JB; Sun, 14 Sep 2025 01:24:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=C7t6nhyypjQvIB0p0WjikoZpvhkObp0K6JmewDdXFR8=; b=SeGBBtetQPZrcAS31kVl caQZ4gyKoTsiOeQm0H2993mwdcy+duUBU2YULCeN3IqnmwKR5CgwoY65EhfFHkj01RjAGcf5XXXx1 FcEzKMGPuXPoO6GhLOJUkAtwFsYGf5oyqyJiTjmw9lUtajYtjs5vCMt9blcliR4/IArdMpxFQfEuj HXZ7z18FlVrAvMKkhxmK/6/ADNjDCubtcrvNV+JuOZWzCbby1c4tSTcgpMIlDRbCO5lIy3ldgMdWU snlV13Al8nmGuocY0VLzSjlXJb2dZ4zygVWDLpHSLpDT3T9Ly87LhPuAI0Sh8/xqW//BxZG6dwFvH KuLg52QO50maHg==; Date: Sun, 14 Sep 2025 08:24:45 +0300 Message-Id: <868qihppwi.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87plbtq537.fsf@disr.it> (message from Jorge P. de Morais Neto on Sat, 13 Sep 2025 20:56:44 -0300) References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> <86qzwapf9j.fsf@gnu.org> <87plbtq537.fsf@disr.it> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Jorge P. de Morais Neto > Cc: 79437@debbugs.gnu.org > Date: Sat, 13 Sep 2025 20:56:44 -0300 > > Hi. I reply below: > > Em [2025-09-13 sáb 08:05:55-0700], Paul Eggert escreveu: > > > No, as we merely need to check whether the TZ setting matches a time > > zone file. (This is for the typical case where each named time zone > > has a file; Android would be different.) > > > > Yeah, probably not worth the hassle. > > I am an IT infrastructure analyst and not a software developer, so I am > unsure whether to opine on the bug's solution, but what "hassle" are you > talking about? > > A. Development time; > B. code complexity; or > C. runtime cost? > > Anyway, I see many possible solutions and workarounds: > > 1. `world-clock' could check the timezone name is valid, and warn in > case it is not. The time display runs from a timer. Signaling errors from a timer function is not very useful, and quite annoying. > 2. custom.el could validate `zoneinfo-style-world-list' when it is set. How can one do that? The doc string of world-clock-list says: TIMEZONE should be in a format supported by your system. See the documentation of `zoneinfo-style-world-list' and `legacy-style-world-list' for two widely used formats. "Format supported by your system" could be anything defined by Posix (and potentially non-Posix extensions as well). According to Posix, the format of the time-zone definition could be one of these: a string of the format "stdoffset[dst[offset][,start[/time],end[/time]]]" or: the name of a zoneinfo file "Area/Location" or: :characters (which are "interpreted in implementation-defined manner") Only the second one can be checked relatively easily by looking in the directory where the zoneinfo files are installed. But how does one validate the other 2 forms? And how does one know which format iz used to begin with? > 3. The docstring of `zoneinfo-style-world-list' and `world-clock' could > warn the user about the problem. > > I believe 3 should be implemented in any case. Ideally it would be > combined with 1, 2, or preferably both. We can do 3, sure; done. The other two "aren't worth the hassle", IMO. From unknown Fri Sep 19 06:16:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79437: 30.2; world-clock silently and incorrectly parses invalid time zone Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 14 Sep 2025 17:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79437 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 79437@debbugs.gnu.org, "Jorge P. de Morais Neto" Received: via spool by 79437-submit@debbugs.gnu.org id=B79437.175787105329342 (code B ref 79437); Sun, 14 Sep 2025 17:31:02 +0000 Received: (at 79437) by debbugs.gnu.org; 14 Sep 2025 17:30:53 +0000 Received: from localhost ([127.0.0.1]:34903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uxqYr-0007cX-0H for submit@debbugs.gnu.org; Sun, 14 Sep 2025 13:30:52 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:40888) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uxqYm-0007aW-BT for 79437@debbugs.gnu.org; Sun, 14 Sep 2025 13:30:46 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 9E7B73C24094B; Sun, 14 Sep 2025 10:30:37 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id Qb-jklX8tD_y; Sun, 14 Sep 2025 10:30:37 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 75DC93C306011; Sun, 14 Sep 2025 10:30:37 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 75DC93C306011 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1757871037; bh=vw79BXRxrlcHaidVKhqG410k0+cPzeLnKUpQZMLGmvE=; h=Message-ID:Date:MIME-Version:To:From; b=DF6PfP4ok9xzZI3mC5aomBZt868tlmlEW+q5qO1+0xZwGep4p+zNXY4NghI55d+zc o7XI5uT53AnffKc8ihC9H5L2avyr7y4/hCAobNQORATrhWQLgw1IrzPfLLfgaETAs3 oZzPcFezWd7D/FDonFDakPCi8qWrWx/7tGtNuRIQX5htoKBI64UhgcZerxdc+0b5hW 3ezVoAta8nhN9K3IlFx8dSr9j2nH0Ey5yYa13FLFbg2NVrNnhAHaaIxsxtToemo4JZ u6Tpcxcw/Jg1D65IA6vbZlWGCJomF8HoJQPHjV7UhNg6JHHhoe9PhdJIwV0c1wnc4B oJkbrLA8+xkeg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id rBogtOdrwk7R; Sun, 14 Sep 2025 10:30:37 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-17-226.fdr01.snmn.ca.ip.frontiernet.net [47.154.17.226]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 51DF43C24094B; Sun, 14 Sep 2025 10:30:37 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Z4r06UmZJy00qxadU8WZT3zV" Message-ID: <29c8965b-1585-467c-b31d-e12df3845883@cs.ucla.edu> Date: Sun, 14 Sep 2025 10:30:37 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <87v7lnpshb.fsf@disr.it> <86segqsw1p.fsf@gnu.org> <473b03a7-dd63-4594-b3b4-9e08fb96fe98@cs.ucla.edu> <86qzwapf9j.fsf@gnu.org> <87plbtq537.fsf@disr.it> <868qihppwi.fsf@gnu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <868qihppwi.fsf@gnu.org> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------Z4r06UmZJy00qxadU8WZT3zV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-09-13 22:24, Eli Zaretskii wrote: > Only the second one can be checked relatively easily by looking in the > directory where the zoneinfo files are installed. But how does one > validate the other 2 forms? And how does one know which format iz > used to begin with? Plus, not every TZDB installation has "zoneinfo files" in the usual sense; some have a database using some other format. However, something along those lines could be done, if somebody wanted to maintain it (I don't). The idea is not to exactly validate the forms; instead, do a reasonably conservative validation that rejects forms that (as as we know) are not supported on any Emacs platform. This would accept some unlikely mistakes, but would be good enough for most users. Something like the following, perhaps, and then have world-clock-display run (world-clock--check-entries alist) first thing. None of this is tested; it's just a sketch. And I'm not advocating for this change as it's hacky and I would rather not support it, but if somebody else wants to take it up it should work acceptably. (defconst world-clock--tz-regexp (let* ((abbr "\\([A-Za-z]\\{3,\\}\|<[A-Za-z0-9+-]\\{3,\\}>\\)") (offset "\\([+-]?[0-9]+\\(:[0-5][0-9]\\(:[0-5][0-9]\\)?\\)?\\)") (date "\\(J?[0-9]+\\|M\\([1-9]\\|1[0-2]\\)\\.[1-5]\\.[0-6]\\)") (time offset) (comma-date-time (concat "," date "\\(/" time "\\)?")) ;; TZDB time zones at UTC offset zero at the Epoch. ;; The others are filtered out by the call to current-time-zone. ;; This list is for circa 2025 TZDB and may need updating. (tzdb+0000-regexp "\\(Africa/\\(Abidjan\\|Accra\\|Bamako\\|Banjul\\|Bissau\\|Conakry" "" "\\|Dakar\\|Freetown\\|Lome\\|Monrovia\\|Nouakchott" "" "\\|Ouagadougou\\|Sao_Tome\\|Timbuktu\\)" "\\|America/Danmarkshavn" "\\|Atlantic/\\(Azores\\|Reykjavik\\|St_Helena\\)" "\\|\\(Etc/\\)?\\(GMT[+-]?0\\|Greenwich\\|UCT\\|UTC" "" "\\|Universal\\|Zulu\\)" "\\|Iceland") ;; POSIX.1-2017 (and earlier) TZ strings. (posix-tz-regexp (concat "\\(" abbr offset "\\(" abbr offset "?\\(" comma-date-time comma-date-time "\\)?\\)?\\)"))) (concat "\\`:?\\(" tzdb+0000-regexp "\\|" posix-tz-regexp "\\)\\'"))) (defun world-clock--check-entries (alist) (dolist (pair alist) (let ((tz (car pair))) (unless (string-match-p world-clock--tz-regexp tz) (when (zerop (car (current-time-zone 0 tz))) (error "Invalid time zone specification" tz)))))) PS. I noticed some other glitches in this area and installed the attached patch on master. It's a pain to maintain this stuff! --------------Z4r06UmZJy00qxadU8WZT3zV Content-Type: text/x-patch; charset=UTF-8; name="0001-Fix-incorrect-timezones-for-London-and-Paris.patch" Content-Disposition: attachment; filename="0001-Fix-incorrect-timezones-for-London-and-Paris.patch" Content-Transfer-Encoding: base64 RnJvbSA4OTdkMzIyODVmYzE3YjhhZmQ4ODliMWY3MzNhZWQ3MTQ5YjUwYTVjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE0IFNlcCAyMDI1IDEwOjA2OjUxIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gRml4IGluY29ycmVjdCB0aW1lem9uZXMgZm9yIExvbmRvbiBhbmQgUGFyaXMKTUlNRS1W ZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkFsc28sIHJlcGxhY2Ugb2Jzb2xldGUg Y2l0eSBuYW1lICJCYW5nYWxvcmUiIHdpdGggIkRlbGhpIiwKYW5kIGltcHJvdmUgZG9jIHN0 cmluZ3MuCiogbGlzcC90aW1lLmVsICh6b25laW5mby1zdHlsZS13b3JsZC1saXN0KQoobGVn YWN5LXN0eWxlLXdvcmxkLWxpc3QpOiBFdmlkZW50bHkgIkJhbmdhbG9yZSIgd2FzIGNob3Nl biBmb3IKQXNpYS9Lb2xrYXRhIHRvIGF2b2lkIGNvbmZ1c2lvbiBhYm91dCAiQ2FsY3V0dGEi IHZzICJLb2xrYXRhIi4KSG93ZXZlciwgaXQgaGFzIHNpbWlsYXIgY29uZnVzaW9uIHdpdGgg IkJlbmdhbHVydSIuClVzZSAiRGVsaGkiIGluc3RlYWQsIGFzIERlbGhpIGlzIGxhcmdlciwg aXRzIG5hbWUgaGFzIG5vdCBjaGFuZ2VkCmZvciBzb21lIHRpbWUsIGFuZCBwcm9wb3NhbHMg dG8gY2hhbmdlIGl0cyBuYW1lIGhhdmUgc28gZmFyIGZhaWxlZC4KU2VlOiBTaGFybWEgTVMu IFZpamF5IEdvZWwgd2FudHMgRGVsaGkgcmVuYW1lZCBhcyBEaWxsaSwgYnV0IGhpc3Rvcmlh bnMKc2F5IGl0IHdpbGwgb25seSBzcGVsbCB0cm91YmxlLiBUaW1lcyBvZiBJbmRpYS4gMjAx OS0wNy0yNS4KKHpvbmVpbmZvLXN0eWxlLXdvcmxkLWxpc3QpOiBVcGRhdGUgZG9jIHN0cmlu Zy4g4oCcUG9zaXgtc3R5bGXigJ0gd2FzCmFtYmlndW91cyBhcyBUWkRCLXN0eWxlIHN0cmlu Z3MgYXJlIHNwZWNpZmllZCBvbmx5IGJ5IFBPU0lYLjEtMjAyNCwKc28gdXNlIOKAnFRaREIt c3R5bGXigJ0gaW5zdGVhZC4gU2F5IOKAnEFSRUEvTE9DQVRJT07igJ0gdG8gYmUgY29uc2lz dGVudC4KSWYgQVJFQS9MT0NBVElPTiBpcyB1bnN1cHBvcnRlZCwgRW1hY3Mgc2lnbmFscyBh biBlcnJvciBvbiBOZXRCU0QKc28gZG9u4oCZdCBpbXBseSB0aGF0IHNvbWUgb3RoZXIgdGlt ZXpvbmUgd2lsbCBiZSB1c2VkLgoobGVnYWN5LXN0eWxlLXdvcmxkLWxpc3QpOiBSZW1vdmUg KCJHTVQwQlNUIiAiTG9uZG9uIikgYW5kICgiQ0VULTFDRFQiCiJQYXJpcyIpLiBUaGVzZSBh cmUgd3JvbmcgYmVjYXVzZSBuZWl0aGVyIExvbmRvbiBub3IgUGFyaXMgZm9sbG93ClVTIERT VCBydWxlcy4gIEluc3RlYWQsIHVzZSAoIkdNVDBCU1QsTTMuNS4wLzEsTTEwLjUuMCIgIkxv bmRvbiIpCmFuZCAoIkNFVC0xQ0VTVCxNMy41LjAsTTEwLjUuMC8zIiAiUGFyaXMiKSBpZiB0 aGV5IHdvcmssIGFuZCBvbWl0CkxvbmRvbiBhbmQgUGFyaXMgZW50cmllcyBvdGhlcndpc2Uu Ci0tLQogbGlzcC90aW1lLmVsIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC90aW1lLmVsIGIvbGlzcC90aW1lLmVsCmluZGV4IDUx N2VlYTIwYWQxLi5lY2FjYWYwOGFhNCAxMDA2NDQKLS0tIGEvbGlzcC90aW1lLmVsCisrKyBi L2xpc3AvdGltZS5lbApAQCAtNDUyLDcgKzQ1Miw3IEBAIHpvbmVpbmZvLXN0eWxlLXdvcmxk LWxpc3QKICAgICAoIkFtZXJpY2EvTmV3X1lvcmsiICJOZXcgWW9yayIpCiAgICAgKCJFdXJv cGUvTG9uZG9uIiAiTG9uZG9uIikKICAgICAoIkV1cm9wZS9QYXJpcyIgIlBhcmlzIikKLSAg ICAoIkFzaWEvS29sa2F0YSIgIkJhbmdhbG9yZSIpCisgICAgKCJBc2lhL0tvbGthdGEiICJE ZWxoaSIpCiAgICAgKCJBc2lhL1Rva3lvIiAiVG9reW8iKSkKICAgIkFsaXN0IG9mIHpvbmVp bmZvLXN0eWxlIHRpbWUgem9uZXMgYW5kIHBsYWNlcyBmb3IgYHdvcmxkLWNsb2NrJy4KIEVh Y2ggZWxlbWVudCBoYXMgdGhlIGZvcm0gKFRJTUVaT05FIExBQkVMKS4KQEAgLTQ2MSwyNyAr NDYxLDM3IEBAIHpvbmVpbmZvLXN0eWxlLXdvcmxkLWxpc3QKIG9mIGEgc3BlY2lmaWMgbG9j YXRpb24sIGUuZy4sIGEgY2l0eSwgd2l0aGluIHRoYXQgcmVnaW9uLgogTEFCRUwgaXMgYSBz dHJpbmcgdG8gZGlzcGxheSBhcyB0aGUgbGFiZWwgb2YgdGhhdCBUSU1FWk9ORSdzIHRpbWUu CiAKLVRoaXMgb3B0aW9uIGhhcyBlZmZlY3Qgb25seSBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9y dCBQb3NpeC1zdHlsZQotem9uZWluZm8gZmlsZXMgc3BlY2lmaWVkIGFzIENPTlRJTkVOVC9D SVRZLiAgSW4gcGFydGljdWxhciwKK1RoaXMgb3B0aW9uIGhhcyBlZmZlY3Qgb25seSBvbiBz eXN0ZW1zIHRoYXQgc3VwcG9ydCBUWkRCLXN0eWxlCitUWiBzdHJpbmdzIHNwZWNpZmllZCBh cyBBUkVBL0xPQ0FUSU9OLiAgSW4gcGFydGljdWxhciwKIE1TLVdpbmRvd3MgZG9lc24ndCBz dXBwb3J0IHRoYXQ7IHVzZSBgbGVnYWN5LXN0eWxlLXdvcmxkLWxpc3QnIGluc3RlYWQuCi1B bHNvLCBBUkVBL0xPQ0FUSU9OIG11c3Qgc3BlY2lmeSBhIHpvbmVpbmZvIGZpbGUgaW5zdGFs bGVkIG9uIHlvdXIKLXN5c3RlbSwgb3RoZXJ3aXNlIHdoYXQgdGltZXpvbmUgd2lsbCBiZSB1 c2VkIGRlcGVuZHMgb24gdGhlIHVuZGVybHlpbmcKLU9TIGFuZCBsaWJyYXJ5LiIKK0Fsc28s IEFSRUEvTE9DQVRJT04gbXVzdCBzcGVjaWZ5IGEgdGltZXpvbmUgc3VwcG9ydGVkIGJ5IHlv dXIgc3lzdGVtLAorb3RoZXJ3aXNlIHRoZSBiZWhhdmlvciBkZXBlbmRzIG9uIHRoZSB1bmRl cmx5aW5nIE9TIGFuZCBsaWJyYXJ5LiIKICAgOnR5cGUgJyhyZXBlYXQgKGxpc3Qgc3RyaW5n IHN0cmluZykpCiAgIDp2ZXJzaW9uICIyMy4xIikKIAogKGRlZmN1c3RvbSBsZWdhY3ktc3R5 bGUtd29ybGQtbGlzdAotICAnKCgiUFNUOFBEVCIgIlNlYXR0bGUiKQotICAgICgiRVNUNUVE VCIgIk5ldyBZb3JrIikKLSAgICAoIkdNVDBCU1QiICJMb25kb24iKQotICAgICgiQ0VULTFD RFQiICJQYXJpcyIpCi0gICAgKCJJU1QtNTozMCIgIkJhbmdhbG9yZSIpCi0gICAgKCJKU1Qt OSIgIlRva3lvIikpCisgIDs7IFRoaXMgbGlzdCBpcyBmb3IgY2lyY2EgMjAyNSB0aW1la2Vl cGluZywgYW5kIHdpbGwgbmVlZCBjaGFuZ2VzCisgIDs7IGlmIGFueSBvZiB0aGVzZSBsb2Nh dGlvbnMgY2hhbmdlIG5hbWVzLCB0aW1lIHpvbmVzLCBvciBEU1QgcnVsZXMuCisgIChhcHBl bmQKKyAgIDs7IFRoZXNlIGVudHJpZXMgYXNzdW1lIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQg RFNUIHJ1bGVzIGFyZSBmb3IgdGhlIFVTLAorICAgOzsgd2hpY2ggaXMgdHJ1ZSBvZiBhbGwg a25vd24gcGxhdGZvcm1zIHRoYXQgdXNlIHRoaXMgdmFyaWFibGUuCisgICAnKCgiUFNUOFBE VCIgIlNlYXR0bGUiKQorICAgICAoIkVTVDVFRFQiICJOZXcgWW9yayIpKQorCisgICA7OyBV c2UgUE9TSVguMS0yMDE3IHN0eWxlIFRaIGlmIHN1cHBvcnRlZDsgb3RoZXJ3aXNlLCBnaXZl IHVwIG9uIExvbmRvbgorICAgOzsgYW5kIFBhcmlzIGFzICJHTVQwQlNUIiBhbmQgIkNFVC0x Q0RUIiB3b3VsZCB1c2UgaW5jb3JyZWN0IERTVC4KKyAgICh3aGVuIChzdHJpbmctZXF1YWwg KGZvcm1hdC10aW1lLXN0cmluZyAiJXoiIDAgIlhYWDBZWVksTTkuNS4wLzEsTTQuMS4wLzMi KQorCQkgICAgICAgIiswMTAwIikKKyAgICAgJygoIkdNVDBCU1QsTTMuNS4wLzEsTTEwLjUu MCIgIkxvbmRvbiIpCisgICAgICAgKCJDRVQtMUNFU1QsTTMuNS4wLE0xMC41LjAvMyIgIlBh cmlzIikpKQorCisgICAnKCgiSVNULTU6MzAiICJEZWxoaSIpCisgICAgICgiSlNULTkiICJU b2t5byIpKSkKICAgIkFsaXN0IG9mIHRyYWRpdGlvbmFsLXN0eWxlIHRpbWUgem9uZXMgYW5k IHBsYWNlcyBmb3IgYHdvcmxkLWNsb2NrJy4KIEVhY2ggZWxlbWVudCBoYXMgdGhlIGZvcm0g KFRJTUVaT05FIExBQkVMKS4KIFRJTUVaT05FIHNob3VsZCBiZSBhIHN0cmluZyBvZiB0aGUg Zm9ybToKIAotICAgICBzdGRbK3wtXW9mZnNldFtkc3Rbb2Zmc2V0XVssZGF0ZVsvdGltZV0s ZGF0ZVsvdGltZV1dXQorICAgICBzdGRbK3wtXW9mZnNldFtkc3RbWyt8LV1vZmZzZXRdWyxk YXRlWy90aW1lXSxkYXRlWy90aW1lXV1dCiAKIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0 aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUgb24geW91ciBzeXN0ZW0sCiBmb3IgbW9yZSBk ZXRhaWxzIGFib3V0IHRoZSBmb3JtYXQgb2YgVElNRVpPTkUuCi0tIAoyLjQ4LjEKCg== --------------Z4r06UmZJy00qxadU8WZT3zV--