unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#74606: 31.0.50; Another rsvg API change
@ 2024-11-29 16:42 Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-11-30 11:06 ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-29 16:42 UTC (permalink / raw)
  To: 74606



Hi,

This is not a bug (yet) per se but here is a new warning I get from
compiling Emacs with librsvg version 2.59.2:

  CC       image.o
image.c: In function 'svg_load_image':
image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
12360 |   pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
      |   ^~~~~~
In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
                 from image.c:11652:
/usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
   55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
      |            ^~~~~~~~~~~~~~~~~~~~~~


In GNU Emacs 31.0.50 (build 4, x86_64-unknown-openbsd7.6, X toolkit) of
 2024-11-29 built on computer
Repository revision: a52ad71cc5d036f1973ff2e504e45992fec3fc04
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101014
System Description: OpenBSD computer 7.6 GENERIC.MP#458 amd64

Configured using:
 'configure CC=egcc CPPFLAGS=-I/usr/local/include
 LDFLAGS=-L/usr/local/lib MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs
 --bindir=/home/manuel/bin --with-x-toolkit=lucid
 --with-toolkit-scroll-bars=no --without-cairo
 --without-compress-install'

Configured features:
DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF
LIBXML2 M17N_FLT MODULES NOTIFY KQUEUE PDUMPER PNG RSVG SQLITE3 THREADS
TIFF TREE_SITTER WEBP X11 XAW3D XDBE XFT XIM XINPUT2 XPM LUCID ZLIB

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  display-time-mode: t
  display-battery-mode: t
  desktop-save-mode: t
  exwm-randr-mode: t
  server-mode: t
  electric-pair-mode: t
  override-global-mode: t
  repeat-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: 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:
/home/manuel/prog/elisp/exwm/exwm hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm
/home/manuel/prog/elisp/exwm/exwm-xsettings hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-xsettings
/home/manuel/prog/elisp/exwm/exwm-xim hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-xim
/home/manuel/prog/elisp/exwm/exwm-workspace hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-workspace
/home/manuel/prog/elisp/exwm/exwm-randr hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-randr
/home/manuel/prog/elisp/exwm/exwm-manage hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-manage
/home/manuel/prog/elisp/exwm/exwm-layout hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-layout
/home/manuel/prog/elisp/exwm/exwm-input hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-input
/home/manuel/prog/elisp/exwm/exwm-floating hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-floating
/home/manuel/prog/elisp/exwm/exwm-systemtray hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-systemtray
/home/manuel/prog/elisp/exwm/exwm-core hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-core
/home/manuel/prog/elisp/exwm/exwm-background hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-background
/home/manuel/.emacs.d/elpa/ada-mode-8.1.0/prj hides /home/manuel/.emacs.d/elpa/gpr-query-1.0.4/prj
/home/manuel/.emacs.d/elpa/ef-themes-1.9.0/theme-loaddefs hides /home/manuel/emacs/share/emacs/31.0.50/lisp/theme-loaddefs

