To: vim-dev@vim.org Subject: patch 5.4.5 Fcc: outbox From: Bram Moolenaar ------------ Since I didn't hear a good solution for this problem, I'll just disable removing menus in the Athena version. It is not a nice solution, but at least it avoids crashing. Just make sure you only add the right menus! Patch 5.4.5 Problem: Athena GUI: Using the Buffers.Refresh menu entry caused a crash. Looks like any ":unmenu" command may cause trouble. Solution: Disallow ":unmenu" in the Athena version. Disable the Buffers menu, because the Refresh item would not work. Files: src/menu.c, runtime/menu.vim *** ../vim-5.4/src/menu.c Sun Jul 25 22:02:13 1999 --- src/menu.c Tue Jul 27 18:45:54 1999 *************** *** 555,560 **** --- 555,568 ---- if (*name != NUL) break; + #ifdef USE_GUI_ATHENA + if (((menu->modes & ~modes) & MENU_ALL_MODES) == 0) + { + EMSG("Sorry, deleting a menu is not possible in the Athena version"); + return FAIL; + } + #endif + /* Remove the menu item for the given mode[s]. If the menu item * is no longer valid in ANY mode, delete it */ menu->modes &= ~modes; *** ../vim-5.4/runtime/menu.vim Sun Jul 25 22:02:47 1999 --- runtime/menu.vim Tue Jul 27 18:49:16 1999 *************** *** 3,9 **** " Note that ":amenu" is often used to make a menu work in all modes. " " Maintainer: Bram Moolenaar ! " Last change: 1999 Jul 20 " Make sure the '<' flag is not included in 'cpoptions', otherwise would " not be recognized. See ":help 'cpoptions'". --- 3,9 ---- " Note that ":amenu" is often used to make a menu work in all modes. " " Maintainer: Bram Moolenaar ! " Last change: 1999 Jul 27 " Make sure the '<' flag is not included in 'cpoptions', otherwise would " not be recognized. See ":help 'cpoptions'". *************** *** 100,105 **** --- 100,110 ---- amenu 40.390 &Tools.&Older\ List :colder amenu 40.400 &Tools.N&ewer\ List :cnewer + + " Can't delete a menu in Athena version + if has("gui_athena") + let no_buffers_menu = 1 + endif if !exists("no_buffers_menu") *** /tmp/version.h Thu Jul 29 11:38:28 1999 --- src/version.h Thu Jul 29 11:38:47 1999 *************** *** 19,26 **** #define VIM_VERSION_MINOR_STR "4" #define VIM_VERSION_BUILD 57 #define VIM_VERSION_BUILD_STR "57" ! #define VIM_VERSION_PATCHLEVEL 4 ! #define VIM_VERSION_PATCHLEVEL_STR "4" /* * VIM_VERSION_NODOT is used for the runtime directory name. --- 19,26 ---- #define VIM_VERSION_MINOR_STR "4" #define VIM_VERSION_BUILD 57 #define VIM_VERSION_BUILD_STR "57" ! #define VIM_VERSION_PATCHLEVEL 5 ! #define VIM_VERSION_PATCHLEVEL_STR "5" /* * VIM_VERSION_NODOT is used for the runtime directory name. *************** *** 30,35 **** */ #define VIM_VERSION_NODOT "vim54" #define VIM_VERSION_SHORT "5.4" ! #define VIM_VERSION_MEDIUM "5.4.4" ! #define VIM_VERSION_LONG "VIM - Vi IMproved 5.4.4 (1999 Jul 29)" ! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 5.4.4 (1999 Jul 29, compiled " --- 30,35 ---- */ #define VIM_VERSION_NODOT "vim54" #define VIM_VERSION_SHORT "5.4" ! #define VIM_VERSION_MEDIUM "5.4.5" ! #define VIM_VERSION_LONG "VIM - Vi IMproved 5.4.5 (1999 Jul 29)" ! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 5.4.5 (1999 Jul 29, compiled " -- DEAD PERSON: I don't want to go in the cart! CUSTOMER: Oh, don't be such a baby. MORTICIAN: I can't take him... DEAD PERSON: I feel fine! CUSTOMER: Oh, do us a favor... MORTICIAN: I can't. The Quest for the Holy Grail (Monty Python) --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\-- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /