]> code.delx.au - gnu-emacs/blobdiff - src/bytecode.c
Remove CHECK_FRAME_FONT cruft from bytecode.c
[gnu-emacs] / src / bytecode.c
index a551eca24471a7fe6c223c2b7165d2778a99203d..8b700b0312a540fefecbe3b2a77622d79ac7d182 100644 (file)
@@ -27,9 +27,9 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "syntax.h"
 #include "window.h"
 
-#ifdef CHECK_FRAME_FONT
-#include "frame.h"
-#include "xterm.h"
+/* Work around GCC bug 54561.  */
+#if GNUC_PREREQ (4, 3, 0)
+# pragma GCC diagnostic ignored "-Wclobbered"
 #endif
 
 /*
@@ -338,12 +338,10 @@ relocate_byte_stack (void)
 
 #define FETCH2 (op = FETCH, op + (FETCH << 8))
 
-/* Push x onto the execution stack.  This used to be #define PUSH(x)
-   (*++stackp = (x)) This oddity is necessary because Alliant can't be
-   bothered to compile the preincrement operator properly, as of 4/91.
-   -JimB */
+/* Push X onto the execution stack.  The expression X should not
+   contain TOP, to avoid competing side effects.  */
 
-#define PUSH(x) (top++, *top = (x))
+#define PUSH(x) (*++top = (x))
 
 /* Pop a value off the execution stack.  */
 
@@ -436,16 +434,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
   Lisp_Object result;
   enum handlertype type;
 
-#if 0 /* CHECK_FRAME_FONT */
- {
-   struct frame *f = SELECTED_FRAME ();
-   if (FRAME_X_P (f)
-       && FRAME_FONT (f)->direction != 0
-       && FRAME_FONT (f)->direction != 1)
-     emacs_abort ();
- }
-#endif
-
   CHECK_STRING (bytestr);
   CHECK_VECTOR (vector);
   CHECK_NATNUM (maxdepth);