Date: Fri, 26 Feb 2010 04:37:54 GMT From: Robert Jenssen <robertjenssen@ozemail.com.au> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/144309: editors/emacs: (emacs-23.1 GTK) menu contents don't change Message-ID: <201002260437.o1Q4bseU013979@www.freebsd.org> Resent-Message-ID: <201002260440.o1Q4e22P062649@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 144309 >Category: ports >Synopsis: editors/emacs: (emacs-23.1 GTK) menu contents don't change >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Feb 26 04:40:01 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Robert Jenssen >Release: 8-stable >Organization: >Environment: FreeBSD kraken 8.0-STABLE FreeBSD 8.0-STABLE #0: Mon Feb 22 04:35:10 EST 2010 root@kraken:/usr/obj/usr/src/sys/KRAKEN i386 >Description: There is a known problem with Emacs-23.1 and GTK. See: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4122 In short, the items in emacs 23.1/GTK menus don't get updated. Comment #7 in the above thread includes a patch to src/xfns.c that works for me. >How-To-Repeat: >Fix: Part of emacs-gtk.patch referred to above is attached below as patch-src-xfns.c.txt Place the patch file in /usr/ports/editors/emacs/files. Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # patch-src-xfns.c # echo x - patch-src-xfns.c sed 's/^X//' >patch-src-xfns.c << '2c720cb11c97be933bf88812f3b0dfda' X--- src/xfns.c.orig 2009-08-31 00:03:02.000000000 +0100 X+++ src/xfns.c 2009-08-31 00:21:39.000000000 +0100 X@@ -468,8 +468,10 @@ X if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo) X continue; X x = f->output_data.x; X- /* Match if the window is this frame's menubar. */ X #ifdef USE_GTK X+ /* Match if the window is this frame's window (button presses are no longer X+ caught by the menubar) or a menu in the menubar. X+ */ X if (x->menubar_widget) X { X GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); X@@ -477,13 +479,14 @@ X X BLOCK_INPUT; X if (gwdesc != 0 X- && (gwdesc == x->menubar_widget X+ && (gwdesc == gtk_widget_get_parent (gtk_widget_get_parent (x->menubar_widget)) X || gtk_widget_get_parent (gwdesc) == x->menubar_widget)) X found = 1; X UNBLOCK_INPUT; X if (found) return f; X } X #else X+ /* Match if the window is in this frame's menubar */ X if (x->menubar_widget X && lw_window_is_in_menubar (wdesc, x->menubar_widget)) X return f; 2c720cb11c97be933bf88812f3b0dfda exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002260437.o1Q4bseU013979>