Features:
(shadow sort mail-extr emacsbug org-agenda cus-start on-screen
org-indent autoconf autoconf-mode oc-basic org-element org-persist
org-id org-element-ast inline avl-tree ol-eww ol-rmail ol-mhe ol-irc
ol-info ol-gnus nnselect ol-docview doc-view filenotify image-mode exif
ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi gnus-icalendar
org-capture org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src ob-comint org-pcomplete org-list org-footnote
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
org-compat org-macs reveal jka-compr tar-mode view conf-mode css-mode
sgml-mode facemenu imenu eww vtable mule-util url-queue mm-url sh-script
smie treesit executable vc-hg vc-bzr vc-src vc-sccs vc-svn erlang tempo
align vc-dir ewoc whitespace macrostep-c cmacexp vc-git diff-mode
track-changes gnus-dired vc-cvs vc-rcs log-view log-edit add-log
pcvs-util vc vc-dispatcher debbugs-browse bug-reference make-mode time
battery desktop frameset exwm-randr xcb-randr exwm exwm-input
xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render
exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto
xcb-types xcb-debug server ef-kassio-theme ef-themes
modus-operandi-theme modus-themes zone speed-type url-http url-auth
url-gw nsm ytdious mpdired transmission color calc-bin calc-ext calc
calc-loaddefs rect calc-macs supercite regi ebdb-gnus gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill
kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus
xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range gnus-win ebdb-message message yank-media puny rfc822 mml
mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 gmm-utils mailheader ebdb-mua ebdb-com crm
ebdb-format ebdb mailabbrev eieio-opt speedbar ezimage dframe find-func
eieio-base timezone icalendar gnus nnheader gnus-util range sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils web-mode
derived disp-table erlang-start skeleton cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs slime-asdf
grep slime-tramp tramp rx trampver tramp-integration files-x
tramp-message tramp-compat xdg shell pcomplete parse-time iso8601
time-date format-spec tramp-loaddefs slime-fancy slime-indentation
slime-cl-indent cl-indent slime-trace-dialog slime-fontifying-fu
slime-package-fu slime-references slime-compiler-notes-tree advice
slime-scratch slime-presentations bridge slime-macrostep macrostep
compat slime-mdot-fu slime-enclosing-context slime-fuzzy
slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl slime-parse slime
apropos compile text-property-search etags fileloop generator xref
project arc-mode archive-mode noutline outline comint ansi-osc
ansi-color ring hyperspec thingatpt elec-pair edmacro kmacro
use-package-bind-key bind-key appt diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs pcase dired-x dired-aux dired dired-loaddefs
use-package-core repeat easy-mmode cus-edit pp cus-load wid-edit
ada-mode-autoloads debbugs-autoloads ebdb-autoloads cl-extra help-mode
ef-themes-autoloads exwm-autoloads gpr-query-autoloads
gnat-compiler-autoloads guru-mode-autoloads hyperbole-autoloads
kotl-autoloads hact set hhist on-screen-autoloads osm-autoloads
pdf-tools-autoloads rust-mode-autoloads slime-autoloads
macrostep-autoloads speed-type-autoloads svg-clock-autoloads
tablist-autoloads transmission-autoloads uniquify-files-autoloads info
wisi-autoloads xelb-autoloads ytdious-autoloads package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs icons password-cache json
subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen 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 kqueue lcms2 dynamic-setting system-font-setting
font-render-setting x-toolkit xinput2 x multi-tty move-toolbar
make-network-process emacs)

Memory information:
((conses 16 964347 636120) (symbols 48 54773 7)
 (strings 32 259457 38112) (string-bytes 1 6534665)
 (vectors 16 155489) (vector-slots 8 2164039 45468) (floats 8 604 125)
 (intervals 56 24628 204) (buffers 992 167))

-- 
Manuel Giraud





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-11-29 16:42 bug#74606: 31.0.50; Another rsvg API change Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 11:06 ` Eli Zaretskii
  2024-12-01 13:09   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-11-30 11:06 UTC (permalink / raw)
  To: Manuel Giraud; +Cc: 74606

> Date: Fri, 29 Nov 2024 17:42:19 +0100
> From:  Manuel Giraud via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> This is not a bug (yet) per se but here is a new warning I get from
> compiling Emacs with librsvg version 2.59.2:
> 
>   CC       image.o
> image.c: In function 'svg_load_image':
> image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
> 12360 |   pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
>       |   ^~~~~~
> In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
>                  from image.c:11652:
> /usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
>    55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
>       |            ^~~~~~~~~~~~~~~~~~~~~~

The way to fix this is to add code conditioned on librsvg version that
uses rsvg_handle_get_pixbuf_and_error when available.

