bug#59364: gnome clocks does not start due to missing libGLES.so

2023-10-08 Thread John Kehayias via Bug reports for GNU Guix
On Sat, Oct 07, 2023 at 09:32 PM, Simon Streit wrote:

> John Kehayias  writes:
>
>> Is this the same issue as in ? With
>> potential fix ? I'm looking to
>> include this on the next mesa-updates round coming up soon.
>
> Yes, it is!  I can only confirm this error on older Machines with older
> graphics cards.  The newer ones are okay.

Thanks for confirming, hope to have the fix on mesa-updates and merged
soon. Soon depending on the next mesa point release and building the
branch.






bug#61882: emacs-next-pgtk does not find emacs-org-roam, other path issues

2023-10-08 Thread Maxim Cournoyer
Hi,

Csepp  writes:

> Maxim Cournoyer  writes:
>
>> tags 61882 +notabug
>> quit
>
> I don't think notabug applies until we actually know the root cause.

Sadly I don't think there's anything actionable here until you can
reproduce the problem and share the recipe with us, so I wanted to close
the issue without it being marked as "resolved".

-- 
Thanks,
Maxim





bug#66027: [PATCH] build: Add a commit-msg hook that embeds Change-Id in commit messages.

2023-10-08 Thread Maxim Cournoyer
Partially implements .

This will make it possible to track a merged commit back to its original
posting on the mailing list, and open the door to new opportunities such as
closing fully merged series automatically.

* Makefile.am (COMMIT_MSG_MAGIC): New variable.
(.git/hooks/commit-msg): New target.
* etc/git/commit-msg: New file.
* doc/contributing.texi (Configuring Git): Document Change-Id.

Change-Id: Ia92fa958eae600fdd4e180bad494c85db8bb4dd6
---
 Makefile.am   | 12 +-
 doc/contributing.texi | 10 -
 etc/git/commit-msg| 92 +++
 3 files changed, 112 insertions(+), 2 deletions(-)
 create mode 100755 etc/git/commit-msg

diff --git a/Makefile.am b/Makefile.am
index 310a231259..b860af7258 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1172,7 +1172,17 @@ cuirass-jobs: $(GOBJECTS)
git config --add include.path ../etc/git/gitconfig; \
fi
 
-nodist_noinst_DATA = .git/hooks/pre-push .git/config
+COMMIT_MSG_MAGIC = VGhpcyBpcyB0aGUgY29tbWl0LW1zZyBob29rIG9mIEd1aXg=
+.git/hooks/commit-msg: etc/git/commit-msg
+   $(AM_V_at)if test -d .git; then \
+   if test -f $@  && ! grep -qF $(COMMIT_MSG_MAGIC) $@; then \
+ mkdir -p $@.d && mv $@ $@.d && \
+   @ echo user commit-msg hook moved to $@.d/commit-msg; \
+   fi; \
+   cp etc/git/commit-msg $@; \
+   fi
+
+nodist_noinst_DATA = .git/hooks/pre-push .git/config .git/hooks/commit-msg
 
 # Downloading up-to-date PO files.
 
diff --git a/doc/contributing.texi b/doc/contributing.texi
index 864190b119..778bfb8fe6 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -1575,8 +1575,16 @@ Configuring Git
 use @command{git config --local}, or edit @file{.git/config} in the
 repository instead of @file{~/.gitconfig}.
 
+@cindex commit-msg hook
 Other important Git configuration will automatically be configured when
-building the project (@pxref{Building from Git}).
+building the project (@pxref{Building from Git}).  A
+@file{.git/hooks/commit-msg} hook will be installed that embeds
+@samp{Change-Id} Git @emph{trailers} in your commit messages for
+traceability purposes.  It is important to preserve these when editing
+your commit messages, particularly if a first version of your proposed
+changes was already published.  If you have a @file{commit-msg} hook of
+your own you would like to use with Guix, you can place it under the
+@file{.git/hooks/commit-msg.d/} directory.
 
 @node Sending a Patch Series
 @subsection Sending a Patch Series
