src/*.c: Remove unused parameters and other warnings.

* dispextern.h (string_buffer_position): Remove declaration.

* print.c (strout): Remove parameter `multibyte', unused since
  1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.

* search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
  never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
  All callers changed.

* w32.c (_wsa_errlist): Use braces for struct initializers.

* xdisp.c (string_buffer_position_lim): Remove parameter `w',
  never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
  All callers changed.
  (string_buffer_position): Likewise.  Also, make static (it's never
  used outside xdisp.c).
  (cursor_row_p): Remove parameter `w', unused since
  2000-10-17T16:08:57Z!gerd@gnu.org.  All callers changed.
  (decode_mode_spec): Remove parameter `precision', introduced during
  Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
  All callers changed.
This commit is contained in:
Juanma Barranquero 2011-03-28 05:29:18 +02:00
parent 39f3187393
commit 1db5b1ad87
6 changed files with 197 additions and 186 deletions

View file

@ -1,3 +1,27 @@
2011-03-28 Juanma Barranquero <lekktu@gmail.com>
* dispextern.h (string_buffer_position): Remove declaration.
* print.c (strout): Remove parameter `multibyte', unused since
1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
* search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
All callers changed.
* w32.c (_wsa_errlist): Use braces for struct initializers.
* xdisp.c (string_buffer_position_lim): Remove parameter `w',
never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
All callers changed.
(string_buffer_position): Likewise. Also, make static (it's never
used outside xdisp.c).
(cursor_row_p): Remove parameter `w', unused since
2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
(decode_mode_spec): Remove parameter `precision', introduced during
Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
All callers changed.
2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
* nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.

View file

@ -2953,8 +2953,6 @@ extern int bidi_mirror_char (int);
struct glyph_row *row_containing_pos (struct window *, EMACS_INT,
struct glyph_row *,
struct glyph_row *, int);
EMACS_INT string_buffer_position (struct window *, Lisp_Object,
EMACS_INT);
int line_bottom_y (struct it *);
int display_prop_intangible_p (Lisp_Object);
void resize_echo_area_exactly (void);

View file

@ -273,7 +273,7 @@ printchar (unsigned int ch, Lisp_Object fun)
static void
strout (const char *ptr, EMACS_INT size, EMACS_INT size_byte,
Lisp_Object printcharfun, int multibyte)
Lisp_Object printcharfun)
{
if (size < 0)
size_byte = size = strlen (ptr);
@ -406,16 +406,13 @@ print_string (Lisp_Object string, Lisp_Object printcharfun)
SAFE_ALLOCA (buffer, char *, nbytes);
memcpy (buffer, SDATA (string), nbytes);
strout (buffer, chars, SBYTES (string),
printcharfun, STRING_MULTIBYTE (string));
strout (buffer, chars, SBYTES (string), printcharfun);
SAFE_FREE ();
}
else
/* No need to copy, since output to print_buffer can't GC. */
strout (SSDATA (string),
chars, SBYTES (string),
printcharfun, STRING_MULTIBYTE (string));
strout (SSDATA (string), chars, SBYTES (string), printcharfun);
}
else
{
@ -472,7 +469,7 @@ write_string (const char *data, int size)
printcharfun = Vstandard_output;
PRINTPREPARE;
strout (data, size, size, printcharfun, 0);
strout (data, size, size, printcharfun);
PRINTFINISH;
}
@ -486,7 +483,7 @@ write_string_1 (const char *data, int size, Lisp_Object printcharfun)
PRINTDECLARE;
PRINTPREPARE;
strout (data, size, size, printcharfun, 0);
strout (data, size, size, printcharfun);
PRINTFINISH;
}
@ -1404,7 +1401,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
if (EQ (obj, being_printed[i]))
{
sprintf (buf, "#%d", i);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
return;
}
being_printed[print_depth] = obj;
@ -1420,7 +1417,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
{ /* Add a prefix #n= if OBJ has not yet been printed;
that is, its status field is nil. */
sprintf (buf, "#%d=", -n);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
/* OBJ is going to be printed. Remember that fact. */
Fputhash (obj, make_number (- n), Vprint_number_table);
}
@ -1428,7 +1425,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
{
/* Just print #n# if OBJ has already been printed. */
sprintf (buf, "#%d#", n);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
return;
}
}
@ -1446,7 +1443,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
sprintf (buf, "%ld", (long) XINT (obj));
else
abort ();
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
break;
case Lisp_Float:
@ -1454,7 +1451,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
char pigbuf[FLOAT_TO_STRING_BUFSIZE];
float_to_string (pigbuf, XFLOAT_DATA (obj));
strout (pigbuf, -1, -1, printcharfun, 0);
strout (pigbuf, -1, -1, printcharfun);
}
break;
@ -1532,7 +1529,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
sprintf (outbuf, "\\x%04x", c);
need_nonhex = 1;
}
strout (outbuf, -1, -1, printcharfun, 0);
strout (outbuf, -1, -1, printcharfun);
}
else if (! multibyte
&& SINGLE_BYTE_CHAR_P (c) && ! ASCII_BYTE_P (c)
@ -1544,7 +1541,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
using octal escapes. */
char outbuf[5];
sprintf (outbuf, "\\%03o", c);
strout (outbuf, -1, -1, printcharfun, 0);
strout (outbuf, -1, -1, printcharfun);
}
else
{
@ -1557,7 +1554,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
if ((c >= 'a' && c <= 'f')
|| (c >= 'A' && c <= 'F')
|| (c >= '0' && c <= '9'))
strout ("\\ ", -1, -1, printcharfun, 0);
strout ("\\ ", -1, -1, printcharfun);
}
if (c == '\"' || c == '\\')
@ -1645,7 +1642,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
/* If deeper than spec'd depth, print placeholder. */
if (INTEGERP (Vprint_level)
&& print_depth > XINT (Vprint_level))
strout ("...", -1, -1, printcharfun, 0);
strout ("...", -1, -1, printcharfun);
else if (print_quoted && CONSP (XCDR (obj)) && NILP (XCDR (XCDR (obj)))
&& (EQ (XCAR (obj), Qquote)))
{
@ -1705,7 +1702,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
if (i != 0 && EQ (obj, halftail))
{
sprintf (buf, " . #%d", i / 2);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
goto end_of_list;
}
}
@ -1717,7 +1714,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
Lisp_Object num = Fgethash (obj, Vprint_number_table, Qnil);
if (INTEGERP (num))
{
strout (" . ", 3, 3, printcharfun, 0);
strout (" . ", 3, 3, printcharfun);
print_object (obj, printcharfun, escapeflag);
goto end_of_list;
}
@ -1729,7 +1726,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
if (print_length && i > print_length)
{
strout ("...", 3, 3, printcharfun, 0);
strout ("...", 3, 3, printcharfun);
goto end_of_list;
}
@ -1744,7 +1741,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
/* OBJ non-nil here means it's the end of a dotted list. */
if (!NILP (obj))
{
strout (" . ", 3, 3, printcharfun, 0);
strout (" . ", 3, 3, printcharfun);
print_object (obj, printcharfun, escapeflag);
}
@ -1758,7 +1755,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
{
if (escapeflag)
{
strout ("#<process ", -1, -1, printcharfun, 0);
strout ("#<process ", -1, -1, printcharfun);
print_string (XPROCESS (obj)->name, printcharfun);
PRINTCHAR ('>');
}
@ -1779,7 +1776,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
PRINTCHAR ('#');
PRINTCHAR ('&');
sprintf (buf, "%ld", (long) XBOOL_VECTOR (obj)->size);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
PRINTCHAR ('\"');
/* Don't print more characters than the specified maximum.
@ -1824,18 +1821,18 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
}
else if (SUBRP (obj))
{
strout ("#<subr ", -1, -1, printcharfun, 0);
strout (XSUBR (obj)->symbol_name, -1, -1, printcharfun, 0);
strout ("#<subr ", -1, -1, printcharfun);
strout (XSUBR (obj)->symbol_name, -1, -1, printcharfun);
PRINTCHAR ('>');
}
else if (WINDOWP (obj))
{
strout ("#<window ", -1, -1, printcharfun, 0);
strout ("#<window ", -1, -1, printcharfun);
sprintf (buf, "%ld", (long) XFASTINT (XWINDOW (obj)->sequence_number));
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
if (!NILP (XWINDOW (obj)->buffer))
{
strout (" on ", -1, -1, printcharfun, 0);
strout (" on ", -1, -1, printcharfun);
print_string (BVAR (XBUFFER (XWINDOW (obj)->buffer), name), printcharfun);
}
PRINTCHAR ('>');
@ -1843,13 +1840,13 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
else if (TERMINALP (obj))
{
struct terminal *t = XTERMINAL (obj);
strout ("#<terminal ", -1, -1, printcharfun, 0);
strout ("#<terminal ", -1, -1, printcharfun);
sprintf (buf, "%d", t->id);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
if (t->name)
{
strout (" on ", -1, -1, printcharfun, 0);
strout (t->name, -1, -1, printcharfun, 0);
strout (" on ", -1, -1, printcharfun);
strout (t->name, -1, -1, printcharfun);
}
PRINTCHAR ('>');
}
@ -1859,21 +1856,21 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
int i;
EMACS_INT real_size, size;
#if 0
strout ("#<hash-table", -1, -1, printcharfun, 0);
strout ("#<hash-table", -1, -1, printcharfun);
if (SYMBOLP (h->test))
{
PRINTCHAR (' ');
PRINTCHAR ('\'');
strout (SDATA (SYMBOL_NAME (h->test)), -1, -1, printcharfun, 0);
strout (SDATA (SYMBOL_NAME (h->test)), -1, -1, printcharfun);
PRINTCHAR (' ');
strout (SDATA (SYMBOL_NAME (h->weak)), -1, -1, printcharfun, 0);
strout (SDATA (SYMBOL_NAME (h->weak)), -1, -1, printcharfun);
PRINTCHAR (' ');
sprintf (buf, "%ld/%ld", (long) h->count,
(long) XVECTOR (h->next)->size);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
}
sprintf (buf, " 0x%lx", (unsigned long) h);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
PRINTCHAR ('>');
#endif
/* Implement a readable output, e.g.:
@ -1881,33 +1878,33 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
/* Always print the size. */
sprintf (buf, "#s(hash-table size %ld",
(long) XVECTOR (h->next)->size);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
if (!NILP (h->test))
{
strout (" test ", -1, -1, printcharfun, 0);
strout (" test ", -1, -1, printcharfun);
print_object (h->test, printcharfun, escapeflag);
}
if (!NILP (h->weak))
{
strout (" weakness ", -1, -1, printcharfun, 0);
strout (" weakness ", -1, -1, printcharfun);
print_object (h->weak, printcharfun, escapeflag);
}
if (!NILP (h->rehash_size))
{
strout (" rehash-size ", -1, -1, printcharfun, 0);
strout (" rehash-size ", -1, -1, printcharfun);
print_object (h->rehash_size, printcharfun, escapeflag);
}
if (!NILP (h->rehash_threshold))
{
strout (" rehash-threshold ", -1, -1, printcharfun, 0);
strout (" rehash-threshold ", -1, -1, printcharfun);
print_object (h->rehash_threshold, printcharfun, escapeflag);
}
strout (" data ", -1, -1, printcharfun, 0);
strout (" data ", -1, -1, printcharfun);
/* Print the data here as a plist. */
real_size = HASH_TABLE_SIZE (h);
@ -1929,7 +1926,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
}
if (size < real_size)
strout (" ...", 4, 4, printcharfun, 0);
strout (" ...", 4, 4, printcharfun);
PRINTCHAR (')');
PRINTCHAR (')');
@ -1938,10 +1935,10 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
else if (BUFFERP (obj))
{
if (NILP (BVAR (XBUFFER (obj), name)))
strout ("#<killed buffer>", -1, -1, printcharfun, 0);
strout ("#<killed buffer>", -1, -1, printcharfun);
else if (escapeflag)
{
strout ("#<buffer ", -1, -1, printcharfun, 0);
strout ("#<buffer ", -1, -1, printcharfun);
print_string (BVAR (XBUFFER (obj), name), printcharfun);
PRINTCHAR ('>');
}
@ -1950,16 +1947,16 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
}
else if (WINDOW_CONFIGURATIONP (obj))
{
strout ("#<window-configuration>", -1, -1, printcharfun, 0);
strout ("#<window-configuration>", -1, -1, printcharfun);
}
else if (FRAMEP (obj))
{
strout ((FRAME_LIVE_P (XFRAME (obj))
? "#<frame " : "#<dead frame "),
-1, -1, printcharfun, 0);
-1, -1, printcharfun);
print_string (XFRAME (obj)->name, printcharfun);
sprintf (buf, " 0x%lx", (unsigned long) (XFRAME (obj)));
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
PRINTCHAR ('>');
}
else if (FONTP (obj))
@ -1969,9 +1966,9 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
if (! FONT_OBJECT_P (obj))
{
if (FONT_SPEC_P (obj))
strout ("#<font-spec", -1, -1, printcharfun, 0);
strout ("#<font-spec", -1, -1, printcharfun);
else
strout ("#<font-entity", -1, -1, printcharfun, 0);
strout ("#<font-entity", -1, -1, printcharfun);
for (i = 0; i < FONT_SPEC_MAX; i++)
{
PRINTCHAR (' ');
@ -1984,7 +1981,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
}
else
{
strout ("#<font-object ", -1, -1, printcharfun, 0);
strout ("#<font-object ", -1, -1, printcharfun);
print_object (AREF (obj, FONT_NAME_INDEX), printcharfun,
escapeflag);
}
@ -2037,7 +2034,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
print_object (tem, printcharfun, escapeflag);
}
if (size < real_size)
strout (" ...", 4, 4, printcharfun, 0);
strout (" ...", 4, 4, printcharfun);
}
PRINTCHAR (']');
}
@ -2047,32 +2044,32 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
switch (XMISCTYPE (obj))
{
case Lisp_Misc_Marker:
strout ("#<marker ", -1, -1, printcharfun, 0);
strout ("#<marker ", -1, -1, printcharfun);
/* Do you think this is necessary? */
if (XMARKER (obj)->insertion_type != 0)
strout ("(moves after insertion) ", -1, -1, printcharfun, 0);
strout ("(moves after insertion) ", -1, -1, printcharfun);
if (! XMARKER (obj)->buffer)
strout ("in no buffer", -1, -1, printcharfun, 0);
strout ("in no buffer", -1, -1, printcharfun);
else
{
sprintf (buf, "at %ld", (long)marker_position (obj));
strout (buf, -1, -1, printcharfun, 0);
strout (" in ", -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
strout (" in ", -1, -1, printcharfun);
print_string (BVAR (XMARKER (obj)->buffer, name), printcharfun);
}
PRINTCHAR ('>');
break;
case Lisp_Misc_Overlay:
strout ("#<overlay ", -1, -1, printcharfun, 0);
strout ("#<overlay ", -1, -1, printcharfun);
if (! XMARKER (OVERLAY_START (obj))->buffer)
strout ("in no buffer", -1, -1, printcharfun, 0);
strout ("in no buffer", -1, -1, printcharfun);
else
{
sprintf (buf, "from %ld to %ld in ",
(long)marker_position (OVERLAY_START (obj)),
(long)marker_position (OVERLAY_END (obj)));
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
print_string (BVAR (XMARKER (OVERLAY_START (obj))->buffer, name),
printcharfun);
}
@ -2082,15 +2079,15 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
/* Remaining cases shouldn't happen in normal usage, but let's print
them anyway for the benefit of the debugger. */
case Lisp_Misc_Free:
strout ("#<misc free cell>", -1, -1, printcharfun, 0);
strout ("#<misc free cell>", -1, -1, printcharfun);
break;
case Lisp_Misc_Save_Value:
strout ("#<save_value ", -1, -1, printcharfun, 0);
strout ("#<save_value ", -1, -1, printcharfun);
sprintf(buf, "ptr=0x%08lx int=%d",
(unsigned long) XSAVE_VALUE (obj)->pointer,
XSAVE_VALUE (obj)->integer);
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
PRINTCHAR ('>');
break;
@ -2104,16 +2101,16 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
{
/* We're in trouble if this happens!
Probably should just abort () */
strout ("#<EMACS BUG: INVALID DATATYPE ", -1, -1, printcharfun, 0);
strout ("#<EMACS BUG: INVALID DATATYPE ", -1, -1, printcharfun);
if (MISCP (obj))
sprintf (buf, "(MISC 0x%04x)", (int) XMISCTYPE (obj));
else if (VECTORLIKEP (obj))
sprintf (buf, "(PVEC 0x%08x)", (int) XVECTOR (obj)->size);
else
sprintf (buf, "(0x%02x)", (int) XTYPE (obj));
strout (buf, -1, -1, printcharfun, 0);
strout (buf, -1, -1, printcharfun);
strout (" Save your buffers immediately and please report this bug>",
-1, -1, printcharfun, 0);
-1, -1, printcharfun);
}
}

