diff --git a/.gitignore b/.gitignore
index bd11d19..289cdb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,7 @@
 /emacs-28.2.tar.xz.sig
 /emacs-29.1.tar.xz
 /emacs-29.1.tar.xz.sig
+/emacs-29.2.tar.xz
+/emacs-29.2.tar.xz.sig
+/emacs-29.3.tar.xz
+/emacs-29.3.tar.xz.sig
diff --git a/0001-configure-Remove-obsolete-check-for-b-i486-linuxaout.patch b/0001-configure-Remove-obsolete-check-for-b-i486-linuxaout.patch
deleted file mode 100644
index 4e488ea..0000000
--- a/0001-configure-Remove-obsolete-check-for-b-i486-linuxaout.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 123ece3c3313101048d43a5ef2f9bd66c4e97fb7 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Fri, 23 Dec 2022 18:49:25 +0100
-Subject: [PATCH] configure: Remove obsolete check for -b i486-linuxaout
-
-If there are still a.out system arounds, they shouldn't need this
-anymore because the toolchain has been fixed.
-
-* configure.ac (emacs_cv_b_link): Remove obsolete check.
-
-(cherry picked from commit 6c1413d5ef0d1fea639b0d8c83a0c0065d99359b)
----
- configure.ac | 33 ---------------------------------
- 1 file changed, 33 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5dd182ae6e5..8a20caa8c4e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2695,39 +2695,6 @@ if test "${HAVE_X11}" = "yes"; then
-     export LD_RUN_PATH
-   fi
- 
--  if test "${opsys}" = "gnu-linux"; then
--    AC_CACHE_CHECK([whether X on GNU/Linux needs -b to link], [emacs_cv_b_link],
--    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
--     [[XOpenDisplay ("foo");]])],
--     [xgnu_linux_first_failure=no],
--     [xgnu_linux_first_failure=yes])
--    if test "${xgnu_linux_first_failure}" = "yes"; then
--      OLD_CPPFLAGS="$CPPFLAGS"
--      OLD_LIBS="$LIBS"
--      CPPFLAGS="$CPPFLAGS -b i486-linuxaout"
--      LIBS="$LIBS -b i486-linuxaout"
--      AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
--       [[XOpenDisplay ("foo");]])],
--       [xgnu_linux_second_failure=no],
--       [xgnu_linux_second_failure=yes])
--      if test "${xgnu_linux_second_failure}" = "yes"; then
--	# If we get the same failure with -b, there is no use adding -b.
--	# So leave it out.  This plays safe.
--        emacs_cv_b_link=no
--      else
--        emacs_cv_b_link=yes
--      fi
--      CPPFLAGS=$OLD_CPPFLAGS
--      LIBS=$OLD_LIBS
--    else
--      emacs_cv_b_link=no
--    fi])
--    if test "x$emacs_cv_b_link" = xyes ; then
--      LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -b i486-linuxaout"
--      C_SWITCH_X_SITE="$C_SWITCH_X_SITE -b i486-linuxaout"
--    fi
--  fi
--
-   # Reportedly, some broken Solaris systems have XKBlib.h but are missing
-   # header files included from there.
-   AC_CACHE_CHECK([for Xkb], [emacs_cv_xkb],
--- 
-2.41.0
-
diff --git a/emacs.spec b/emacs.spec
index d791579..55ff64c 100644
--- a/emacs.spec
+++ b/emacs.spec
@@ -4,8 +4,8 @@
 Summary:       GNU Emacs text editor
 Name:          emacs
 Epoch:         1
-Version:       29.1
-Release:       3%{?dist}.1
+Version:       29.3
+Release:       1%{?dist}
 License:       GPL-3.0-or-later AND CC0-1.0
 URL:           http://www.gnu.org/software/emacs/
 Source0:       https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
@@ -24,7 +24,6 @@ Patch2:        emacs-system-crypto-policies.patch
 # causes a dependency on pkgconfig(systemd)
 # => remove it if we stop using this patch
 Patch3:        emacs-libdir-vs-systemd.patch
-Patch5:        0001-configure-Remove-obsolete-check-for-b-i486-linuxaout.patch
 
 BuildRequires: gcc
 BuildRequires: atk-devel
@@ -538,6 +537,12 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
 %{_includedir}/emacs-module.h
 
 %changelog
+* Mon Mar 25 2024 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:29.3-1
+- New upstream release 29.3, fixes rhbz#2271287
+
+* Mon Jan 22 2024 Peter Oliver <rpm@mavit.org.uk> - 1:29.2-2
+- Update to version 29.2.
+
 * Tue Nov 21 2023 Michel Lind <salimma@centosproject.org> - 1:29.1-3.1
 - Revert back to webkit2gtk3 for hs.el9
 
diff --git a/sources b/sources
index 2292cd8..a02f31c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (emacs-29.1.tar.xz) = de10f2af462682019af680e6a82fd33feb05ce6d995bedf5756264fa06e29d90cab02c5884b0aeade1c5ab39cf064e0fb6ff9f78d9eedbd162f0a985945b9ec2
-SHA512 (emacs-29.1.tar.xz.sig) = 0177a372ab5cc0fc21f90b26d4e19c2e8feee887d5807291319ee5d7fafee2d8752923f24a928492c53cc1b1f2f8e2ea5ce8b55459b2af56bfc95cf0a6b0f399
+SHA512 (emacs-29.3.tar.xz) = efaecfc46a0b88f61de477d92c08ee592b8838e6c34724151a3b1502efa7ebd4d4837733c694807e6de1ba4b8d37d2ec382c6bb2ed000b67ad8f0e11c7df2a6b
+SHA512 (emacs-29.3.tar.xz.sig) = 369cd1b2f39c57be4f343c950389a20d48f87f830b39183c8e0fbaf4f1929c5915ac82ceab5c4889dfa5ce95408857a06ff7ab877da346046a73e30d873c807c