diff --git a/etc/git/commit-msg b/etc/git/commit-msg
new file mode 100755
index 00..0826f3a56e
--- /dev/null
+++ b/etc/git/commit-msg
@@ -0,0 +1,92 @@
+#!/bin/sh
+# From Gerrit Code Review 3.6.1
+#
+# Part of Gerrit Code Review (https://www.gerritcodereview.com/)
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+### Guix modifications start
+COMMIT_MSG_MAGIC=VGhpcyBpcyB0aGUgY29tbWl0LW1zZyBob29rIG9mIEd1aXg=
+top=$(git rev-parse --show-toplevel)
+for msg_hook in "$top/.git/hooks/commit-msg.d/"*; do
+if ! sh "$msg_hook"; then
+echo "error while running $msg_hook"
+exit 1
+fi
+done
+### Guix modifications end
+
+set -u
+
+# avoid [[ which is not POSIX sh.
+if test "$#" != 1 ; then
+  echo "$0 requires an argument."
+  exit 1
+fi
+
+if test ! -f "$1" ; then
+  echo "file does not exist: $1"
+  exit 1
+fi
+
+# Do not create a change id if requested
+if test "false" = "$(git config --bool --get gerrit.createChangeId)" ; then
+  exit 0
+fi
+
+if git rev-parse --verify HEAD >/dev/null 2>&1; then
+  refhash="$(git rev-parse HEAD)"
+else
+  refhash="$(git hash-object -t tree /dev/null)"
+fi
+
+random=$({ git var GIT_COMMITTER_IDENT ; echo "$refhash" ; cat "$1"; } | git 
hash-object --stdin)
+dest="$1.tmp.${random}"
+
+trap 'rm -f "${dest}"' EXIT
+
+if ! git stripspace --strip-comments < "$1" > "${dest}" ; then
+   echo "cannot strip comments from $1"
+   exit 1
+fi
+
+if test ! -s "${dest}" ; then
+  echo "file is empty: $1"
+  exit 1
+fi
+
+reviewurl="$(git config --get gerrit.reviewUrl)"
+if test -n "${reviewurl}" ; then
+  if ! git interpret-trailers --parse < "$1" | grep -q 
'^Link:.*/id/I[0-9a-f]\{40\}$' ; then
+if ! git interpret-trailers \
+  --trailer "Link: ${reviewurl%/}/id/I${random}" < "$1" > "${dest}" ; 
then
+  echo "cannot insert link footer in $1"
+  exit 1
+fi
+  fi
+else
+  # Avoid 

bug#66339: Gnome-team dbus socket in /var/run/dbus, not /run/dbus

2023-10-08 Thread Bruno Victal
Hi,

On 2023-10-07 15:39, Maxim Cournoyer wrote:
> Hi,
> 
> Vivien Kraus  writes:
> 
>> Glib has made /run the default runstatedir:
>>
>> https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3101
>>
>> However, in Guix, the default runstatedir is /var/run.
>>
>> * gnu/packages/glib.scm (glib): Set runtime_dir to /var/run.
>> ---
>>
>> I changed my mind again!  Following the IRC discussion, Guix has a separate
>> /var/run and /run (and puts /run/current-system/ in /run).  So, /var/run/dbus
>> is actually the correct place to put the system session socket.

