[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r100806: Convert maybe_fatal to stand
From: |
Dan Nicolaescu |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r100806: Convert maybe_fatal to standard C. |
Date: |
Mon, 12 Jul 2010 21:47:45 -0700 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 100806
committer: Dan Nicolaescu <address@hidden>
branch nick: trunk
timestamp: Mon 2010-07-12 21:47:45 -0700
message:
Convert maybe_fatal to standard C.
* src/lisp.h (verror): Declare.
* src/eval.c (verror): New function containing the code from ...
(error): ... this. Call verror.
* src/term.c (vfatal): New function containing the code from ...
(fatal): ... this. Call vfatal.
(maybe_fatal): Convert to standard C, use variable number of
arguments. Declare as non-return.
(init_tty): Fix maybe_fatal call.
modified:
src/ChangeLog
src/eval.c
src/lisp.h
src/term.c
src/xterm.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2010-07-12 19:56:46 +0000
+++ b/src/ChangeLog 2010-07-13 04:47:45 +0000
@@ -1,3 +1,15 @@
+2010-07-13 Dan Nicolaescu <address@hidden>
+
+ Convert maybe_fatal to standard C.
+ * lisp.h (verror): Declare.
+ * eval.c (verror): New function containing the code from ...
+ (error): ... this. Call verror.
+ * term.c (vfatal): New function containing the code from ...
+ (fatal): ... this. Call vfatal.
+ (maybe_fatal): Convert to standard C, use variable number of
+ arguments. Declare as non-return.
+ (init_tty): Fix maybe_fatal call.
+
2010-07-12 Dan Nicolaescu <address@hidden>
* xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
=== modified file 'src/eval.c'
--- a/src/eval.c 2010-07-11 09:27:13 +0000
+++ b/src/eval.c 2010-07-13 04:47:45 +0000
@@ -1991,11 +1991,10 @@
return Qnil;
}
-/* dump an error message; called like printf */
-/* VARARGS 1 */
+/* dump an error message; called like vprintf */
void
-error (const char *m, ...)
+verror (const char *m, va_list ap)
{
char buf[200];
int size = 200;
@@ -2009,14 +2008,8 @@
while (1)
{
- va_list ap;
int used;
-
- /* A va_list can't be reused if we have to go around the loop
- again; we need to "reinitialize" it each time. */
- va_start(ap, m);
used = doprnt (buffer, size, m, m + mlen, ap);
- va_end(ap);
if (used < size)
break;
size *= 2;
@@ -2035,6 +2028,19 @@
xsignal1 (Qerror, string);
}
+
+
+/* dump an error message; called like printf */
+
+/* VARARGS 1 */
+void
+error (const char *m, ...)
+{
+ va_list ap;
+ va_start (ap, m);
+ verror (m, ap);
+ va_end (ap);
+}
DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0,
doc: /* Non-nil if FUNCTION makes provisions for interactive calling.
=== modified file 'src/lisp.h'
--- a/src/lisp.h 2010-07-11 18:34:43 +0000
+++ b/src/lisp.h 2010-07-13 04:47:45 +0000
@@ -2908,6 +2908,7 @@
extern void record_unwind_protect (Lisp_Object (*) (Lisp_Object), Lisp_Object);
extern Lisp_Object unbind_to (int, Lisp_Object);
extern void error (const char *, ...) NO_RETURN;
+extern void verror (const char *, va_list) NO_RETURN;
extern void do_autoload (Lisp_Object, Lisp_Object);
extern Lisp_Object un_autoload (Lisp_Object);
EXFUN (Ffetch_bytecode, 1);
=== modified file 'src/term.c'
--- a/src/term.c 2010-07-08 21:25:08 +0000
+++ b/src/term.c 2010-07-13 04:47:45 +0000
@@ -101,6 +101,10 @@
static void set_tty_hooks (struct terminal *terminal);
static void dissociate_if_controlling_tty (int fd);
static void delete_tty (struct terminal *);
+static void maybe_fatal (int must_succeed, struct terminal *terminal,
+ const char *str1, const char *str2, ...) NO_RETURN;
+static void vfatal (const char *str, va_list ap) NO_RETURN;
+
#define OUTPUT(tty, a) \
emacs_tputs ((tty), a, \
@@ -3375,8 +3379,6 @@
#endif /* !DOS_NT */
}
-static void maybe_fatal();
-
/* Create a termcap display on the tty device with the given name and
type.
@@ -3748,7 +3750,7 @@
if (FrameRows (tty) < 3 || FrameCols (tty) < 3)
maybe_fatal (must_succeed, terminal,
- "Screen size %dx%d is too small"
+ "Screen size %dx%d is too small",
"Screen size %dx%d is too small",
FrameCols (tty), FrameRows (tty));
@@ -3924,24 +3926,39 @@
return terminal;
}
+
+static void
+vfatal (const char *str, va_list ap)
+{
+ fprintf (stderr, "emacs: ");
+ vfprintf (stderr, str, ap);
+ if (!(strlen (str) > 0 && str[strlen (str) - 1] == '\n'))
+ fprintf (stderr, "\n");
+ va_end (ap);
+ fflush (stderr);
+ exit (1);
+}
+
+
/* Auxiliary error-handling function for init_tty.
Delete TERMINAL, then call error or fatal with str1 or str2,
respectively, according to MUST_SUCCEED. */
static void
-maybe_fatal (must_succeed, terminal, str1, str2, arg1, arg2)
- int must_succeed;
- struct terminal *terminal;
- char *str1, *str2, *arg1, *arg2;
+maybe_fatal (int must_succeed, struct terminal *terminal,
+ const char *str1, const char *str2, ...)
{
+ va_list ap;
+ va_start (ap, str2);
if (terminal)
delete_tty (terminal);
if (must_succeed)
- fatal (str2, arg1, arg2);
+ vfatal (str2, ap);
else
- error (str1, arg1, arg2);
+ verror (str1, ap);
+ va_end (ap);
abort ();
}
@@ -3950,13 +3967,8 @@
{
va_list ap;
va_start (ap, str);
- fprintf (stderr, "emacs: ");
- vfprintf (stderr, str, ap);
- if (!(strlen (str) > 0 && str[strlen (str) - 1] == '\n'))
- fprintf (stderr, "\n");
+ vfatal (str, ap);
va_end (ap);
- fflush (stderr);
- exit (1);
}
=== modified file 'src/xterm.c'
--- a/src/xterm.c 2010-07-12 19:56:46 +0000
+++ b/src/xterm.c 2010-07-13 04:47:45 +0000
@@ -10183,11 +10183,9 @@
xsettings_initialize (dpyinfo);
-#ifdef subprocesses
/* This is only needed for distinguishing keyboard and process input. */
if (connection != 0)
add_keyboard_wait_descriptor (connection);
-#endif
#ifdef F_SETOWN
fcntl (connection, F_SETOWN, getpid ());
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r100806: Convert maybe_fatal to standard C.,
Dan Nicolaescu <=