diff options
Diffstat (limited to 'src/indent.c')
-rw-r--r-- | src/indent.c | 96 |
1 files changed, 35 insertions, 61 deletions
diff --git a/src/indent.c b/src/indent.c index a7f41f7e8e4..affcc222f0b 100644 --- a/src/indent.c +++ b/src/indent.c @@ -61,8 +61,8 @@ EMACS_INT last_known_column_point; static int last_known_column_modified; -static double current_column_1 P_ ((void)); -static double position_indentation P_ ((int)); +static double current_column_1 (void); +static double position_indentation (int); /* Cache of beginning of line found by the last call of current_column. */ @@ -72,7 +72,7 @@ static EMACS_INT current_column_bol_cache; /* Get the display table to use for the current buffer. */ struct Lisp_Char_Table * -buffer_display_table () +buffer_display_table (void) { Lisp_Object thisbuf; @@ -89,9 +89,7 @@ buffer_display_table () /* Return the width of character C under display table DP. */ static int -character_width (c, dp) - int c; - struct Lisp_Char_Table *dp; +character_width (int c, struct Lisp_Char_Table *dp) { Lisp_Object elt; @@ -125,9 +123,7 @@ character_width (c, dp) invalidate the buffer's width_run_cache. */ int -disptab_matches_widthtab (disptab, widthtab) - struct Lisp_Char_Table *disptab; - struct Lisp_Vector *widthtab; +disptab_matches_widthtab (struct Lisp_Char_Table *disptab, struct Lisp_Vector *widthtab) { int i; @@ -145,9 +141,7 @@ disptab_matches_widthtab (disptab, widthtab) /* Recompute BUF's width table, using the display table DISPTAB. */ void -recompute_width_table (buf, disptab) - struct buffer *buf; - struct Lisp_Char_Table *disptab; +recompute_width_table (struct buffer *buf, struct Lisp_Char_Table *disptab) { int i; struct Lisp_Vector *widthtab; @@ -166,7 +160,7 @@ recompute_width_table (buf, disptab) state of current_buffer's cache_long_line_scans variable. */ static void -width_run_cache_on_off () +width_run_cache_on_off (void) { if (NILP (current_buffer->cache_long_line_scans) /* And, for the moment, this feature doesn't work on multibyte @@ -217,11 +211,7 @@ width_run_cache_on_off () will equal the return value. */ EMACS_INT -skip_invisible (pos, next_boundary_p, to, window) - EMACS_INT pos; - EMACS_INT *next_boundary_p; - EMACS_INT to; - Lisp_Object window; +skip_invisible (EMACS_INT pos, EMACS_INT *next_boundary_p, EMACS_INT to, Lisp_Object window) { Lisp_Object prop, position, overlay_limit, proplimit; Lisp_Object buffer, tmp; @@ -322,7 +312,7 @@ Whether the line is visible (if `selective-display' is t) has no effect; however, ^M is treated as end of line when `selective-display' is t. Text that has an invisible property is considered as having width 0, unless `buffer-invisibility-spec' specifies that it is replaced by an ellipsis. */) - () + (void) { Lisp_Object temp; XSETFASTINT (temp, (int) current_column ()); /* iftc */ @@ -332,13 +322,13 @@ Text that has an invisible property is considered as having width 0, unless /* Cancel any recorded value of the horizontal position. */ void -invalidate_current_column () +invalidate_current_column (void) { last_known_column_point = 0; } double -current_column () +current_column (void) { register int col; register unsigned char *ptr, *stop; @@ -479,7 +469,6 @@ current_column () return col; } -extern Lisp_Object Qspace, QCwidth, QCalign_to; /* Check the presence of a display property and compute its width. If a property was found and its width was found as well, return @@ -506,7 +495,7 @@ check_display_width (EMACS_INT pos, EMACS_INT col, EMACS_INT *endpos) width = XINT (prop) - col; else if (FLOATP (prop)) width = (int)(XFLOAT_DATA (prop) + 0.5) - col; - + if (width >= 0) { EMACS_INT start; @@ -556,7 +545,7 @@ scan_for_column (EMACS_INT *endpos, EMACS_INT *goalcol, EMACS_INT *prevcol) w = ! NILP (window) ? XWINDOW (window) : NULL; if (tab_width <= 0 || tab_width > 1000) tab_width = 8; - bzero (&cmp_it, sizeof cmp_it); + memset (&cmp_it, 0, sizeof cmp_it); cmp_it.id = -1; composition_compute_stop_pos (&cmp_it, scan, scan_byte, end, Qnil); @@ -628,7 +617,7 @@ scan_for_column (EMACS_INT *endpos, EMACS_INT *goalcol, EMACS_INT *prevcol) to this character. */ if (dp != 0 - && ! (multibyte && BASE_LEADING_CODE_P (c)) + && ! (multibyte && LEADING_CODE_P (c)) && VECTORP (DISP_CHAR_VECTOR (dp, c))) { Lisp_Object charvec; @@ -679,7 +668,7 @@ scan_for_column (EMACS_INT *endpos, EMACS_INT *goalcol, EMACS_INT *prevcol) col += tab_width; col = col / tab_width * tab_width; } - else if (multibyte && BASE_LEADING_CODE_P (c)) + else if (multibyte && LEADING_CODE_P (c)) { /* Start of multi-byte form. */ unsigned char *ptr; @@ -723,7 +712,7 @@ scan_for_column (EMACS_INT *endpos, EMACS_INT *goalcol, EMACS_INT *prevcol) due to text properties or overlays. */ static double -current_column_1 () +current_column_1 (void) { EMACS_INT col = MOST_POSITIVE_FIXNUM; EMACS_INT opoint = PT; @@ -822,8 +811,7 @@ Optional second argument MINIMUM says always do at least MINIMUM spaces even if that goes past COLUMN; by default, MINIMUM is zero. The return value is COLUMN. */) - (column, minimum) - Lisp_Object column, minimum; + (Lisp_Object column, Lisp_Object minimum) { int mincol; register int fromcol; @@ -867,17 +855,17 @@ The return value is COLUMN. */) } -static double position_indentation P_ ((int)); +static double position_indentation (int); DEFUN ("current-indentation", Fcurrent_indentation, Scurrent_indentation, 0, 0, 0, doc: /* Return the indentation of the current line. This is the horizontal position of the character following any initial whitespace. */) - () + (void) { Lisp_Object val; - int opoint = PT, opoint_byte = PT_BYTE; + EMACS_INT opoint = PT, opoint_byte = PT_BYTE; scan_newline (PT, PT_BYTE, BEGV, BEGV_BYTE, -1, 1); @@ -887,8 +875,7 @@ following any initial whitespace. */) } static double -position_indentation (pos_byte) - register int pos_byte; +position_indentation (register int pos_byte) { register EMACS_INT column = 0; register EMACS_INT tab_width = XINT (current_buffer->tab_width); @@ -977,12 +964,10 @@ position_indentation (pos_byte) preceding line. */ int -indented_beyond_p (pos, pos_byte, column) - int pos, pos_byte; - double column; +indented_beyond_p (EMACS_INT pos, EMACS_INT pos_byte, double column) { double val; - int opoint = PT, opoint_byte = PT_BYTE; + EMACS_INT opoint = PT, opoint_byte = PT_BYTE; SET_PT_BOTH (pos, pos_byte); while (PT > BEGV && FETCH_BYTE (PT_BYTE) == '\n') @@ -1011,8 +996,7 @@ In addition, if FORCE is t, and the line is too short to reach COLUMN, add spaces/tabs to get there. The return value is the current column. */) - (column, force) - Lisp_Object column, force; + (Lisp_Object column, Lisp_Object force) { EMACS_INT pos; EMACS_INT col, prev_col; @@ -1137,12 +1121,7 @@ struct position val_compute_motion; the scroll bars if they are turned on. */ struct position * -compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, hscroll, tab_offset, win) - EMACS_INT from, fromvpos, fromhpos, to, tovpos, tohpos; - int did_motion; - EMACS_INT width; - EMACS_INT hscroll, tab_offset; - struct window *win; +compute_motion (EMACS_INT from, EMACS_INT fromvpos, EMACS_INT fromhpos, int did_motion, EMACS_INT to, EMACS_INT tovpos, EMACS_INT tohpos, EMACS_INT width, EMACS_INT hscroll, EMACS_INT tab_offset, struct window *win) { register EMACS_INT hpos = fromhpos; register EMACS_INT vpos = fromvpos; @@ -1232,7 +1211,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, pos_byte = prev_pos_byte = CHAR_TO_BYTE (from); contin_hpos = 0; prev_tab_offset = tab_offset; - bzero (&cmp_it, sizeof cmp_it); + memset (&cmp_it, 0, sizeof cmp_it); cmp_it.id = -1; composition_compute_stop_pos (&cmp_it, pos, pos_byte, to, Qnil); @@ -1275,7 +1254,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, to be changed here. */ { unsigned char *ovstr; - int ovlen = overlay_strings (pos, win, &ovstr); + EMACS_INT ovlen = overlay_strings (pos, win, &ovstr); hpos += ((multibyte && ovlen > 0) ? strwidth (ovstr, ovlen) : ovlen); } @@ -1469,7 +1448,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, the text character-by-character. */ if (current_buffer->width_run_cache && pos >= next_width_run) { - int run_end; + EMACS_INT run_end; int common_width = region_cache_forward (current_buffer, current_buffer->width_run_cache, @@ -1480,7 +1459,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, want to skip over it for some other reason. */ if (common_width != 0) { - int run_end_hpos; + EMACS_INT run_end_hpos; /* Don't go past the final buffer posn the user requested. */ @@ -1577,7 +1556,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, } if (dp != 0 - && ! (multibyte && BASE_LEADING_CODE_P (c)) + && ! (multibyte && LEADING_CODE_P (c)) && VECTORP (DISP_CHAR_VECTOR (dp, c))) { charvec = DISP_CHAR_VECTOR (dp, c); @@ -1683,7 +1662,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, hpos = width; } } - else if (multibyte && BASE_LEADING_CODE_P (c)) + else if (multibyte && LEADING_CODE_P (c)) { /* Start of multi-byte form. */ unsigned char *ptr; @@ -1775,9 +1754,7 @@ of a certain window, pass the window's starting location as FROM and the window's upper-left coordinates as FROMPOS. Pass the buffer's (point-max) as TO, to limit the scan to the end of the visible section of the buffer, and pass LINE and COL as TOPOS. */) - (from, frompos, to, topos, width, offsets, window) - Lisp_Object from, frompos, to, topos; - Lisp_Object width, offsets, window; + (Lisp_Object from, Lisp_Object frompos, Lisp_Object to, Lisp_Object topos, Lisp_Object width, Lisp_Object offsets, Lisp_Object window) { struct window *w; Lisp_Object bufpos, hpos, vpos, prevhpos; @@ -1856,9 +1833,7 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) struct position val_vmotion; struct position * -vmotion (from, vtarget, w) - register EMACS_INT from, vtarget; - struct window *w; +vmotion (register EMACS_INT from, register EMACS_INT vtarget, struct window *w) { EMACS_INT hscroll = XINT (w->hscroll); struct position pos; @@ -2021,8 +1996,7 @@ regardless of which buffer is displayed in WINDOW. This is consistent with other cursor motion functions and makes it possible to use `vertical-motion' in any buffer, whether or not it is currently displayed in some window. */) - (lines, window) - Lisp_Object lines, window; + (Lisp_Object lines, Lisp_Object window) { struct it it; struct text_pos pt; @@ -2183,7 +2157,7 @@ whether or not it is currently displayed in some window. */) /* File's initialization. */ void -syms_of_indent () +syms_of_indent (void) { DEFVAR_BOOL ("indent-tabs-mode", &indent_tabs_mode, doc: /* *Indentation can insert tabs if this is non-nil. */); |