* src/Makefile.in (extraclean): Remove TAGS and config.in.
* Makefile.in (extraclean): Remove info, configure and
emacsver.texi in extraclean.
* admin/unidata/Makefile.in (extraclean): Make it depend on
distclean to remove .elc files.
* leim/Makefile.in (extraclean): Depend on bootstrap-clean to
remove generated .el files.
* lib/Makefile.in (extraclean): Added target to remove sys
directory and run distclean.
* lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
* leim/Makefile.in: Build the file pinyin.el from pinyin.map.
* lisp/international/titdic-cnv.el (pinyin-convert): New function that
writes the library pinyin.el, containing a new constant
`pinyin-character-map'.
* .gitignore: Ignore the generated pinyin.el file.
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November. Change these FTP URLs to https://ftp.gnu.org
instead. Make similar changes for URLs to other organizations moving
away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
When porting Emacs to run on NaCl, we need to make sure that we always
call it with the proper extension (.nexe in this case) during the build.
* leim/Makefile.in, lib-src/Makefile.in, lisp/Makefile.in (EMACS):
Append ${EXEEXT}.
(tiny change)
* leim/Makefile.in (CHINESE_TIT, TIT_SOURCES, MISC_SOURCES, changed.tit)
(changed.misc): Remove.
(${leimdir}/quail, ${leimdir}/ja-dic): Create using order-only prereq.
(misc_convert): New.
(${leimdir}/quail/%.el, ${leimdir}/quail/CT%.el)
(${leimdir}/quail/PY.el, ${leimdir}/quail/ZIRANMA.el)
(${leimdir}/quail/tsang-%.el, ${leimdir}/quail/quick-%.el): Use pattern rules.
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Use automatic variables.
(bootstrap-clean): No changed.* files to delete any more.
* .bzrignore: No leim/changed.* files to ignore any more.
Because of this, "make bootstrap" won't work if CANNOT_DUMP=yes,
but fixing this can wait until after the next release.
* leim/Makefile.in (RUN_EMACS): Keep EMACSLOADPATH empty.
* lisp/Makefile.in (emacs): Keep EMACSLOADPATH empty.
* src/lread.c (init_lread): Fix typo: NILP, not !NILP.
Fixes: debbugs:16494
* leim/Makefile.in (RUN_EMACS):
* lisp/Makefile.in (emacs): Add lisp src to EMACSLOADPATH.
* lisp/loadup.el: Check for src/bootstrap-emacs only when Emacs can dump.
Expand dir too, in case it's relative.
* src/lread.c (init_lread): If CANNOT_DUMP, we can't be dumping.
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
* src/lread.c (load_path_check): Take path to check as argument.
(load_path_default): New, split from init_lread.
(init_lread): Move calc of default load-path to load_path_default.
Empty elements in EMACSLOADPATH now stand for the default.
(load-path): Doc fix.
* src/emacs.c (decode_env_path): Add option to treat empty elements
as nil rather than ".".
* src/callproc.c (init_callproc_1, init_callproc):
* src/image.c (Vx_bitmap_file_path):
* src/lisp.h (decode_env_path):
* lread.c (Vsource_directory):
Update for new argument spec of decode_env_path.
* leim/Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting.
* lisp/Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting.
* test/automated/Makefile.in (emacs):
Empty EMACSLOADPATH rather than unsetting.
* doc/emacs/cmdargs.texi (General Variables):
Empty elements in EMACSLOADPATH now mean the default load-path.
* doc/lispref/loading.texi (Library Search):
Empty elements in EMACSLOADPATH now mean the default load-path.
* etc/NEWS: Mention this.
Fixes: debbugs:12100
src/xdisp.c (message3_nolog, message_with_string): Encode the string
before writing it to the terminal in a non-interactive session.
src/lread.c (openp): If both FILENAME and SUFFIX are unibyte, make
sure we concatenate them into a unibyte string.
src/fileio.c (make_temp_name): Encode PREFIX, and decode the
resulting temporary name before returning it to the caller.
(Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY
is a unibyte string, convert NAME to a unibyte string to ensure
that the result is also a unibyte string.
src/emacs.c (init_cmdargs): Use build_unibyte_string to make sure we
create unibyte strings from default paths and directory/file
names.
src/coding.h (ENCODE_FILE): Do not attempt to encode a unibyte
string.
src/callproc.c (init_callproc): Use build_unibyte_string to make
sure we create unibyte strings from default paths and
directory/file names.
src/buffer.c (init_buffer): Don't store default-directory of
*scratch* in multibyte form. The original problem which led to
that is described in
http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html,
but it was solved long ago.
lisp/startup.el (normal-top-level): Move setting eol-mnemonic-unix,
eol-mnemonic-mac, eol-mnemonic-dos, and also setup of the locale
environment and decoding all of the default-directory's to here
from command-line.
(command-line): Decode also argv[0].
lisp/loadup.el: Error out if default-directory is a multibyte string
when we are dumping.
lisp/Makefile.in (emacs): Don't set LC_ALL=C.
leim/Makefile.in (RUN_EMACS): Don't set LC_ALL=C.
configure.ac: Don't disallow builds in non-ASCII directories.
($(srcdir)/ja-dic/ja-dic.el, check-declare):
Remove unnecessary path in -l argument (RUN_EMACS sets EMACSLOADPATH).
We just need to be careful because "quail" is also a directory...
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
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.
This predates the use of changed.misc etc to serialize the leim build.
The leim Makefile used to set .NO_PARALLEL/.NOTPARALLEL for the same
reason, but has not done so for many years.
* 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.