[gentoo-commits] proj/emacs-tools:patchsets commit in: emacs/24.5/

2017-02-17 Thread Ulrich Müller
commit: d7cd02e1aa9ef37a0aee0d4f2507b8f21b522c7b
Author: Ulrich Müller  gentoo  org>
AuthorDate: Sat Feb 18 07:12:10 2017 +
Commit: Ulrich Müller  gentoo  org>
CommitDate: Sat Feb 18 07:12:10 2017 +
URL:https://gitweb.gentoo.org/proj/emacs-tools.git/commit/?id=d7cd02e1

Fix temacs segmentation fault due to endless calloc loop.

 emacs/24.5/07_all_gmalloc.patch | 81 +
 1 file changed, 81 insertions(+)

diff --git a/emacs/24.5/07_all_gmalloc.patch b/emacs/24.5/07_all_gmalloc.patch
new file mode 100644
index 000..7698ee3
--- /dev/null
+++ b/emacs/24.5/07_all_gmalloc.patch
@@ -0,0 +1,81 @@
+Fix temacs segmentation fault due to endless calloc loop.
+https://bugs.gentoo.org/609680
+
+Backported from Emacs 25:
+
+commit 4b1436b702d56eedd27a0777fc7232cdfb7ac4f6
+Author: Wolfgang Jenkner 
+Date:   Sat Dec 26 12:12:02 2015 -0800
+
+Always define gmalloc etc. in src/gmalloc.c
+
+This is a work-around to prevent the compiler from using semantic
+knowledge about malloc for optimization purposes.  E.g., gcc 5.2
+with -O2 replaces most of calloc's definition by a call to calloc;
+see Bug#22085.
+* src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
+(aligned_alloc, free): Do not undef.  Instead, define these as
+functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
+
+--- emacs-24.5-orig/src/gmalloc.c
 emacs-24.5/src/gmalloc.c