View file

@ -95,10 +95,9 @@ static void save_search_regs (void);
static EMACS_INT simple_search (EMACS_INT, unsigned char *, EMACS_INT,
EMACS_INT, Lisp_Object, EMACS_INT, EMACS_INT,
EMACS_INT, EMACS_INT);
static EMACS_INT boyer_moore (EMACS_INT, unsigned char *, EMACS_INT, EMACS_INT,
Lisp_Object, Lisp_Object,
EMACS_INT, EMACS_INT,
EMACS_INT, EMACS_INT, int);
static EMACS_INT boyer_moore (EMACS_INT, unsigned char *, EMACS_INT,
Lisp_Object, Lisp_Object, EMACS_INT,
EMACS_INT, int);
static EMACS_INT search_buffer (Lisp_Object, EMACS_INT, EMACS_INT,
EMACS_INT, EMACS_INT, EMACS_INT, int,
Lisp_Object, Lisp_Object, int);
@ -1416,15 +1415,14 @@ search_buffer (Lisp_Object string, EMACS_INT pos, EMACS_INT pos_byte,
}
len_byte = pat - patbuf;
len = raw_pattern_size;
pat = base_pat = patbuf;
if (boyer_moore_ok)
return boyer_moore (n, pat, len, len_byte, trt, inverse_trt,
pos, pos_byte, lim, lim_byte,
return boyer_moore (n, pat, len_byte, trt, inverse_trt,
pos_byte, lim_byte,
char_base);
else
return simple_search (n, pat, len, len_byte, trt,
return simple_search (n, pat, raw_pattern_size, len_byte, trt,
pos, pos_byte, lim, lim_byte);
}
}
@ -1636,8 +1634,8 @@ simple_search (EMACS_INT n, unsigned char *pat,
}
/* Do Boyer-Moore search N times for the string BASE_PAT,
whose length is LEN/LEN_BYTE,
from buffer position POS/POS_BYTE until LIM/LIM_BYTE.
whose length is LEN_BYTE,
from buffer position POS_BYTE until LIM_BYTE.
DIRECTION says which direction we search in.
TRT and INVERSE_TRT are translation tables.
Characters in PAT are already translated by TRT.
@ -1652,10 +1650,10 @@ simple_search (EMACS_INT n, unsigned char *pat,
static EMACS_INT
boyer_moore (EMACS_INT n, unsigned char *base_pat,
EMACS_INT len, EMACS_INT len_byte,
EMACS_INT len_byte,
Lisp_Object trt, Lisp_Object inverse_trt,
EMACS_INT pos, EMACS_INT pos_byte,
EMACS_INT lim, EMACS_INT lim_byte, int char_base)
EMACS_INT pos_byte, EMACS_INT lim_byte,
int char_base)
{
int direction = ((n > 0) ? 1 : -1);
register EMACS_INT dirlen;
@ -1776,8 +1774,8 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat,
stride_for_teases = BM_tab[j];
BM_tab[j] = dirlen - i;
/* A translation table is accompanied by its inverse -- see */
/* comment following downcase_table for details */
/* A translation table is accompanied by its inverse -- see
comment following downcase_table for details. */
if (ch >= 0)
{
int starting_ch = ch;

126
src/w32.c
View file

@ -4517,75 +4517,75 @@ struct {
int errnum;
char * msg;
} _wsa_errlist[] = {
WSAEINTR , "Interrupted function call",
WSAEBADF , "Bad file descriptor",
WSAEACCES , "Permission denied",
WSAEFAULT , "Bad address",
WSAEINVAL , "Invalid argument",
WSAEMFILE , "Too many open files",
{WSAEINTR , "Interrupted function call"},
{WSAEBADF , "Bad file descriptor"},
{WSAEACCES , "Permission denied"},
{WSAEFAULT , "Bad address"},
{WSAEINVAL , "Invalid argument"},
{WSAEMFILE , "Too many open files"},
WSAEWOULDBLOCK , "Resource temporarily unavailable",
WSAEINPROGRESS , "Operation now in progress",
WSAEALREADY , "Operation already in progress",
WSAENOTSOCK , "Socket operation on non-socket",
WSAEDESTADDRREQ , "Destination address required",
WSAEMSGSIZE , "Message too long",
WSAEPROTOTYPE , "Protocol wrong type for socket",
WSAENOPROTOOPT , "Bad protocol option",
WSAEPROTONOSUPPORT , "Protocol not supported",
WSAESOCKTNOSUPPORT , "Socket type not supported",
WSAEOPNOTSUPP , "Operation not supported",
WSAEPFNOSUPPORT , "Protocol family not supported",
WSAEAFNOSUPPORT , "Address family not supported by protocol family",
WSAEADDRINUSE , "Address already in use",
WSAEADDRNOTAVAIL , "Cannot assign requested address",
WSAENETDOWN , "Network is down",
WSAENETUNREACH , "Network is unreachable",
WSAENETRESET , "Network dropped connection on reset",
WSAECONNABORTED , "Software caused connection abort",
WSAECONNRESET , "Connection reset by peer",
WSAENOBUFS , "No buffer space available",
WSAEISCONN , "Socket is already connected",
WSAENOTCONN , "Socket is not connected",
WSAESHUTDOWN , "Cannot send after socket shutdown",
WSAETOOMANYREFS , "Too many references", /* not sure */
WSAETIMEDOUT , "Connection timed out",
WSAECONNREFUSED , "Connection refused",
WSAELOOP , "Network loop", /* not sure */
WSAENAMETOOLONG , "Name is too long",
WSAEHOSTDOWN , "Host is down",
WSAEHOSTUNREACH , "No route to host",
WSAENOTEMPTY , "Buffer not empty", /* not sure */
WSAEPROCLIM , "Too many processes",
WSAEUSERS , "Too many users", /* not sure */
WSAEDQUOT , "Double quote in host name", /* really not sure */
WSAESTALE , "Data is stale", /* not sure */
WSAEREMOTE , "Remote error", /* not sure */
{WSAEWOULDBLOCK , "Resource temporarily unavailable"},
{WSAEINPROGRESS , "Operation now in progress"},
{WSAEALREADY , "Operation already in progress"},
{WSAENOTSOCK , "Socket operation on non-socket"},
{WSAEDESTADDRREQ , "Destination address required"},
{WSAEMSGSIZE , "Message too long"},
{WSAEPROTOTYPE , "Protocol wrong type for socket"},
{WSAENOPROTOOPT , "Bad protocol option"},
{WSAEPROTONOSUPPORT , "Protocol not supported"},
{WSAESOCKTNOSUPPORT , "Socket type not supported"},
{WSAEOPNOTSUPP , "Operation not supported"},
{WSAEPFNOSUPPORT , "Protocol family not supported"},
{WSAEAFNOSUPPORT , "Address family not supported by protocol family"},
{WSAEADDRINUSE , "Address already in use"},
{WSAEADDRNOTAVAIL , "Cannot assign requested address"},
{WSAENETDOWN , "Network is down"},
{WSAENETUNREACH , "Network is unreachable"},
{WSAENETRESET , "Network dropped connection on reset"},
{WSAECONNABORTED , "Software caused connection abort"},
{WSAECONNRESET , "Connection reset by peer"},
{WSAENOBUFS , "No buffer space available"},
{WSAEISCONN , "Socket is already connected"},
{WSAENOTCONN , "Socket is not connected"},
{WSAESHUTDOWN , "Cannot send after socket shutdown"},
{WSAETOOMANYREFS , "Too many references"}, /* not sure */
{WSAETIMEDOUT , "Connection timed out"},
{WSAECONNREFUSED , "Connection refused"},
{WSAELOOP , "Network loop"}, /* not sure */
{WSAENAMETOOLONG , "Name is too long"},
{WSAEHOSTDOWN , "Host is down"},
{WSAEHOSTUNREACH , "No route to host"},
{WSAENOTEMPTY , "Buffer not empty"}, /* not sure */
{WSAEPROCLIM , "Too many processes"},
{WSAEUSERS , "Too many users"}, /* not sure */
{WSAEDQUOT , "Double quote in host name"}, /* really not sure */
{WSAESTALE , "Data is stale"}, /* not sure */
{WSAEREMOTE , "Remote error"}, /* not sure */
WSASYSNOTREADY , "Network subsystem is unavailable",
WSAVERNOTSUPPORTED , "WINSOCK.DLL version out of range",
WSANOTINITIALISED , "Winsock not initialized successfully",
WSAEDISCON , "Graceful shutdown in progress",
{WSASYSNOTREADY , "Network subsystem is unavailable"},
{WSAVERNOTSUPPORTED , "WINSOCK.DLL version out of range"},
{WSANOTINITIALISED , "Winsock not initialized successfully"},
{WSAEDISCON , "Graceful shutdown in progress"},
#ifdef WSAENOMORE
WSAENOMORE , "No more operations allowed", /* not sure */
WSAECANCELLED , "Operation cancelled", /* not sure */
WSAEINVALIDPROCTABLE , "Invalid procedure table from service provider",
WSAEINVALIDPROVIDER , "Invalid service provider version number",
WSAEPROVIDERFAILEDINIT , "Unable to initialize a service provider",
WSASYSCALLFAILURE , "System call failure",
WSASERVICE_NOT_FOUND , "Service not found", /* not sure */
WSATYPE_NOT_FOUND , "Class type not found",
WSA_E_NO_MORE , "No more resources available", /* really not sure */
WSA_E_CANCELLED , "Operation already cancelled", /* really not sure */
WSAEREFUSED , "Operation refused", /* not sure */
{WSAENOMORE , "No more operations allowed"}, /* not sure */
{WSAECANCELLED , "Operation cancelled"}, /* not sure */
{WSAEINVALIDPROCTABLE , "Invalid procedure table from service provider"},
{WSAEINVALIDPROVIDER , "Invalid service provider version number"},
{WSAEPROVIDERFAILEDINIT , "Unable to initialize a service provider"},
{WSASYSCALLFAILURE , "System call failure"},
{WSASERVICE_NOT_FOUND , "Service not found"}, /* not sure */
{WSATYPE_NOT_FOUND , "Class type not found"},
{WSA_E_NO_MORE , "No more resources available"}, /* really not sure */
{WSA_E_CANCELLED , "Operation already cancelled"}, /* really not sure */
{WSAEREFUSED , "Operation refused"}, /* not sure */
#endif
WSAHOST_NOT_FOUND , "Host not found",
WSATRY_AGAIN , "Authoritative host not found during name lookup",
WSANO_RECOVERY , "Non-recoverable error during name lookup",
WSANO_DATA , "Valid name, no data record of requested type",
{WSAHOST_NOT_FOUND , "Host not found"},
{WSATRY_AGAIN , "Authoritative host not found during name lookup"},
{WSANO_RECOVERY , "Non-recoverable error during name lookup"},
{WSANO_DATA , "Valid name, no data record of requested type"},
-1, NULL
{-1, NULL}
};
char *

View file

@ -754,7 +754,7 @@ static void setup_for_ellipsis (struct it *, int);
static void mark_window_display_accurate_1 (struct window *, int);
static int single_display_spec_string_p (Lisp_Object, Lisp_Object);
static int display_prop_string_p (Lisp_Object, Lisp_Object);
static int cursor_row_p (struct window *, struct glyph_row *);
static int cursor_row_p (struct glyph_row *);
static int redisplay_mode_lines (Lisp_Object, int);
static char *decode_mode_spec_coding (Lisp_Object, char *, int);
@ -823,8 +823,7 @@ static int display_mode_lines (struct window *);
static int display_mode_line (struct window *, enum face_id, Lisp_Object);
static int display_mode_element (struct it *, int, int, int, Lisp_Object, Lisp_Object, int);
static int store_mode_line_string (const char *, Lisp_Object, int, int, int, Lisp_Object);
static const char *decode_mode_spec (struct window *, int, int, int,
Lisp_Object *);
static const char *decode_mode_spec (struct window *, int, int, Lisp_Object *);
static void display_menu_bar (struct window *);
static int display_count_lines (EMACS_INT, EMACS_INT, EMACS_INT, int,
EMACS_INT *);
@ -4420,20 +4419,18 @@ display_prop_string_p (Lisp_Object prop, Lisp_Object string)
return 0;
}
/* Look for STRING in overlays and text properties in W's buffer,
between character positions FROM and TO (excluding TO).
/* Look for STRING in overlays and text properties in the current
buffer, between character positions FROM and TO (excluding TO).
BACK_P non-zero means look back (in this case, TO is supposed to be
less than FROM).
Value is the first character position where STRING was found, or
zero if it wasn't found before hitting TO.
W's buffer must be current.
This function may only use code that doesn't eval because it is
called asynchronously from note_mouse_highlight. */
static EMACS_INT
string_buffer_position_lim (struct window *w, Lisp_Object string,
string_buffer_position_lim (Lisp_Object string,
EMACS_INT from, EMACS_INT to, int back_p)
{
Lisp_Object limit, prop, pos;
@ -4471,27 +4468,25 @@ string_buffer_position_lim (struct window *w, Lisp_Object string,
return found ? XINT (pos) : 0;
}
/* Determine which buffer position in W's buffer STRING comes from.
/* Determine which buffer position in current buffer STRING comes from.
AROUND_CHARPOS is an approximate position where it could come from.
Value is the buffer position or 0 if it couldn't be determined.
W's buffer must be current.
This function is necessary because we don't record buffer positions
in glyphs generated from strings (to keep struct glyph small).
This function may only use code that doesn't eval because it is
called asynchronously from note_mouse_highlight. */
EMACS_INT
string_buffer_position (struct window *w, Lisp_Object string, EMACS_INT around_charpos)
static EMACS_INT
string_buffer_position (Lisp_Object string, EMACS_INT around_charpos)
{
const int MAX_DISTANCE = 1000;
EMACS_INT found = string_buffer_position_lim (w, string, around_charpos,
EMACS_INT found = string_buffer_position_lim (string, around_charpos,
around_charpos + MAX_DISTANCE,
0);
if (!found)
found = string_buffer_position_lim (w, string, around_charpos,
found = string_buffer_position_lim (string, around_charpos,
around_charpos - MAX_DISTANCE, 1);
return found;
}
@ -12731,7 +12726,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
EMACS_INT tem;
str = glyph->object;
tem = string_buffer_position_lim (w, str, pos, pos_after, 0);
tem = string_buffer_position_lim (str, pos, pos_after, 0);
if (tem == 0 /* from overlay */
|| pos <= tem)
{
@ -13457,7 +13452,7 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_ste
&& row < w->current_matrix->rows
+ w->current_matrix->nrows - 1
&& MATRIX_ROW_START_CHARPOS (row+1) == PT
&& !cursor_row_p (w, row))
&& !cursor_row_p (row))
++row;
/* If within the scroll margin, scroll. Note that
@ -13509,7 +13504,7 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_ste
skip forward over overlay strings. */
while (MATRIX_ROW_BOTTOM_Y (row) < last_y
&& MATRIX_ROW_END_CHARPOS (row) == PT
&& !cursor_row_p (w, row))
&& !cursor_row_p (row))
++row;
/* If within the scroll margin, scroll. */
@ -13605,7 +13600,7 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_ste
{
if (MATRIX_ROW_START_CHARPOS (row) <= PT
&& PT <= MATRIX_ROW_END_CHARPOS (row)
&& cursor_row_p (w, row))
&& cursor_row_p (row))
rv |= set_cursor_from_row (w, row, w->current_matrix,
0, 0, 0, 0);
/* As soon as we've found the first suitable row
@ -13644,7 +13639,7 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_ste
}
while (MATRIX_ROW_BOTTOM_Y (row) < last_y
&& MATRIX_ROW_START_CHARPOS (row) == PT
&& cursor_row_p (w, row));
&& cursor_row_p (row));
}
}
}
@ -16971,11 +16966,11 @@ highlight_trailing_whitespace (struct frame *f, struct glyph_row *row)
}
/* Value is non-zero if glyph row ROW in window W should be
/* Value is non-zero if glyph row ROW should be
used to hold the cursor. */
static int
cursor_row_p (struct window *w, struct glyph_row *row)
cursor_row_p (struct glyph_row *row)
{
int result = 1;
@ -17888,7 +17883,7 @@ display_line (struct it *it)
&& !MATRIX_ROW (it->w->desired_matrix, cvpos)->ends_at_zv_p))
&& PT >= MATRIX_ROW_START_CHARPOS (row)
&& PT <= MATRIX_ROW_END_CHARPOS (row)
&& cursor_row_p (it->w, row))
&& cursor_row_p (row))
set_cursor_from_row (it->w, row, it->w->desired_matrix, 0, 0, 0, 0);
/* Highlight trailing whitespace. */
@ -18540,7 +18535,7 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
charpos = (STRING_MULTIBYTE (elt)
? string_byte_to_char (elt, bytepos)
: bytepos);
spec = decode_mode_spec (it->w, c, field, prec, &string);
spec = decode_mode_spec (it->w, c, field, &string);
multibyte = STRINGP (string) && STRING_MULTIBYTE (string);
switch (mode_line_target)
@ -19211,9 +19206,8 @@ decode_mode_spec_coding (Lisp_Object coding_system, register char *buf, int eol_
}
/* Return a string for the output of a mode line %-spec for window W,
generated by character C. PRECISION >= 0 means don't return a
string longer than that value. FIELD_WIDTH > 0 means pad the
string returned with spaces to that value. Return a Lisp string in
generated by character C. FIELD_WIDTH > 0 means pad the string
returned with spaces to that value. Return a Lisp string in
*STRING if the resulting string is taken from that Lisp string.
Note we operate on the current buffer for most purposes,
@ -19223,7 +19217,7 @@ static char lots_of_dashes[] = "------------------------------------------------
static const char *
decode_mode_spec (struct window *w, register int c, int field_width,
int precision, Lisp_Object *string)
Lisp_Object *string)
{
Lisp_Object obj;
struct frame *f = XFRAME (WINDOW_FRAME (w));
@ -24324,7 +24318,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
END_CHARPOS, or if they come from an overlay. */
if (EQ (glyph->object, before_string))
{
pos = string_buffer_position (w, before_string,
pos = string_buffer_position (before_string,
start_charpos);
/* If pos == 0, it means before_string came from an
overlay, not from a buffer position. */
@ -24333,7 +24327,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
}
else if (EQ (glyph->object, after_string))
{
pos = string_buffer_position (w, after_string, end_charpos);
pos = string_buffer_position (after_string, end_charpos);
if (!pos || (pos >= start_charpos && pos < end_charpos))
break;
}
@ -24375,7 +24369,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
END_CHARPOS, or if they come from an overlay. */
if (EQ (glyph->object, before_string))
{
pos = string_buffer_position (w, before_string, start_charpos);
pos = string_buffer_position (before_string, start_charpos);
/* If pos == 0, it means before_string came from an
overlay, not from a buffer position. */
if (!pos || (pos >= start_charpos && pos < end_charpos))
@ -24383,7 +24377,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
}
else if (EQ (glyph->object, after_string))
{
pos = string_buffer_position (w, after_string, end_charpos);
pos = string_buffer_position (after_string, end_charpos);
if (!pos || (pos >= start_charpos && pos < end_charpos))
break;
}
@ -24441,13 +24435,13 @@ mouse_face_from_buffer_pos (Lisp_Object window,
END_CHARPOS, or if they come from an overlay. */
if (EQ (end->object, before_string))
{
pos = string_buffer_position (w, before_string, start_charpos);
pos = string_buffer_position (before_string, start_charpos);
if (!pos || (pos >= start_charpos && pos < end_charpos))
break;
}
else if (EQ (end->object, after_string))
{
pos = string_buffer_position (w, after_string, end_charpos);
pos = string_buffer_position (after_string, end_charpos);
if (!pos || (pos >= start_charpos && pos < end_charpos))
break;
}
@ -24491,13 +24485,13 @@ mouse_face_from_buffer_pos (Lisp_Object window,
END_CHARPOS, or if they come from an overlay. */
if (EQ (end->object, before_string))
{
pos = string_buffer_position (w, before_string, start_charpos);
pos = string_buffer_position (before_string, start_charpos);
if (!pos || (pos >= start_charpos && pos < end_charpos))
break;
}
else if (EQ (end->object, after_string))
{
pos = string_buffer_position (w, after_string, end_charpos);
pos = string_buffer_position (after_string, end_charpos);
if (!pos || (pos >= start_charpos && pos < end_charpos))
break;
}
@ -25481,7 +25475,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
check if the text under it has one. */
struct glyph_row *r = MATRIX_ROW (w->current_matrix, vpos);
EMACS_INT start = MATRIX_ROW_START_CHARPOS (r);
pos = string_buffer_position (w, object, start);
pos = string_buffer_position (object, start);
if (pos > 0)
{
mouse_face = get_char_property_and_overlay
@ -25591,7 +25585,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
struct glyph_row *r
= MATRIX_ROW (w->current_matrix, vpos);
EMACS_INT start = MATRIX_ROW_START_CHARPOS (r);
EMACS_INT p = string_buffer_position (w, obj, start);
EMACS_INT p = string_buffer_position (obj, start);
if (p > 0)
{
help = Fget_char_property (make_number (p),
@ -25647,7 +25641,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
struct glyph_row *r
= MATRIX_ROW (w->current_matrix, vpos);
EMACS_INT start = MATRIX_ROW_START_CHARPOS (r);
EMACS_INT p = string_buffer_position (w, obj, start);
EMACS_INT p = string_buffer_position (obj, start);
if (p > 0)
pointer = Fget_char_property (make_number (p),
Qpointer, w->buffer);