Thanks.





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-11-30 11:06 ` Eli Zaretskii
@ 2024-12-01 13:09   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-01 14:55     ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 13:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74606

[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Fri, 29 Nov 2024 17:42:19 +0100
>> From:  Manuel Giraud via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> 
>> This is not a bug (yet) per se but here is a new warning I get from
>> compiling Emacs with librsvg version 2.59.2:
>> 
>>   CC       image.o
>> image.c: In function 'svg_load_image':
>> image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
>> 12360 |   pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
>>       |   ^~~~~~
>> In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
>>                  from image.c:11652:
>> /usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
>>    55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
>>       |            ^~~~~~~~~~~~~~~~~~~~~~
>
> The way to fix this is to add code conditioned on librsvg version that
> uses rsvg_handle_get_pixbuf_and_error when available.

Ok.  According to this:
https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52

this API is deprecated since 2.58 so here is the patch for this change.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Update-to-version-2.58-of-librsvg-API-bug-74606.patch --]
[-- Type: text/x-patch, Size: 3064 bytes --]

From 767bef2e8355c1e3ac514fa1f3a342a36f643316 Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Sun, 1 Dec 2024 13:50:05 +0100
Subject: [PATCH] Update to version 2.58 of librsvg API (bug#74606)

* src/image.c (init_svg_functions): Declare new function.
(svg_load_image): Use it.
---
 src/image.c | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/image.c b/src/image.c
index db7f6acd171..88b0f91413e 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11706,7 +11706,11 @@ DEF_DLL_FN (void, rsvg_handle_get_dimensions,
 DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet,
 	    (RsvgHandle *, const guint8 *, gsize, GError **));
 #  endif
+#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf_and_error, (RsvgHandle *, GError **));
+#  else
 DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
+#  endif
 DEF_DLL_FN (int, gdk_pixbuf_get_width, (const GdkPixbuf *));
 DEF_DLL_FN (int, gdk_pixbuf_get_height, (const GdkPixbuf *));
 DEF_DLL_FN (guchar *, gdk_pixbuf_get_pixels, (const GdkPixbuf *));
@@ -11765,8 +11769,11 @@ init_svg_functions (void)
 #if LIBRSVG_CHECK_VERSION (2, 48, 0)
   LOAD_DLL_FN (library, rsvg_handle_set_stylesheet);
 #endif
+#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+  LOAD_DLL_FN (library, rsvg_handle_get_pixbuf_and_error);
+#else
   LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
-
+#endif
   LOAD_DLL_FN (gdklib, gdk_pixbuf_get_width);
   LOAD_DLL_FN (gdklib, gdk_pixbuf_get_height);
   LOAD_DLL_FN (gdklib, gdk_pixbuf_get_pixels);
@@ -11811,7 +11818,11 @@ init_svg_functions (void)
 #  if LIBRSVG_CHECK_VERSION (2, 48, 0)
 #   undef rsvg_handle_set_stylesheet
 #  endif
-#  undef rsvg_handle_get_pixbuf
+#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#   undef rsvg_handle_get_pixbuf_and_error
+#  else
+#   undef rsvg_handle_get_pixbuf
+#  endif
 #  if LIBRSVG_CHECK_VERSION (2, 32, 0)
 #   undef g_file_new_for_path
 #   undef g_memory_input_stream_new_from_data
@@ -11852,7 +11863,11 @@ init_svg_functions (void)
 #  if LIBRSVG_CHECK_VERSION (2, 48, 0)
 #   define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet
 #  endif
-#  define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
+#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#   define rsvg_handle_get_pixbuf_and_error fn_rsvg_handle_get_pixbuf_and_error
+#  else
+#   define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
+#  endif
 #  if LIBRSVG_CHECK_VERSION (2, 32, 0)
 #   define g_file_new_for_path fn_g_file_new_for_path
 #   define g_memory_input_stream_new_from_data \
@@ -12357,8 +12372,13 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
 
   /* We can now get a valid pixel buffer from the svg file, if all
      went ok.  */
+#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+  pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
+  if (err) goto rsvg_error;
+#else
   pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
   if (!pixbuf) goto rsvg_error;
+#endif
   g_object_unref (rsvg_handle);
   xfree (wrapped_contents);
 
-- 
2.47.0


[-- Attachment #3: Type: text/plain, Size: 18 bytes --]

-- 
Manuel Giraud

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-01 13:09   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 14:55     ` Eli Zaretskii
  2024-12-02 11:58       ` Osama Rebach
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-01 14:55 UTC (permalink / raw)
  To: Manuel Giraud; +Cc: 74606-done

> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: 74606@debbugs.gnu.org
> Date: Sun, 01 Dec 2024 14:09:26 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Date: Fri, 29 Nov 2024 17:42:19 +0100
> >> From:  Manuel Giraud via "Bug reports for GNU Emacs,
> >>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> >> 
> >> This is not a bug (yet) per se but here is a new warning I get from
> >> compiling Emacs with librsvg version 2.59.2:
> >> 
> >>   CC       image.o
> >> image.c: In function 'svg_load_image':
> >> image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
> >> 12360 |   pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
> >>       |   ^~~~~~
> >> In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
> >>                  from image.c:11652:
> >> /usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
> >>    55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
> >>       |            ^~~~~~~~~~~~~~~~~~~~~~
> >
> > The way to fix this is to add code conditioned on librsvg version that
> > uses rsvg_handle_get_pixbuf_and_error when available.
> 
> Ok.  According to this:
> https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
> 
> this API is deprecated since 2.58 so here is the patch for this change.

Thanks, installed on the emacs-30 branch, and closing the bug.





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-01 14:55     ` Eli Zaretskii
@ 2024-12-02 11:58       ` Osama Rebach
  2024-12-02 13:45         ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Osama Rebach @ 2024-12-02 11:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74606-done, manuel


rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
should guard against 2.59 instead of 2.58

I have libsrvg 2.58.3 and get this error:

image.c: In function 'svg_load_image':
image.c:12376:12: warning: implicit declaration of function 'rsvg_handle_get_pixbuf_and_error'; did you mean 'rsvg_handle_get_pixbuf_sub'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
12376 |   pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |            rsvg_handle_get_pixbuf_sub
image.c:12376:10: warning: assignment to 'GdkPixbuf *' {aka 'struct _GdkPixbuf *'} from 'int' makes pointer from integer without a cast [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wint-conversion-Wint-conversion8;;]
12376 |   pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
      |          ^
  CC       lastfile.o
  CCLD     temacs
  GEN      ../etc/DOC
/nix/store/va7kw1i822h95im4jacci19v0cqajfyf-binutils-2.43.1/bin/ld: image.o: in function `svg_load_image':
image.c:(.text+0x7a89): undefined reference to `rsvg_handle_get_pixbuf_and_error'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:745: temacs] Error 1
make[2]: Leaving directory '/build/source/src'
make[1]: *** [Makefile:554: src] Error 2
make[1]: Leaving directory '/build/source'
make[1]: Entering directory '/build/source'
***
*** "make all" failed with exit status 2.
***
*** You could try to:
*** - run "make bootstrap", which might fix the problem
*** - run "make V=1", which displays the full commands invoked by make,
***   to further investigate the problem
***
make[1]: *** [Makefile:418: advice-on-failure] Error 2
make[1]: Leaving directory '/build/source'
make: *** [Makefile:374: all] Error 2





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 11:58       ` Osama Rebach
@ 2024-12-02 13:45         ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-02 14:06           ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 13:45 UTC (permalink / raw)
  To: Osama Rebach; +Cc: Eli Zaretskii, 74606-done

