GNU bug report logs - #60565
[PATCH] src/pgtkfns.c (parse_resource_key): Use recursive schema lookup

Previous Next

Package: emacs;

Reported by: Tad Fisher <tadfisher <at> gmail.com>

Date: Thu, 5 Jan 2023 01:59:01 UTC

Severity: normal

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 60565 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Tad Fisher <tadfisher <at> gmail.com>, Po Lu <luangruo <at> yahoo.com>
Cc: 60565 <at> debbugs.gnu.org
Subject: Re: bug#60565: [PATCH] src/pgtkfns.c (parse_resource_key): Use
 recursive schema lookup
Date: Sat, 07 Jan 2023 11:12:29 +0200
> From: Tad Fisher <tadfisher <at> gmail.com>
> Date: Thu, 5 Jan 2023 01:58:47 +0000
> 
> 
> From 8e2cf80593dd78030929f96f0f1a3e1a325428a4 Mon Sep 17 00:00:00 2001
> From: Tad Fisher <tadfisher <at> gmail.com>
> Date: Wed, 4 Jan 2023 13:40:17 -0800
> Subject: [PATCH] ; * src/pgtkfns.c (parse_resource_key): Use recursive schema lookup
> 
> XDG_DATA_DIRS may consist of multiple directories, and
> g_settings_schema_source_get_default composes these into a recursive
> schema source. One must pass TRUE to g_settings_schema_source_lookup,
> otherwise only the first directory in XDG_DATA_DIRS is searched.
> 
> It follows that in the case that the directory containing the compiled
> GSettings schema for Emacs is not the first in XDG_DATA_DIRS,
> parse_resource_key will not accept any resource key, which causes
> pgtk_get_defaults_value and pgtk_set_defaults_value to fail.
> 
> This impacts systems that compose multiple GSettings schema sources
> via XDG_DATA_DIRS, such Flatpak and NixOS.
> 
> Supporting GIO documentation for g_settings_schema_source_get_default:
> 
> > The returned source may actually consist of multiple schema sources
> > from different directories, depending on which directories were given
> > in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
> > lookups performed against the default source should probably be done
> > recursively.

Thanks.  Po Lu, any comments?




This bug report was last modified 2 years and 186 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.