I recommend consulting the dbus spec [1] (System message bus subsection).
If I understood it correctly, `/var/run/dbus' is correct when the environment
variable DBUS_SYSTEM_BUS_ADDRESS is not set.
The /var/run/dbus or /run/dbus confusion is clarified in the third paragraph:
“On systems where /var/run/ is known to be synonymous with /run/ (such as 
most Linux
operating system distributions), implementations might prefer to make use of 
that knowledge
to connect to or listen on unix:path=/run/dbus/system_bus_socket instead, […]”

So it's up for the dbus implementation to detect whether /var/run/ is a symlink
to /run and whether it wants to explicitly choose /run if that's the case though
none of this is mandatory.

[…]

> I still see /var/run as the legacy directory of /run, so I'd prefer we
> standardize to use the modern variant to reduce this kind of friction
> with the applications which will only grow in the future.

My understanding is that the implementation should be placing them under
/var/run/dbus but this is orthogonal to the value of runstatedir.
In view with [2] I think runstatedir should be /run and Guix should be
modernized to have /var/run symlinked to /run.


[1]: 
[2]: 

-- 
Furthermore, I consider that nonfree software must be eradicated.

Cheers,
Bruno.






bug#66339: [PATCH gnome-team v6] gnu: dbus-service: make the session available under /run/dbus

2023-10-08 Thread Liliana Marie Prikler
Am Mittwoch, dem 04.10.2023 um 12:47 +0200 schrieb Vivien Kraus:
> According to
> https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3101, glib
> now searches for the session bus socket in runstatedir. The dbus
> service must thus have its socket in /run/dbus.
> 
> For interoperability with the dbus standard, /run/dbus is also
> symlinked to
> /var/run/dbus.
> 
> * gnu/services/dbus.scm (dbus-activation): Symlink /run/dbus to
> /var/run/dbus.
> (%dbus-accounts): Run dbus in /run/dbus.
> (dbus-root-service-type): Save the pid file in /run/dbus.
> ---
> 
> Hello,
> 
> I changed my mind back to a previous mind change, so: the socket
> should be
> installed in /run.  I believe that the code moves the content of the
> existing
> /var/run/dbus to /run/dbus before trying the symlink again, if
> /var/run/dbus
> exists and is not a symlink to /run/dbus.  I don’t really have a way
> to check
> the interesting case where existing files need to be moved.  However,
> the
> gnome-team-configured VM works.
> 
> Best regards,
> 
> Vivien
> 
>  gnu/services/dbus.scm | 39 ---
>  1 file changed, 36 insertions(+), 3 deletions(-)
> 
> diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
> index 5a0c634393..aa9ce0720c 100644
> --- a/gnu/services/dbus.scm
> +++ b/gnu/services/dbus.scm
> @@ -163,7 +163,7 @@ (define %dbus-accounts
>   (group "messagebus")
>   (system? #t)
>   (comment "D-Bus system bus user")
> - (home-directory "/var/run/dbus")
> + (home-directory "/run/dbus")
>   (shell (file-append shadow "/sbin/nologin")
>  
>  (define dbus-setuid-programs
> @@ -186,7 +186,40 @@ (define (dbus-activation config)
>  (let ((user (getpwnam "messagebus")))
>    ;; This directory contains the daemon's socket so it must
> be
>    ;; world-readable.
> -  (mkdir-p/perms "/var/run/dbus" user #o755))
> +  (mkdir-p/perms "/run/dbus" user #o755))
> +
> +    (catch 'system-error
> +  (lambda ()
> +    (symlink "/run/dbus" "/var/run/dbus"))
> +  (lambda args
> +    (let ((errno (system-error-errno args)))
> +  (cond
> +   ((= errno EEXIST)
> +    (let ((existing-name
> +   (false-if-exception
> +    (readlink "/var/run/dbus"
> +  (unless (equal? existing-name "/run/dbus")
> +    ;; Move the content of /var/run/dbus to
> /run/dbus, and
> +    ;; retry.
> +    (let ((dir (opendir "/var/run/dbus")))
> +  (let move-to-/run/dbus ((next (readdir dir)))
> +    (cond
> + ((eof-object? next)
> +  (closedir dir))
> + ((member next '("." ".."))
> +  (move-to-/run/dbus (readdir dir)))
> + (else
> +  (begin
> +    (rename-file (string-append
> "/var/run/dbus/" next)
> + (string-append "/run/dbus/"
> next))
> +    (move-to-/run/dbus (readdir dir
I'd rename "move-to-/run/dbus" to the boring but more idiomatic "loop".
This saves us some horizontal real-estate that'd allow us to squash
some lines.
> +  (rmdir "/var/run/dbus")
> +  (symlink "/run/dbus" "/var/run/dbus")))
> +   (else
> +    (format (current-error-port)
> +    "Failed to symlink /run/dbus to
> /var/run/dbus: ~s~%"
> +    (strerror errno))
> +    (error "cannot create /var/run/dbus"))
>  
>  (unless (file-exists? "/etc/machine-id")
>    (format #t "creating /etc/machine-id...~%")
> @@ -210,7 +243,7 @@ (define dbus-shepherd-service
>   '(#:environment-variables
> '("DBUS_VERBOSE=1")
>     #:log-file "/var/log/dbus-
> daemon.log")
>   '())
> -  #:pid-file "/var/run/dbus/pid"))
> +  #:pid-file "/run/dbus/pid"))
>  (stop #~(make-kill-destructor)))
>  
>  (define dbus-root-service-type
> 
> base-commit: b18b2d13488f2a92331ccad2dc8cbb54ee15582f
Otherwise LGTM.  I'd commit it, but my machine is currently busy
building half of core-updates for no reason.

Cheers


bug#61882: emacs-next-pgtk does not find emacs-org-roam, other path issues

2023-10-08 Thread Csepp


Maxim Cournoyer  writes:

> tags 61882 +notabug
> quit

I don't think notabug applies until we actually know the root cause.

> Hello,
>
> Csepp  writes:
>
>> (Jump forward a bit, this is a bit stream-of-consciousness-y, I
>> wrote
>> things down as I was debugging things. TLDR: profile got corrupted
>> somehow, it's not related to the packages themselves.)
>>
>> Certain packages like flatpak do not get installed in my main user
>> profile for some unknown reason.
>> So far they are:
>> * gallery-dl
>> * flatpak
>> * emacs-org-roam
>>
>> It has been happening for at least a month across several pulls.
>>
>> If I export a manifest and load it in either guix shell -m or guix
>> package -m to a different profile, bin/flatpak exists, if I do guix
>> package -m without a profile argument or with the profile set to the
>> default user profile, bin/flatpak is missing.
>>
>> The packages that are broken are always the same.
>>
>> If I create a manifest with only the broken packages, guix package
>> -I
>> reports exactly those packages, but when I look in
>> ~/.guix-profile/bin
>> it still has a bunch of other packages in it.
>>
>> So it seems the profile is frozen?  I have no idea how this could
>> happen.
>>
>> guix package --list-generations reports three generations, but there
>> is
>> only one generation in my home directory, called
>> .guix-profile-1-link.
>>
>> There is also a .guix-profile.lock, maybe that's related?
>> I see no lock for the other profile with the same manifest.
>>
>> Removed the lock, tried guix package -m again, still don't have
>> flatpak,
>> still only one generation symlink.
>>
>> Deleted all the symlinks, ran guix package -m, now it works.
>>
>> I'm gonna hold off on running the GC for a few days, if anyone has
>> an
>> idea of where the bug is and wants me to upload some files, I can do
>> it
>> until then.
>> For my own reference, this is the store item of the broken profile:
>> /gnu/store/0w3jxl95cchxn14zph3lmnqwmijf8971-profile
>
> Did you have any corruption at the FS level or something equally bad?
> Were you using a different Guix in between the 'guix package -m'
> attempts?  If the profile was in the cache, it wouldn't rebuild it,
> and you'd be stuck with your broken version.
>
> I'm closing this, as I we don't have much to push the
> investigation further, but if you have a more precise idea of what
> happened and ways to reproduce that do reopen.

I'm pretty sure I already went through these, but once again, to be sure:
- no there was no file system corruption as far as I could tell
- store was checked for corruption multiple times
- the issue persisted through multiple guix pulls
- only one profile was affected





bug#55136: keepassxc segfaults when merging databases

2023-10-08 Thread Csepp


Maxim Cournoyer  writes:

> Hello,
>
> raingloom  writes:
>
>> On Thu, 09 Jun 2022 23:42:35 -0400
>> Aurora  wrote:
>>
>>> Maxim Cournoyer  writes:
>>> >> Strange, I use keepassxc regularly for a long time now and I've
>>> >> never seen it crash. Though I don't do complex stuff such as
>>> >> merging databases, just retrieval of users and passwords and
>>> >> creation of new entries.  
>>> >
>>> > I also use it everyday, but I simply open an existing (dated)
>>> > database and edit entries to it/use it. It seems to crash often
>>> > when creating new databases for me.
>>> >
>>> > Maxim  
>>> 
>>> I just tested Guix's Keepassxc v2.7.1 at Guix revision
>>> 01596f40a994a2bb39dde5867ca66e9f7e9e67e0 for merging newly created
>>> databases (KDBX4) with and without conflicts in entries.
>>> 
>>> I experienced no crashes. Unless keepassxc or its dependencies
>>> changed
>>> by the time I tested it, I think that something else might be
>>> interacting.
>>> 
>>> - Aurora
>>
>> Might very well be an upstream bug, I'll try to build it with debug
>> symbols and see if I can reproduce it with the latest Guix commit.
>
> Any update?  Do newer versions work better for you?

Seems to work right now, I guess we can close it for now.





bug#66339: [PATCH gnome-team v6] gnu: dbus-service: make the session available under /run/dbus

2023-10-08 Thread Vivien Kraus via Bug reports for GNU Guix
According to https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3101, glib
now searches for the session bus socket in runstatedir. The dbus service must
thus have its socket in /run/dbus.

For interoperability with the dbus standard, /run/dbus is also symlinked to
/var/run/dbus.

* gnu/services/dbus.scm (dbus-activation): Symlink /run/dbus to /var/run/dbus.
(%dbus-accounts): Run dbus in /run/dbus.
(dbus-root-service-type): Save the pid file in /run/dbus.
---

Hello,

I changed my mind back to a previous mind change, so: the socket should be
installed in /run.  I believe that the code moves the content of the existing
/var/run/dbus to /run/dbus before trying the symlink again, if /var/run/dbus
exists and is not a symlink to /run/dbus.  I don’t really have a way to check
the interesting case where existing files need to be moved.  However, the
gnome-team-configured VM works.

Best regards,

Vivien

 gnu/services/dbus.scm | 39 ---
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 5a0c634393..aa9ce0720c 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -163,7 +163,7 @@ (define %dbus-accounts
  (group "messagebus")
  (system? #t)
  (comment "D-Bus system bus user")
- (home-directory "/var/run/dbus")
+ (home-directory "/run/dbus")
  (shell (file-append shadow "/sbin/nologin")
 
 (define dbus-setuid-programs
@@ -186,7 +186,40 @@ (define (dbus-activation config)
 (let ((user (getpwnam "messagebus")))
   ;; This directory contains the daemon's socket so it must be
   ;; world-readable.
-  (mkdir-p/perms "/var/run/dbus" user #o755))
+  (mkdir-p/perms "/run/dbus" user #o755))
+
+(catch 'system-error
+  (lambda ()
+(symlink "/run/dbus" "/var/run/dbus"))
+  (lambda args
+(let ((errno (system-error-errno args)))
+  (cond
+   ((= errno EEXIST)
+(let ((existing-name
+   (false-if-exception
+(readlink "/var/run/dbus"
+  (unless (equal? existing-name "/run/dbus")
+;; Move the content of /var/run/dbus to /run/dbus, and
+;; retry.
+(let ((dir (opendir "/var/run/dbus")))
+  (let move-to-/run/dbus ((next (readdir dir)))
+(cond
+ ((eof-object? next)
+  (closedir dir))
+ ((member next '("." ".."))
+  (move-to-/run/dbus (readdir dir)))
+ (else
+  (begin
+(rename-file (string-append "/var/run/dbus/" next)
+ (string-append "/run/dbus/" next))
+(move-to-/run/dbus (readdir dir
+  (rmdir "/var/run/dbus")
+  (symlink "/run/dbus" "/var/run/dbus")))
+   (else
+(format (current-error-port)
+"Failed to symlink /run/dbus to /var/run/dbus: ~s~%"
+(strerror errno))
+(error "cannot create /var/run/dbus"))
 
 (unless (file-exists? "/etc/machine-id")
   (format #t "creating /etc/machine-id...~%")
@@ -210,7 +243,7 @@ (define dbus-shepherd-service
  '(#:environment-variables '("DBUS_VERBOSE=1")
#:log-file "/var/log/dbus-daemon.log")
  '())
-  #:pid-file "/var/run/dbus/pid"))
+  #:pid-file "/run/dbus/pid"))
 (stop #~(make-kill-destructor)))
 
 (define dbus-root-service-type

base-commit: b18b2d13488f2a92331ccad2dc8cbb54ee15582f
-- 
2.41.0





bug#66227: [bug#66225] [PATCH v3] gnu: emacs-next-minimal: Apply Guix patches.

2023-10-08 Thread Andrew Tropin
On 2023-10-08 08:55, Liliana Marie Prikler wrote:

> Am Samstag, dem 07.10.2023 um 09:56 +0400 schrieb Andrew Tropin:
>> On 2023-10-06 17:58, Liliana Marie Prikler wrote:
>> 
>> > * gnu/packages/patches/emacs-next-native-comp-driver-options.patch:
>> > Add file.
>> > * gnu/packages/patches/emacs-next-exec-path.patch: Add file.
>> > * gnu/local.mk (dist_patch_DATA): Register them here.
>> > * gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches):
>> > Include the same patches as emacs-minimal, save for the variants
>> > specific to emacs-next introduced above.
>> > 
>> > Co-Authored-By: Nicolas Graves 
>> > Fixes: ‘emacs-next’ is almost unusable 
>> > […]
>> 
>> Hi Liliana and Nicolas, the fixes looks good to me.
> Thanks for checking.  I pushed it now (perhaps a bit too hasty, but
> it's been a problem for some while).

Cool!  Thank you very much, appreciate your work!

-- 
Best regards,
Andrew Tropin


signature.asc
Description: PGP signature


bug#65924: [PATCH core-updates 1/3] gnu: git: Remove labels and use gexps.

2023-10-08 Thread Liliana Marie Prikler
Am Samstag, dem 07.10.2023 um 23:18 -0400 schrieb Maxim Cournoyer:
> * gnu/packages/version-control.scm (git)
> [native-inputs, inputs]: Remove labels.
> [arguments]: Use gexps.  Use gexp variables input searching
> procedures where it makes sense.
> ---
Heads-up, the additional completions I'm installing in 66171 will cause
a merge conflict here (they need to go to core-updates due to git being
git and git-minimal still changes accordingly on master).  IIUC it
should be easier to apply your changes first and then mine.  IMHO,
completions shouldn't go to git-minimal, but reading 2/3 (i.e. reading
without applying) I'm not quite sure where they end up atm.

Cheers





bug#65924: [PATCH core-updates 2/3] gnu: git: Invert inheritance relationship.

2023-10-08 Thread Liliana Marie Prikler
Am Samstag, dem 07.10.2023 um 23:18 -0400 schrieb Maxim Cournoyer:
> It's simpler to add features on top of a minimal variant than to
> remove them, and helps avoiding mistakenly changing git-minimal,
> which has many dependents.
> 
> * gnu/packages/version-control.scm (git-minimal): Move above git and
> severe inheritance.  Remove input label.  Repatriate most fields
> from...
> (git): ... here.  Define as package/inherit to inherit from git-
> minimal.
> Extend minimal values instead of overriding them whole.
> ---
Having done the same to Emacs recently, I fully agree with this move.






bug#66227: [bug#66225] [PATCH v3] gnu: emacs-next-minimal: Apply Guix patches.

2023-10-08 Thread Liliana Marie Prikler
Am Samstag, dem 07.10.2023 um 09:56 +0400 schrieb Andrew Tropin:
> On 2023-10-06 17:58, Liliana Marie Prikler wrote:
> 
> > * gnu/packages/patches/emacs-next-native-comp-driver-options.patch:
> > Add file.
> > * gnu/packages/patches/emacs-next-exec-path.patch: Add file.
> > * gnu/local.mk (dist_patch_DATA): Register them here.
> > * gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches):
> > Include the same patches as emacs-minimal, save for the variants
> > specific to emacs-next introduced above.
> > 
> > Co-Authored-By: Nicolas Graves 
> > Fixes: ‘emacs-next’ is almost unusable 
> > […]
> 
> Hi Liliana and Nicolas, the fixes looks good to me.
Thanks for checking.  I pushed it now (perhaps a bit too hasty, but
it's been a problem for some while).

Cheers