X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/9b75c1e26efe96f0ed327ee06b0e046a9e5724ed..187bc86f15320f5680552b8bd692a62fb1a4b3ba:/src/dosfns.c
diff --git a/src/dosfns.c b/src/dosfns.c
index e57a6a197b..240f19c338 100644
--- a/src/dosfns.c
+++ b/src/dosfns.c
@@ -1,14 +1,14 @@
/* MS-DOS specific Lisp utilities. Coded by Manabu Higashida, 1991.
Major changes May-July 1993 Morten Welinder (only 10% original code left)
Copyright (C) 1991, 1993, 1996, 1997, 1998, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -16,9 +16,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
+along with GNU Emacs. If not, see . */
#include
@@ -31,14 +29,14 @@ Boston, MA 02110-1301, USA. */
#include "lisp.h"
#include "buffer.h"
#include "termchar.h"
-#include "termhooks.h"
#include "frame.h"
+#include "termhooks.h"
#include "blockinput.h"
#include "window.h"
#include "dosfns.h"
#include "msdos.h"
#include "dispextern.h"
-#include "charset.h"
+#include "character.h"
#include "coding.h"
#include
#include
@@ -422,7 +420,7 @@ msdos_stdcolor_idx (const char *name)
int i;
for (i = 0; i < sizeof (vga_colors) / sizeof (vga_colors[0]); i++)
- if (strcasecmp (name, vga_colors[i]) == 0)
+ if (xstrcasecmp (name, vga_colors[i]) == 0)
return i;
return
@@ -538,15 +536,27 @@ If the underlying system call fails, value is nil. */)
void
dos_cleanup (void)
{
+ struct tty_display_info *tty;
+
#ifndef HAVE_X_WINDOWS
restore_parent_vm_title ();
#endif
/* Make sure the termscript file is committed, in case we are
crashing and some vital info was written there. */
- if (termscript)
+ if (FRAMEP (selected_frame))
{
- fflush (termscript);
- fsync (fileno (termscript));
+ struct frame *sf = XFRAME (selected_frame);
+
+ if (FRAME_LIVE_P (sf)
+ && (FRAME_MSDOS_P (sf) || FRAME_TERMCAP_P (sf)))
+ {
+ tty = CURTTY ();
+ if (tty->termscript)
+ {
+ fflush (tty->termscript);
+ fsync (fileno (tty->termscript));
+ }
+ }
}
}