changeset 1167:cd26a75826d3

updated for version 7.1a
author vimboss
date Sun, 06 May 2007 14:25:46 +0000
parents 6eb9fc75ab0b
children e9ba3cf909d2
files runtime/doc/quickfix.txt src/memline.c src/proto/misc2.pro
diffstat 3 files changed, 132 insertions(+), 115 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0.  Last change: 2006 Jul 18
+*quickfix.txt*  For Vim version 7.1a.  Last change: 2007 Apr 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -432,10 +432,10 @@ 4. Using :make						*:make_makeprg*
 			   errorfile (for Unix it is also echoed on the
 			   screen).
 			5. The errorfile is read using 'errorformat'.
-			6. If [!] is not given the first error is jumped to.
-			7. The errorfile is deleted.
-			8. If vim was built with |+autocmd|, all relevant
+			6. If vim was built with |+autocmd|, all relevant
 			   |QuickFixCmdPost| autocommands are executed.
+			7. If [!] is not given the first error is jumped to.
+			8. The errorfile is deleted.
 			9. You can now move through the errors with commands
 			   like |:cnext| and |:cprevious|, see above.
 			This command does not accept a comment, any "
@@ -1234,15 +1234,32 @@ additionally to the default. >
 Jikes(TM) produces a single-line error message when invoked with the option
 "+E", and can be matched with the following: >
 
-  :set efm=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
+  :setl efm=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
 <
 						*errorformat-javac*
 This 'errorformat' has been reported to work well for javac, which outputs a
 line with "^" to indicate the column of the error: >
-  :set efm=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
+  :setl efm=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
 or: >
-  :set efm=%A%f:%l:\ %m,%+Z%p^,%+C%.%#,%-G%.%#
+  :setl efm=%A%f:%l:\ %m,%+Z%p^,%+C%.%#,%-G%.%#
 <