Osama Rebach <osamarebach@gmail.com> writes:

> rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
> should guard against 2.59 instead of 2.58

Thanks.  I have based my patch on this comment:
https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52

Now, I'm looking on the librsvg repo for a more valid source of
information.
-- 
Manuel Giraud





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 13:45         ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 14:06           ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-02 14:14             ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 14:06 UTC (permalink / raw)
  To: Osama Rebach; +Cc: Eli Zaretskii, 74606-done

Manuel Giraud <manuel@ledu-giraud.fr> writes:

> Osama Rebach <osamarebach@gmail.com> writes:
>
>> rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
>> should guard against 2.59 instead of 2.58
>
> Thanks.  I have based my patch on this comment:
> https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
>
> Now, I'm looking on the librsvg repo for a more valid source of
> information.

Ok, so if I'm not mistaken the patch that introduces the
rsvg_handle_get_pixbuf_and_error API (and deprecated the other) is this
one:
https://gitlab.gnome.org/GNOME/librsvg/-/commit/85cdba02a3e126c1099a62b3d6421ac0cb2d790b

On this page, when you unfold the link "Tags containing commit", you can
see that 2.58.90 is the first one.  So maybe, I should use this version
instead.  WDYT?

The "Deprecated: 2.58" from the header looks like a copy/paste mistake.
-- 
Manuel Giraud





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 14:06           ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 14:14             ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-02 14:41               ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 14:14 UTC (permalink / raw)
  To: Osama Rebach; +Cc: Eli Zaretskii, 74606-done

