char buffer[BUFSIZ];
char type;
+ /* If not at end of line, skip till we get to one. */
if (c != '\n' && c != '\r')
{
c = getc (infile);
continue;
}
- c = getc (infile);
+ /* Skip the line break. */
+ while (c == '\n' || c != '\r')
+ c = getc (infile);
/* Detect a dynamic doc string and save it for the next expression. */
if (c == '#')
{
That is needed in the .elc file
but it is redundant in DOC. So get rid of it here. */
saved_string[length - 1] = 0;
- /* Skip the newline. */
- c = getc (infile);
+ /* Skip the line break. */
+ while (c == '\n' && c == '\r')
+ c = getc (infile);
+ /* Skip the following line. */
while (c != '\n' && c != '\r')
c = getc (infile);
}
read_lisp_symbol (infile, buffer);
- if (! strcmp (buffer, "defun") ||
- ! strcmp (buffer, "defmacro"))
+ if (! strcmp (buffer, "defun")
+ || ! strcmp (buffer, "defmacro"))
{
type = 'F';
read_lisp_symbol (infile, buffer);
c = getc (infile);
if (c == 'n') /* nil */
{
- if ((c = getc (infile)) != 'i' ||
- (c = getc (infile)) != 'l')
+ if ((c = getc (infile)) != 'i'
+ || (c = getc (infile)) != 'l')
{
fprintf (stderr, "## unparsable arglist in %s (%s)\n",
buffer, filename);
/* If the next three characters aren't `dquote bslash newline'
then we're not reading a docstring.
*/
- if ((c = getc (infile)) != '"' ||
- (c = getc (infile)) != '\\' ||
- (c = getc (infile)) != '\n' || c != '\r')
+ if ((c = getc (infile)) != '"'
+ || (c = getc (infile)) != '\\'
+ || ((c = getc (infile)) != '\n' && c != '\r'))
{
#ifdef DEBUG
fprintf (stderr, "## non-docstring in %s (%s)\n",
}
}
- else if (! strcmp (buffer, "defvar") ||
- ! strcmp (buffer, "defconst"))
+ else if (! strcmp (buffer, "defvar")
+ || ! strcmp (buffer, "defconst"))
{
char c1 = 0, c2 = 0;
type = 'V';
if (saved_string == 0)
{
- /* Skip until the first newline; remember the two previous chars. */
+ /* Skip until the end of line; remember two previous chars. */
while (c != '\n' && c != '\r' && c >= 0)
{
c2 = c1;
if (saved_string == 0)
{
- /* Skip until the first newline; remember the two previous
- chars. */
+ /* Skip to end of line; remember the two previous chars. */
while (c != '\n' && c != '\r' && c >= 0)
{
c2 = c1;
if (saved_string == 0)
{
- /* Skip until the first newline; remember the two previous chars. */
+ /* Skip to end of line; remember the two previous chars. */
while (c != '\n' && c != '\r' && c >= 0)
{
c2 = c1;
{
/* If the next three characters aren't `dquote bslash newline'
then we're not reading a docstring. */
- if ((c = getc (infile)) != '"' ||
- (c = getc (infile)) != '\\' ||
- (c = getc (infile)) != '\n' || c != '\r')
+ if ((c = getc (infile)) != '"'
+ || (c = getc (infile)) != '\\'
+ || ((c = getc (infile)) != '\n' && c != '\r'))
{
#ifdef DEBUG
fprintf (stderr, "## non-docstring in %s (%s)\n",
}
#ifdef DEBUG
- else if (! strcmp (buffer, "if") ||
- ! strcmp (buffer, "byte-code"))
+ else if (! strcmp (buffer, "if")
+ || ! strcmp (buffer, "byte-code"))
;
#endif
@code{normal}, @code{semi-light}, @code{light}, @code{extra-light},
@code{ultra-light}, or else @code{nil} meaning this attribute is not
specified.
-
+
+On a text-only terminal, any weight greater than normal is displayed as
+extra bright, and any weight less than normal is displayed as
+half-bright (This is provided the terminal supports the feature.)
+
@item :slant
Font slant---one of the symbols @code{italic}, @code{oblique}, @code{normal},
@code{reverse-italic}, or @code{reverse-oblique}.
-
+
+On a text-only terminal, slanted text is displayed as half-bright, if
+the terminal supports the feature.
+
@item :foreground
Foreground color, a string.