+@@ -42,6 +42,16 @@
+ extern void emacs_abort (void);
+ #endif
+ 
++#undef malloc
++#undef realloc
++#undef calloc
++#undef free
++#define malloc gmalloc
++#define realloc grealloc
++#define calloc gcalloc
++#define aligned_alloc galigned_alloc
++#define free gfree
++
+ #ifdef__cplusplus
+ extern "C"
+ {
+@@ -1747,6 +1757,42 @@
+   return aligned_alloc (pagesize, size);
+ }
+ 
++#undef malloc
++#undef realloc
++#undef calloc
++#undef aligned_alloc
++#undef free
++
++void *
++malloc (size_t size)
++{
++  return gmalloc (size);
++}
++
++void *
++calloc (size_t nmemb, size_t size)
++{
++  return gcalloc (nmemb, size);
++}
++
++void
++free (void *ptr)
++{
++  gfree (ptr);
++}
++
++void *
++aligned_alloc (size_t alignment, size_t size)
++{
++  return galigned_alloc (alignment, size);
++}
++
++void *
++realloc (void *ptr, size_t size)
++{
++  return grealloc (ptr, size);
++}
++
+ #ifdef GC_MCHECK
+ 
+ /* Standard debugging hooks for `malloc'.



[gentoo-commits] proj/emacs-tools:patchsets commit in: emacs/24.5/

2016-07-13 Thread Ulrich Müller
commit: 2c73e513ba90e484a2755cfd2797af18f7aead7b
Author: Ulrich Müller  gentoo  org>
AuthorDate: Wed Jul 13 20:13:42 2016 +
Commit: Ulrich Müller  gentoo  org>
CommitDate: Wed Jul 13 20:13:42 2016 +
URL:https://gitweb.gentoo.org/proj/emacs-tools.git/commit/?id=2c73e513

Fix icons in toolbar with GTK+ 3.20.6, bug 588704.

 emacs/24.5/06_all_gtk-toolbar.patch | 922 
 1 file changed, 922 insertions(+)

diff --git a/emacs/24.5/06_all_gtk-toolbar.patch 
b/emacs/24.5/06_all_gtk-toolbar.patch
new file mode 100644
index 000..d3cc5d6
--- /dev/null
+++ b/emacs/24.5/06_all_gtk-toolbar.patch
@@ -0,0 +1,922 @@
+Fix icons in toolbar with GTK+ 3.20.6.
+https://bugs.gentoo.org/588704
+https://bugs.archlinux.org/task/48862
+
+This comprises the following commits from upstream git, backported
+to Emacs 24.5:
+
+commit 4e94689452f3a895a52e67787b795596c2390462
+Author: Paul Eggert 
+Date:   Sat Oct 18 12:07:17 2014 -0700
+
+* gtkutil.c: Remove no-longer-used code.
+
+commit 6e5ff6166647e6af30beff38f67f2bca86cf9786
+Author: Jan Djärv 
+Date:   Sat Oct 18 18:26:47 2014 +0200
+
+* cus-start.el (x-gtk-whole-detached-tool-bar): Remove.
+
+commit ac225d22f68af9531bc25d6ab83c11797105b5bc
+Author: Jan Djärv 
+Date:   Sat Oct 18 18:25:24 2014 +0200
+
+* xfns.c (syms_of_xfns): Remove x-gtk-whole-detached-tool-bar.
+
+commit 3f4c6d52d34538bc2d4a53246af4c61ef176
+Author: Jan Djärv 
+Date:   Sat Oct 18 18:19:53 2014 +0200
+
+Handle deprecated Gtk+ stuff for version <= 3.10
+
+--- emacs-24.5-orig/lisp/cus-start.el
 emacs-24.5/lisp/cus-start.el
+@@ -519,7 +519,6 @@
+(x-gtk-use-old-file-dialog menu boolean "22.1")
+(x-gtk-show-hidden-files menu boolean "22.1")
+(x-gtk-file-dialog-help-text menu boolean "22.1")
+-   (x-gtk-whole-detached-tool-bar x boolean "22.1")
+(x-gtk-use-system-tooltips tooltip boolean "23.3")
+;; xterm.c
+(x-use-underline-position-properties display boolean "22.1")
+--- emacs-24.5-orig/lisp/term/x-win.el
 emacs-24.5/lisp/term/x-win.el
+@@ -1475,47 +1475,47 @@
+   (mapcar (lambda (arg)
+   (cons (purecopy (car arg)) (purecopy (cdr arg
+   '(
+-("etc/images/new" . "gtk-new")
+-("etc/images/open" . "gtk-open")
++("etc/images/new" . ("document-new" "gtk-new"))
++("etc/images/open" . ("document-open" "gtk-open"))
+ ("etc/images/diropen" . "n:system-file-manager")
+-("etc/images/close" . "gtk-close")
+-("etc/images/save" . "gtk-save")
+-("etc/images/saveas" . "gtk-save-as")
+-("etc/images/undo" . "gtk-undo")
+-("etc/images/cut" . "gtk-cut")
+-("etc/images/copy" . "gtk-copy")
+-("etc/images/paste" . "gtk-paste")
+-("etc/images/search" . "gtk-find")
+-("etc/images/print" . "gtk-print")
+-("etc/images/preferences" . "gtk-preferences")
+-("etc/images/help" . "gtk-help")
+-("etc/images/left-arrow" . "gtk-go-back")
+-("etc/images/right-arrow" . "gtk-go-forward")
+-("etc/images/home" . "gtk-home")
+-("etc/images/jump-to" . "gtk-jump-to")
++("etc/images/close" . ("window-close" "gtk-close"))
++("etc/images/save" . ("document-save" "gtk-save"))
++("etc/images/saveas" . ("document-save-as" "gtk-save-as"))
++("etc/images/undo" . ("edit-undo" "gtk-undo"))
++("etc/images/cut" . ("edit-cut" "gtk-cut"))
++("etc/images/copy" . ("edit-copy" "gtk-copy"))
++("etc/images/paste" . ("edit-paste" "gtk-paste"))
++("etc/images/search" . ("edit-find" "gtk-find"))
++("etc/images/print" . ("document-print" "gtk-print"))
++("etc/images/preferences" . ("preferences-system" "gtk-preferences"))
++("etc/images/help" . ("help-browser" "gtk-help"))
++("etc/images/left-arrow" . ("go-previous" "gtk-go-back"))
++("etc/images/right-arrow" . ("go-next" "gtk-go-forward"))
++("etc/images/home" . ("go-home" "gtk-home"))
++("etc/images/jump-to" . ("go-jump" "gtk-jump-to"))
+ ("etc/images/index" . "gtk-index")
+-("etc/images/search" . "gtk-find")
+-("etc/images/exit" . "gtk-quit")
++("etc/images/exit" . ("application-exit" "gtk-quit"))
+ ("etc/images/cancel" . "gtk-cancel")
+-("etc/images/info" . "gtk-info")
++("etc/images/info" . ("dialog-information" "gtk-info"))
+ ("etc/images/bookmark_add" . "n:bookmark_add")
+ ;; Used in Gnus and/or MH-E:
+ ("etc/images/attach" . "gtk-attach")
+ ("etc/images/connect" . "gtk-connect")
+ ("etc/images/contact" . "gtk-contact")
+-("etc/images/delete" . "gtk-delete")
+-("etc/images/describe" . "gtk-properties")
++("etc/images/delete" . ("edit-delete" "gtk-delete"))
++("etc/images/describe" . ("ocument-properties" "gtk-properties"))
+ ("etc/images/disconnect" . "gtk-disconnect")
+ ;; ("etc/images/exit" . "gtk-exit")
+ ("etc/images/lock-broken" . 

[gentoo-commits] proj/emacs-tools:patchsets commit in: emacs/24.5/

2015-04-01 Thread Ulrich Müller
commit: 070b9f62c40e2664c29f45a5259477ad0381bf8d
Author: Ulrich Müller ulm AT gentoo DOT org
AuthorDate: Wed Apr  1 19:43:29 2015 +
Commit: Ulrich Müller ulm AT gentoo DOT org
CommitDate: Wed Apr  1 19:43:29 2015 +
URL:https://gitweb.gentoo.org/proj/emacs-tools.git/commit/?id=070b9f62

Initial patchset for Emacs 24.5.

 emacs/24.5/04_all_games-sgid.patch | 259 +
 1 file changed, 259 insertions(+)

diff --git a/emacs/24.5/04_all_games-sgid.patch 
b/emacs/24.5/04_all_games-sgid.patch
new file mode 100644
index 000..882e3ca
--- /dev/null
+++ b/emacs/24.5/04_all_games-sgid.patch
@@ -0,0 +1,259 @@
+Backport support for update-game-score to run sgid instead of suid.
+This comprises parts of the following commits from upstream git:
+
+commit dbde138155118344b33dfd2db95f688a24a42fec
+Author: Ulrich Müller u...@gentoo.org
+Date:   Sun Feb 8 21:00:49 2015 +0100
+
+configure --with-gameuser now defaults to games group.
+
+commit 74ab488ff2e57f31eb5290266f0f3b1995ebf83e
+Author: Paul Eggert egg...@cs.ucla.edu
+Date:   Thu Jan 22 00:39:30 2015 -0800
+
+Check exit statuses in lib-src/Makefile
+
+commit 7f4e7dd378c456b498c270b47b46aaae365a72ab
+Author: Ulrich Müller u...@gentoo.org
+Date:   Thu Jan 22 08:24:42 2015 +0100
+
+Don't fail if chown or chgrp for 'update-game-score' is unsuccessful.
+
+commit 20f66485526b69eb26f2e70bd835a5e1333559d5
+Author: Ulrich Müller u...@gentoo.org
+Date:   Fri Jan 16 09:25:25 2015 +0100
+
+Allow update-game-score to run sgid instead of suid.
+
+--- emacs-24.4-orig/configure.ac
 emacs-24.4/configure.ac
+@@ -313,10 +313,20 @@
+ fi
+ 
+ AC_ARG_WITH(gameuser,dnl
+-[AS_HELP_STRING([--with-gameuser=USER],[user for shared game score files])])
+-test X${with_gameuser} != X  test ${with_gameuser} != yes \
+-   gameuser=${with_gameuser}
+-test X$gameuser = X  gameuser=games
++[AS_HELP_STRING([--with-gameuser=USER_OR_GROUP],
++  [user for shared game score files.
++  An argument prefixed by ':' specifies a group instead.])])
++gameuser=
++gamegroup=
++# We don't test if we can actually chown/chgrp here, because configure
++# may run without root privileges.  lib-src/Makefile.in will handle
++# any errors due to missing user/group gracefully.
++case ${with_gameuser} in
++  no) ;;
++   | yes) gamegroup=games ;;
++  :*) gamegroup=`echo ${with_gameuser} | sed -e s/://` ;;
++  *) gameuser=${with_gameuser} ;;
++esac
+ 
+ AC_ARG_WITH([gnustep-conf],dnl
+ [AS_HELP_STRING([--with-gnustep-conf=FILENAME],
+@@ -4658,6 +4668,7 @@
+ AC_SUBST(bitmapdir)
+ AC_SUBST(gamedir)
+ AC_SUBST(gameuser)
++AC_SUBST(gamegroup)
+ ## FIXME? Nothing uses @LD_SWITCH_X_SITE@.
+ ## src/Makefile.in did add LD_SWITCH_X_SITE (as a cpp define) to the
+ ## end of LIBX_BASE, but nothing ever set it.
+--- emacs-24.4-orig/lib-src/Makefile.in
 emacs-24.4/lib-src/Makefile.in
+@@ -101,6 +101,7 @@
+ 
+ gamedir=@gamedir@
+ gameuser=@gameuser@
++gamegroup=@gamegroup@
+ 
+ #  Utility Programs for the Build =
+ 
+@@ -243,10 +244,25 @@
+   umask 022; ${MKDIR_P} $(DESTDIR)${gamedir}; \
+   touch $(DESTDIR)${gamedir}/snake-scores; \
+   touch $(DESTDIR)${gamedir}/tetris-scores
+-  -if chown ${gameuser} 
$(DESTDIR)${archlibdir}/update-game-score${EXEEXT}  chmod u+s 
$(DESTDIR)${archlibdir}/update-game-score${EXEEXT}; then \
+-chown ${gameuser} $(DESTDIR)${gamedir}; \
++ifneq ($(gameuser),)
++  if chown ${gameuser} \
++   $(DESTDIR)${archlibdir}/update-game-score${EXEEXT}  \
++ chmod u+s,go-r \
++   $(DESTDIR)${archlibdir}/update-game-score${EXEEXT}; \
++  then \
++chown ${gameuser} $(DESTDIR)${gamedir}  \
++chmod u=rwx,g=rx,o=rx $(DESTDIR)${gamedir}; \
++  fi
++else ifneq ($(gamegroup),)
++  if chgrp ${gamegroup} \
++   $(DESTDIR)${archlibdir}/update-game-score${EXEEXT}  \
++ chmod g+s,o-r \
++   $(DESTDIR)${archlibdir}/update-game-score${EXEEXT}; \
++  then \
++chgrp ${gamegroup} $(DESTDIR)${gamedir}  \
+ chmod u=rwx,g=rwx,o=rx $(DESTDIR)${gamedir}; \
+   fi
++endif
+   exp_archlibdir=`cd $(DESTDIR)${archlibdir}  /bin/pwd`; \
+   if [ $$exp_archlibdir != `cd ${srcdir}  /bin/pwd` ]; then \
+ for file in ${SCRIPTS}; do \
+--- emacs-24.4-orig/lib-src/update-game-score.c
 emacs-24.4/lib-src/update-game-score.c
+@@ -21,8 +21,8 @@
+ 
+ 
+ /* This program allows a game to securely and atomically update a
+-   score file.  It should be installed setuid, owned by an appropriate
+-   user like `games'.
++   score file.  It should be installed either setuid or setgid, owned
++   by an appropriate user or group like `games'.
+ 
+Alternatively, it can be compiled without HAVE_SHARED_GAME_DIR
+defined, and in that case it will store scores in the user's home
+@@ -89,7 +89,7 @@
+  ptrdiff_t *size, struct score_entry const *newscore);
+