summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog71
-rw-r--r--src/Makefile.in2
-rw-r--r--src/data.c10
-rw-r--r--src/emacs.c2
-rw-r--r--src/fileio.c25
-rw-r--r--src/gtkutil.c73
-rw-r--r--src/image.c3
-rw-r--r--src/indent.c3
-rw-r--r--src/makefile.nt1232
-rw-r--r--src/msdos.c1
-rw-r--r--src/syntax.h4
-rw-r--r--src/syssignal.h3
-rw-r--r--src/w32term.c29
-rw-r--r--src/window.c4
-rw-r--r--src/xdisp.c41
15 files changed, 158 insertions, 1345 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f8a9e5fb767..cf2201e95dd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,74 @@
+2004-05-07 Juanma Barranquero <lektu@terra.es>
+
+ * window.c (Fset_window_buffer): Fix docstring.
+
+2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * emacs.c (main) [VMS]: Fix var ref.
+
+2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
+
+ * data.c (Fsetq_default): Fix docstring.
+
+2004-05-06 Jason Rumney <jasonr@gnu.org>
+
+ * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
+ to avoid name clash.
+
+2004-05-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+
+ * fileio.c (barf_or_query_if_file_exists): Use lstat.
+ (Frename_file): Handle renaming of symlinks across file systems.
+ (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
+
+2004-05-04 Kim F. Storm <storm@cua.dk>
+
+ * xdisp.c (Qtotal): New var.
+ (syms_of_xdisp): Intern and staticpro it.
+ (calc_line_height_property): New arg total. Set it if
+ line-spacing property has format (total . VALUE).
+ (x_produce_glyphs): Ignore line-spacing if line-height is 0.
+ Handle total line-spacing property.
+
+2004-05-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
+ "under" scroll bar when size/position changes.
+
+2004-05-03 Jason Rumney <jasonr@gnu.org>
+
+ * makefile.nt: Remove.
+
+2004-05-02 Eli Zaretskii <eliz@gnu.org>
+
+ * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT): Avoid
+ compiler warnings.
+
+ * Makefile.in (region-cache.o): Depend on config.h.
+
+2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
+
+ * indent.c (compute_motion): Save vpos in prev_vpos when dealing
+ with continuation lines, too.
+
+2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
+
+2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xdisp.c (calc_line_height_property): YAILOM (yet another
+ int/Lisp_Object mixup).
+
+2004-05-01 Eli Zaretskii <eliz@gnu.org>
+
+ * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
+ undo bad effect of pack(4) in some versions of system headers.
+
+2004-05-01 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
+
2004-04-30 Kim F. Storm <storm@cua.dk>
* buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
diff --git a/src/Makefile.in b/src/Makefile.in
index e22abf754fd..30dbc9df0cf 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1125,7 +1125,7 @@ process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
keyboard.h $(config_h)
regex.o: regex.c syntax.h buffer.h $(config_h) regex.h category.h charset.h
-region-cache.o: region-cache.c buffer.h region-cache.h
+region-cache.o: region-cache.c buffer.h region-cache.h $(config_h)
scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
termhooks.h $(config_h)
search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
diff --git a/src/data.c b/src/data.c
index c94723d09d0..6ce9a5d37aa 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1468,11 +1468,11 @@ The default value of a variable is seen in buffers
that do not have their own values for the variable.
More generally, you can use multiple variables and values, as in
- (setq-default SYMBOL VALUE SYMBOL VALUE...)
-This sets each SYMBOL's default value to the corresponding VALUE.
-The VALUE for the Nth SYMBOL can refer to the new default values
-of previous SYMs.
-usage: (setq-default SYMBOL VALUE [SYMBOL VALUE...]) */)
+ (setq-default VAR VALUE VAR VALUE...)
+This sets each VAR's default value to the corresponding VALUE.
+The VALUE for the Nth VAR can refer to the new default values
+of previous VARs.
+usage: (setq-default VAR VALUE [VAR VALUE...]) */)
(args)
Lisp_Object args;
{
diff --git a/src/emacs.c b/src/emacs.c
index 011d66c5cab..75bea1da4cf 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -895,7 +895,7 @@ main (argc, argv
/* If -map specified, map the data file in. */
{
char *file;
- if (argmatch (argv, argc, "-map", "--map-data", 3, &mapin_file, &skip_args))
+ if (argmatch (argv, argc, "-map", "--map-data", 3, &file, &skip_args))
mapin_data (file);
}
diff --git a/src/fileio.c b/src/fileio.c
index db1aac0afda..bd84ce6121b 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2351,7 +2351,7 @@ barf_or_query_if_file_exists (absname, querystring, interactive, statptr, quick)
/* stat is a good way to tell whether the file exists,
regardless of what access permissions it has. */
- if (stat (SDATA (encoded_filename), &statbuf) >= 0)
+ if (lstat (SDATA (encoded_filename), &statbuf) >= 0)
{
if (! interactive)
Fsignal (Qfile_already_exists,
@@ -2686,11 +2686,11 @@ This is what happens in interactive use with M-x. */)
Lisp_Object args[2];
#endif
Lisp_Object handler;
- struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
- Lisp_Object encoded_file, encoded_newname;
+ struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
+ Lisp_Object encoded_file, encoded_newname, symlink_target;
- encoded_file = encoded_newname = Qnil;
- GCPRO4 (file, newname, encoded_file, encoded_newname);
+ symlink_target = encoded_file = encoded_newname = Qnil;
+ GCPRO5 (file, newname, encoded_file, encoded_newname, symlink_target);
CHECK_STRING (file);
CHECK_STRING (newname);
file = Fexpand_file_name (file, Qnil);
@@ -2727,10 +2727,17 @@ This is what happens in interactive use with M-x. */)
{
if (errno == EXDEV)
{
- Fcopy_file (file, newname,
- /* We have already prompted if it was an integer,
- so don't have copy-file prompt again. */
- NILP (ok_if_already_exists) ? Qnil : Qt, Qt);
+#ifdef S_IFLNK
+ symlink_target = Ffile_symlink_p (file);
+ if (! NILP (symlink_target))
+ Fmake_symbolic_link (symlink_target, newname,
+ NILP (ok_if_already_exists) ? Qnil : Qt, Qt);
+ else
+#endif
+ Fcopy_file (file, newname,
+ /* We have already prompted if it was an integer,
+ so don't have copy-file prompt again. */
+ NILP (ok_if_already_exists) ? Qnil : Qt, Qt);
Fdelete_file (file);
}
else
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 4d0b50573f7..82d5135d2bc 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -2760,18 +2760,16 @@ xg_update_scrollbar_pos (f, scrollbar_id, top, left, width, height,
if (wscroll)
{
GtkWidget *wfixed = f->output_data.x->edit_widget;
- int winextra = canon_width > width ? (canon_width - width) / 2 : 0;
- int bottom = top + height;
- gint slider_width;
- int oldtop, oldleft, oldbottom;
- GtkRequisition req;
+ gtk_container_set_reallocate_redraws (GTK_CONTAINER (wfixed), TRUE);
- /* Get old values. */
- xg_find_top_left_in_fixed (wscroll, wfixed, &oldleft, &oldtop);
- gtk_widget_size_request (wscroll, &req);
- oldbottom = oldtop + req.height;
+ /* Move and resize to new values. */
+ gtk_fixed_move (GTK_FIXED (wfixed), wscroll, left, top);
+ gtk_widget_set_size_request (wscroll, width, height);
+ /* Must force out update so changed scroll bars gets redrawn. */
+ gdk_window_process_all_updates ();
+
/* Scroll bars in GTK has a fixed width, so if we say width 16, it
will only be its fixed width (14 is default) anyway, the rest is
blank. We are drawing the mode line across scroll bars when
@@ -2799,62 +2797,7 @@ xg_update_scrollbar_pos (f, scrollbar_id, top, left, width, height,
the scroll bar and the edge of the window and between the scroll
bar and the fringe. */
- if (oldtop != -1 && oldleft != -1)
- {
- int gtkextral, gtkextrah;
- int xl, xr, wbl, wbr;
- int bottomdiff, topdiff;
-
- gtk_widget_style_get (wscroll, "slider_width", &slider_width, NULL);
- gtkextral = width > slider_width ? (width - slider_width) / 2 : 0;
- gtkextrah = gtkextral ? (width - slider_width - gtkextral) : 0;
-
- xl = real_left;
- wbl = gtkextral + winextra;
- wbr = gtkextrah + winextra;
- xr = left + gtkextral + slider_width;
- bottomdiff = abs (oldbottom - bottom);
- topdiff = abs (oldtop - top);
-
- if (oldleft != left)
- {
- gdk_window_clear_area (wfixed->window, xl, top, wbl, height);
- gdk_window_clear_area (wfixed->window, xr, top, wbr, height);
- }
-
- if (oldtop > top)
- {
- gdk_window_clear_area (wfixed->window, xl, top, wbl, topdiff);
- gdk_window_clear_area (wfixed->window, xr, top, wbr, topdiff);
- }
- else if (oldtop < top)
- {
- gdk_window_clear_area (wfixed->window, xl, oldtop, wbl, topdiff);
- gdk_window_clear_area (wfixed->window, xr, oldtop, wbr, topdiff);
- }
-
- if (oldbottom > bottom)
- {
- gdk_window_clear_area (wfixed->window, xl, bottom, wbl,
- bottomdiff);
- gdk_window_clear_area (wfixed->window, xr, bottom, wbr,
- bottomdiff);
- }
- else if (oldbottom < bottom)
- {
- gdk_window_clear_area (wfixed->window, xl, oldbottom, wbl,
- bottomdiff);
- gdk_window_clear_area (wfixed->window, xr, oldbottom, wbr,
- bottomdiff);
- }
- }
-
- /* Move and resize to new values. */
- gtk_fixed_move (GTK_FIXED (wfixed), wscroll, left, top);
- gtk_widget_set_size_request (wscroll, width, height);
-
- /* Must force out update so changed scroll bars gets redrawn. */
- gdk_window_process_all_updates ();
+ XClearWindow (FRAME_X_DISPLAY (f), GTK_WIDGET_TO_X_WIN (wscroll));
SET_FRAME_GARBAGED (f);
cancel_mouse_face (f);
diff --git a/src/image.c b/src/image.c
index 4c2bdb440e8..09e497576a4 100644
--- a/src/image.c
+++ b/src/image.c
@@ -3179,13 +3179,16 @@ static int xpm_valid_color_symbols_p P_ ((Lisp_Object));
/* Indicate to xpm.h that we don't have Xlib. */
#define FOR_MSW
/* simx.h in xpm defines XColor and XImage differently than Emacs. */
+/* It also defines Display the same way as Emacs, but gcc 3.3 still barfs. */
#define XColor xpm_XColor
#define XImage xpm_XImage
+#define Display xpm_Display
#define PIXEL_ALREADY_TYPEDEFED
#include "X11/xpm.h"
#undef FOR_MSW
#undef XColor
#undef XImage
+#undef Display
#undef PIXEL_ALREADY_TYPEDEFED
#else
#include "X11/xpm.h"
diff --git a/src/indent.c b/src/indent.c
index 99422698d51..1dc5c91fbad 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1,5 +1,5 @@
/* Indentation functions.
- Copyright (C) 1985,86,87,88,93,94,95,98,2000,01,02,2003
+ Copyright (C) 1985,86,87,88,93,94,95,98,2000,01,02,03,2004
Free Software Foundation, Inc.
This file is part of GNU Emacs.
@@ -1409,6 +1409,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width,
vpos++;
contin_hpos = prev_hpos;
prev_hpos = 0;
+ prev_vpos = vpos;
}
}
diff --git a/src/makefile.nt b/src/makefile.nt
deleted file mode 100644
index 0cf08f37105..00000000000
--- a/src/makefile.nt
+++ /dev/null
@@ -1,1232 +0,0 @@
-# Makefile for GNU Emacs on the Microsoft W32 API.
-# Copyright (c) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-# Tim Fleehart (apollo@online.com) 17-Apr-92
-# Geoff Voelker (voelker@cs.washington.edu) 11-20-93
-#
-# This file is part of GNU Emacs.
-#
-# 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.
-#
-# GNU Emacs is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# 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., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-#
-
-#
-# Sets up the system dependent macros.
-#
-!include ..\nt\makefile.def
-
-SUBSYSTEM=console
-
-#
-# HAVE_CONFIG_H is required by some generic gnu sources stuck into
-# the emacs source tree.
-#
-LOCAL_FLAGS = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I..\nt\inc
-!ifdef NTGUI
-LOCAL_FLAGS = $(LOCAL_FLAGS) -DHAVE_NTGUI=1
-!endif
-!ifdef USE_CRT_DLL
-LOCAL_FLAGS = $(LOCAL_FLAGS) -DUSE_CRT_DLL=1 -MD
-libc = msvcrt.lib
-LINK_FLAGS = -nodefaultlib
-!endif
-
-# From MSVC 5.0 onwards, it seem base relocation information is not included,
-# at least in release builds. We need to ensure the reloc info is included
-# in order to use the MSVC profiler.
-!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
-EXTRA_LINK =
-!ELSE
-EXTRA_LINK = -profile
-!ENDIF
-
-EMACS = $(BLD)\emacs.exe
-TEMACS = $(BLD)\temacs.exe
-TEMACS_TMP = $(BLD)\temacs.bin
-TLIB0 = $(BLD)\temacs0.lib
-TLIB1 = $(BLD)\temacs1.lib
-TLIB2 = $(BLD)\temacs2.lib
-!IFDEF NTGUI
-TLIBW32 = $(BLD)\temacw32.lib
-!ELSE
-TLIBW32 =
-!ENDIF
-TOBJ = $(BLD)\firstfile.obj
-!if $(MSVCNT11)
-TRES = $(BLD)\emacs.res
-!else
-TRES = $(BLD)\emacs.rbj
-!endif
-TLASTLIB = $(BLD)\lastfile.lib
-
-# see comments in allocate_heap in w32heap.c before changing any of the
-# -stack, -heap, or -base settings.
-!if "$(BUILD_TYPE)" == "spd"
-LINK_FLAGS = $(LINK_FLAGS) $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map -swaprun:net -swaprun:cd
-!else
-LINK_FLAGS = $(LINK_FLAGS) $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:none -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map -swaprun:net -swaprun:cd $(EXTRA_LINK)
-!endif
-
-#
-# Split up the objects into two sets so that we don't run out of
-# command line space when we link them into a library.
-#
-# Put emacs.obj in a separate lib, since we need to have firstfile.obj
-# as the "main" object file when linking.
-#
-OBJ0 = $(BLD)\emacs.obj
-
-OBJ1 = $(BLD)\abbrev.obj \
- $(BLD)\alloc.obj \
- $(BLD)\alloca.obj \
- $(BLD)\atimer.obj \
- $(BLD)\buffer.obj \
- $(BLD)\bytecode.obj \
- $(BLD)\callint.obj \
- $(BLD)\callproc.obj \
- $(BLD)\casefiddle.obj \
- $(BLD)\cm.obj \
- $(BLD)\cmds.obj \
- $(BLD)\data.obj \
- $(BLD)\dired.obj \
- $(BLD)\dispnew.obj \
- $(BLD)\doc.obj \
- $(BLD)\doprnt.obj \
- $(BLD)\editfns.obj \
- $(BLD)\eval.obj \
- $(BLD)\fileio.obj \
- $(BLD)\filelock.obj \
- $(BLD)\filemode.obj \
- $(BLD)\fns.obj \
- $(BLD)\indent.obj \
- $(BLD)\insdel.obj \
- $(BLD)\keyboard.obj \
- $(BLD)\keymap.obj \
- $(BLD)\lread.obj \
- $(BLD)\macros.obj \
- $(BLD)\marker.obj \
- $(BLD)\md5.obj \
- $(BLD)\minibuf.obj
-
-OBJ2 = $(BLD)\w32.obj \
- $(BLD)\w32heap.obj \
- $(BLD)\w32inevt.obj \
- $(BLD)\w32proc.obj \
- $(BLD)\w32console.obj \
- $(BLD)\print.obj \
- $(BLD)\process.obj \
- $(BLD)\regex.obj \
- $(BLD)\scroll.obj \
- $(BLD)\search.obj \
- $(BLD)\syntax.obj \
- $(BLD)\sysdep.obj \
- $(BLD)\term.obj \
- $(BLD)\termcap.obj \
- $(BLD)\tparam.obj \
- $(BLD)\undo.obj \
- $(BLD)\unexw32.obj \
- $(BLD)\window.obj \
- $(BLD)\xdisp.obj \
- $(BLD)\casetab.obj \
- $(BLD)\floatfns.obj \
- $(BLD)\frame.obj \
- $(BLD)\gmalloc.obj \
- $(BLD)\intervals.obj \
- $(BLD)\composite.obj \
- $(BLD)\ralloc.obj \
- $(BLD)\textprop.obj \
- $(BLD)\vm-limit.obj \
- $(BLD)\region-cache.obj \
- $(BLD)\strftime.obj \
- $(BLD)\charset.obj \
- $(BLD)\coding.obj \
- $(BLD)\category.obj \
- $(BLD)\ccl.obj \
- $(BLD)\fontset.obj
-
-WIN32OBJ = $(BLD)\w32term.obj \
- $(BLD)\w32xfns.obj \
- $(BLD)\w32fns.obj \
- $(BLD)\xfaces.obj \
- $(BLD)\w32select.obj \
- $(BLD)\w32menu.obj \
- $(BLD)\w32reg.obj \
- $(BLD)\w32bdf.obj
-
-LIBS = $(TLIB0) \
- $(TLIB1) \
- $(TLIB2) \
-!IFDEF NTGUI
- $(TLIBW32) \
-!ENDIF
- $(TLASTLIB) \
-!IFDEF NTGUI
- gdi32.lib \
- comdlg32.lib \
-!ENDIF
-# libcmt.lib \
- $(BASE_LIBS) \
- $(ADVAPI32) \
- user32.lib \
- mpr.lib \
- shell32.lib \
- setargv.obj
-
-#
-# Build the executable and dump it.
-#
-all: $(BLD) $(EMACS)
-
-#
-# Headers we would preprocess if we could.
-#
-PREPARED_HEADERS = config.h epaths.h
-config.h: ..\nt\$(CONFIG_H)
- $(CP) $** $@
-epaths.h: ..\nt\paths.h
- $(CP) $** $@
-
-#
-# Make sure we have the DOC file in the right place.
-#
-DOC = $(OBJDIR)\etc\DOC-X
-$(DOC):; cd ..\lib-src
- - $(DEL) DOC-X
- $(MAKE) $(MFLAGS) -f makefile.nt all
- cd ..\src
-
-#
-# The dumped executable
-#
-emacs: $(EMACS)
-$(EMACS): $(DOC) $(TEMACS)
- $(MAKEDIR)\$(BLD)\temacs.exe -batch -l loadup dump
-
-#
-# The undumped executable
-# Note the extra post-link step to insert a static preload heap section.
-# If preload runs out of memory, increase the last argument to addsection
-# (it is the preload heap size in MB).
-#
-temacs: $(BLD) $(TEMACS)
-$(TEMACS): $(PREPARED_HEADERS) $(TLIB0) $(TLIB1) $(TLIB2) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES)
- $(LINK) -out:$(TEMACS_TMP) $(LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
- ..\nt\$(BLD)\addsection $(TEMACS_TMP) $(TEMACS) EMHEAP 16
-
-bootstrap: bootstrap-emacs
-
-#
-# Build a temacs with a sufficiently large PURESIZE to load the
-# Lisp files from loadup.el in source form.
-#
-bootstrap-temacs: bootstrap-clean
- $(MAKE) $(MFLAGS) -f makefile.nt temacs CFLAGS="$(CFLAGS) -DPURESIZE=5000000"
-
-#
-# Dump an Emacs executable named bootstrap-emacs containing the
-# files from loadup.el in source form.
-#
-bootstrap-emacs: bootstrap-temacs
- $(MAKEDIR)\$(BLD)\temacs.exe -batch -l loadup bootstrap
- - mkdir ..\bin
- $(CP) $(EMACS) ..\bin
-
-#
-# Force recompile of files that depend on PURESIZE
-#
-bootstrap-clean:
- - $(DEL) $(BLD)\alloc.obj
- - $(DEL) $(BLD)\data.obj
- - $(DEL) $(BLD)\intervals.obj
- - $(DEL) $(BLD)\keyboard.obj
- - $(DEL) $(BLD)\keymap.obj
-
-#
-# The resource file. NT 3.10 requires the use of cvtres; even though
-# it is not necessary on later versions, it is still ok to use it.
-#
-$(TRES): ..\nt\emacs.rc
- $(RC) -i..\nt -Fo$(BLD)\emacs.res $**
-!if !$(MSVCNT11)
- $(CVTRES) -r -$(ARCH) -o $@ $(BLD)\emacs.res
-!endif
-
-#
-# Build the library. Split up the build into two phases...otherwise we
-# run out of command line space.
-#
-$(TLIB0): $(OBJ0)
- @- $(AR) -out:$@ $**
-$(TLIB1): $(OBJ1)
- @- $(AR) -out:$@ $**
-$(TLIB2): $(OBJ2)
- @- $(AR) -out:$@ $**
-!IFDEF NTGUI
-$(TLIBW32): $(WIN32OBJ)
- @- $(AR) -out:$@ $**
-!ENDIF
-
-#
-# Place lastfile.obj in its own library so that it can be loaded after
-# the source libraries but before any system libraries. Doing so defines
-# the end of Emacs' data section portably across compilers and systems.
-#
-$(TLASTLIB): $(BLD)\lastfile.obj
- @- $(AR) -out:$@ $**
-
-#
-# Assuming INSTALL_DIR is defined, build and install emacs in it.
-#
-install: all
- - mkdir $(INSTALL_DIR)\bin
- $(CP) $(EMACS) $(INSTALL_DIR)\bin
-
-#
-# Maintenance
-#
-clean:; - $(DEL) *~ s\*~
- - $(DEL) *.pdb config.h epaths.h
- - $(DEL) *.orig *.rej *.crlf
- - $(DEL) s\*.orig s\*.rej s\*.crlf
- - $(DEL_TREE) deleted
- - $(DEL_TREE) obj
- - $(DEL_TREE) obj-spd
-
-#
-# These files are the ones that compile conditionally on CANNOT_DUMP...
-# this target is mostly used for debugging.
-#
-cleandump:; cd $(BLD)
- - $(DEL) callproc.obj data.obj dispnew.obj doc.obj editfns.obj emacs.obj lread.obj process.obj sysdep.obj term.obj w32heap.obj unexw32.obj
- cd ..\..
-
-
-### DEPENDENCIES ###
-
-EMACS_ROOT = ..
-SRC = .
-
-$(BLD)\abbrev.obj : \
- $(SRC)\abbrev.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h
-
-$(BLD)\alloc.obj : \
- $(SRC)\alloc.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\puresize.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h \
- $(SRC)\frame.h \
- $(SRC)\blockinput.h \
- $(SRC)\syssignal.h
-
-$(BLD)\alloca.obj : \
- $(SRC)\alloca.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(SRC)\blockinput.h
-
-$(BLD)\atimer.obj : \
- $(SRC)\atimer.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(SRC)\atimer.h \
- $(SRC)\syssignal.h \
- $(SRC)\systime.h \
- $(SRC)\blockinput.h
-
-$(BLD)\buffer.obj : \
- $(SRC)\buffer.c \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\indent.h \
- $(SRC)\blockinput.h \
- $(SRC)\region-cache.h
-
-$(BLD)\bytecode.obj : \
- $(SRC)\bytecode.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\syntax.h
-
-$(BLD)\callint.obj : \
- $(SRC)\callint.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\commands.h \
- $(SRC)\keyboard.h \
- $(SRC)\window.h
-
-$(BLD)\callproc.obj : \
- $(SRC)\callproc.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\msdos.h \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\process.h \
- $(SRC)\syssignal.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systty.h
-
-$(BLD)\casefiddle.obj : \
- $(SRC)\casefiddle.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\commands.h \
- $(SRC)\syntax.h
- $(CC) $(CFLAGS) -Fo$@ casefiddle.c
-
-$(BLD)\casetab.obj : \
- $(SRC)\casetab.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h
-
-$(BLD)\cm.obj : \
- $(SRC)\cm.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\cm.h \
- $(SRC)\termhooks.h
-
-$(BLD)\cmds.obj : \
- $(SRC)\cmds.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\syntax.h
-
-$(BLD)\composite.obj : \
- $(SRC)\composite.c \
- $(SRC)\buffer.h \
- $(SRC)\charset.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h
-
-$(BLD)\data.obj : \
- $(SRC)\data.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\puresize.h \
- $(SRC)\buffer.h \
- $(SRC)\syssignal.h
-
-$(BLD)\dired.obj : \
- $(SRC)\dired.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\ndir.h \
- $(SRC)\buffer.h \
- $(SRC)\commands.h \
- $(SRC)\regex.h
-
-$(BLD)\dispnew.obj : \
- $(SRC)\dispnew.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\termchar.h \
- $(SRC)\termopts.h \
- $(SRC)\termhooks.h \
- $(SRC)\cm.h \
- $(SRC)\buffer.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\commands.h \
- $(SRC)\disptab.h \
- $(SRC)\indent.h \
- $(SRC)\dispextern.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systty.h \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\xterm.h \
- $(SRC)\systime.h
-
-$(BLD)\doc.obj : \
- $(SRC)\doc.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\buffer.h \
- $(SRC)\keyboard.h
-
-$(BLD)\doprnt.obj : \
- $(SRC)\doprnt.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h
-
-$(BLD)\dosfns.obj : \
- $(SRC)\dosfns.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\termchar.h \
- $(SRC)\termhooks.h \
- $(SRC)\frame.h \
- $(SRC)\dosfns.h \
- $(SRC)\msdos.h
-
-$(BLD)\editfns.obj : \
- $(SRC)\editfns.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\uaf.h \
- $(EMACS_ROOT)\nt\inc\pwd.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h \
- $(SRC)\systime.h
-
-$(BLD)\emacs.obj : \
- $(SRC)\emacs.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systty.h \
- $(SRC)\syssignal.h \
- $(SRC)\process.h
-
-$(BLD)\eval.obj : \
- $(SRC)\eval.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\blockinput.h \
- $(SRC)\commands.h \
- $(SRC)\keyboard.h
-
-$(BLD)\fileio.obj : \
- $(SRC)\fileio.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\uaf.h \
- $(EMACS_ROOT)\nt\inc\pwd.h \
- $(SRC)\msdos.h \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systime.h
-
-$(BLD)\filelock.obj : \
- $(SRC)\filelock.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\uaf.h \
- $(EMACS_ROOT)\nt\inc\pwd.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(EMACS_ROOT)\src\epaths.h \
- $(SRC)\buffer.h \
- $(SRC)\ndir.h
-
-$(BLD)\filemode.obj : \
- $(SRC)\filemode.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h
-
-$(BLD)\firstfile.obj : \
- $(SRC)\firstfile.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h
-
-$(BLD)\floatfns.obj : \
- $(SRC)\floatfns.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\syssignal.h
-
-$(BLD)\fns.obj : \
- $(SRC)\fns.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\keyboard.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\md5.h
-
-$(BLD)\frame.obj : \
- $(SRC)\frame.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\frame.h \
- $(SRC)\termhooks.h \
- $(SRC)\window.h \
- $(SRC)\buffer.h \
- $(SRC)\commands.h \
- $(SRC)\keyboard.h
-
-$(BLD)\getloadavg.obj : \
- $(SRC)\getloadavg.c \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h
-
-$(BLD)\gmalloc.obj : \
- $(SRC)\gmalloc.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(SRC)\getpagesize.h
- $(CC) $(CFLAGS) -D__STDC__ -Fo$@ gmalloc.c
-
-$(BLD)\hftctl.obj : \
- $(SRC)\hftctl.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h
-
-$(BLD)\indent.obj : \
- $(SRC)\indent.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\indent.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\termchar.h \
- $(SRC)\termopts.h \
- $(SRC)\disptab.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\region-cache.h \
- $(SRC)\composite.h
-
-$(BLD)\insdel.obj : \
- $(SRC)\insdel.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h \
- $(SRC)\blockinput.h
-
-$(BLD)\intervals.obj : \
- $(SRC)\intervals.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\keyboard.h \
- $(SRC)\buffer.h \
- $(SRC)\puresize.h
-
-$(BLD)\keyboard.obj : \
- $(SRC)\keyboard.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\termchar.h \
- $(SRC)\termopts.h \
- $(SRC)\termhooks.h \
- $(SRC)\macros.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\disptab.h \
- $(SRC)\keyboard.h \
- $(SRC)\dispextern.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\blockinput.h \
- $(SRC)\msdos.h \
- $(SRC)\syssignal.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systty.h \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\xterm.h \
- $(SRC)\systime.h \
- $(SRC)\atimer.h
-
-$(BLD)\keymap.obj : \
- $(SRC)\keymap.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\keyboard.h \
- $(SRC)\termhooks.h \
- $(SRC)\blockinput.h
-
-$(BLD)\lastfile.obj : \
- $(SRC)\lastfile.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h
-
-$(BLD)\lread.obj : \
- $(SRC)\lread.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\buffer.h \
- $(EMACS_ROOT)\src\epaths.h \
- $(SRC)\commands.h \
- $(SRC)\keyboard.h \
- $(SRC)\termhooks.h \
- $(SRC)\msdos.h
-
-$(BLD)\macros.obj : \
- $(SRC)\macros.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\macros.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h
-
-$(BLD)\marker.obj : \
- $(SRC)\marker.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h
-
-$(BLD)\md5.obj : \
- $(SRC)\md5.c \
- $(SRC)\md5.h
-
-$(BLD)\minibuf.obj : \
- $(SRC)\minibuf.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\syntax.h
-
-$(BLD)\w32.obj : \
- $(SRC)\w32.c \
- $(SRC)\w32.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(EMACS_ROOT)\nt\inc\pwd.h \
- $(SRC)\w32heap.h
-
-$(BLD)\w32heap.obj : \
- $(SRC)\w32heap.c \
- $(SRC)\w32heap.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h
-
-$(BLD)\w32inevt.obj : \
- $(SRC)\w32inevt.c \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(SRC)\frame.h \
- $(SRC)\blockinput.h \
- $(SRC)\termhooks.h \
- $(SRC)\w32heap.h \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h
-
-$(BLD)\w32proc.obj : \
- $(SRC)\w32proc.c \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(SRC)\w32.h \
- $(SRC)\w32heap.h \
- $(SRC)\systime.h
-
-$(BLD)\w32console.obj : \
- $(SRC)\w32console.c \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(SRC)\frame.h \
- $(SRC)\disptab.h \
- $(SRC)\termhooks.h \
- $(SRC)\w32inevt.h
-
-$(BLD)\prefix-args.obj : \
- $(SRC)\prefix-args.c
-
-$(BLD)\print.obj : \
- $(SRC)\print.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\process.h \
- $(SRC)\termchar.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h
-
-$(BLD)\process.obj : \
- $(SRC)\process.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systty.h \
- $(SRC)\window.h \
- $(SRC)\buffer.h \
- $(SRC)\process.h \
- $(SRC)\termhooks.h \
- $(SRC)\commands.h \
- $(SRC)\frame.h \
- $(SRC)\syssignal.h \
- $(SRC)\syswait.h \
- $(SRC)\systime.h \
- $(SRC)\termopts.h \
- $(SRC)\composite.h \
- $(SRC)\atimer.h
-
-$(BLD)\ralloc.obj : \
- $(SRC)\ralloc.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(SRC)\getpagesize.h
-
-$(BLD)\regex.obj : \
- $(SRC)\regex.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\s\ms-w32.h \
- $(SRC)\m\intel386.h \
- $(SRC)\config.h \
- $(SRC)\buffer.h \
- $(SRC)\syntax.h \
- $(SRC)\regex.h
-
-$(BLD)\region-cache.obj : \
- $(SRC)\region-cache.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\region-cache.h
-
-$(BLD)\scroll.obj : \
- $(SRC)\scroll.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\termchar.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\frame.h
-
-$(BLD)\search.obj : \
- $(SRC)\search.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\syntax.h \
- $(SRC)\buffer.h \
- $(SRC)\commands.h \
- $(SRC)\blockinput.h \
- $(SRC)\regex.h \
- $(SRC)\region-cache.h \
- $(SRC)\composite.h
-
-$(BLD)\strftime.obj : \
- $(SRC)\strftime.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h
-
-$(BLD)\syntax.obj : \
- $(SRC)\syntax.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\commands.h \
- $(SRC)\buffer.h \
- $(SRC)\syntax.h \
- $(SRC)\composite.h
-
-$(BLD)\sysdep.obj : \
- $(SRC)\sysdep.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\blockinput.h \
- $(SRC)\dosfns.h \
- $(SRC)\msdos.h \
- $(EMACS_ROOT)\nt\inc\sys\param.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h \
- $(SRC)\systty.h \
- $(SRC)\syswait.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\termhooks.h \
- $(SRC)\termchar.h \
- $(SRC)\termopts.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\process.h \
- $(SRC)\ndir.h \
- $(SRC)\syssignal.h \
- $(SRC)\systime.h \
- $(SRC)\uaf.h \
- $(EMACS_ROOT)\src\acldef.h \
- $(EMACS_ROOT)\src\chpdef.h
-
-$(BLD)\term.obj : \
- $(SRC)\term.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\termchar.h \
- $(SRC)\termopts.h \
- $(SRC)\cm.h \
- $(SRC)\frame.h \
- $(SRC)\disptab.h \
- $(SRC)/dispextern.h \
- $(SRC)\termhooks.h \
- $(SRC)\keyboard.h
-
-$(BLD)\termcap.obj : \
- $(SRC)\termcap.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(EMACS_ROOT)\nt\inc\sys\file.h
-
-$(BLD)\terminfo.obj : \
- $(SRC)\terminfo.c
-
-$(BLD)\textprop.obj : \
- $(SRC)\textprop.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h
-
-$(BLD)\tparam.obj : \
- $(SRC)\tparam.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h
-
-$(BLD)\undo.obj : \
- $(SRC)\undo.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\commands.h
-
-$(BLD)\unexw32.obj : \
- $(SRC)\unexw32.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32heap.h
-
-$(BLD)\vm-limit.obj : \
- $(SRC)\vm-limit.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\mem-limits.h
-
-$(BLD)\widget.obj : \
- $(SRC)\widget.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\xterm.h \
- $(SRC)\frame.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\widget.h \
- $(SRC)\widgetprv.h
-
-$(BLD)\window.obj : \
- $(SRC)\window.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\buffer.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\commands.h \
- $(SRC)\indent.h \
- $(SRC)\termchar.h \
- $(SRC)\disptab.h \
- $(SRC)\keyboard.h \
- $(SRC)\composite.h
-
-$(BLD)\xdisp.obj : \
- $(SRC)\xdisp.c \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\termchar.h \
- $(SRC)\buffer.h \
- $(SRC)\indent.h \
- $(SRC)\commands.h \
- $(SRC)\macros.h \
- $(SRC)\disptab.h \
- $(SRC)\termhooks.h \
- $(SRC)\dispextern.h \
- $(SRC)\w32gui.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h
-
-$(BLD)\xfaces.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\xfaces.c \
- $(SRC)\charset.h \
- $(SRC)\fontset.h \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\buffer.h \
- $(SRC)\dispextern.h \
- $(SRC)\frame.h \
- $(SRC)\blockinput.h \
- $(SRC)\window.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h
-
-$(BLD)\w32fns.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32fns.c \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\buffer.h \
- $(SRC)\charset.h \
- $(SRC)\coding.h \
- $(SRC)\dispextern.h \
- $(SRC)\keyboard.h \
- $(SRC)\blockinput.h \
- $(SRC)\epaths.h \
- $(SRC)\w32heap.h \
- $(SRC)\termhooks.h
-
-$(BLD)\w32menu.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32menu.c \
- $(SRC)\termhooks.h \
- $(SRC)\frame.h \
- $(SRC)\window.h \
- $(SRC)\keyboard.h \
- $(SRC)\blockinput.h \
- $(SRC)\buffer.h \
- $(SRC)\charset.h \
- $(SRC)\coding.h
-
-$(BLD)\w32term.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32term.c \
- $(SRC)\blockinput.h \
- $(SRC)\w32heap.h \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\systty.h \
- $(SRC)\systime.h \
- $(SRC)\frame.h \
- $(SRC)\dispextern.h \
- $(SRC)\termhooks.h \
- $(SRC)\termopts.h \
- $(SRC)\termchar.h \
- $(SRC)\gnu.h \
- $(SRC)\disptab.h \
- $(SRC)\buffer.h \
- $(SRC)\window.h \
- $(SRC)\keyboard.h \
- $(SRC)\intervals.h \
- $(SRC)\composite.h \
- $(SRC)\atimer.h
-
-$(BLD)\w32select.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32select.c \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\dispextern.h \
- $(SRC)\frame.h \
- $(SRC)\blockinput.h
-
-$(BLD)\w32reg.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32reg.c \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\blockinput.h
-
-$(BLD)\w32xfns.obj: \
- $(EMACS_ROOT)\src\s\ms-w32.h \
- $(EMACS_ROOT)\src\m\intel386.h \
- $(EMACS_ROOT)\src\config.h \
- $(SRC)\w32xfns.c \
-
-$(BLD)\w32bdf.obj: \
- $(EMACS_ROOT)\src/s\ms-w32.h \
- $(EMACS_ROOT)\src/m\intel386.h \
- $(EMACS_ROOT)\src/config.h \
- $(SRC)\w32bdf.c \
- $(SRC)\charset.h \
- $(SRC)\frame.h \
- $(SRC)\dispextern.h \
- $(SRC)\fontset.h \
- $(SRC)\blockinput.h \
- $(SRC)\w32gui.h \
- $(SRC)\w32term.h \
- $(SRC)\w32gui.h \
- $(SRC)\w32bdf.h \
- $(SRC)\w32.h \
- $(SRC)\frame.h \
- $(SRC)\blockinput.h
-
-# arch-tag: ee9a97ba-19b7-4b50-a127-aaf4efe494dc
diff --git a/src/msdos.c b/src/msdos.c
index b30e51bbb36..6c534d6d2d9 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -40,6 +40,7 @@ Boston, MA 02111-1307, USA. */
#include <unistd.h> /* for chdir, dup, dup2, etc. */
#include <dir.h> /* for getdisk */
#if __DJGPP__ >= 2
+#pragma pack(0) /* dir.h does a pack(4), which isn't GCC's default */
#include <fcntl.h>
#include <io.h> /* for setmode */
#include <dpmi.h> /* for __dpmi_xxx stuff */
diff --git a/src/syntax.h b/src/syntax.h
index b275ded5715..f86ab8fc265 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -58,7 +58,7 @@ enum syntaxcode
/* Set the syntax entry VAL for char C in table TABLE. */
#define SET_RAW_SYNTAX_ENTRY(table, c, val) \
- ((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
+ ((((c) & 0xFF) == (c)) \
? (XCHAR_TABLE (table)->contents[(unsigned char) (c)] = (val)) \
: Faset ((table), make_number (c), (val)))
@@ -106,7 +106,7 @@ extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
#endif
#define SYNTAX_ENTRY_INT(c) \
- ((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
+ ((((c) & 0xFF) == (c)) \
? SYNTAX_ENTRY_FOLLOW_PARENT (CURRENT_SYNTAX_TABLE, \
(unsigned char) (c)) \
: Faref (CURRENT_SYNTAX_TABLE, \
diff --git a/src/syssignal.h b/src/syssignal.h
index 7c3690903df..8d58325c02c 100644
--- a/src/syssignal.h
+++ b/src/syssignal.h
@@ -18,6 +18,8 @@ along with GNU Emacs; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+extern void init_signals P_ ((void));
+
#ifdef POSIX_SIGNALS
/* Don't #include <signal.h>. That header should always be #included
@@ -32,7 +34,6 @@ Boston, MA 02111-1307, USA. */
#define SIGEMPTYMASK (empty_mask)
#define SIGFULLMASK (full_mask)
extern sigset_t empty_mask, full_mask;
-extern void init_signals P_ ((void));
/* POSIX pretty much destroys any possibility of writing sigmask as a
macro in standard C. We always define our own version because the
diff --git a/src/w32term.c b/src/w32term.c
index 24eabfba567..3a2ef2e1c19 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -4177,8 +4177,7 @@ w32_read_socket (sd, expected, hold_quit)
/* So people can tell when we have read the available input. */
input_signal_count++;
- /* TODO: tool-bars, ghostscript integration, mouse
- cursors. */
+ /* TODO: ghostscript integration. */
while (get_next_msg (&msg, FALSE))
{
struct input_event inev;
@@ -4934,28 +4933,38 @@ x_draw_hollow_cursor (w, row)
struct frame *f = XFRAME (WINDOW_FRAME (w));
HDC hdc;
RECT rect;
- int wd;
+ int wd, h;
struct glyph *cursor_glyph;
HBRUSH hb = CreateSolidBrush (f->output_data.w32->cursor_pixel);
+ /* Get the glyph the cursor is on. If we can't tell because
+ the current matrix is invalid or such, give up. */
+ cursor_glyph = get_phys_cursor_glyph (w);
+ if (cursor_glyph == NULL)
+ return;
+
/* Compute frame-relative coordinates from window-relative
coordinates. */
rect.left = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
rect.top = (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y)
+ row->ascent - w->phys_cursor_ascent);
- rect.bottom = rect.top + row->height;
- /* Get the glyph the cursor is on. If we can't tell because
- the current matrix is invalid or such, give up. */
- cursor_glyph = get_phys_cursor_glyph (w);
- if (cursor_glyph == NULL)
- return;
+ /* Compute the proper height and ascent of the rectangle, based
+ on the actual glyph. Using the full height of the row looks
+ bad when there are tall images on that row. */
+ h = max (min (FRAME_LINE_HEIGHT (f), row->height),
+ cursor_glyph->ascent + cursor_glyph->descent);
+ if (h < row->height)
+ rect.top += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h;
+ h--;
+
+ rect.bottom = rect.top + h;
/* Compute the width of the rectangle to draw. If on a stretch
glyph, and `x-stretch-block-cursor' is nil, don't draw a
rectangle as wide as the glyph, but use a canonical character
width instead. */
- wd = cursor_glyph->pixel_width;
+ wd = cursor_glyph->pixel_width; /* TODO: Why off by one compared with X? */
if (cursor_glyph->type == STRETCH_GLYPH
&& !x_stretch_cursor_p)
wd = min (FRAME_COLUMN_WIDTH (f), wd);
diff --git a/src/window.c b/src/window.c
index 221d8bbbaf2..8a2c16598ec 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1,6 +1,6 @@
/* Window creation, deletion and examination for GNU Emacs.
Does not include redisplay.
- Copyright (C) 1985,86,87,93,94,95,96,97,1998,2000, 2001, 2002, 2003
+ Copyright (C) 1985,86,87, 1993,94,95,96,97,98, 2000,01,02,03,04
Free Software Foundation, Inc.
This file is part of GNU Emacs.
@@ -3025,7 +3025,7 @@ set_window_buffer (window, buffer, run_hooks_p, keep_margins_p)
DEFUN ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 3, 0,
doc: /* Make WINDOW display BUFFER as its contents.
BUFFER can be a buffer or buffer name.
-Optional third arg KEEP_MARGINS non-nil means that WINDOW's current
+Optional third arg KEEP-MARGINS non-nil means that WINDOW's current
display margins, fringe widths, and scroll bar settings are maintained;
the default is to reset these from BUFFER's local settings or the frame
defaults. */)
diff --git a/src/xdisp.c b/src/xdisp.c
index f01d3f00b2f..83857e5bb84 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -304,7 +304,7 @@ Lisp_Object Qleft_margin, Qright_margin, Qspace_width, Qraise;
Lisp_Object Qslice;
Lisp_Object Qcenter;
Lisp_Object Qmargin, Qpointer;
-Lisp_Object Qline_height;
+Lisp_Object Qline_height, Qtotal;
extern Lisp_Object Qheight;
extern Lisp_Object QCwidth, QCheight, QCascent;
extern Lisp_Object Qscroll_bar;
@@ -18522,11 +18522,11 @@ produce_stretch_glyph (it)
Returns height in pixels, or nil. */
static Lisp_Object
-calc_line_height_property (it, prop, font, boff)
+calc_line_height_property (it, prop, font, boff, total)
struct it *it;
Lisp_Object prop;
XFontStruct *font;
- int boff;
+ int boff, *total;
{
Lisp_Object val;
Lisp_Object face_name = Qnil;
@@ -18538,6 +18538,12 @@ calc_line_height_property (it, prop, font, boff)
if (NILP (val))
return val;
+ if (total && CONSP (val) && EQ (XCAR (val), Qtotal))
+ {
+ *total = 1;
+ val = XCDR (val);
+ }
+
if (INTEGERP (val))
return val;
@@ -18571,12 +18577,12 @@ calc_line_height_property (it, prop, font, boff)
face_id = lookup_named_face (it->f, face_name, ' ');
if (face_id < 0)
- return -1;
+ return make_number (-1);
face = FACE_FROM_ID (it->f, face_id);
font = face->font;
if (font == NULL)
- return -1;
+ return make_number (-1);
font_info = FONT_INFO_FROM_ID (it->f, face->font_info_id);
boff = font_info->baseline_offset;
@@ -18806,13 +18812,13 @@ x_produce_glyphs (it)
But if previous part of the line set a height, don't
increase that height */
- Lisp_Object height, spacing;
+ Lisp_Object height;
it->override_ascent = -1;
it->pixel_width = 0;
it->nglyphs = 0;
- height = calc_line_height_property(it, Qline_height, font, boff);
+ height = calc_line_height_property(it, Qline_height, font, boff, 0);
if (it->override_ascent >= 0)
{
@@ -18845,6 +18851,9 @@ x_produce_glyphs (it)
}
else
{
+ Lisp_Object spacing;
+ int total = 0;
+
it->phys_ascent = it->ascent;
it->phys_descent = it->descent;
@@ -18858,16 +18867,14 @@ x_produce_glyphs (it)
if (!NILP (height)
&& XINT (height) > it->ascent + it->descent)
it->ascent = XINT (height) - it->descent;
- }
- spacing = calc_line_height_property(it, Qline_spacing, font, boff);
- if (!NILP (spacing))
- {
- int sp = XINT (spacing);
- if (sp < 0)
- extra_line_spacing = (-sp) - (it->phys_ascent + it->phys_descent);
- else
- extra_line_spacing = sp;
+ spacing = calc_line_height_property(it, Qline_spacing, font, boff, &total);
+ if (INTEGERP (spacing))
+ {
+ extra_line_spacing = XINT (spacing);
+ if (total)
+ extra_line_spacing -= (it->phys_ascent + it->phys_descent);
+ }
}
}
else if (it->char_to_display == '\t')
@@ -21894,6 +21901,8 @@ syms_of_xdisp ()
staticpro (&Qcenter);
Qline_height = intern ("line-height");
staticpro (&Qline_height);
+ Qtotal = intern ("total");
+ staticpro (&Qtotal);
QCalign_to = intern (":align-to");
staticpro (&QCalign_to);
QCrelative_width = intern (":relative-width");