+Here is an alternative from Michael F. Lamb for Unix that filters the errors
+first: >
+  :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
+  :setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter
+
+You need to put the following in "vim-javac-filter" somewhere in your path
+(e.g., in ~/bin) and make it executable: >
+   #!/bin/sed -f
+   /\^$/s/\t/\ /g;/:[0-9]\+:/{h;d};/^[ \t]*\^/G;
+
+In English, that sed script:
+- Changes single tabs to single spaces and
+- Moves the line with the filename, line number, error message to just after
+  the pointer line. That way, the unused error text between doesn't break
+  vim's notion of a "multi-line message" and also doesn't force us to include
+  it as a "continuation of a multi-line message."
+
 						*errorformat-ant*
 For ant (http://jakarta.apache.org/) the above errorformat has to be modified
 to honour the leading [javac] in front of each javac output line: >
--- a/src/memline.c
+++ b/src/memline.c
@@ -2570,7 +2570,7 @@ ml_append_int(buf, lnum, line, len, newf
 		if (lineadd)
 		{
 		    --(buf->b_ml.ml_stack_top);
-			/* fix line count for rest of blocks in the stack */
+		    /* fix line count for rest of blocks in the stack */
 		    ml_lineadd(buf, lineadd);
 							/* fix stack itself */
 		    buf->b_ml.ml_stack[buf->b_ml.ml_stack_top].ip_high +=
@@ -2873,12 +2873,12 @@ ml_delete_int(buf, lnum, message)
 		mf_put(mfp, hp, TRUE, FALSE);
 
 		buf->b_ml.ml_stack_top = stack_idx;	/* truncate stack */
-		    /* fix line count for rest of blocks in the stack */
-		if (buf->b_ml.ml_locked_lineadd)
+		/* fix line count for rest of blocks in the stack */
+		if (buf->b_ml.ml_locked_lineadd != 0)
 		{
 		    ml_lineadd(buf, buf->b_ml.ml_locked_lineadd);
 		    buf->b_ml.ml_stack[buf->b_ml.ml_stack_top].ip_high +=
-						buf->b_ml.ml_locked_lineadd;
+						  buf->b_ml.ml_locked_lineadd;
 		}
 		++(buf->b_ml.ml_stack_top);
 
@@ -3208,7 +3208,7 @@ ml_new_ptr(mfp)
  * The stack is updated to lead to the locked block. The ip_high field in
  * the stack is updated to reflect the last line in the block AFTER the
  * insert or delete, also if the pointer block has not been updated yet. But
- * if if ml_locked != NULL ml_locked_lineadd must be added to ip_high.
+ * if ml_locked != NULL ml_locked_lineadd must be added to ip_high.
  *
  * return: NULL for failure, pointer to block header otherwise
  */
@@ -3265,11 +3265,11 @@ ml_find_line(buf, lnum, action)
 					    buf->b_ml.ml_flags & ML_LOCKED_POS);
 	buf->b_ml.ml_locked = NULL;
 
-	    /*
-	     * if lines have been added or deleted in the locked block, need to
-	     * update the line count in pointer blocks
-	     */
-	if (buf->b_ml.ml_locked_lineadd)
+	/*
+	 * If lines have been added or deleted in the locked block, need to
+	 * update the line count in pointer blocks.
+	 */
+	if (buf->b_ml.ml_locked_lineadd != 0)
 	    ml_lineadd(buf, buf->b_ml.ml_locked_lineadd);
     }
 
--- a/src/proto/misc2.pro
+++ b/src/proto/misc2.pro
@@ -1,100 +1,100 @@
 /* misc2.c */
-extern int virtual_active __ARGS((void));
-extern int getviscol __ARGS((void));
-extern int getviscol2 __ARGS((colnr_T col, colnr_T coladd));
-extern int coladvance_force __ARGS((colnr_T wcol));
-extern int coladvance __ARGS((colnr_T wcol));
-extern int getvpos __ARGS((pos_T *pos, colnr_T wcol));
-extern int inc_cursor __ARGS((void));
-extern int inc __ARGS((pos_T *lp));
-extern int incl __ARGS((pos_T *lp));
-extern int dec_cursor __ARGS((void));
-extern int dec __ARGS((pos_T *lp));
-extern int decl __ARGS((pos_T *lp));
-extern void check_cursor_lnum __ARGS((void));
-extern void check_cursor_col __ARGS((void));
-extern void check_cursor __ARGS((void));
-extern void adjust_cursor_col __ARGS((void));
-extern int leftcol_changed __ARGS((void));
-extern void vim_mem_profile_dump __ARGS((void));
-extern char_u *alloc __ARGS((unsigned size));
-extern char_u *alloc_clear __ARGS((unsigned size));
-extern char_u *alloc_check __ARGS((unsigned size));
-extern char_u *lalloc_clear __ARGS((long_u size, int message));
-extern char_u *lalloc __ARGS((long_u size, int message));
-extern void *mem_realloc __ARGS((void *ptr, size_t size));
-extern void do_outofmem_msg __ARGS((long_u size));
-extern void free_all_mem __ARGS((void));
-extern char_u *vim_strsave __ARGS((char_u *string));
-extern char_u *vim_strnsave __ARGS((char_u *string, int len));
-extern char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
-extern char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
-extern char_u *vim_strsave_shellescape __ARGS((char_u *string));
-extern char_u *vim_strsave_up __ARGS((char_u *string));
-extern char_u *vim_strnsave_up __ARGS((char_u *string, int len));
-extern void vim_strup __ARGS((char_u *p));
-extern char_u *strup_save __ARGS((char_u *orig));
-extern void copy_spaces __ARGS((char_u *ptr, size_t count));
-extern void copy_chars __ARGS((char_u *ptr, size_t count, int c));
-extern void del_trailing_spaces __ARGS((char_u *ptr));
-extern void vim_strncpy __ARGS((char_u *to, char_u *from, size_t len));
-extern int copy_option_part __ARGS((char_u **option, char_u *buf, int maxlen, char *sep_chars));
-extern void vim_free __ARGS((void *x));
-extern int vim_stricmp __ARGS((char *s1, char *s2));
-extern int vim_strnicmp __ARGS((char *s1, char *s2, size_t len));
-extern char_u *vim_strchr __ARGS((char_u *string, int c));
-extern char_u *vim_strbyte __ARGS((char_u *string, int c));
-extern char_u *vim_strrchr __ARGS((char_u *string, int c));
-extern int vim_isspace __ARGS((int x));
-extern void ga_clear __ARGS((garray_T *gap));
-extern void ga_clear_strings __ARGS((garray_T *gap));
-extern void ga_init __ARGS((garray_T *gap));
-extern void ga_init2 __ARGS((garray_T *gap, int itemsize, int growsize));
-extern int ga_grow __ARGS((garray_T *gap, int n));
-extern void ga_concat __ARGS((garray_T *gap, char_u *s));
-extern void ga_append __ARGS((garray_T *gap, int c));
-extern int name_to_mod_mask __ARGS((int c));
-extern int simplify_key __ARGS((int key, int *modifiers));
-extern int handle_x_keys __ARGS((int key));
-extern char_u *get_special_key_name __ARGS((int c, int modifiers));
-extern int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode));
-extern int find_special_key __ARGS((char_u **srcp, int *modp, int keycode));
-extern int extract_modifiers __ARGS((int key, int *modp));
-extern int find_special_key_in_table __ARGS((int c));
-extern int get_special_key_code __ARGS((char_u *name));
-extern char_u *get_key_name __ARGS((int i));
-extern int get_mouse_button __ARGS((int code, int *is_click, int *is_drag));
-extern int get_pseudo_mouse_code __ARGS((int button, int is_click, int is_drag));
-extern int get_fileformat __ARGS((buf_T *buf));
-extern int get_fileformat_force __ARGS((buf_T *buf, exarg_T *eap));
-extern void set_fileformat __ARGS((int t, int opt_flags));
-extern int default_fileformat __ARGS((void));
-extern int call_shell __ARGS((char_u *cmd, int opt));
-extern int get_real_state __ARGS((void));
-extern int after_pathsep __ARGS((char_u *b, char_u *p));
-extern int same_directory __ARGS((char_u *f1, char_u *f2));
-extern int vim_chdirfile __ARGS((char_u *fname));
-extern int illegal_slash __ARGS((char *name));
-extern char_u *parse_shape_opt __ARGS((int what));
-extern int get_shape_idx __ARGS((int mouse));
-extern void update_mouseshape __ARGS((int shape_idx));
-extern int decrypt_byte __ARGS((void));
-extern int update_keys __ARGS((int c));
-extern void crypt_init_keys __ARGS((char_u *passwd));
-extern char_u *get_crypt_key __ARGS((int store, int twice));
-extern void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int need_dir, void *search_ctx, int tagfile, char_u *rel_fname));
-extern char_u *vim_findfile_stopdir __ARGS((char_u *buf));
-extern void vim_findfile_cleanup __ARGS((void *ctx));
-extern char_u *vim_findfile __ARGS((void *search_ctx));
-extern void vim_findfile_free_visited __ARGS((void *search_ctx));
-extern char_u *find_file_in_path __ARGS((char_u *ptr, int len, int options, int first, char_u *rel_fname));
-extern char_u *find_directory_in_path __ARGS((char_u *ptr, int len, int options, char_u *rel_fname));
-extern char_u *find_file_in_path_option __ARGS((char_u *ptr, int len, int options, int first, char_u *path_option, int need_dir, char_u *rel_fname, char_u *suffixes));
-extern int vim_chdir __ARGS((char_u *new_dir));
-extern int get_user_name __ARGS((char_u *buf, int len));
-extern void sort_strings __ARGS((char_u **files, int count));
-extern int pathcmp __ARGS((const char *p, const char *q, int maxlen));
-extern int filewritable __ARGS((char_u *fname));
-extern int emsg3 __ARGS((char_u *s, char_u *a1, char_u *a2));
-extern int emsgn __ARGS((char_u *s, long n));
+int virtual_active __ARGS((void));
+int getviscol __ARGS((void));
+int getviscol2 __ARGS((colnr_T col, colnr_T coladd));
+int coladvance_force __ARGS((colnr_T wcol));
+int coladvance __ARGS((colnr_T wcol));
+int getvpos __ARGS((pos_T *pos, colnr_T wcol));
+int inc_cursor __ARGS((void));
+int inc __ARGS((pos_T *lp));
+int incl __ARGS((pos_T *lp));
+int dec_cursor __ARGS((void));
+int dec __ARGS((pos_T *lp));
+int decl __ARGS((pos_T *lp));
+void check_cursor_lnum __ARGS((void));
+void check_cursor_col __ARGS((void));
+void check_cursor __ARGS((void));
+void adjust_cursor_col __ARGS((void));
+int leftcol_changed __ARGS((void));
+void vim_mem_profile_dump __ARGS((void));
+char_u *alloc __ARGS((unsigned size));
+char_u *alloc_clear __ARGS((unsigned size));
+char_u *alloc_check __ARGS((unsigned size));
+char_u *lalloc_clear __ARGS((long_u size, int message));
+char_u *lalloc __ARGS((long_u size, int message));
+void *mem_realloc __ARGS((void *ptr, size_t size));
+void do_outofmem_msg __ARGS((long_u size));
+void free_all_mem __ARGS((void));
+char_u *vim_strsave __ARGS((char_u *string));
+char_u *vim_strnsave __ARGS((char_u *string, int len));
+char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
+char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
+char_u *vim_strsave_shellescape __ARGS((char_u *string));
+char_u *vim_strsave_up __ARGS((char_u *string));
+char_u *vim_strnsave_up __ARGS((char_u *string, int len));
+void vim_strup __ARGS((char_u *p));
+char_u *strup_save __ARGS((char_u *orig));
+void copy_spaces __ARGS((char_u *ptr, size_t count));
+void copy_chars __ARGS((char_u *ptr, size_t count, int c));
+void del_trailing_spaces __ARGS((char_u *ptr));
+void vim_strncpy __ARGS((char_u *to, char_u *from, size_t len));
+int copy_option_part __ARGS((char_u **option, char_u *buf, int maxlen, char *sep_chars));
+void vim_free __ARGS((void *x));
+int vim_stricmp __ARGS((char *s1, char *s2));
+int vim_strnicmp __ARGS((char *s1, char *s2, size_t len));
+char_u *vim_strchr __ARGS((char_u *string, int c));
+char_u *vim_strbyte __ARGS((char_u *string, int c));
+char_u *vim_strrchr __ARGS((char_u *string, int c));
+int vim_isspace __ARGS((int x));
+void ga_clear __ARGS((garray_T *gap));
+void ga_clear_strings __ARGS((garray_T *gap));
+void ga_init __ARGS((garray_T *gap));
+void ga_init2 __ARGS((garray_T *gap, int itemsize, int growsize));
+int ga_grow __ARGS((garray_T *gap, int n));
+void ga_concat __ARGS((garray_T *gap, char_u *s));
+void ga_append __ARGS((garray_T *gap, int c));
+int name_to_mod_mask __ARGS((int c));
+int simplify_key __ARGS((int key, int *modifiers));
+int handle_x_keys __ARGS((int key));
+char_u *get_special_key_name __ARGS((int c, int modifiers));
+int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode));
+int find_special_key __ARGS((char_u **srcp, int *modp, int keycode));
+int extract_modifiers __ARGS((int key, int *modp));
+int find_special_key_in_table __ARGS((int c));
+int get_special_key_code __ARGS((char_u *name));
+char_u *get_key_name __ARGS((int i));
+int get_mouse_button __ARGS((int code, int *is_click, int *is_drag));
+int get_pseudo_mouse_code __ARGS((int button, int is_click, int is_drag));
+int get_fileformat __ARGS((buf_T *buf));
+int get_fileformat_force __ARGS((buf_T *buf, exarg_T *eap));
+void set_fileformat __ARGS((int t, int opt_flags));
+int default_fileformat __ARGS((void));
+int call_shell __ARGS((char_u *cmd, int opt));
+int get_real_state __ARGS((void));
+int after_pathsep __ARGS((char_u *b, char_u *p));
+int same_directory __ARGS((char_u *f1, char_u *f2));
+int vim_chdirfile __ARGS((char_u *fname));
+int illegal_slash __ARGS((char *name));
+char_u *parse_shape_opt __ARGS((int what));
+int get_shape_idx __ARGS((int mouse));
+void update_mouseshape __ARGS((int shape_idx));
+int decrypt_byte __ARGS((void));
+int update_keys __ARGS((int c));
+void crypt_init_keys __ARGS((char_u *passwd));
+char_u *get_crypt_key __ARGS((int store, int twice));
+void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int need_dir, void *search_ctx, int tagfile, char_u *rel_fname));
+char_u *vim_findfile_stopdir __ARGS((char_u *buf));
+void vim_findfile_cleanup __ARGS((void *ctx));
+char_u *vim_findfile __ARGS((void *search_ctx));
+void vim_findfile_free_visited __ARGS((void *search_ctx));
+char_u *find_file_in_path __ARGS((char_u *ptr, int len, int options, int first, char_u *rel_fname));
+char_u *find_directory_in_path __ARGS((char_u *ptr, int len, int options, char_u *rel_fname));
+char_u *find_file_in_path_option __ARGS((char_u *ptr, int len, int options, int first, char_u *path_option, int need_dir, char_u *rel_fname, char_u *suffixes));
+int vim_chdir __ARGS((char_u *new_dir));
+int get_user_name __ARGS((char_u *buf, int len));
+void sort_strings __ARGS((char_u **files, int count));
+int pathcmp __ARGS((const char *p, const char *q, int maxlen));
+int filewritable __ARGS((char_u *fname));
+int emsg3 __ARGS((char_u *s, char_u *a1, char_u *a2));
+int emsgn __ARGS((char_u *s, long n));
 /* vim: set ft=c : */