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:
parent
39f3187393
commit
1db5b1ad87
6 changed files with 197 additions and 186 deletions
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
131
src/print.c
131
src/print.c
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
28
src/search.c
28
src/search.c
|
@ -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
126
src/w32.c
|
@ -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 *
|
||||
|
|
72
src/xdisp.c
72
src/xdisp.c
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue