Author: adamg                        Date: Sun Mar  1 01:55:52 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- new

---- Files affected:
SOURCES:
   7.2.126 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/7.2.126
diff -u /dev/null SOURCES/7.2.126:1.1
--- /dev/null   Sun Mar  1 02:55:53 2009
+++ SOURCES/7.2.126     Sun Mar  1 02:55:47 2009
@@ -0,0 +1,174 @@
+To: [email protected]
+Subject: Patch 7.2.126
+Fcc: outbox
+From: Bram Moolenaar <[email protected]>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.126
+Problem:    When EXITFREE is defined signs are not freed.
+Solution:   Free all signs on exit.  Also free keymaps. (Dominique Pelle)
+Files:      src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro
+
+
+*** ../vim-7.2.125/src/misc2.c Thu Jan 22 21:31:24 2009
+--- src/misc2.c        Sun Feb 22 22:04:53 2009
+***************
+*** 1010,1015 ****
+--- 1010,1018 ----
+  # if defined(FEAT_PROFILE)
+      do_cmdline_cmd((char_u *)"profdel *");
+  # endif
++ # if defined(FEAT_KEYMAP)
++     do_cmdline_cmd((char_u *)"set keymap=");
++ #endif
+  
+  # ifdef FEAT_TITLE
+      free_titles();
+***************
+*** 1034,1039 ****
+--- 1037,1045 ----
+      free_regexp_stuff();
+      free_tag_stuff();
+      free_cd_dir();
++ # ifdef FEAT_SIGNS
++     free_signs();
++ # endif
+  # ifdef FEAT_EVAL
+      set_expr_line(NULL);
+  # endif
+*** ../vim-7.2.125/src/ex_cmds.c       Wed Feb 11 16:02:29 2009
+--- src/ex_cmds.c      Sun Feb 22 22:07:08 2009
+***************
+*** 6541,6546 ****
+--- 6541,6547 ----
+  static int   last_sign_typenr = MAX_TYPENR;  /* is decremented */
+  
+  static void sign_list_defined __ARGS((sign_T *sp));
++ static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
+  
+  /*
+   * ":sign" command
+***************
+*** 6749,6772 ****
+               /* ":sign list {name}" */
+               sign_list_defined(sp);
+           else
+-          {
+               /* ":sign undefine {name}" */
+!              vim_free(sp->sn_name);
+!              vim_free(sp->sn_icon);
+! #ifdef FEAT_SIGN_ICONS
+!              if (sp->sn_image != NULL)
+!              {
+!                  out_flush();
+!                  gui_mch_destroy_sign(sp->sn_image);
+!              }
+! #endif
+!              vim_free(sp->sn_text);
+!              if (sp_prev == NULL)
+!                  first_sign = sp->sn_next;
+!              else
+!                  sp_prev->sn_next = sp->sn_next;
+!              vim_free(sp);
+!          }
+       }
+      }
+      else
+--- 6750,6757 ----
+               /* ":sign list {name}" */
+               sign_list_defined(sp);
+           else
+               /* ":sign undefine {name}" */
+!              sign_undefine(sp, sp_prev);
+       }
+      }
+      else
+***************
+*** 7015,7020 ****
+--- 7000,7030 ----
+  }
+  
+  /*
++  * Undefine a sign and free its memory.
++  */
++     static void
++ sign_undefine(sp, sp_prev)
++     sign_T   *sp;
++     sign_T   *sp_prev;
++ {
++     vim_free(sp->sn_name);
++     vim_free(sp->sn_icon);
++ #ifdef FEAT_SIGN_ICONS
++     if (sp->sn_image != NULL)
++     {
++      out_flush();
++      gui_mch_destroy_sign(sp->sn_image);
++     }
++ #endif
++     vim_free(sp->sn_text);
++     if (sp_prev == NULL)
++      first_sign = sp->sn_next;
++     else
++      sp_prev->sn_next = sp->sn_next;
++     vim_free(sp);
++ }
++ 
++ /*
+   * Get highlighting attribute for sign "typenr".
+   * If "line" is TRUE: line highl, if FALSE: text highl.
+   */
+***************
+*** 7088,7093 ****
+--- 7098,7115 ----
+      return (char_u *)_("[Deleted]");
+  }
+  
++ #if defined(EXITFREE) || defined(PROTO)
++ /*
++  * Undefine/free all signs.
++  */
++     void
++ free_signs()
++ {
++     while (first_sign != NULL)
++      sign_undefine(first_sign, NULL);
++ }
++ #endif
++ 
+  #endif
+  
+  #if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
+*** ../vim-7.2.125/src/proto/ex_cmds.pro       Sat Nov 15 14:10:23 2008
+--- src/proto/ex_cmds.pro      Sun Feb 22 22:04:53 2009
+***************
+*** 40,45 ****
+--- 40,46 ----
+  int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
+  void write_viminfo_sub_string __ARGS((FILE *fp));
+  void free_old_sub __ARGS((void));
++ void free_signs __ARGS((void));
+  int prepare_tagpreview __ARGS((int undo_sync));
+  void ex_help __ARGS((exarg_T *eap));
+  char_u *check_help_lang __ARGS((char_u *arg));
+*** ../vim-7.2.125/src/version.c       Tue Feb 24 04:11:07 2009
+--- src/version.c      Tue Feb 24 04:24:46 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     126,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+125. You begin to wonder how often it REALLY is necessary to get up
+     and shower or bathe.
+
+ /// Bram Moolenaar -- [email protected] -- 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    ///
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to