r1232 - in /trunk/packages/vim: debian/ patches/ upstream/patches/
jamessan at users.alioth.debian.org
jamessan at users.alioth.debian.org
Wed Mar 12 19:36:03 UTC 2008
Author: jamessan
Date: Wed Mar 12 19:36:03 2008
New Revision: 1232
URL: http://svn.debian.org/wsvn/pkg-vim/?sc=1&rev=1232
Log:
Add upstream patch 271 - 277. 277 replaces option.c-p_para.diff
Added:
trunk/packages/vim/upstream/patches/7.1.271
trunk/packages/vim/upstream/patches/7.1.272
trunk/packages/vim/upstream/patches/7.1.273
trunk/packages/vim/upstream/patches/7.1.274
trunk/packages/vim/upstream/patches/7.1.275
trunk/packages/vim/upstream/patches/7.1.276
trunk/packages/vim/upstream/patches/7.1.277
Removed:
trunk/packages/vim/patches/option.c-p_para.diff
Modified:
trunk/packages/vim/debian/README
trunk/packages/vim/debian/changelog
trunk/packages/vim/patches/series
Modified: trunk/packages/vim/debian/README
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/README?rev=1232&op=diff
==============================================================================
--- trunk/packages/vim/debian/README (original)
+++ trunk/packages/vim/debian/README Wed Mar 12 19:36:03 2008
@@ -302,3 +302,10 @@
1576 7.1.268 always shows "+" at end of screen line with 'cursurline'
6183 7.1.269 matchparen plugin has an arbitrary line number limit
2861 7.1.270 ":?foo?" matches in current line since patch 7.1.025
+ 1582 7.1.271 in tiny version ":!touch %" causes curbuf to be wrong
+ 2334 7.1.272 buffer name [Location List] not used for buffer in other tab
+ 2504 7.1.273 when profiling on Linux Vim exits early
+ 1549 7.1.274 (after 7.1.272) compiler warning with optimized build
+ 40835 7.1.275 (extra) Mac: ATSUI and 'antialias' don't work together
+ 4946 7.1.276 "gw" uses 'formatexpr', even though the docs say it doesn't
+ 2802 7.1.277 default for 'paragraphs' misses some items
Modified: trunk/packages/vim/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/changelog?rev=1232&op=diff
==============================================================================
--- trunk/packages/vim/debian/changelog (original)
+++ trunk/packages/vim/debian/changelog Wed Mar 12 19:36:03 2008
@@ -1,10 +1,8 @@
-vim (1:7.1-270+1) UNRELEASED; urgency=low
-
- * New upstream patches (267 - 270), see README.gz for details.
- * Added patches:
- - option.c-p_para.diff:
- + Recognize a few extra groff macros (TP, HP, Pp, Lp, and It) in the
- default 'paragraphs' option. (Closes: #468924)
+vim (1:7.1-277+1) UNRELEASED; urgency=low
+
+ * New upstream patches (267 - 277), see README.gz for details.
+ - 7.1.277 adds recognition of a few extra groff macros (TP, HP, Pp, Lp,
+ and It) in the default 'paragraphs' option. (Closes: #468924)
* Updated patches:
- sh.vim_syntax.diff:
+ No longer mishighlight parenthetical expressions inside arithmetic
Modified: trunk/packages/vim/patches/series
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/patches/series?rev=1232&op=diff
==============================================================================
--- trunk/packages/vim/patches/series (original)
+++ trunk/packages/vim/patches/series Wed Mar 12 19:36:03 2008
@@ -36,4 +36,3 @@
make.vim-syntax.diff -p0
vim-git.diff -p2
last-position-jump.diff -p0
-option.c-p_para.diff -p0
Added: trunk/packages/vim/upstream/patches/7.1.271
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.271?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.271 (added)
+++ trunk/packages/vim/upstream/patches/7.1.271 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,53 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.271
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.271
+Problem: In a Vim build without autocommands, checking a file that was
+ changed externally causes the current buffer to be changed
+ unexpectedly. (Karsten Hopp)
+Solution: Store "curbuf" instead of "buf".
+Files: src/fileio.c
+
+
+*** ../vim-7.1.270/src/fileio.c Wed Feb 20 18:14:25 2008
+--- src/fileio.c Tue Mar 11 21:35:05 2008
+***************
+*** 9239,9245 ****
+ aco_save_T *aco; /* structure to save values in */
+ buf_T *buf; /* new curbuf */
+ {
+! aco->save_buf = buf;
+ curbuf = buf;
+ curwin->w_buffer = buf;
+ }
+--- 9248,9254 ----
+ aco_save_T *aco; /* structure to save values in */
+ buf_T *buf; /* new curbuf */
+ {
+! aco->save_buf = curbuf;
+ curbuf = buf;
+ curwin->w_buffer = buf;
+ }
+*** ../vim-7.1.270/src/version.c Mon Mar 10 21:33:52 2008
+--- src/version.c Tue Mar 11 21:57:30 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 271,
+ /**/
+
+--
+In a world without walls and borders, who needs windows and gates?
+
+ /// Bram Moolenaar -- Bram at 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.272
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.272?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.272 (added)
+++ trunk/packages/vim/upstream/patches/7.1.272 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,84 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.272
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.272
+Problem: The special buffer name [Location List] is not used for a buffer
+ displayed in another tab page.
+Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki
+ Nishihara)
+Files: src/buffer.c
+
+
+*** ../vim-7.1.271/src/buffer.c Wed Oct 3 14:30:54 2007
+--- src/buffer.c Wed Mar 5 21:55:44 2008
+***************
+*** 4912,4918 ****
+ return retval;
+ }
+
+! #ifdef FEAT_VIMINFO
+ int
+ read_viminfo_bufferlist(virp, writing)
+ vir_T *virp;
+--- 4912,4918 ----
+ return retval;
+ }
+
+! #if defined(FEAT_VIMINFO) || defined(PROTO)
+ int
+ read_viminfo_bufferlist(virp, writing)
+ vir_T *virp;
+***************
+*** 5033,5045 ****
+ #if defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)
+ if (bt_quickfix(buf))
+ {
+! win_T *win;
+
+ /*
+ * For location list window, w_llist_ref points to the location list.
+ * For quickfix window, w_llist_ref is NULL.
+ */
+! FOR_ALL_WINDOWS(win)
+ if (win->w_buffer == buf)
+ break;
+ if (win != NULL && win->w_llist_ref != NULL)
+--- 5033,5046 ----
+ #if defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)
+ if (bt_quickfix(buf))
+ {
+! win_T *win;
+! tabpage_T *tp;
+
+ /*
+ * For location list window, w_llist_ref points to the location list.
+ * For quickfix window, w_llist_ref is NULL.
+ */
+! FOR_ALL_TAB_WINDOWS(tp, win)
+ if (win->w_buffer == buf)
+ break;
+ if (win != NULL && win->w_llist_ref != NULL)
+*** ../vim-7.1.271/src/version.c Tue Mar 11 22:01:16 2008
+--- src/version.c Wed Mar 12 12:21:13 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 272,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+113. You are asked about a bus schedule, you wonder if it is 16 or 32 bits.
+
+ /// Bram Moolenaar -- Bram at 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.273
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.273?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.273 (added)
+++ trunk/packages/vim/upstream/patches/7.1.273 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,74 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.273
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.273
+Problem: When profiling on Linux Vim exits early. (Liu Yubao)
+Solution: When profiling don't exit on SIGPROF.
+Files: src/Makefile, src/os_unix.c
+
+
+*** ../vim-7.1.272/src/Makefile Wed Mar 12 12:23:18 2008
+--- src/Makefile Wed Mar 12 13:11:07 2008
+***************
+*** 545,551 ****
+ # For unknown reasons adding "-lc" fixes a linking problem with GCC. That's
+ # probably a bug in the "-pg" implementation.
+ # Need to recompile everything after changing this: "make clean" "make".
+! #PROFILE_CFLAGS = -pg -g
+ #PROFILE_LIBS = -pg
+ #PROFILE_LIBS = -pg -lc
+
+--- 545,551 ----
+ # For unknown reasons adding "-lc" fixes a linking problem with GCC. That's
+ # probably a bug in the "-pg" implementation.
+ # Need to recompile everything after changing this: "make clean" "make".
+! #PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
+ #PROFILE_LIBS = -pg
+ #PROFILE_LIBS = -pg -lc
+
+*** ../vim-7.1.272/src/os_unix.c Sun Feb 10 22:25:12 2008
+--- src/os_unix.c Wed Mar 5 22:15:41 2008
+***************
+*** 269,276 ****
+ #ifdef SIGVTALRM
+ {SIGVTALRM, "VTALRM", TRUE},
+ #endif
+! #if defined(SIGPROF) && !defined(FEAT_MZSCHEME)
+! /* MzScheme uses SIGPROF for its own needs */
+ {SIGPROF, "PROF", TRUE},
+ #endif
+ #ifdef SIGXCPU
+--- 269,277 ----
+ #ifdef SIGVTALRM
+ {SIGVTALRM, "VTALRM", TRUE},
+ #endif
+! #if defined(SIGPROF) && !defined(FEAT_MZSCHEME) && !defined(WE_ARE_PROFILING)
+! /* MzScheme uses SIGPROF for its own needs; On Linux with profiling
+! * this makes Vim exit. WE_ARE_PROFILING is defined in Makefile. */
+ {SIGPROF, "PROF", TRUE},
+ #endif
+ #ifdef SIGXCPU
+*** ../vim-7.1.272/src/version.c Wed Mar 12 12:22:56 2008
+--- src/version.c Wed Mar 12 13:08:59 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 273,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...".
+
+ /// Bram Moolenaar -- Bram at 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.274
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.274?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.274 (added)
+++ trunk/packages/vim/upstream/patches/7.1.274 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,54 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.274
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.274 (after 7.1.272)
+Problem: Compiler warning for optimized build.
+Solution: Init win to NULL.
+Files: src/buffer.c
+
+
+*** ../vim-7.1.273/src/buffer.c Wed Mar 12 12:22:56 2008
+--- src/buffer.c Wed Mar 12 13:15:21 2008
+***************
+*** 5033,5039 ****
+ #if defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)
+ if (bt_quickfix(buf))
+ {
+! win_T *win;
+ tabpage_T *tp;
+
+ /*
+--- 5033,5039 ----
+ #if defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)
+ if (bt_quickfix(buf))
+ {
+! win_T *win = NULL;
+ tabpage_T *tp;
+
+ /*
+*** ../vim-7.1.273/src/version.c Wed Mar 12 13:16:37 2008
+--- src/version.c Wed Mar 12 13:45:25 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 274,
+ /**/
+
+--
+FIXME and XXX are two common keywords used to mark broken or incomplete code
+not only since XXX as a sex reference would grab everbodys attention but
+simply due to the fact that Vim would highlight these words.
+ -- Hendrik Scholz
+
+ /// Bram Moolenaar -- Bram at 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.275
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.275?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.275 (added)
+++ trunk/packages/vim/upstream/patches/7.1.275 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,1541 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.275
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.275 (extra)
+Problem: Mac: ATSUI and 'antialias' don't work properly together.
+Solution: Fix this and the input method. (Jjgod Jiang)
+Files: src/vim.h, src/gui_mac.c
+
+
+*** ../vim-7.1.274/src/vim.h Wed Feb 20 12:22:59 2008
+--- src/vim.h Wed Mar 12 13:18:58 2008
+***************
+*** 461,468 ****
+ /*
+ * Check input method control.
+ */
+! #if defined(FEAT_XIM) || \
+! (defined(FEAT_GUI) && (defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME)))
+ # define USE_IM_CONTROL
+ #endif
+
+--- 461,469 ----
+ /*
+ * Check input method control.
+ */
+! #if defined(FEAT_XIM) \
+! || (defined(FEAT_GUI) && (defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))) \
+! || defined(FEAT_GUI_MAC)
+ # define USE_IM_CONTROL
+ #endif
+
+*** ../vim-7.1.274/src/gui_mac.c Sat Sep 29 13:15:29 2007
+--- src/gui_mac.c Wed Mar 12 13:40:57 2008
+***************
+*** 59,65 ****
+--- 59,91 ----
+
+ #ifdef MACOS_CONVERT
+ # define USE_CARBONKEYHANDLER
++
++ static int im_is_active = FALSE;
++ #if 0
++ static int im_start_row = 0;
++ static int im_start_col = 0;
++ #endif
++
++ #define NR_ELEMS(x) (sizeof(x) / sizeof(x[0]))
++
++ static TSMDocumentID gTSMDocument;
++
++ static void im_on_window_switch(int active);
+ static EventHandlerUPP keyEventHandlerUPP = NULL;
++ static EventHandlerUPP winEventHandlerUPP = NULL;
++
++ static pascal OSStatus gui_mac_handle_window_activate(
++ EventHandlerCallRef nextHandler, EventRef theEvent, void *data);
++
++ static pascal OSStatus gui_mac_handle_text_input(
++ EventHandlerCallRef nextHandler, EventRef theEvent, void *data);
++
++ static pascal OSStatus gui_mac_update_input_area(
++ EventHandlerCallRef nextHandler, EventRef theEvent);
++
++ static pascal OSStatus gui_mac_unicode_key_event(
++ EventHandlerCallRef nextHandler, EventRef theEvent);
++
+ #endif
+
+
+***************
+*** 137,143 ****
+--- 166,176 ----
+
+ #ifdef MACOS_CONVERT
+ # define USE_ATSUI_DRAWING
++ int p_macatsui_last;
+ ATSUStyle gFontStyle;
++ # ifdef FEAT_MBYTE
++ ATSUStyle gWideFontStyle;
++ # endif
+ Boolean gIsFontFallbackSet;
+ #endif
+
+***************
+*** 265,270 ****
+--- 298,308 ----
+ static WindowRef drawer = NULL; // TODO: put into gui.h
+ #endif
+
++ #ifdef USE_ATSUI_DRAWING
++ static void gui_mac_set_font_attributes(GuiFont font);
++ static void gui_mac_dispose_atsui_style(void);
++ #endif
++
+ /*
+ * ------------------------------------------------------------
+ * Conversion Utility
+***************
+*** 1935,1946 ****
+ /* Dim scrollbars */
+ if (whichWindow == gui.VimWindow)
+ {
+! ControlRef rootControl;
+! GetRootControl(gui.VimWindow, &rootControl);
+! if ((event->modifiers) & activeFlag)
+! ActivateControl(rootControl);
+! else
+! DeactivateControl(rootControl);
+ }
+
+ /* Activate */
+--- 1973,1984 ----
+ /* Dim scrollbars */
+ if (whichWindow == gui.VimWindow)
+ {
+! ControlRef rootControl;
+! GetRootControl(gui.VimWindow, &rootControl);
+! if ((event->modifiers) & activeFlag)
+! ActivateControl(rootControl);
+! else
+! DeactivateControl(rootControl);
+ }
+
+ /* Activate */
+***************
+*** 1976,1990 ****
+ * Handle the key
+ */
+ #ifdef USE_CARBONKEYHANDLER
+
+! static int dialog_busy = FALSE; /* TRUE when gui_mch_dialog() wants the keys */
+
+ # define INLINE_KEY_BUFFER_SIZE 80
+ static pascal OSStatus
+! gui_mac_doKeyEventCarbon(
+ EventHandlerCallRef nextHandler,
+! EventRef theEvent,
+! void *data)
+ {
+ /* Multibyte-friendly key event handler */
+ OSStatus err = -1;
+--- 2014,2100 ----
+ * Handle the key
+ */
+ #ifdef USE_CARBONKEYHANDLER
++ static pascal OSStatus
++ gui_mac_handle_window_activate(
++ EventHandlerCallRef nextHandler,
++ EventRef theEvent,
++ void *data)
++ {
++ UInt32 eventClass = GetEventClass(theEvent);
++ UInt32 eventKind = GetEventKind(theEvent);
++
++ if (eventClass == kEventClassWindow)
++ {
++ switch (eventKind)
++ {
++ case kEventWindowActivated:
++ #if defined(USE_IM_CONTROL)
++ im_on_window_switch(TRUE);
++ #endif
++ return noErr;
++
++ case kEventWindowDeactivated:
++ #if defined(USE_IM_CONTROL)
++ im_on_window_switch(FALSE);
++ #endif
++ return noErr;
++ }
++ }
++
++ return eventNotHandledErr;
++ }
++
++ static pascal OSStatus
++ gui_mac_handle_text_input(
++ EventHandlerCallRef nextHandler,
++ EventRef theEvent,
++ void *data)
++ {
++ UInt32 eventClass = GetEventClass(theEvent);
++ UInt32 eventKind = GetEventKind(theEvent);
++
++ if (eventClass != kEventClassTextInput)
++ return eventNotHandledErr;
+
+! if ((kEventTextInputUpdateActiveInputArea != eventKind) &&
+! (kEventTextInputUnicodeForKeyEvent != eventKind) &&
+! (kEventTextInputOffsetToPos != eventKind) &&
+! (kEventTextInputPosToOffset != eventKind) &&
+! (kEventTextInputGetSelectedText != eventKind))
+! return eventNotHandledErr;
+!
+! switch (eventKind)
+! {
+! case kEventTextInputUpdateActiveInputArea:
+! return gui_mac_update_input_area(nextHandler, theEvent);
+! case kEventTextInputUnicodeForKeyEvent:
+! return gui_mac_unicode_key_event(nextHandler, theEvent);
+!
+! case kEventTextInputOffsetToPos:
+! case kEventTextInputPosToOffset:
+! case kEventTextInputGetSelectedText:
+! break;
+! }
+!
+! return eventNotHandledErr;
+! }
+!
+! static pascal
+! OSStatus gui_mac_update_input_area(
+! EventHandlerCallRef nextHandler,
+! EventRef theEvent)
+! {
+! return eventNotHandledErr;
+! }
+!
+! static int dialog_busy = FALSE; /* TRUE when gui_mch_dialog() wants the
+! keys */
+
+ # define INLINE_KEY_BUFFER_SIZE 80
+ static pascal OSStatus
+! gui_mac_unicode_key_event(
+ EventHandlerCallRef nextHandler,
+! EventRef theEvent)
+ {
+ /* Multibyte-friendly key event handler */
+ OSStatus err = -1;
+***************
+*** 2000,2006 ****
+ char_u *to = NULL;
+ Boolean isSpecial = FALSE;
+ int i;
+! EventRef keyEvent;
+
+ /* Mask the mouse (as per user setting) */
+ if (p_mh)
+--- 2110,2116 ----
+ char_u *to = NULL;
+ Boolean isSpecial = FALSE;
+ int i;
+! EventRef keyEvent;
+
+ /* Mask the mouse (as per user setting) */
+ if (p_mh)
+***************
+*** 2008,2046 ****
+
+ /* Don't use the keys when the dialog wants them. */
+ if (dialog_busy)
+! return eventNotHandledErr;
+
+ if (noErr != GetEventParameter(theEvent, kEventParamTextInputSendText,
+! typeUnicodeText, NULL, 0, &actualSize, NULL))
+! return eventNotHandledErr;
+
+ text = (UniChar *)alloc(actualSize);
+ if (!text)
+! return eventNotHandledErr;
+
+ err = GetEventParameter(theEvent, kEventParamTextInputSendText,
+! typeUnicodeText, NULL, actualSize, NULL, text);
+ require_noerr(err, done);
+
+ err = GetEventParameter(theEvent, kEventParamTextInputSendKeyboardEvent,
+! typeEventRef, NULL, sizeof(EventRef), NULL, &keyEvent);
+ require_noerr(err, done);
+
+ err = GetEventParameter(keyEvent, kEventParamKeyModifiers,
+! typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers);
+ require_noerr(err, done);
+
+ err = GetEventParameter(keyEvent, kEventParamKeyCode,
+! typeUInt32, NULL, sizeof(UInt32), NULL, &key_sym);
+ require_noerr(err, done);
+
+ err = GetEventParameter(keyEvent, kEventParamKeyMacCharCodes,
+! typeChar, NULL, sizeof(char), NULL, &charcode);
+ require_noerr(err, done);
+
+ #ifndef USE_CMD_KEY
+ if (modifiers & cmdKey)
+! goto done; /* Let system handle Cmd+... */
+ #endif
+
+ key_char = charcode;
+--- 2118,2156 ----
+
+ /* Don't use the keys when the dialog wants them. */
+ if (dialog_busy)
+! return eventNotHandledErr;
+
+ if (noErr != GetEventParameter(theEvent, kEventParamTextInputSendText,
+! typeUnicodeText, NULL, 0, &actualSize, NULL))
+! return eventNotHandledErr;
+
+ text = (UniChar *)alloc(actualSize);
+ if (!text)
+! return eventNotHandledErr;
+
+ err = GetEventParameter(theEvent, kEventParamTextInputSendText,
+! typeUnicodeText, NULL, actualSize, NULL, text);
+ require_noerr(err, done);
+
+ err = GetEventParameter(theEvent, kEventParamTextInputSendKeyboardEvent,
+! typeEventRef, NULL, sizeof(EventRef), NULL, &keyEvent);
+ require_noerr(err, done);
+
+ err = GetEventParameter(keyEvent, kEventParamKeyModifiers,
+! typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers);
+ require_noerr(err, done);
+
+ err = GetEventParameter(keyEvent, kEventParamKeyCode,
+! typeUInt32, NULL, sizeof(UInt32), NULL, &key_sym);
+ require_noerr(err, done);
+
+ err = GetEventParameter(keyEvent, kEventParamKeyMacCharCodes,
+! typeChar, NULL, sizeof(char), NULL, &charcode);
+ require_noerr(err, done);
+
+ #ifndef USE_CMD_KEY
+ if (modifiers & cmdKey)
+! goto done; /* Let system handle Cmd+... */
+ #endif
+
+ key_char = charcode;
+***************
+*** 2048,2131 ****
+
+ /* Find the special key (eg., for cursor keys) */
+ if (actualSize <= sizeof(UniChar) &&
+! ((text[0] < 0x20) || (text[0] == 0x7f)))
+ {
+! for (i = 0; special_keys[i].key_sym != (KeySym)0; ++i)
+! if (special_keys[i].key_sym == key_sym)
+! {
+! key_char = TO_SPECIAL(special_keys[i].vim_code0,
+! special_keys[i].vim_code1);
+! key_char = simplify_key(key_char,
+! (int *)&vimModifiers);
+! isSpecial = TRUE;
+! break;
+! }
+ }
+
+ /* Intercept CMD-. and CTRL-c */
+ if (((modifiers & controlKey) && key_char == 'c') ||
+! ((modifiers & cmdKey) && key_char == '.'))
+! got_int = TRUE;
+
+ if (!isSpecial)
+ {
+! /* remove SHIFT for keys that are already shifted, e.g.,
+! * '(' and '*' */
+! if (key_char < 0x100 && !isalpha(key_char) && isprint(key_char))
+! vimModifiers &= ~MOD_MASK_SHIFT;
+!
+! /* remove CTRL from keys that already have it */
+! if (key_char < 0x20)
+! vimModifiers &= ~MOD_MASK_CTRL;
+!
+! /* don't process unicode characters here */
+! if (!IS_SPECIAL(key_char))
+! {
+! /* Following code to simplify and consolidate vimModifiers
+! * taken liberally from gui_w48.c */
+! key_char = simplify_key(key_char, (int *)&vimModifiers);
+!
+! /* Interpret META, include SHIFT, etc. */
+! key_char = extract_modifiers(key_char, (int *)&vimModifiers);
+! if (key_char == CSI)
+! key_char = K_CSI;
+!
+! if (IS_SPECIAL(key_char))
+! isSpecial = TRUE;
+! }
+ }
+
+ if (vimModifiers)
+ {
+! result[len++] = CSI;
+! result[len++] = KS_MODIFIER;
+! result[len++] = vimModifiers;
+ }
+
+ if (isSpecial && IS_SPECIAL(key_char))
+ {
+! result[len++] = CSI;
+! result[len++] = K_SECOND(key_char);
+! result[len++] = K_THIRD(key_char);
+ }
+ else
+ {
+! encLen = actualSize;
+! to = mac_utf16_to_enc(text, actualSize, &encLen);
+! if (to)
+! {
+! /* This is basically add_to_input_buf_csi() */
+! for (i = 0; i < encLen && len < (INLINE_KEY_BUFFER_SIZE-1); ++i)
+! {
+! result[len++] = to[i];
+! if (to[i] == CSI)
+! {
+! result[len++] = KS_EXTRA;
+! result[len++] = (int)KE_CSI;
+! }
+! }
+! vim_free(to);
+! }
+ }
+
+ add_to_input_buf(result, len);
+--- 2158,2241 ----
+
+ /* Find the special key (eg., for cursor keys) */
+ if (actualSize <= sizeof(UniChar) &&
+! ((text[0] < 0x20) || (text[0] == 0x7f)))
+ {
+! for (i = 0; special_keys[i].key_sym != (KeySym)0; ++i)
+! if (special_keys[i].key_sym == key_sym)
+! {
+! key_char = TO_SPECIAL(special_keys[i].vim_code0,
+! special_keys[i].vim_code1);
+! key_char = simplify_key(key_char,
+! (int *)&vimModifiers);
+! isSpecial = TRUE;
+! break;
+! }
+ }
+
+ /* Intercept CMD-. and CTRL-c */
+ if (((modifiers & controlKey) && key_char == 'c') ||
+! ((modifiers & cmdKey) && key_char == '.'))
+! got_int = TRUE;
+
+ if (!isSpecial)
+ {
+! /* remove SHIFT for keys that are already shifted, e.g.,
+! * '(' and '*' */
+! if (key_char < 0x100 && !isalpha(key_char) && isprint(key_char))
+! vimModifiers &= ~MOD_MASK_SHIFT;
+!
+! /* remove CTRL from keys that already have it */
+! if (key_char < 0x20)
+! vimModifiers &= ~MOD_MASK_CTRL;
+!
+! /* don't process unicode characters here */
+! if (!IS_SPECIAL(key_char))
+! {
+! /* Following code to simplify and consolidate vimModifiers
+! * taken liberally from gui_w48.c */
+! key_char = simplify_key(key_char, (int *)&vimModifiers);
+!
+! /* Interpret META, include SHIFT, etc. */
+! key_char = extract_modifiers(key_char, (int *)&vimModifiers);
+! if (key_char == CSI)
+! key_char = K_CSI;
+!
+! if (IS_SPECIAL(key_char))
+! isSpecial = TRUE;
+! }
+ }
+
+ if (vimModifiers)
+ {
+! result[len++] = CSI;
+! result[len++] = KS_MODIFIER;
+! result[len++] = vimModifiers;
+ }
+
+ if (isSpecial && IS_SPECIAL(key_char))
+ {
+! result[len++] = CSI;
+! result[len++] = K_SECOND(key_char);
+! result[len++] = K_THIRD(key_char);
+ }
+ else
+ {
+! encLen = actualSize;
+! to = mac_utf16_to_enc(text, actualSize, &encLen);
+! if (to)
+! {
+! /* This is basically add_to_input_buf_csi() */
+! for (i = 0; i < encLen && len < (INLINE_KEY_BUFFER_SIZE-1); ++i)
+! {
+! result[len++] = to[i];
+! if (to[i] == CSI)
+! {
+! result[len++] = KS_EXTRA;
+! result[len++] = (int)KE_CSI;
+! }
+! }
+! vim_free(to);
+! }
+ }
+
+ add_to_input_buf(result, len);
+***************
+*** 2135,2144 ****
+ vim_free(text);
+ if (err == noErr)
+ {
+! /* Fake event to wake up WNE (required to get
+! * key repeat working */
+! PostEvent(keyUp, 0);
+! return noErr;
+ }
+
+ return eventNotHandledErr;
+--- 2245,2254 ----
+ vim_free(text);
+ if (err == noErr)
+ {
+! /* Fake event to wake up WNE (required to get
+! * key repeat working */
+! PostEvent(keyUp, 0);
+! return noErr;
+ }
+
+ return eventNotHandledErr;
+***************
+*** 2334,2340 ****
+ /* prevent that the vim window size changes if it's activated by a
+ click into the tab pane */
+ if (whichWindow == drawer)
+! return;
+ #endif
+
+ switch (thePart)
+--- 2444,2450 ----
+ /* prevent that the vim window size changes if it's activated by a
+ click into the tab pane */
+ if (whichWindow == drawer)
+! return;
+ #endif
+
+ switch (thePart)
+***************
+*** 2569,2579 ****
+ if (IsShowContextualMenuClick(event))
+ {
+ # if 0
+! gui_mac_handle_contextual_menu(event);
+ # else
+! gui_mac_doMouseDownEvent(event);
+ # endif
+! return;
+ }
+
+ /* Handle normal event */
+--- 2679,2689 ----
+ if (IsShowContextualMenuClick(event))
+ {
+ # if 0
+! gui_mac_handle_contextual_menu(event);
+ # else
+! gui_mac_doMouseDownEvent(event);
+ # endif
+! return;
+ }
+
+ /* Handle normal event */
+***************
+*** 2832,2838 ****
+ # else
+ /* OSErr GetApplicationBundleFSSpec(FSSpecPtr theFSSpecPtr)
+ * of TN2015
+- * This technic remove the ../Contents/MacOS/etc part
+ */
+ (void)GetCurrentProcess(&psn);
+ /* if (err != noErr) return err; */
+--- 2942,2947 ----
+***************
+*** 2933,2942 ****
+ /* TODO: Move most of this stuff toward gui_mch_init */
+ Rect windRect;
+ MenuHandle pomme;
+- EventTypeSpec eventTypeSpec;
+ EventHandlerRef mouseWheelHandlerRef;
+ #ifdef USE_CARBONKEYHANDLER
+! EventHandlerRef keyEventHandlerRef;
+ #endif
+ ControlRef rootControl;
+
+--- 3042,3050 ----
+ /* TODO: Move most of this stuff toward gui_mch_init */
+ Rect windRect;
+ MenuHandle pomme;
+ EventHandlerRef mouseWheelHandlerRef;
+ #ifdef USE_CARBONKEYHANDLER
+! EventTypeSpec eventTypeSpec;
+ #endif
+ ControlRef rootControl;
+
+***************
+*** 3042,3057 ****
+ }
+
+ #ifdef USE_CARBONKEYHANDLER
+! eventTypeSpec.eventClass = kEventClassTextInput;
+! eventTypeSpec.eventKind = kEventUnicodeForKeyEvent;
+! keyEventHandlerUPP = NewEventHandlerUPP(gui_mac_doKeyEventCarbon);
+! if (noErr != InstallApplicationEventHandler(keyEventHandlerUPP, 1,
+! &eventTypeSpec, NULL, &keyEventHandlerRef))
+ {
+- keyEventHandlerRef = NULL;
+ DisposeEventHandlerUPP(keyEventHandlerUPP);
+ keyEventHandlerUPP = NULL;
+ }
+ #endif
+
+ /*
+--- 3150,3196 ----
+ }
+
+ #ifdef USE_CARBONKEYHANDLER
+! InterfaceTypeList supportedServices = { kUnicodeDocument };
+! NewTSMDocument(1, supportedServices, &gTSMDocument, 0);
+!
+! /* We don't support inline input yet, use input window by default */
+! UseInputWindow(gTSMDocument, TRUE);
+!
+! /* Should we activate the document by default? */
+! // ActivateTSMDocument(gTSMDocument);
+!
+! EventTypeSpec textEventTypes[] = {
+! { kEventClassTextInput, kEventTextInputUpdateActiveInputArea },
+! { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent },
+! { kEventClassTextInput, kEventTextInputPosToOffset },
+! { kEventClassTextInput, kEventTextInputOffsetToPos },
+! };
+!
+! keyEventHandlerUPP = NewEventHandlerUPP(gui_mac_handle_text_input);
+! if (noErr != InstallApplicationEventHandler(keyEventHandlerUPP,
+! NR_ELEMS(textEventTypes),
+! textEventTypes, NULL, NULL))
+ {
+ DisposeEventHandlerUPP(keyEventHandlerUPP);
+ keyEventHandlerUPP = NULL;
+ }
++
++ EventTypeSpec windowEventTypes[] = {
++ { kEventClassWindow, kEventWindowActivated },
++ { kEventClassWindow, kEventWindowDeactivated },
++ };
++
++ /* Install window event handler to support TSMDocument activate and
++ * deactivate */
++ winEventHandlerUPP = NewEventHandlerUPP(gui_mac_handle_window_activate);
++ if (noErr != InstallWindowEventHandler(gui.VimWindow,
++ winEventHandlerUPP,
++ NR_ELEMS(windowEventTypes),
++ windowEventTypes, NULL, NULL))
++ {
++ DisposeEventHandlerUPP(winEventHandlerUPP);
++ winEventHandlerUPP = NULL;
++ }
+ #endif
+
+ /*
+***************
+*** 3107,3112 ****
+--- 3246,3264 ----
+ return OK;
+ }
+
++ #ifdef USE_ATSUI_DRAWING
++ static void
++ gui_mac_dispose_atsui_style(void)
++ {
++ if (p_macatsui && gFontStyle)
++ ATSUDisposeStyle(gFontStyle);
++ #ifdef FEAT_MBYTE
++ if (p_macatsui && gWideFontStyle)
++ ATSUDisposeStyle(gWideFontStyle);
++ #endif
++ }
++ #endif
++
+ void
+ gui_mch_exit(int rc)
+ {
+***************
+*** 3122,3129 ****
+ DisposeEventHandlerUPP(mouseWheelHandlerUPP);
+
+ #ifdef USE_ATSUI_DRAWING
+! if (p_macatsui && gFontStyle)
+! ATSUDisposeStyle(gFontStyle);
+ #endif
+
+ /* Exit to shell? */
+--- 3274,3286 ----
+ DisposeEventHandlerUPP(mouseWheelHandlerUPP);
+
+ #ifdef USE_ATSUI_DRAWING
+! gui_mac_dispose_atsui_style();
+! #endif
+!
+! #ifdef USE_CARBONKEYHANDLER
+! FixTSMDocument(gTSMDocument);
+! DeactivateTSMDocument(gTSMDocument);
+! DeleteTSMDocument(gTSMDocument);
+ #endif
+
+ /* Exit to shell? */
+***************
+*** 3263,3268 ****
+--- 3420,3445 ----
+ return selected_font;
+ }
+
++ #ifdef USE_ATSUI_DRAWING
++ static void
++ gui_mac_create_atsui_style(void)
++ {
++ if (p_macatsui && gFontStyle == NULL)
++ {
++ if (ATSUCreateStyle(&gFontStyle) != noErr)
++ gFontStyle = NULL;
++ }
++ #ifdef FEAT_MBYTE
++ if (p_macatsui && gWideFontStyle == NULL)
++ {
++ if (ATSUCreateStyle(&gWideFontStyle) != noErr)
++ gWideFontStyle = NULL;
++ }
++ #endif
++
++ p_macatsui_last = p_macatsui;
++ }
++ #endif
+
+ /*
+ * Initialise vim to use the font with the given name. Return FAIL if the font
+***************
+*** 3280,3290 ****
+ char_u used_font_name[512];
+
+ #ifdef USE_ATSUI_DRAWING
+! if (p_macatsui && gFontStyle == NULL)
+! {
+! if (ATSUCreateStyle(&gFontStyle) != noErr)
+! gFontStyle = NULL;
+! }
+ #endif
+
+ if (font_name == NULL)
+--- 3457,3463 ----
+ char_u used_font_name[512];
+
+ #ifdef USE_ATSUI_DRAWING
+! gui_mac_create_atsui_style();
+ #endif
+
+ if (font_name == NULL)
+***************
+*** 3348,3396 ****
+ gui.char_height = font_info.ascent + font_info.descent + p_linespace;
+
+ #ifdef USE_ATSUI_DRAWING
+- ATSUFontID fontID;
+- Fixed fontSize;
+- ATSStyleRenderingOptions fontOptions;
+-
+ if (p_macatsui && gFontStyle)
+! {
+! fontID = font & 0xFFFF;
+! fontSize = Long2Fix(font >> 16);
+!
+! /* No antialiasing by default (do not attempt to touch antialising
+! * options on pre-Jaguar) */
+! fontOptions =
+! (gMacSystemVersion >= 0x1020) ?
+! kATSStyleNoAntiAliasing :
+! kATSStyleNoOptions;
+!
+! ATSUAttributeTag attribTags[] =
+! {
+! kATSUFontTag, kATSUSizeTag, kATSUStyleRenderingOptionsTag,
+! kATSUMaxATSUITagValue+1
+! };
+! ByteCount attribSizes[] =
+! {
+! sizeof(ATSUFontID), sizeof(Fixed),
+! sizeof(ATSStyleRenderingOptions), sizeof font
+! };
+! ATSUAttributeValuePtr attribValues[] =
+! {
+! &fontID, &fontSize, &fontOptions, &font
+! };
+!
+! /* Convert font id to ATSUFontID */
+! if (FMGetFontFromFontFamilyInstance(fontID, 0, &fontID, NULL) == noErr)
+! {
+! if (ATSUSetAttributes(gFontStyle,
+! (sizeof attribTags)/sizeof(ATSUAttributeTag),
+! attribTags, attribSizes, attribValues) != noErr)
+! {
+! ATSUDisposeStyle(gFontStyle);
+! gFontStyle = NULL;
+! }
+! }
+! }
+ #endif
+
+ return OK;
+--- 3521,3528 ----
+ gui.char_height = font_info.ascent + font_info.descent + p_linespace;
+
+ #ifdef USE_ATSUI_DRAWING
+ if (p_macatsui && gFontStyle)
+! gui_mac_set_font_attributes(font);
+ #endif
+
+ return OK;
+***************
+*** 3447,3452 ****
+--- 3579,3646 ----
+ }
+ #endif
+
++ #ifdef USE_ATSUI_DRAWING
++ static void
++ gui_mac_set_font_attributes(GuiFont font)
++ {
++ ATSUFontID fontID;
++ Fixed fontSize;
++ Fixed fontWidth;
++
++ fontID = font & 0xFFFF;
++ fontSize = Long2Fix(font >> 16);
++ fontWidth = Long2Fix(gui.char_width);
++
++ ATSUAttributeTag attribTags[] =
++ {
++ kATSUFontTag, kATSUSizeTag, kATSUImposeWidthTag,
++ kATSUMaxATSUITagValue + 1
++ };
++
++ ByteCount attribSizes[] =
++ {
++ sizeof(ATSUFontID), sizeof(Fixed), sizeof(fontWidth),
++ sizeof(font)
++ };
++
++ ATSUAttributeValuePtr attribValues[] =
++ {
++ &fontID, &fontSize, &fontWidth, &font
++ };
++
++ if (FMGetFontFromFontFamilyInstance(fontID, 0, &fontID, NULL) == noErr)
++ {
++ if (ATSUSetAttributes(gFontStyle,
++ (sizeof attribTags) / sizeof(ATSUAttributeTag),
++ attribTags, attribSizes, attribValues) != noErr)
++ {
++ # ifndef NDEBUG
++ fprintf(stderr, "couldn't set font style\n");
++ # endif
++ ATSUDisposeStyle(gFontStyle);
++ gFontStyle = NULL;
++ }
++
++ #ifdef FEAT_MBYTE
++ if (has_mbyte)
++ {
++ /* FIXME: we should use a more mbyte sensitive way to support
++ * wide font drawing */
++ fontWidth = Long2Fix(gui.char_width * 2);
++
++ if (ATSUSetAttributes(gWideFontStyle,
++ (sizeof attribTags) / sizeof(ATSUAttributeTag),
++ attribTags, attribSizes, attribValues) != noErr)
++ {
++ ATSUDisposeStyle(gWideFontStyle);
++ gWideFontStyle = NULL;
++ }
++ }
++ #endif
++ }
++ }
++ #endif
++
+ /*
+ * Set the current text font.
+ */
+***************
+*** 3456,3518 ****
+ #ifdef USE_ATSUI_DRAWING
+ GuiFont currFont;
+ ByteCount actualFontByteCount;
+- ATSUFontID fontID;
+- Fixed fontSize;
+- ATSStyleRenderingOptions fontOptions;
+
+ if (p_macatsui && gFontStyle)
+ {
+ /* Avoid setting same font again */
+! if (ATSUGetAttribute(gFontStyle, kATSUMaxATSUITagValue+1, sizeof font,
+! &currFont, &actualFontByteCount) == noErr &&
+! actualFontByteCount == (sizeof font))
+ {
+ if (currFont == font)
+ return;
+ }
+
+! fontID = font & 0xFFFF;
+! fontSize = Long2Fix(font >> 16);
+! /* Respect p_antialias setting only for wide font.
+! * The reason for doing this at the moment is a bit complicated,
+! * but it's mainly because a) latin (non-wide) aliased fonts
+! * look bad in OS X 10.3.x and below (due to a bug in ATS), and
+! * b) wide multibyte input does not suffer from that problem. */
+! /*fontOptions =
+! (p_antialias && (font == gui.wide_font)) ?
+! kATSStyleNoOptions : kATSStyleNoAntiAliasing;
+! */
+! /*fontOptions = kATSStyleAntiAliasing;*/
+!
+! ATSUAttributeTag attribTags[] =
+! {
+! kATSUFontTag, kATSUSizeTag, kATSUStyleRenderingOptionsTag,
+! kATSUMaxATSUITagValue+1
+! };
+! ByteCount attribSizes[] =
+! {
+! sizeof(ATSUFontID), sizeof(Fixed),
+! sizeof(ATSStyleRenderingOptions), sizeof font
+! };
+! ATSUAttributeValuePtr attribValues[] =
+! {
+! &fontID, &fontSize, &fontOptions, &font
+! };
+!
+! if (FMGetFontFromFontFamilyInstance(fontID, 0, &fontID, NULL) == noErr)
+! {
+! if (ATSUSetAttributes(gFontStyle,
+! (sizeof attribTags)/sizeof(ATSUAttributeTag),
+! attribTags, attribSizes, attribValues) != noErr)
+! {
+! # ifndef NDEBUG
+! fprintf(stderr, "couldn't set font style\n");
+! # endif
+! ATSUDisposeStyle(gFontStyle);
+! gFontStyle = NULL;
+! }
+! }
+!
+ }
+
+ if (p_macatsui && !gIsFontFallbackSet)
+--- 3650,3668 ----
+ #ifdef USE_ATSUI_DRAWING
+ GuiFont currFont;
+ ByteCount actualFontByteCount;
+
+ if (p_macatsui && gFontStyle)
+ {
+ /* Avoid setting same font again */
+! if (ATSUGetAttribute(gFontStyle, kATSUMaxATSUITagValue + 1,
+! sizeof(font), &currFont, &actualFontByteCount) == noErr
+! && actualFontByteCount == (sizeof font))
+ {
+ if (currFont == font)
+ return;
+ }
+
+! gui_mac_set_font_attributes(font);
+ }
+
+ if (p_macatsui && !gIsFontFallbackSet)
+***************
+*** 3536,3542 ****
+ &fallbackFonts,
+ NULL) == noErr)
+ {
+! ATSUSetFontFallbacks((sizeof fallbackFonts)/sizeof(ATSUFontID), &fallbackFonts, kATSUSequentialFallbacksPreferred);
+ }
+ /*
+ ATSUAttributeValuePtr fallbackValues[] = { };
+--- 3686,3694 ----
+ &fallbackFonts,
+ NULL) == noErr)
+ {
+! ATSUSetFontFallbacks((sizeof fallbackFonts)/sizeof(ATSUFontID),
+! &fallbackFonts,
+! kATSUSequentialFallbacksPreferred);
+ }
+ /*
+ ATSUAttributeValuePtr fallbackValues[] = { };
+***************
+*** 3921,3927 ****
+
+ /* - ATSUI automatically antialiases text (Someone)
+ * - for some reason it does not work... (Jussi) */
+!
+ /*
+ * When antialiasing we're using srcOr mode, we have to clear the block
+ * before drawing the text.
+--- 4073,4082 ----
+
+ /* - ATSUI automatically antialiases text (Someone)
+ * - for some reason it does not work... (Jussi) */
+! #ifdef MAC_ATSUI_DEBUG
+! fprintf(stderr, "row = %d, col = %d, len = %d: '%c'\n",
+! row, col, len, len == 1 ? s[0] : ' ');
+! #endif
+ /*
+ * When antialiasing we're using srcOr mode, we have to clear the block
+ * before drawing the text.
+***************
+*** 3956,3990 ****
+ }
+
+ {
+- /* Use old-style, non-antialiased QuickDraw text rendering. */
+ TextMode(srcCopy);
+ TextFace(normal);
+
+! /* SelectFont(hdc, gui.currFont); */
+!
+ if (flags & DRAW_TRANSP)
+ {
+ TextMode(srcOr);
+ }
+
+ MoveTo(TEXT_X(col), TEXT_Y(row));
+- ATSUTextLayout textLayout;
+
+! if (ATSUCreateTextLayoutWithTextPtr(tofree,
+! kATSUFromTextBeginning, kATSUToTextEnd,
+! utf16_len,
+! (gFontStyle ? 1 : 0), &utf16_len,
+! (gFontStyle ? &gFontStyle : NULL),
+! &textLayout) == noErr)
+ {
+! ATSUSetTransientFontMatching(textLayout, TRUE);
+
+! ATSUDrawText(textLayout,
+! kATSUFromTextBeginning, kATSUToTextEnd,
+! kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc);
+
+ ATSUDisposeTextLayout(textLayout);
+ }
+ }
+
+ if (flags & DRAW_UNDERC)
+--- 4111,4232 ----
+ }
+
+ {
+ TextMode(srcCopy);
+ TextFace(normal);
+
+! /* SelectFont(hdc, gui.currFont); */
+ if (flags & DRAW_TRANSP)
+ {
+ TextMode(srcOr);
+ }
+
+ MoveTo(TEXT_X(col), TEXT_Y(row));
+
+! if (gFontStyle && flags & DRAW_BOLD)
+ {
+! Boolean attValue = true;
+! ATSUAttributeTag attribTags[] = { kATSUQDBoldfaceTag };
+! ByteCount attribSizes[] = { sizeof(Boolean) };
+! ATSUAttributeValuePtr attribValues[] = { &attValue };
+
+! ATSUSetAttributes(gFontStyle, 1, attribTags, attribSizes, attribValues);
+! }
+!
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! {
+! int n, width_in_cell, last_width_in_cell;
+! UniCharArrayOffset offset = 0;
+! UniCharCount yet_to_draw = 0;
+! ATSUTextLayout textLayout;
+! ATSUStyle textStyle;
+!
+! last_width_in_cell = 1;
+! ATSUCreateTextLayout(&textLayout);
+! ATSUSetTextPointerLocation(textLayout, tofree,
+! kATSUFromTextBeginning,
+! kATSUToTextEnd, utf16_len);
+! /*
+! ATSUSetRunStyle(textLayout, gFontStyle,
+! kATSUFromTextBeginning, kATSUToTextEnd); */
+!
+! /* Compute the length in display cells. */
+! for (n = 0; n < len; n += MB_BYTE2LEN(s[n]))
+! {
+! width_in_cell = (*mb_ptr2cells)(s + n);
+!
+! /* probably we are switching from single byte character
+! * to multibyte characters (which requires more than one
+! * cell to draw) */
+! if (width_in_cell != last_width_in_cell)
+! {
+! #ifdef MAC_ATSUI_DEBUG
+! fprintf(stderr, "\tn = %2d, (%d-%d), offset = %d, yet_to_draw = %d\n",
+! n, last_width_in_cell, width_in_cell, offset, yet_to_draw);
+! #endif
+! textStyle = last_width_in_cell > 1 ? gWideFontStyle
+! : gFontStyle;
+!
+! ATSUSetRunStyle(textLayout, textStyle, offset, yet_to_draw);
+! offset += yet_to_draw;
+! yet_to_draw = 0;
+! last_width_in_cell = width_in_cell;
+! }
+
++ yet_to_draw++;
++ }
++
++ if (yet_to_draw)
++ {
++ #ifdef MAC_ATSUI_DEBUG
++ fprintf(stderr, "\tn = %2d, (%d-%d), offset = %d, yet_to_draw = %d\n",
++ n, last_width_in_cell, width_in_cell, offset, yet_to_draw);
++ #endif
++ /* finish the rest style */
++ textStyle = width_in_cell > 1 ? gWideFontStyle : gFontStyle;
++ ATSUSetRunStyle(textLayout, textStyle, offset, kATSUToTextEnd);
++ }
++
++ ATSUSetTransientFontMatching(textLayout, TRUE);
++ ATSUDrawText(textLayout,
++ kATSUFromTextBeginning, kATSUToTextEnd,
++ kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc);
+ ATSUDisposeTextLayout(textLayout);
+ }
++ else
++ #endif
++ {
++ ATSUTextLayout textLayout;
++
++ if (ATSUCreateTextLayoutWithTextPtr(tofree,
++ kATSUFromTextBeginning, kATSUToTextEnd,
++ utf16_len,
++ (gFontStyle ? 1 : 0), &utf16_len,
++ (gFontStyle ? &gFontStyle : NULL),
++ &textLayout) == noErr)
++ {
++ ATSUSetTransientFontMatching(textLayout, TRUE);
++
++ ATSUDrawText(textLayout,
++ kATSUFromTextBeginning, kATSUToTextEnd,
++ kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc);
++
++ ATSUDisposeTextLayout(textLayout);
++ }
++ }
++
++ /* drawing is done, now reset bold to normal */
++ if (gFontStyle && flags & DRAW_BOLD)
++ {
++ Boolean attValue = false;
++
++ ATSUAttributeTag attribTags[] = { kATSUQDBoldfaceTag };
++ ByteCount attribSizes[] = { sizeof(Boolean) };
++ ATSUAttributeValuePtr attribValues[] = { &attValue };
++
++ ATSUSetAttributes(gFontStyle, 1, attribTags, attribSizes,
++ attribValues);
++ }
+ }
+
+ if (flags & DRAW_UNDERC)
+***************
+*** 3998,4003 ****
+--- 4240,4252 ----
+ gui_mch_draw_string(int row, int col, char_u *s, int len, int flags)
+ {
+ #if defined(USE_ATSUI_DRAWING)
++ if (p_macatsui == 0 && p_macatsui_last != 0)
++ /* switch from macatsui to nomacatsui */
++ gui_mac_dispose_atsui_style();
++ else if (p_macatsui != 0 && p_macatsui_last == 0)
++ /* switch from nomacatsui to macatsui */
++ gui_mac_create_atsui_style();
++
+ if (p_macatsui)
+ draw_string_ATSUI(row, col, s, len, flags);
+ else
+***************
+*** 4228,4239 ****
+ */
+ /* TODO: reduce wtime accordinly??? */
+ if (wtime > -1)
+! sleeppyTick = 60*wtime/1000;
+ else
+ sleeppyTick = 32767;
+ if (WaitNextEventWrp(mask, &event, sleeppyTick, dragRgn))
+ {
+! gui_mac_handle_event(&event);
+ if (input_available())
+ {
+ allow_scrollbar = FALSE;
+--- 4477,4489 ----
+ */
+ /* TODO: reduce wtime accordinly??? */
+ if (wtime > -1)
+! sleeppyTick = 60 * wtime / 1000;
+ else
+ sleeppyTick = 32767;
++
+ if (WaitNextEventWrp(mask, &event, sleeppyTick, dragRgn))
+ {
+! gui_mac_handle_event(&event);
+ if (input_available())
+ {
+ allow_scrollbar = FALSE;
+***************
+*** 6031,6037 ****
+ #endif
+ }
+
+! #if defined(USE_IM_CONTROL) || defined(PROTO)
+ /*
+ * Input Method Control functions.
+ */
+--- 6346,6352 ----
+ #endif
+ }
+
+! #if (defined(USE_IM_CONTROL) || defined(PROTO)) && defined(USE_CARBONKEYHANDLER)
+ /*
+ * Input Method Control functions.
+ */
+***************
+*** 6042,6048 ****
+--- 6357,6427 ----
+ void
+ im_set_position(int row, int col)
+ {
++ #if 0
+ /* TODO: Implement me! */
++ im_start_row = row;
++ im_start_col = col;
++ #endif
++ }
++
++ static ScriptLanguageRecord gTSLWindow;
++ static ScriptLanguageRecord gTSLInsert;
++ static ScriptLanguageRecord gTSLDefault = { 0, 0 };
++
++ static Component gTSCWindow;
++ static Component gTSCInsert;
++ static Component gTSCDefault;
++
++ static int im_initialized = 0;
++
++ static void
++ im_on_window_switch(int active)
++ {
++ ScriptLanguageRecord *slptr = NULL;
++ OSStatus err;
++
++ if (! gui.in_use)
++ return;
++
++ if (im_initialized == 0)
++ {
++ im_initialized = 1;
++
++ /* save default TSM component (should be U.S.) to default */
++ GetDefaultInputMethodOfClass(&gTSCDefault, &gTSLDefault,
++ kKeyboardInputMethodClass);
++ }
++
++ if (active == TRUE)
++ {
++ im_is_active = TRUE;
++ ActivateTSMDocument(gTSMDocument);
++ slptr = &gTSLWindow;
++
++ if (slptr)
++ {
++ err = SetDefaultInputMethodOfClass(gTSCWindow, slptr,
++ kKeyboardInputMethodClass);
++ if (err == noErr)
++ err = SetTextServiceLanguage(slptr);
++
++ if (err == noErr)
++ KeyScript(slptr->fScript | smKeyForceKeyScriptMask);
++ }
++ }
++ else
++ {
++ err = GetTextServiceLanguage(&gTSLWindow);
++ if (err == noErr)
++ slptr = &gTSLWindow;
++
++ if (slptr)
++ GetDefaultInputMethodOfClass(&gTSCWindow, slptr,
++ kKeyboardInputMethodClass);
++
++ im_is_active = FALSE;
++ DeactivateTSMDocument(gTSMDocument);
++ }
+ }
+
+ /*
+***************
+*** 6051,6057 ****
+ void
+ im_set_active(int active)
+ {
+! KeyScript(active ? smKeySysScript : smKeyRoman);
+ }
+
+ /*
+--- 6430,6486 ----
+ void
+ im_set_active(int active)
+ {
+! ScriptLanguageRecord *slptr = NULL;
+! OSStatus err;
+!
+! if (! gui.in_use)
+! return;
+!
+! if (im_initialized == 0)
+! {
+! im_initialized = 1;
+!
+! /* save default TSM component (should be U.S.) to default */
+! GetDefaultInputMethodOfClass(&gTSCDefault, &gTSLDefault,
+! kKeyboardInputMethodClass);
+! }
+!
+! if (active == TRUE)
+! {
+! im_is_active = TRUE;
+! ActivateTSMDocument(gTSMDocument);
+! slptr = &gTSLInsert;
+!
+! if (slptr)
+! {
+! err = SetDefaultInputMethodOfClass(gTSCInsert, slptr,
+! kKeyboardInputMethodClass);
+! if (err == noErr)
+! err = SetTextServiceLanguage(slptr);
+!
+! if (err == noErr)
+! KeyScript(slptr->fScript | smKeyForceKeyScriptMask);
+! }
+! }
+! else
+! {
+! err = GetTextServiceLanguage(&gTSLInsert);
+! if (err == noErr)
+! slptr = &gTSLInsert;
+!
+! if (slptr)
+! GetDefaultInputMethodOfClass(&gTSCInsert, slptr,
+! kKeyboardInputMethodClass);
+!
+! /* restore to default when switch to normal mode, so than we could
+! * enter commands easier */
+! SetDefaultInputMethodOfClass(gTSCDefault, &gTSLDefault,
+! kKeyboardInputMethodClass);
+! SetTextServiceLanguage(&gTSLDefault);
+!
+! im_is_active = FALSE;
+! DeactivateTSMDocument(gTSMDocument);
+! }
+ }
+
+ /*
+***************
+*** 6060,6068 ****
+ int
+ im_get_status(void)
+ {
+! SInt32 script = GetScriptManagerVariable(smKeyScript);
+! return (script != smRoman
+! && script == GetScriptManagerVariable(smSysScript)) ? 1 : 0;
+ }
+
+ #endif /* defined(USE_IM_CONTROL) || defined(PROTO) */
+--- 6489,6498 ----
+ int
+ im_get_status(void)
+ {
+! if (! gui.in_use)
+! return 0;
+!
+! return im_is_active;
+ }
+
+ #endif /* defined(USE_IM_CONTROL) || defined(PROTO) */
+***************
+*** 6118,6124 ****
+ int numTabs = 0;
+
+ for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! ++numTabs;
+ return numTabs;
+ }
+
+--- 6548,6554 ----
+ int numTabs = 0;
+
+ for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+! ++numTabs;
+ return numTabs;
+ }
+
+***************
+*** 6126,6133 ****
+ static OSStatus
+ dbItemDataCallback(ControlRef browser,
+ DataBrowserItemID itemID,
+! DataBrowserPropertyID property /* column id */,
+! DataBrowserItemDataRef itemData,
+ Boolean changeValue)
+ {
+ OSStatus status = noErr;
+--- 6556,6563 ----
+ static OSStatus
+ dbItemDataCallback(ControlRef browser,
+ DataBrowserItemID itemID,
+! DataBrowserPropertyID property /* column id */,
+! DataBrowserItemDataRef itemData,
+ Boolean changeValue)
+ {
+ OSStatus status = noErr;
+***************
+*** 6170,6178 ****
+ static void
+ dbGetContextualMenuCallback(ControlRef browser,
+ MenuRef *menu,
+! UInt32 *helpType,
+ CFStringRef *helpItemString,
+! AEDesc *selection)
+ {
+ // on mac os 9: kCMHelpItemNoHelp, but it's not the same
+ *helpType = kCMHelpItemRemoveHelp; // OS X only ;-)
+--- 6600,6608 ----
+ static void
+ dbGetContextualMenuCallback(ControlRef browser,
+ MenuRef *menu,
+! UInt32 *helpType,
+ CFStringRef *helpItemString,
+! AEDesc *selection)
+ {
+ // on mac os 9: kCMHelpItemNoHelp, but it's not the same
+ *helpType = kCMHelpItemRemoveHelp; // OS X only ;-)
+***************
+*** 6395,6403 ****
+ gui_mch_show_tabline(int showit)
+ {
+ if (showit == 0)
+! CloseDrawer(drawer, true);
+ else
+! OpenDrawer(drawer, kWindowEdgeRight, true);
+ }
+
+ /*
+--- 6825,6833 ----
+ gui_mch_show_tabline(int showit)
+ {
+ if (showit == 0)
+! CloseDrawer(drawer, true);
+ else
+! OpenDrawer(drawer, kWindowEdgeRight, true);
+ }
+
+ /*
+***************
+*** 6425,6435 ****
+ // adjust data browser
+ if (tabLabels != NULL)
+ {
+! int i;
+
+! for (i = 0; i < tabLabelsSize; ++i)
+! CFRelease(tabLabels[i]);
+! free(tabLabels);
+ }
+ tabLabels = (CFStringRef *)malloc(numTabs * sizeof(CFStringRef));
+ tabLabelsSize = numTabs;
+--- 6855,6865 ----
+ // adjust data browser
+ if (tabLabels != NULL)
+ {
+! int i;
+
+! for (i = 0; i < tabLabelsSize; ++i)
+! CFRelease(tabLabels[i]);
+! free(tabLabels);
+ }
+ tabLabels = (CFStringRef *)malloc(numTabs * sizeof(CFStringRef));
+ tabLabelsSize = numTabs;
+***************
+*** 6438,6444 ****
+ {
+ if (tp == curtab)
+ curtabidx = nr;
+! tabLabels[nr-1] = getTabLabel(tp);
+ }
+
+ RemoveDataBrowserItems(dataBrowser, kDataBrowserNoItem, 0, NULL,
+--- 6868,6874 ----
+ {
+ if (tp == curtab)
+ curtabidx = nr;
+! tabLabels[nr-1] = getTabLabel(tp);
+ }
+
+ RemoveDataBrowserItems(dataBrowser, kDataBrowserNoItem, 0, NULL,
+*** ../vim-7.1.274/src/version.c Wed Mar 12 13:45:34 2008
+--- src/version.c Wed Mar 12 14:31:37 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 275,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+115. You are late picking up your kid from school and try to explain
+ to the teacher you were stuck in Web traffic.
+
+ /// Bram Moolenaar -- Bram at 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.276
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.276?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.276 (added)
+++ trunk/packages/vim/upstream/patches/7.1.276 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,156 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.276
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.276
+Problem: "gw" uses 'formatexpr', even though the docs say it doesn't.
+Solution: Don't use 'formatexpr' for "gw".
+Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro
+
+
+*** ../vim-7.1.275/src/vim.h Wed Mar 12 14:38:51 2008
+--- src/vim.h Wed Mar 12 16:31:44 2008
+***************
+*** 949,954 ****
+--- 952,958 ----
+ #define INSCHAR_FORMAT 1 /* force formatting */
+ #define INSCHAR_DO_COM 2 /* format comments */
+ #define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */
++ #define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */
+
+ /* flags for open_line() */
+ #define OPENLINE_DELSPACES 1 /* delete spaces after cursor */
+*** ../vim-7.1.275/src/edit.c Tue Jan 22 17:49:17 2008
+--- src/edit.c Wed Mar 12 16:35:44 2008
+***************
+*** 5491,5497 ****
+ #if defined(FEAT_EVAL)
+ int do_internal = TRUE;
+
+! if (*curbuf->b_p_fex != NUL)
+ {
+ do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0);
+ /* It may be required to save for undo again, e.g. when setline()
+--- 5491,5497 ----
+ #if defined(FEAT_EVAL)
+ int do_internal = TRUE;
+
+! if (*curbuf->b_p_fex != NUL && (flags & INSCHAR_NO_FEX) == 0)
+ {
+ do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0);
+ /* It may be required to save for undo again, e.g. when setline()
+***************
+*** 6057,6063 ****
+ * be adjusted for the text formatting.
+ */
+ saved_cursor = pos;
+! format_lines((linenr_T)-1);
+ curwin->w_cursor = saved_cursor;
+ saved_cursor.lnum = 0;
+
+--- 6057,6063 ----
+ * be adjusted for the text formatting.
+ */
+ saved_cursor = pos;
+! format_lines((linenr_T)-1, FALSE);
+ curwin->w_cursor = saved_cursor;
+ saved_cursor.lnum = 0;
+
+*** ../vim-7.1.275/src/ops.c Mon Feb 25 21:54:23 2008
+--- src/ops.c Wed Mar 12 16:37:29 2008
+***************
+*** 4380,4386 ****
+ if (keep_cursor)
+ saved_cursor = oap->cursor_start;
+
+! format_lines(oap->line_count);
+
+ /*
+ * Leave the cursor at the first non-blank of the last formatted line.
+--- 4380,4386 ----
+ if (keep_cursor)
+ saved_cursor = oap->cursor_start;
+
+! format_lines(oap->line_count, keep_cursor);
+
+ /*
+ * Leave the cursor at the first non-blank of the last formatted line.
+***************
+*** 4495,4502 ****
+ * first line.
+ */
+ void
+! format_lines(line_count)
+ linenr_T line_count;
+ {
+ int max_len;
+ int is_not_par; /* current line not part of parag. */
+--- 4495,4503 ----
+ * first line.
+ */
+ void
+! format_lines(line_count, avoid_fex)
+ linenr_T line_count;
++ int avoid_fex; /* don't use 'formatexpr' */
+ {
+ int max_len;
+ int is_not_par; /* current line not part of parag. */
+***************
+*** 4666,4672 ****
+ #ifdef FEAT_COMMENTS
+ + (do_comments ? INSCHAR_DO_COM : 0)
+ #endif
+! , second_indent);
+ State = old_State;
+ p_smd = smd_save;
+ second_indent = -1;
+--- 4667,4673 ----
+ #ifdef FEAT_COMMENTS
+ + (do_comments ? INSCHAR_DO_COM : 0)
+ #endif
+! + (avoid_fex ? INSCHAR_NO_FEX : 0), second_indent);
+ State = old_State;
+ p_smd = smd_save;
+ second_indent = -1;
+*** ../vim-7.1.275/src/proto/ops.pro Wed Jan 16 20:01:14 2008
+--- src/proto/ops.pro Wed Mar 12 16:38:39 2008
+***************
+*** 41,47 ****
+ void op_format __ARGS((oparg_T *oap, int keep_cursor));
+ void op_formatexpr __ARGS((oparg_T *oap));
+ int fex_format __ARGS((linenr_T lnum, long count, int c));
+! void format_lines __ARGS((linenr_T line_count));
+ int paragraph_start __ARGS((linenr_T lnum));
+ int do_addsub __ARGS((int command, linenr_T Prenum1));
+ int read_viminfo_register __ARGS((vir_T *virp, int force));
+--- 41,47 ----
+ void op_format __ARGS((oparg_T *oap, int keep_cursor));
+ void op_formatexpr __ARGS((oparg_T *oap));
+ int fex_format __ARGS((linenr_T lnum, long count, int c));
+! void format_lines __ARGS((linenr_T line_count, int avoid_fex));
+ int paragraph_start __ARGS((linenr_T lnum));
+ int do_addsub __ARGS((int command, linenr_T Prenum1));
+ int read_viminfo_register __ARGS((vir_T *virp, int force));
+*** ../vim-7.1.275/src/version.c Wed Mar 12 14:38:51 2008
+--- src/version.c Wed Mar 12 17:23:43 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 276,
+ /**/
+
+--
+An actual excerpt from a classified section of a city newspaper:
+"Illiterate? Write today for free help!"
+
+ /// Bram Moolenaar -- Bram at 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.277
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.277?rev=1232&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.277 (added)
+++ trunk/packages/vim/upstream/patches/7.1.277 Wed Mar 12 19:36:03 2008
@@ -1,0 +1,84 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.277
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.277
+Problem: Default for 'paragraphs' misses some items (Colin Watson)
+Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega)
+Files: runtime/doc/options.txt, src/option.c
+
+
+*** ../vim-7.1.276/runtime/doc/options.txt Sat Jan 19 15:55:51 2008
+--- runtime/doc/options.txt Wed Mar 12 17:34:32 2008
+***************
+*** 1,4 ****
+! *options.txt* For Vim version 7.1. Last change: 2007 Aug 10
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+--- 1,4 ----
+! *options.txt* For Vim version 7.1. Last change: 2008 Feb 24
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+***************
+*** 4878,4884 ****
+ |autocmd-osfiletypes|
+
+ *'paragraphs'* *'para'*
+! 'paragraphs' 'para' string (default "IPLPPPQPP LIpplpipbp")
+ global
+ Specifies the nroff macros that separate paragraphs. These are pairs
+ of two letters (see |object-motions|).
+--- 4901,4907 ----
+ |autocmd-osfiletypes|
+
+ *'paragraphs'* *'para'*
+! 'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
+ global
+ Specifies the nroff macros that separate paragraphs. These are pairs
+ of two letters (see |object-motions|).
+*** ../vim-7.1.276/src/option.c Wed Feb 13 18:35:23 2008
+--- src/option.c Wed Mar 12 17:34:32 2008
+***************
+*** 1839,1845 ****
+ },
+ {"paragraphs", "para", P_STRING|P_VI_DEF,
+ (char_u *)&p_para, PV_NONE,
+! {(char_u *)"IPLPPPQPP LIpplpipbp", (char_u *)0L}},
+ {"paste", NULL, P_BOOL|P_VI_DEF|P_PRI_MKRC,
+ (char_u *)&p_paste, PV_NONE,
+ {(char_u *)FALSE, (char_u *)0L}},
+--- 1839,1846 ----
+ },
+ {"paragraphs", "para", P_STRING|P_VI_DEF,
+ (char_u *)&p_para, PV_NONE,
+! {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp",
+! (char_u *)0L}},
+ {"paste", NULL, P_BOOL|P_VI_DEF|P_PRI_MKRC,
+ (char_u *)&p_paste, PV_NONE,
+ {(char_u *)FALSE, (char_u *)0L}},
+*** ../vim-7.1.276/src/version.c Wed Mar 12 17:25:50 2008
+--- src/version.c Wed Mar 12 17:35:14 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 277,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+119. You are reading a book and look for the scroll bar to get to
+ the next page.
+
+ /// Bram Moolenaar -- Bram at 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 ///
More information about the pkg-vim-maintainers
mailing list