fdesc *fdp;
compressor *compr;
char *compressed_name, *uncompressed_name;
- char *ext, *real_name = NULL, *tmp_name;
+ char *ext, *real_name UNINIT, *tmp_name;
int retval;
canonicalize_filename (file);
linebuffer *key;
char TEX_esc = '\0';
- char TEX_opgrp = 0, TEX_clgrp = 0;
+ char TEX_opgrp UNINIT, TEX_clgrp UNINIT;
/* Initialize token table once from environment. */
if (TEX_toktab == NULL)
/* If parent is nil, replace overlays_before; otherwise, parent->next. */
struct Lisp_Overlay *tail = bp->overlays_before, *parent = NULL, *right_pair;
Lisp_Object tem;
- ptrdiff_t end = prev;
+ ptrdiff_t end UNINIT;
/* After the insertion, the several overlays may be in incorrect
order. The possibility is that, in the list `overlays_before',
struct Lisp_Symbol *sym;
struct Lisp_Buffer_Local_Value *blv = NULL;
union Lisp_Val_Fwd valcontents;
- bool forwarded = false;
+ bool forwarded UNINIT;
CHECK_SYMBOL (variable);
sym = XSYMBOL (variable);
cons_to_unsigned (Lisp_Object c, uintmax_t max)
{
bool valid = false;
- uintmax_t val = max;
+ uintmax_t val UNINIT;
if (INTEGERP (c))
{
valid = XINT (c) >= 0;
cons_to_signed (Lisp_Object c, intmax_t min, intmax_t max)
{
bool valid = false;
- intmax_t val = max;
+ intmax_t val UNINIT;
if (INTEGERP (c))
{
val = XINT (c);
cnt = 0;
for (; pos < end_pos; )
{
- register unsigned char *p = BYTE_POS_ADDR (pos_byte);
- unsigned char *str = tt, buf[MAX_MULTIBYTE_LENGTH];
+ unsigned char *p = BYTE_POS_ADDR (pos_byte);
+ unsigned char *str UNINIT;
+ unsigned char buf[MAX_MULTIBYTE_LENGTH];
int len, str_len;
int oc;
Lisp_Object val;
#include "dispextern.h"
#include "buffer.h"
+/* CACHEABLE is ordinarily nothing, except it is 'volatile' if
+ necessary to cajole GCC into not warning incorrectly that a
+ variable should be volatile. */
+#if defined GCC_LINT || defined lint
+# define CACHEABLE volatile
+#else
+# define CACHEABLE /* empty */
+#endif
+
/* Chain of condition and catch handlers currently in effect. */
/* struct handler *handlerlist; */
Lisp_Object handlers)
{
struct handler *oldhandlerlist = handlerlist;
- volatile ptrdiff_t clausenb = 0;
+ ptrdiff_t CACHEABLE clausenb = 0;
CHECK_SYMBOL (var);
goto onedigit;
if (tem < 100)
goto twodigit;
+ FALLTHROUGH;
case '3': /* %3 means output in decimal, 3 digits. */
if (tem > 999)
{
tem %= 1000;
}
*op++ = tem / 100 + '0';
+ FALLTHROUGH;
case '2': /* %2 means output in decimal, 2 digits. */
twodigit:
tem %= 100;
*op++ = tem % 10 + '0';
argp++;
break;
+
case 'p': /* %pN means use param N for next subst. */
tem = fixed_argp[(*p++) - '1'];
explicit_param_p = true;
break;
+
case 'C':
/* For c-100: print quotient of value by 96, if nonzero,
then do like %+. */
*op++ = tem / 96;
tem %= 96;
}
+ FALLTHROUGH;
case '+': /* %+x means add character code of char x. */
tem += *p++;
+ FALLTHROUGH;
case '.': /* %. means output as character. */
if (left)
{
}
}
*op++ = tem ? tem : 0200;
+ FALLTHROUGH;
case 'f': /* %f means discard next arg. */
argp++;
break;