lib/Makefile.am: If building for MS-Windows, include
nt/gnulib.mk instead of lib/gnulib.mk.
configure.ac: Adapt to MSYS build on MS-Windows.
Makefile.in (NTDIR): New variable, for the MSYS build on
MS-Windows.
(SUBDIR): Add $(NTDIR).
(.PHONY): Add epaths-force-w32.
(msys_to_w32): New variable.
(epaths-force-w32, install-nt, uninstall-nt): New targets.
(lib-src src): Add $(NTLIB) to prerequisites.
(lib lib-src lisp leim nt): Add 'nt'.
(config.status): Use $(CFG).
(.PHONY): Add install-$(NTDIR) and uninstall-$(NTDIR).
(install, install-arch-dep): Add install-$(NTDIR).
(uninstall): Depend on uninstall-$(NTDIR).
(mostlyclean, clean, distclean, bootstrap-clean): Add 'nt'.
* GNUmakefile (CFG): New variable, uses mingw-cfg.site as
CONFIG_SITE for the MSYS build on MS-Windows.
(Makefile): Use $(CFG).
.bzrignore: Ignore *.res, *.tmp, and *.map. Remove
src/emacs.res.
etc/NEWS: Advertise the MSYS build on MS-Windows.
leim/Makefile.in (leim-list.el, check-declare): Use reveal-filename.
lib-src/update-game-score.c [WINDOWSNT]: Include "ntlib.h".
lib-src/ntlib.h (sleep): Update prototype.
(geteuid): Add prototype.
lib-src/ntlib.c (sleep): Now returns an unsigned value.
(getgid): New function.
lib-src/Makefile.in (CLIENTW, LIB_WSOCK32, LIBS_ECLIENT, NTLIB)
(CLIENTRES, WINDRES, NTINC, NTDEPS): New variables.
(INSTALLABLES): Add $(CLIENTW).
(LIBS_MOVE): Use $(LIB_WSOCK32).
($(DESTDIR)${archlibdir}): Use $(EXEEXT) on update-game-score.
(test-distrib${EXEEXT}): Use $(EXEEXT) on test-distrib.
(etags${EXEEXT}, ebrowse${EXEEXT}, ctags${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(emacsclient${EXEEXT}, hexl${EXEEXT}, update-game-score${EXEEXT}):
Add $(NTLIB) to prerequisites. Use $(EXEEXT).
(pop.o): Add pop.h to prerequisites.
(emacsclientw${EXEEXT}, ntlib.o): New targets.
(emacsclient.res): New target.
lisp/subr.el (reveal-filename): New function.
lisp/loadup.el: Compute Emacs executable versions on MS-Windows,
where executables have the .exe extension. Add a hard link
emacs-XX.YY.ZZ.exe on MS-Windows.
lisp/Makefile.in (XARGS_LIMIT): New variable.
(custom-deps, finder-data, autoloads)
($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el)
($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el)
($(CAL_DIR)/hol-loaddefs.el): Use reveal-filename.
(compile-main): Limit xargs according to $(XARGS_LIMIT).
nt/msysconfig.sh: New file.
nt/mingw-cfg.site: New file.
nt/makefile.w32-in (LOCAL_FLAGS): Add -DOLD_PATHS=1.
nt/inc/unistd.h: Include pwd.h and sys/types.h.
nt/inc/sys/time.h (_TIMEVAL_DEFINED, timerisset, timercmp)
(timerclear): Define.
(gettimeofday): Adjust signature to be Posix compatible, by using
the 'restrict' keyword.
nt/inc/sys/stat.h (UTIME_NOW, UTIME_OMIT): Define.
(struct _stat, struct _stati64): Define.
nt/inc/sys/socket.h (timeval): Define only for MSVC.
(FD_SET, FD_CLR, FD_ISSET, fd_set): Redefine only if
EMACS_CONFIG_H is defined.
(timeval): Undefine only for MSVC.
nt/inc/ms-w32.h (HAVE___BUILTIN_UNWIND_INIT, restrict)
(HAVE_WINDOW_SYSTEM, HAVE_MENUS, EMACS_CONFIGURATION)
(EMACS_CONFIG_OPTIONS, HAVE_LONG_LONG_INT)
(HAVE_UNSIGNED_LONG_LONG_INT): Define only if not already defined.
(fileno): Move definition after including stdio.h.
(sigset_t): Guard typedef by _W64.
nt/gnulib.mk: New file.
nt/epaths.nt: New file.
nt/addpm.c [!OLD_PATHS]: Include src/epaths.h, instead of having a
copy of the file names there.
<env_vars> [!OLD_PATHS]: Use macros from epaths.h instead of
literal strings.
nt/Makefile.in: New file.
nt/INSTALL.MSYS: New file.
nt/INSTALL: Mention INSTALL.MSYS.
src/w32.c: Include epaths.h.
(init_environment): Use cmdproxy.exe without leading directories.
Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
case.
(gettimeofday): Adjust signature and return value to Posix
expectations.
src/unexw32.c (open_output_file): Delete the existing emacs.exe
before creating it, to break the hard link to the versioned
executable.
src/Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
(ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
(FIRSTFILE_OBJ): New variables.
(W32_RES): Rename to EMACSRES. All users changed.
(base_obj): Use $(CM_OBJ).
(ALLOBJS): Use $(FIRSTFILE_OBJ).
(emacs$(EXEEXT)): Depend on $(ADDSECTION).
(temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
$(W32_RES_LINK) before $(LIBES).
(emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt.
ja-dic.el no longer needs to be in the repository: it's now
generated as part of the build from bzr. Also, update SKK-JISYO.L to
match the upstream source exactly.
* .bzrignore: Add leim/ja-dic/.
* leim/ja-dic/ja-dic.el: Remove from repository. It is still distributed
as part of the Emacs tarball.
* leim/Makefile.in ($(srcdir)/ja-dic/ja-dic.el): New rule.
(compile-main): Depend on it.
* leim/SKK-DIC/README: Update to reflect new build procedure.
* leim/SKK-DIC/SKK-JISYO.L: Update to match source exactly.
This is now the annotated version, to match the upstream file name;
the unannotated one is built from it automatically.
* lisp/international/ja-dic-cnv.el (skkdic-convert): Remove the annotations
from the input, rather than assume that it's been done for us by the
SKK script unannotate.awk. Switch ja-dic.el to UTF-8. Don't put
the current date into a ja-dic.el comment, as that complicates
regression testing.
Fixes: debbugs:13984
(latin-ltx--mark-map, latin-ltx--mark-re): New constants.
(latin-ltx--define-rules): Check for conflicts. Eval `re's.
(rules): Use tighter regexps to avoid conflicts.
Consolidate the various rules for combining marks.
Fixes: debbugs:13950
* leim/quail/indian.el (quail-define-inscript-package):
Set kbd-translate for all Inscript layouts. It's a positional
layout: vowels should be on the left hand regardless of the
underlying characters produced by those keys.
Fixes: debbugs:12072
* NEWS: Document these changes.
* leim/quail/uni-input.el (ucs-input-deactivate):
Rename from ucs-input-inactivate.
* leim/quail/hangul.el (hangul-input-method-deactivate):
Rename from hangul-input-method-inactivate.
* emulation/viper-init.el (viper-deactivate-input-method-action):
Rename from viper-inactivate-input-method-action.
(viper-deactivate-input-method):
Rename from viper-inactivate-input-method.
* lisp/follow.el (follow-inactive-menu): Rename from follow-deactive-menu.
* lisp/international/mule-cmds.el (deactivate-input-method):
Rename from inactivate-input-method.
Also run input-method-deactivate-hook.
(deactivate-current-input-method-function):
Rename from inactivate-current-input-method-function.
(input-method-deactivate-hook): New hook.
(input-method-inactivate-hook): Mark obsolete.
* lisp/international/quail.el (quail-activate):
Also run quail-deactivate-hook.
(quail-deactivate): Rename from quail-inactivate.
* lisp/international/robin.el (robin-activate):
Also run robin-deactivate-hook.
(robin-deactivate): Rename from robin-inactivate.
It isn't necessary given MKDIR_P, and I have some vague memory that
the time-stamping was causing unncessary re-dumping in some instance.
* leim/Makefile.in (SUBDIRS): Remove variable and rule.
(MKDIR_P): Add it back.
(all, changed.tit, changed.misc, leim-list.el): Don't depend on SUBDIRS.
(changed.tit, changed.misc): Ensure output directory exists.
(distclean): Don't use SUBDIRS.
* configure.in (LEIM_INSTALLDIR): Rename to leimdir, treat like lispdir.
* leim/Makefile.in (install_prefix): Remove.
(LEIM_INSTALLDIR): Rename to leimdir.
(install): Update for this change.
* leim/Makefile.in (MKDIR_P): New, set by configure.
(install): Use $MKDIR_P.
* lib-src/Makefile.in (MKDIR_P): New, set by configure.
($(DESTDIR)${archlibdir}): Use $MKDIR_P.
This is instead of installing them first in one place, then moving them.
It also fixes the previous change, which was incorrect for
the -disable-ns-self-contained case.
* configure.in (LEIM_INSTALLDIR): New output variable.
* leim/Makefile.in: (install_prefix): New.
(LEIM_INSTALLDIR): New, set by configure.
(install): Use LEIM_INSTALLDIR.
* leim/Makefile.in (EMACS): Rename from BUILT_EMACS.
(RUN_EMACS, compile-main): Update for this change.
* src/Makefile.in ($(leimdir)/leim-list.el):
Pass EMACS rather than BUILT_EMACS.
* leim/Makefile.in (../src/emacs): Remove this rule, no longer relevant
since leim distributed with Emacs (eg lisp/ has no such rule).
(all): Remove $BUILT_EMACS dependence.
* leim/Makefile.in: (TIT_GB, TIT_BIG5, CHINESE_TIT, MISC, TIT_MISC):
Make them store the .el files rather than the .elc files.
(NON_TIT_GB, NON_TIT_BIG5, CHINESE_NON_TIT, CHINESE_GB)
(CHINESE_GB, CHINESE_BIG5, JAPANESE, KOREAN, THAI, VIETNAMESE)
(LAO, INDIAN, TIBETAN, LATIN, UNICODE, SLAVIC, GREEK, RUSSIAN)
(OTHERS, CHINESE, EASTASIA, ASIA, EUROPEAN, WORLD, NON_TIT_MISC):
Remove variables listing the non-generated .el files.
(.el.elc): Add explicit load-path for quail.
(all): Depend on compile-main rule rather than $WORLD.
(changed.tit, changed.misc): Also depend on $SUBDIRS.
(leim-list.el): Don't depend on changed.tit or changed.misc.
Remove unnecessary compilation check.
(setwins, compile-targets, compile-main): New.
(clean, mostlyclean): Update for change in TIT_MISC contents.
(bootstrap-clean): Use a glob match to delete .elc, not a fixed list.
nt/makefile.w32-in (install-bin): Don't copy addpm.exe here. Use
$(DIRNAME)_same-dir.tst instead of same-dir.tst, to avoid stepping
on other (parallel) Make job's toes.
(install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'.
(install-shortcuts): Depend on $(INSTALL_DIR)/bin. Copy addpm.exe
here.
(maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist): Depend
on create-tmp-dist-dir.
nt/nmake.defs (DIRNAME): New variable.
(IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
same-dir.tst.
nt/gmake.defs (DIRNAME): New variable.
(IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
same-dir.tst, to avoid conflicts between several (parallel) Make
jobs.
lisp/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
of same-dir.tst, to avoid stepping on other (parallel) Make job's
toes.
leim/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
of same-dir.tst, to avoid stepping on other (parallel) Make job's
toes.
leim/quail/persian.el: Update which includes: (1) full compliance to
ISIRI-6219, forbiden characters were eliminated and missing
characters were added; (2) layer 3 of ISIRI-9147 is now
implemented with a '\' prefix; (3) double entry of characters
which were postfixed with 'h' is now supported; (4) lots of
comment and additional pointers have been added.