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