Commit graph

357 commits

Author SHA1 Message Date
Stefan Monnier
e971ce6de2 Make autoloads populate a new definition-prefixes table
* lisp/subr.el (definition-prefixes): New hash table.
(register-definition-prefixes): New function.

* lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
(autoload--split-prefixes-1, autoload--split-prefixes)
(autoload--make-defs-autoload): New functions.
(autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
(autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
(update-directory-autoloads): Don't touch loaddefs.el if the set of
autoloads hasn't changed (i.e. if only the timestamp would change).

* lisp/loadup.el: Purify definition-prefixes.

* lisp/w32-fns.el: Keep name space clean.
(w32-set-default-process-coding-system): Rename from
set-default-process-coding-system.
(w32-set-system-coding-system): Rename from set-w32-system-coding-system.
2016-05-25 22:58:18 -04:00
Paul Eggert
37b9099068 - 2016-03-22 11:01:30 -07:00
Eli Zaretskii
38b276d162 Fix startup of "emacs -nw" on systems that CANNOT_DUMP
* src/xdisp.c (syms_of_xdisp) <resize-mini-windows>: Initialize to
nil.

* lisp/loadup.el <resize-mini-windows>: Set to 'grow-only' after
loading window.el.  (Bug#22975)
2016-03-15 19:46:26 +02:00
Eli Zaretskii
48196164aa Avoid crashes at startup on systems that CANNOT_DUMP
* src/xdisp.c (syms_of_xdisp) <redisplay--inhibit-bidi>: New
boolean variable.
(init_iterator, reseat_to_string)
(Fcurrent_bidi_paragraph_direction)
(Fbidi_find_overridden_directionality): Use
redisplay--inhibit-bidi instead of purify-flag, to determine when
it's safe to reorder bidirectional text.

* lisp/loadup.el (redisplay--inhibit-bidi): Set to t at the
beginning of the file.  Reset to nil when charprop.el is
successfully loaded, or when we are going to dump, whichever
happens last.  (Bug#22975)
2016-03-12 11:51:03 +02:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
John Wiegley
9f2f14a072 Merge emacs-25 into master (using imerge) 2015-12-29 21:40:28 -08:00
Eli Zaretskii
94a3606243 Fix bootstrap broken by changes related to OS X file-name encoding
* lisp/international/ucs-normalize.el (eval-when-compile): Make
sure char-code-property-alist includes elements that allow access
to 'decomposition' and 'canonical-combining-class' Unicode
properties, as compiling ucs-normalize.el requires that.
* lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
only of charprop.el was already loaded.

* src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
New order-only dependency.
2015-12-25 13:23:17 +02:00
Anders Lindgren
3e7f6338d8 ; Re-enabled "File-name completion of non-ASCII characters on OS X (bug#22169)""
; This reverts commit d107eda498.

; A follow-up to this will be made to ucs-normalize.el etc. to ensure that building from scratch works.
2015-12-25 10:55:38 +01:00
Anders Lindgren
d107eda498 ; Revert "File-name completion of non-ASCII characters on OS X (bug#22169)"
; This reverts commit 0905307522.

; This caused a build from scratch to fail.
2015-12-24 09:50:26 +01:00
Anders Lindgren
0905307522 File-name completion of non-ASCII characters on OS X (bug#22169)
The coding system `utf-8-nfd', locally defined in ns-win.el,
didn't provide a :pre-write-conversion method, causing file name
completion of non-ASCII characters to fail.  Solved by using the
`utf-8-hfs' coding system provided by `ucs-normalize'.

* lisp/loadup.el: Load international/ucs-normalize (when building
for ns).

* lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
`utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
as the file name coding system.

* src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
2015-12-23 07:15:45 +01:00
Przemysław Wojnowski
5c81fd58e3 Use obarray functions from obarray.
* lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
  abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
  clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
  delegate to obarray.el functions.
* lisp/loadup.el: load obarray before abbrev
* test/automated/abbrev-tests.el: new tests
2015-11-20 00:19:56 +01:00
Stefan Monnier
36b3f1b61f * lisp/loadup.el: Set max-lisp-eval-depth here
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
(BYTE_COMPILE_FLAGS): Adjust accordingly.
2015-11-18 11:42:29 -05:00
Eli Zaretskii
afd3e98f65 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
Backport.
2015-11-13 21:59:15 +02:00
Eli Zaretskii
04f69f1764 * lisp/loadup.el: Enlarge the size of the hash table to 80000. 2015-11-13 11:52:53 +02:00
Glenn Morris
7ca145d3f9 No need for cp51932.el, eucjp-ms.el to not be compiled any more.
* admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
Don't set no-byte-compile in the outputs.

* lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2015-06-15 23:02:58 -07:00
Glenn Morris
46ea93792d * src/lisp.mk: Remove from repository and generate at build-time.
* src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
(shortlisp_filter): New variable.
(emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
(distclean): Remove lisp.mk.
* Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
* lisp/loadup.el: Tweak layout to make it easier to parse.
* make-dist: Do not distribute src/lisp.mk.
2015-05-16 17:52:27 -07:00
Glenn Morris
e3c90430c1 Small src/Makefile simplification.
* src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
* src/Makefile.in (lisp): Derive from shortlisp.
($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
2015-05-16 13:15:20 -07:00
Glenn Morris
c7e93c4107 Tweak japanese.el's loading of dependencies.
* lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
* lisp/language/japanese.el: Use require rather than load.
* lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
Provide a feature.
* admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
Provide a feature in the generated file.
2015-05-15 18:33:09 -04:00
Stefan Monnier
37ab2245f2 * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
* src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
Avoid defalias for closures which are not immutable.
(cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
dispatchers table with various entries.

* lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
* lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
2015-05-13 18:39:49 -04:00
Glenn Morris
affca0fc84 * lisp/loadup.el (custom-current-group-alist): Reset before dumping. 2015-04-20 18:16:25 -04:00
Glenn Morris
83e923bf37 ; * lisp/loadup.el: Comment. 2015-04-20 17:44:59 -04:00
Ludovic Courtès
2fc11b3fa3 * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
Fixes: debbugs:20330
2015-04-20 17:44:23 -04:00
Stefan Monnier
58376670d8 Fix recent cus-start changes that added customize-rogues
* lisp/cus-start.el (custom-delayed-init-variables): Initialize the
vars early.
* lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
2015-04-15 13:02:15 -04:00
Stefan Monnier
40d67a3b0b * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
Fixes: debbugs:20321

* lisp/cus-start.el (read-buffer-function): Don't advertize
iswitchb-read-buffer any more.
(iswitchb): Don't tweak this obsolete group any more.
2015-04-13 18:21:00 -04:00
Stefan Monnier
2668ac1aae Tighten up the tagcode used for eieio and cl-struct objects
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Set the function
slot of the tag symbol to :quick-object-witness-check.
(eieio-object-p): Use :quick-object-witness-check.
(eieio--generic-tagcode): Use cl--generic-struct-tag.
* lisp/emacs-lisp/cl-preloaded.el: New file.
* lisp/emacs-lisp/cl-macs.el (cl--bind-inits): Remove, unused.
(cl--transform-lambda, cl-destructuring-bind): Remove cl--bind-inits.
(cl--make-usage-args): Strip away &aux args.
(cl-case, cl-typecase, cl--parse-loop-clause): Use macroexp-let2.
(cl-the, cl-check-type): Use macroexp-let2 and cl-typep.
(cl-defstruct): Use `declare' and cl-struct-define.
* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): New function.
(cl--generic-struct-tagcode): Use it to tighten the tagcode.
* lisp/loadup.el: Load cl-preloaded.
* src/lisp.mk (lisp): Add cl-preloaded.
2015-01-27 22:41:31 -05:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Stefan Monnier
dcdf2bd8d6 * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default.
Remove incorrect handling of eldoc-print-after-edit.
(eldoc-message-commands, eldoc-last-data): Use defvar.
* lisp/loadup.el (emacs-lisp/eldoc): Load it.
* src/lisp.mk (lisp): Add emacs-lisp/eldoc.elc.
2014-10-15 13:32:41 -04:00
Stefan Monnier
3ef041ae3b * lisp/term/w32-win.el: Move all code from 32-common-fns.el here.
(gui-select-text, gui-selection-value): Use w32 handlers in the w32
console as well.
* lisp/w32-common-fns.el: Remove.
* lisp/loadup.el: Don't load w32-common-fns.el.
* w32-fns.elc: Don't require w32-common-fns.
* src/lisp.mk (lisp): Remove w32-common-fns.elc.

Fixes: debbugs:18629
2014-10-06 13:47:56 -04:00
Stefan Monnier
71785ae78c * lisp/icomplete.el: Move Iswitchb autoload here. Much simpler.
* lisp/Makefile.in (obsolete-autoloads): Remove.
(AUTOGENEL): Remove obsolete/loaddefs.el.
* lisp/loadup.el: Don't load obsolete/loaddefs.el.
* lisp/obsolete/iswitchb.el (iswitchb-mode): Use normal autoload cookie.
Remove redundant obsolescence thingy.
2014-10-06 10:12:56 -04:00
Glenn Morris
87666a0567 * lisp/Makefile.in (obsolete-autoloads): Write to a separate file,
to workaround autoloads bug. 
(AUTOGENEL): Add obsolete/loaddefs.el.

* lisp/loadup.el: Load obsolete/loaddefs.el if present.

* lisp/subr.el (do-after-load-evaluation):
Don't warn about obsolete/loaddefs.el.

Fixes: debbugs:17407
2014-10-06 00:00:33 -07:00
Stefan Monnier
a8b36b953e Consolidate x-select-text.
* lisp/frame.el (gui-method, gui-method-define, gui-method-declare)
(gui-call): New macros.
(gui-method--name): New function.
(frame-creation-function-alist): Use gui-method-declare.
(make-frame): Use gui-method.
* lisp/select.el (gui-select-enable-clipboard): Rename from
x-select-enable-clipboard and move here.
(x-select-enable-clipboard): Define as obsolete alias.
(gui-last-selected-text): New var, to replace x-last-selected-text.
(gui-select-text): New GUI method.
(gui-select-text): New function.
(x-select-text): Define as obsolete alias.
* lisp/term/common-win.el (x-select-enable-clipboard, x-select-text):
Move to select.el.
* lisp/simple.el (interprogram-cut-function): Change default to
x-select-text.
(interprogram-paste-function): Change default to `ignore'.
* lisp/w32-common-fns.el (interprogram-cut-function): Don't modify.
* lisp/term/x-win.el (interprogram-cut-function): Don't modify.
(gui-select-text): Add method for x.
* lisp/term/w32-win.el (gui-select-text): Add method for w32.
* lisp/term/pc-win.el (x-last-selected-text): Remove, use
gui-last-selected-text instead.
(msdos-initialize-window-system): Don't set interprogram-cut-function.
(gui-select-text): Add method for pc.
* lisp/term/ns-win.el (ns-last-selected-text): Remove, use
gui-last-selected-text instead.
(gui-select-text): Add method for ns.
(x-setup-function-keys): Don't change interprogram-cut-function.
* lisp/loadup.el ("startup"): Load after "frame".
* lisp/subr.el (package--builtin-versions, package--description-file):
Move from startup.el.
* lisp/startup.el (package--builtin-versions, package--description-file):
Move to subr.el.
(handle-args-function-alist, window-system-initialization-alist):
Use gui-method-declare.
(command-line): Use gui-method.
* src/xselect.c (selection-converter-alist): Fix docstring.
2014-10-01 18:13:11 -04:00
Stefan Monnier
e6cfa098ae Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el.
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode.
(eldoc-schedule-timer): Obey it.
(eldoc-documentation-function): Default to nil.
(eldoc-mode): Don't enable if eldoc-documentation-function is not set.
(eldoc-documentation-function-default, eldoc-get-fnsym-args-string)
(eldoc-highlight-function-argument, eldoc-get-var-docstring)
(eldoc-last-data-store, eldoc-docstring-first-line)
(eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp)
(eldoc-beginning-of-sexp, eldoc-current-symbol)
(eldoc-function-argstring): Move to elisp-mode.el.
(eldoc-symbol-function): Remove, unused.
* lisp/progmodes/elisp-mode.el: New file.  Rename all "eldoc-*" to "elisp--*".
(elisp-completion-at-point): Rename from lisp-completion-at-point.
(elisp--preceding-sexp): Rename from preceding-sexp.
* lisp/loadup.el: Load new file progmodes/elisp-mode.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function.
* lisp/emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables)
(lisp--local-variables-completion-table, lisp--expect-function-p)
(lisp--form-quoted-p, lisp--company-doc-buffer)
(lisp--company-doc-string, lisp--company-location)
(lisp-completion-at-point): Move to elisp-mode.el.
* lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table,
extracted from emacs-lisp-mode-syntax-table.
(emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to
elisp-mode.el.
(lisp-imenu-generic-expression): Add comments to document what comes
from which Lisp dialect.
(emacs-lisp-mode-map, emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook)
(emacs-lisp-mode, emacs-list-byte-code-comment-re)
(emacs-lisp-byte-code-comment)
(emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode)
(lisp-interaction-mode-map, lisp-interaction-mode)
(eval-print-last-sexp, last-sexp-setup-props)
(last-sexp-toggle-display, prin1-char, preceding-sexp)
(eval-last-sexp-1, eval-last-sexp-print-value)
(eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp)
(eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el.
* src/lisp.mk (lisp): Add elisp-mode.elc.
2014-09-26 23:57:41 -04:00
Stefan Monnier
f8b25a5169 * lisp/loadup.el: Increase max-lisp-eval-depth while macroexpanding macroexp. 2014-09-22 14:17:27 -04:00
Glenn Morris
a383d0913e * loadup.el (load-prefer-newer): Set non-nil when dumping.
--eval doesn't work (or not early enough) during dumping.
Making load-prefer-newer non-nil by default would be simpler...

Fixes: debbugs:17629
2014-05-31 19:36:40 -07:00
Glenn Morris
6423ce2657 * lisp/loadup.el: Treat `command-line-args' more flexibly.
This makes it easier to add --eval ... etc to the command-line without
messing things up due to changed argument numbers.
2014-05-30 19:50:09 -04:00
Glenn Morris
3c8d910743 Trivial simplifications due to track-mouse always being defined
* lisp/loadup.el:
* lisp/play/gametree.el: `track-mouse' is always defined since 2012-11-24.
2014-05-18 15:57:37 -07:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Eric S. Raymond
9475054f3c In preparation for the move to git, sanitize out some Bazaar-specific names.
* version.el (emacs-bzr-version): Name changed to
emacs-repository-version.
* loadup.el: Follow through on this name change.
* lisp/mail/emacsbug.el (report-emacs-bug): Factor out any
assumption about the version control system in use.
2014-01-08 17:57:47 -05:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Paul Eggert
8fb8c4f373 Fix problems with CANNOT_DUMP and EMACSLOADPATH.
* 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.
2013-12-16 14:35:57 -08:00
Glenn Morris
06a4f1102f Unconditionally reset load-path after dumping
* src/lread.c: (dump_path): Remove.
(load-path-default): Remove `changed' argument.
Do not set dump_path permanently.  Simplify.
(init_lread): Simplify.
(syms_of_lread): Remove dump_path.

* lisp/loadup.el (load-path): Warn if site-load or site-init changes it.
No more need to reset it when bootstrapping.

* doc/lispref/internals.texi (Building Emacs):
* doc/lispref/loading.texi (Library Search): Mention that site-load,
site-init cannot change load-path.

* INSTALL: No longer mention load-path and site-init/site-load.

* etc/NEWS: Mention this.

Fixes: debbugs:16107
2013-12-13 13:25:30 -05:00
Stefan Monnier
4e36a6a6e2 * lisp/loadup.el: Preload "uniquify".
* lisp/uniquify.el (uniquify-buffer-name-style): Change default.
* src/lisp.mk (lisp): Add uniquify.elc.
2013-11-29 13:36:31 -05:00
Stefan Monnier
da04812763 * lisp/electric.el (electric-indent-mode): Enable by default.
* lisp/loadup.el: Preload "electric".
* src/lisp.mk (lisp): Add electric.elc.
2013-11-29 12:59:38 -05:00
Glenn Morris
20372d0c89 Make bootstrap without generated uni-*.el files possible again
* lisp/loadup.el: Update command-line-args checking for unidata-gen.
Add vc to load-path to allow loading vc-bzr when writing uni-*.el.

* lisp/composite.el, lisp/international/characters.el:
Handle unicode tables being undefined.

* lisp/composite.el: Add (rough) FSF copyright years.
2013-11-27 00:21:19 -08:00
Glenn Morris
cb6c95a394 Move runtime leim lisp files to lisp/leim directory
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.
2013-11-26 22:15:06 -08:00
Glenn Morris
624780f09d Preload leim-list.el
* Makefile.in (abs_builddir): New, set by configure.
(buildlisppath): Add leim/.
(epaths-force-w32): Set BLD.

* lisp/loadup.el: Load leim-list.el when found.

* lisp/startup.el (normal-top-level): Skip re-loading leim/leim-list.el.

* nt/epaths.nt (PATH_DUMPLOADSEARCH): Add leim/.

* src/callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
is a single directory.

* src/epaths.in (PATH_DUMPLOADSEARCH): Add leim/.

Fixes: debbugs:4789
2013-11-25 20:06:23 -05:00
Eli Zaretskii
d0065ff124 Fix bug #15260 with building and installing Emacs in non-ASCII directories.
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.
2013-11-04 19:30:33 +02:00
Eli Zaretskii
f3370a94fd Preload tooltip.el unconditionally. 2013-10-08 18:11:29 +03:00
Stefan Monnier
dc6c0edad7 Revert introduction of isearch-filter-predicates.
Rely on add-function instead.
* lisp/loadup.el: Preload nadvice.
* lisp/isearch.el (isearch-filter-predicates): Rename it back to
isearch-filter-predicate.
(isearch-message-prefix): Use advice-function-mapc and advice
properties to get the isearch-message-prefix.
(isearch-search, isearch-lazy-highlight-search): Revert to funcall
instead of run-hook-with-args-until-failure.
(isearch-filter-visible): Not obsolete any more.
* lisp/replace.el (perform-replace): Revert to funcall
instead of run-hook-with-args-until-failure.
* lisp/wdired.el (wdired-change-to-wdired-mode): Use add-function.
* lisp/dired-aux.el (dired-isearch-filenames-mode): Rename from
dired-isearch-filenames-toggle; make it into a proper minor mode.
Use add/remove-function.
(dired-isearch-filenames-setup, dired-isearch-filenames-end):
Call the minor-mode rather than add/remove-hook.
(dired-isearch-filter-filenames):
Remove isearch-message-prefix property.
* lisp/info.el (Info--search-loop): New function, extracted from Info-search.
Funcall isearch-filter-predicate instead of
run-hook-with-args-until-failure isearch-filter-predicates.
(Info-search): Use it.
(Info-mode): Use isearch-filter-predicate instead of
isearch-filter-predicates.
* src/lisp.mk (lisp): Add nadvice.elc.
* lib-src/makefile.w32-in (lisp2): Add nadvice.elc.

Fixes: debbugs:14714
2013-08-05 14:05:46 -04:00