[-- Attachment #1: Type: text/plain, Size: 1039 bytes --]

Manuel Giraud <manuel@ledu-giraud.fr> writes:

> Manuel Giraud <manuel@ledu-giraud.fr> writes:
>
>> Osama Rebach <osamarebach@gmail.com> writes:
>>
>>> rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
>>> should guard against 2.59 instead of 2.58
>>
>> Thanks.  I have based my patch on this comment:
>> https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
>>
>> Now, I'm looking on the librsvg repo for a more valid source of
>> information.
>
> Ok, so if I'm not mistaken the patch that introduces the
> rsvg_handle_get_pixbuf_and_error API (and deprecated the other) is this
> one:
> https://gitlab.gnome.org/GNOME/librsvg/-/commit/85cdba02a3e126c1099a62b3d6421ac0cb2d790b
>
> On this page, when you unfold the link "Tags containing commit", you can
> see that 2.58.90 is the first one.  So maybe, I should use this version
> instead.  WDYT?
>
> The "Deprecated: 2.58" from the header looks like a copy/paste
> mistake.

Here is a patch to be applied on emacs-30.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-the-version-of-librsvg-API-change.patch --]
[-- Type: text/x-patch, Size: 2394 bytes --]

From 5ffc64b52427309a9e171d54520ecab2e408d62e Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Mon, 2 Dec 2024 15:11:52 +0100
Subject: [PATCH] Fix the version of librsvg API change

* src/image.c (init_svg_functions, svg_load_image): The version
introducing 'rsvg_handle_get_pixbuf_and_error' is 2.58.90 not
2.58.0.
---
 src/image.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/image.c b/src/image.c
index 43220758324..46e8b48aced 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11688,7 +11688,7 @@ DEF_DLL_FN (void, rsvg_handle_get_dimensions,
 DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet,
 	    (RsvgHandle *, const guint8 *, gsize, GError **));
 #  endif
-#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#  if LIBRSVG_CHECK_VERSION (2, 58, 90)
 DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf_and_error, (RsvgHandle *, GError **));
 #  else
 DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
@@ -11751,7 +11751,7 @@ init_svg_functions (void)
 #if LIBRSVG_CHECK_VERSION (2, 48, 0)
   LOAD_DLL_FN (library, rsvg_handle_set_stylesheet);
 #endif
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 58, 90)
   LOAD_DLL_FN (library, rsvg_handle_get_pixbuf_and_error);
 #else
   LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
@@ -11800,7 +11800,7 @@ init_svg_functions (void)
 #  if LIBRSVG_CHECK_VERSION (2, 48, 0)
 #   undef rsvg_handle_set_stylesheet
 #  endif
-#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#  if LIBRSVG_CHECK_VERSION (2, 58, 90)
 #   undef rsvg_handle_get_pixbuf_and_error
 #  else
 #   undef rsvg_handle_get_pixbuf
@@ -11845,7 +11845,7 @@ init_svg_functions (void)
 #  if LIBRSVG_CHECK_VERSION (2, 48, 0)
 #   define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet
 #  endif
-#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#  if LIBRSVG_CHECK_VERSION (2, 58, 90)
 #   define rsvg_handle_get_pixbuf_and_error fn_rsvg_handle_get_pixbuf_and_error
 #  else
 #   define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
@@ -12354,7 +12354,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
 
   /* We can now get a valid pixel buffer from the svg file, if all
      went ok.  */
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 58, 90)
   pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
   if (err) goto rsvg_error;
 #else
-- 
2.47.0


[-- Attachment #3: Type: text/plain, Size: 18 bytes --]

-- 
Manuel Giraud

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 14:14             ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 14:41               ` Eli Zaretskii
  2024-12-02 15:02                 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-02 14:41 UTC (permalink / raw)
  To: Manuel Giraud; +Cc: 74606, osamarebach

> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: Eli Zaretskii <eliz@gnu.org>,  74606-done@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 15:14:54 +0100
> 
> > On this page, when you unfold the link "Tags containing commit", you can
> > see that 2.58.90 is the first one.  So maybe, I should use this version
> > instead.  WDYT?
> >
> > The "Deprecated: 2.58" from the header looks like a copy/paste
> > mistake.
> 
> Here is a patch to be applied on emacs-30.

Thanks, but did you verify that 2.58.90 actually has this function?
Is the tarball of that version's sources available somewhere we could
check?

Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
no catastrophe if someone sees warnings while using it.





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 14:41               ` Eli Zaretskii
@ 2024-12-02 15:02                 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-02 15:11                   ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 15:02 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74606, osamarebach

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> Cc: Eli Zaretskii <eliz@gnu.org>,  74606-done@debbugs.gnu.org
>> Date: Mon, 02 Dec 2024 15:14:54 +0100
>> 
>> > On this page, when you unfold the link "Tags containing commit", you can
>> > see that 2.58.90 is the first one.  So maybe, I should use this version
>> > instead.  WDYT?
>> >
>> > The "Deprecated: 2.58" from the header looks like a copy/paste
>> > mistake.
>> 
>> Here is a patch to be applied on emacs-30.
>
> Thanks, but did you verify that 2.58.90 actually has this function?
> Is the tarball of that version's sources available somewhere we could
> check?

No I didn't.  I've only used the commit log.

> Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
> no catastrophe if someone sees warnings while using it.

I agree: no catastrophe and low probability too.  Do you want me to
modify the patch to check for 2.59?
-- 
Manuel Giraud





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 15:02                 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 15:11                   ` Eli Zaretskii
  2024-12-02 16:03                     ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-02 15:11 UTC (permalink / raw)
  To: Manuel Giraud; +Cc: 74606, osamarebach

> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: osamarebach@gmail.com,  74606@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 16:02:40 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Manuel Giraud <manuel@ledu-giraud.fr>
> >> Cc: Eli Zaretskii <eliz@gnu.org>,  74606-done@debbugs.gnu.org
> >> Date: Mon, 02 Dec 2024 15:14:54 +0100
> >> 
> >> > On this page, when you unfold the link "Tags containing commit", you can
> >> > see that 2.58.90 is the first one.  So maybe, I should use this version
> >> > instead.  WDYT?
> >> >
> >> > The "Deprecated: 2.58" from the header looks like a copy/paste
> >> > mistake.
> >> 
> >> Here is a patch to be applied on emacs-30.
> >
> > Thanks, but did you verify that 2.58.90 actually has this function?
> > Is the tarball of that version's sources available somewhere we could
> > check?
> 
> No I didn't.  I've only used the commit log.
> 
> > Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
> > no catastrophe if someone sees warnings while using it.
> 
> I agree: no catastrophe and low probability too.  Do you want me to
> modify the patch to check for 2.59?

Yes, please.





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 15:11                   ` Eli Zaretskii
@ 2024-12-02 16:03                     ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-02 16:24                       ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 16:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74606, osamarebach

[-- Attachment #1: Type: text/plain, Size: 1235 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> Cc: osamarebach@gmail.com,  74606@debbugs.gnu.org
>> Date: Mon, 02 Dec 2024 16:02:40 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> >> Cc: Eli Zaretskii <eliz@gnu.org>,  74606-done@debbugs.gnu.org
>> >> Date: Mon, 02 Dec 2024 15:14:54 +0100
>> >> 
>> >> > On this page, when you unfold the link "Tags containing commit", you can
>> >> > see that 2.58.90 is the first one.  So maybe, I should use this version
>> >> > instead.  WDYT?
>> >> >
>> >> > The "Deprecated: 2.58" from the header looks like a copy/paste
>> >> > mistake.
>> >> 
>> >> Here is a patch to be applied on emacs-30.
>> >
>> > Thanks, but did you verify that 2.58.90 actually has this function?
>> > Is the tarball of that version's sources available somewhere we could
>> > check?
>> 
>> No I didn't.  I've only used the commit log.
>> 
>> > Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
>> > no catastrophe if someone sees warnings while using it.
>> 
>> I agree: no catastrophe and low probability too.  Do you want me to
>> modify the patch to check for 2.59?
>
> Yes, please.

Here it is.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-the-version-of-librsvg-API-change.patch --]
[-- Type: text/x-patch, Size: 2407 bytes --]

From 5f9f676dce22afbc477b555b610dd0adeefa37f2 Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Mon, 2 Dec 2024 15:11:52 +0100
Subject: [PATCH] Fix the version of librsvg API change

* src/image.c (init_svg_functions, svg_load_image): The first
official version that introduces
'rsvg_handle_get_pixbuf_and_error' is 2.59.0 not 2.58.0.
---
 src/image.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/image.c b/src/image.c
index 43220758324..0012abcb451 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11688,7 +11688,7 @@ DEF_DLL_FN (void, rsvg_handle_get_dimensions,
 DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet,
 	    (RsvgHandle *, const guint8 *, gsize, GError **));
 #  endif
-#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#  if LIBRSVG_CHECK_VERSION (2, 59, 0)
 DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf_and_error, (RsvgHandle *, GError **));
 #  else
 DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
