diff --git a/7.3.031 b/7.3.031 new file mode 100644 index 0000000..abe9946 --- /dev/null +++ b/7.3.031 @@ -0,0 +1,121 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.031 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.031 +Problem: Can't pass the X window ID to another application. +Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens) +Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h, + src/os_unix.c + + +*** ../vim-7.3.030/runtime/doc/eval.txt 2010-08-15 21:57:15.000000000 +0200 +--- runtime/doc/eval.txt 2010-10-20 19:11:03.000000000 +0200 +*************** +*** 1657,1662 **** +--- 1657,1667 ---- + *v:warningmsg* *warningmsg-variable* + v:warningmsg Last given warning message. It's allowed to set this variable. + ++ *v:windowid* *windowid-variable* ++ v:windowid When any X11 based GUI is running or when running in a ++ terminal and Vim connects to the X server (|-X|) this will be ++ set to the window ID. Otherwise the value is zero. ++ + ============================================================================== + 4. Builtin Functions *functions* + +*** ../vim-7.3.030/src/eval.c 2010-10-20 17:44:01.000000000 +0200 +--- src/eval.c 2010-10-20 18:48:40.000000000 +0200 +*************** +*** 362,367 **** +--- 362,368 ---- + {VV_NAME("operator", VAR_STRING), VV_RO}, + {VV_NAME("searchforward", VAR_NUMBER), 0}, + {VV_NAME("oldfiles", VAR_LIST), 0}, ++ {VV_NAME("windowid", VAR_NUMBER), VV_RO}, + }; + + /* shorthand */ +*** ../vim-7.3.030/src/gui.c 2010-09-29 17:26:57.000000000 +0200 +--- src/gui.c 2010-10-20 19:15:56.000000000 +0200 +*************** +*** 105,112 **** +--- 105,122 ---- + + #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) + if (gui.in_use) ++ { ++ # ifdef FEAT_EVAL ++ Window x11_window; ++ Display *x11_display; ++ ++ if (gui_get_x11_windis(&x11_window, &x11_display) == OK) ++ set_vim_var_nr(VV_WINDOWID, (long)x11_window); ++ # endif ++ + /* Display error messages in a dialog now. */ + display_errors(); ++ } + #endif + + #if defined(MAY_FORK) && !defined(__QNXNTO__) +*** ../vim-7.3.030/src/vim.h 2010-10-10 17:08:28.000000000 +0200 +--- src/vim.h 2010-10-20 18:48:40.000000000 +0200 +*************** +*** 1842,1848 **** + #define VV_OP 52 + #define VV_SEARCHFORWARD 53 + #define VV_OLDFILES 54 +! #define VV_LEN 55 /* number of v: vars */ + + #ifdef FEAT_CLIPBOARD + +--- 1842,1849 ---- + #define VV_OP 52 + #define VV_SEARCHFORWARD 53 + #define VV_OLDFILES 54 +! #define VV_WINDOWID 55 +! #define VV_LEN 56 /* number of v: vars */ + + #ifdef FEAT_CLIPBOARD + +*** ../vim-7.3.030/src/os_unix.c 2010-10-13 16:22:05.000000000 +0200 +--- src/os_unix.c 2010-10-20 19:15:46.000000000 +0200 +*************** +*** 1738,1743 **** +--- 1738,1748 ---- + } + if (x11_window == 0 || x11_display == NULL) + return (result = FAIL); ++ ++ # ifdef FEAT_EVAL ++ set_vim_var_nr(VV_WINDOWID, (long)x11_window); ++ # endif ++ + return (result = OK); + } + +*** ../vim-7.3.030/src/version.c 2010-10-20 17:44:01.000000000 +0200 +--- src/version.c 2010-10-20 19:11:31.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 31, + /**/ + +-- +What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics' +meaning 'bloodsucking creatures'. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///