@@ -11751,7 +11751,7 @@ init_svg_functions (void)
 #if LIBRSVG_CHECK_VERSION (2, 48, 0)
   LOAD_DLL_FN (library, rsvg_handle_set_stylesheet);
 #endif
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 59, 0)
   LOAD_DLL_FN (library, rsvg_handle_get_pixbuf_and_error);
 #else
   LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
@@ -11800,7 +11800,7 @@ init_svg_functions (void)
 #  if LIBRSVG_CHECK_VERSION (2, 48, 0)
 #   undef rsvg_handle_set_stylesheet
 #  endif
-#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#  if LIBRSVG_CHECK_VERSION (2, 59, 0)
 #   undef rsvg_handle_get_pixbuf_and_error
 #  else
 #   undef rsvg_handle_get_pixbuf
@@ -11845,7 +11845,7 @@ init_svg_functions (void)
 #  if LIBRSVG_CHECK_VERSION (2, 48, 0)
 #   define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet
 #  endif
-#  if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#  if LIBRSVG_CHECK_VERSION (2, 59, 0)
 #   define rsvg_handle_get_pixbuf_and_error fn_rsvg_handle_get_pixbuf_and_error
 #  else
 #   define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
@@ -12354,7 +12354,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
 
   /* We can now get a valid pixel buffer from the svg file, if all
      went ok.  */
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 59, 0)
   pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
   if (err) goto rsvg_error;
 #else
-- 
2.47.0


[-- Attachment #3: Type: text/plain, Size: 18 bytes --]

-- 
Manuel Giraud

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* bug#74606: 31.0.50; Another rsvg API change
  2024-12-02 16:03                     ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 16:24                       ` Eli Zaretskii
  0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-02 16:24 UTC (permalink / raw)
  To: Manuel Giraud; +Cc: 74606, osamarebach

> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: osamarebach@gmail.com,  74606@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 17:03:34 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> > Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
> >> > no catastrophe if someone sees warnings while using it.
> >> 
> >> I agree: no catastrophe and low probability too.  Do you want me to
> >> modify the patch to check for 2.59?
> >
> > Yes, please.
> 
> Here it is.

Thanks, installed.





^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-12-02 16:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-29 16:42 bug#74606: 31.0.50; Another rsvg API change Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 11:06 ` Eli Zaretskii
2024-12-01 13:09   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 14:55     ` Eli Zaretskii
2024-12-02 11:58       ` Osama Rebach
2024-12-02 13:45         ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:06           ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:14             ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:41               ` Eli Zaretskii
2024-12-02 15:02                 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 15:11                   ` Eli Zaretskii
2024-12-02 16:03                     ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:24                       ` Eli Zaretskii

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).