summaryrefslogtreecommitdiff
path: root/lisp/loadup.el
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year to 2015Paul Eggert2015-01-011-2/+2
| | | | Run admin/update-copyright.
* * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default.Stefan Monnier2014-10-151-0/+1
| | | | | | | 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.
* * lisp/term/w32-win.el: Move all code from 32-common-fns.el here.Stefan Monnier2014-10-061-1/+0
| | | | | | | | | | | (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
* * lisp/icomplete.el: Move Iswitchb autoload here. Much simpler.Stefan Monnier2014-10-061-2/+0
| | | | | | | | * 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.
* * lisp/Makefile.in (obsolete-autoloads): Write to a separate file,Glenn Morris2014-10-061-0/+2
| | | | | | | | | | | | 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
* Consolidate x-select-text.Stefan Monnier2014-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el.Stefan Monnier2014-09-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * lisp/loadup.el: Increase max-lisp-eval-depth while macroexpanding macroexp.Stefan Monnier2014-09-221-1/+2
|
* * loadup.el (load-prefer-newer): Set non-nil when dumping. Glenn Morris2014-05-311-3/+12
| | | | | | | --eval doesn't work (or not early enough) during dumping. Making load-prefer-newer non-nil by default would be simpler... Fixes: debbugs:17629
* * lisp/loadup.el: Treat `command-line-args' more flexibly.Glenn Morris2014-05-301-19/+12
| | | | | This makes it easier to add --eval ... etc to the command-line without messing things up due to changed argument numbers.
* Trivial simplifications due to track-mouse always being definedGlenn Morris2014-05-181-6/+4
| | | | | * lisp/loadup.el: * lisp/play/gametree.el: `track-mouse' is always defined since 2012-11-24.
* Replace "Maintainer: FSF" with the emacs-devel mailing addressGlenn Morris2014-02-091-1/+1
|
* In preparation for the move to git, sanitize out some Bazaar-specific names.Eric S. Raymond2014-01-081-1/+1
| | | | | | | | * 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.
* Update copyright year to 2014 by running admin/update-copyright.Paul Eggert2014-01-011-2/+2
|
* Fix problems with CANNOT_DUMP and EMACSLOADPATH.Paul Eggert2013-12-161-3/+4
| | | | | | | | * 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.
* Unconditionally reset load-path after dumpingGlenn Morris2013-12-131-12/+16
| | | | | | | | | | | | | | | | | | | | | * 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
* * lisp/loadup.el: Preload "uniquify".Stefan Monnier2013-11-291-0/+1
| | | | | * lisp/uniquify.el (uniquify-buffer-name-style): Change default. * src/lisp.mk (lisp): Add uniquify.elc.
* * lisp/electric.el (electric-indent-mode): Enable by default.Stefan Monnier2013-11-291-0/+1
| | | | | * lisp/loadup.el: Preload "electric". * src/lisp.mk (lisp): Add electric.elc.
* Make bootstrap without generated uni-*.el files possible againGlenn Morris2013-11-271-3/+5
| | | | | | | | | | * 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.
* Move runtime leim lisp files to lisp/leim directoryGlenn Morris2013-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Preload leim-list.elGlenn Morris2013-11-251-8/+14
| | | | | | | | | | | | | | | | | | | * 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
* Fix bug #15260 with building and installing Emacs in non-ASCII directories.Eli Zaretskii2013-11-041-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Preload tooltip.el unconditionally.Eli Zaretskii2013-10-081-1/+1
|
* Revert introduction of isearch-filter-predicates.Stefan Monnier2013-08-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * lisp/simple.el: Move all the prog-mode code to prog-mode.el.Stefan Monnier2013-06-051-0/+1
| | | | | | * lisp/progmodes/prog-mode.el: New file. * lisp/loadup.el: * src/lisp.mk (lisp): Add prog-mode.el.
* Merge from trunk.Eli Zaretskii2013-05-161-26/+4
|\
| * Use just DOC instead of DOC-nn.mm.Stefan Monnier2013-05-151-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/loadup.el: Just use unversioned DOC. * Makefile.in (install-doc): DOC file is not version specific any more. * .bzrignore: Don't ignore DOC-* any more. * admin/quick-install-emacs: Don't prune DOC-* files a any more. * doc/lispref/loading.texi (Autoload): * doc/lispref/help.texi (Documentation Basics, Accessing Documentation) (Accessing Documentation, Accessing Documentation): DOC-* is now DOC. * etc/.gitignore: Don't ignore DOC-* any more. * lib-src/makefile.w32-in ($(DOC)): Use DOC rather than DOC-X. * msdos/sed1x.inp: Don't rewrite DOC any more. * nt/makefile.w32-in (clean, top-distclean): DOC-X doesn't exist any more. * src/Makefile.in (bootstrap-clean): DOC-* doesn't exist any more. * src/makefile.w32-in (DOC): Use just "DOC".
* | Fixed loadup.el bug in finding the last build number on Unix.Eli Zaretskii2013-04-161-1/+1
| |
* | Fixed hard link to emacs.exe in non-MSYS build.Eli Zaretskii2013-04-161-1/+6
| |
* | Support emacs-XX.YY.ZZ.n and DOC-XX.YY.ZZ.n on Windows.Eli Zaretskii2013-04-161-6/+11
| |
* | Fix snafu with missing etc/DOC-X.Eli Zaretskii2013-04-061-2/+12
|/
* Update copyright notices for 2013.Paul Eggert2013-01-011-2/+2
|
* Load term/internal from loadup.el.Eli Zaretskii2012-11-031-0/+1
|
* Fix bug #12395 with doc strings silently omitted from DOC on MS-Windows.Eli Zaretskii2012-10-201-1/+2
| | | | | | | | | lib-src/make-docfile.c (scan_lisp_file): Barf if called with a .el file other than one of a small list of supported un-compiled files. lib-src/makefile.w32-in (lisp1, lisp2): Name .elc files wherever they exist. lisp/loadup.el: Update comment about uncompiled Lisp files.
* Merge from trunkDaniel Colascione2012-09-171-15/+13
|\
| * Macro-expand interpreted code during load.Stefan Monnier2012-09-041-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/lread.c (readevalloop): Call internal-macroexpand-for-load to perform eager (load-time) macro-expansion. * src/lisp.mk (lisp): Add macroexp. * lisp/loadup.el: Load macroexp. Remove hack. * lisp/emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function. (macroexp--expand-all): Use it to get better warnings. (macroexp--backtrace, macroexp--trim-backtrace-frame) (internal-macroexpand-for-load): New functions. (macroexp--pending-eager-loads): New var. (emacs-startup-hook): New hack to replace one in loadup.el. * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-list*) (cl--compiler-macro-cXXr): Move to top, before they can be used. (cl-psetf): Simplify. (cl-defstruct): Add indent rule.
* | Implement cygw32Daniel Colascione2012-09-171-5/+8
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | Here, we use the generic window-system configuration system we just implemented to support the w32 window-system in the mainline build under Cygwin. (Previously, the w32 window system could only be compiled as part of the NT-native Emacs build process.) The changes in this patch need to be applied atomically in order to avoid breaking Emacs. The changes include: - Changes throughout the Lisp and C code to not assume that NT Emacs and the w32 window system are synonymous. - Wiring up the regular select(2) event loop to Windows messages - Cleaning up the w32 drag-and-drop receiving code. - Exposing Cygwin path conversion functions to elisp. - Unicode file dialog support when compiling for Cygwin. - Splitting the w32 term lisp initialization code into code applicable to any w32 window-system and code specific to system-type windows-nt. - Integrating the old and new w32 code into the build system.
* Merge language/persian.el into language/misc-lang.elGlenn Morris2012-08-081-1/+0
| | | | | | | | | | * lisp/language/persian.el: Remove file. * lisp/language/misc-lang.el: Move non-unique part of persian.el here. * lisp/loadup.el: Remove language/persian. * src/lisp.mk (lisp): Remove language/persian.elc. * etc/NEWS: Improve entry.
* * lisp/language/persian.el: New file.Mohsen BANAN2012-08-061-0/+1
| | | | | | * lisp/loadup.el: Add language/persian.el. Fixes: debbugs:11812
* lisp/loadup.el (top): Remove bogus `if' choice (brought by ↵Juanma Barranquero2012-07-131-3/+1
| | | | 2008-06-21T01:38:39Z!monnier@iro.umontreal.ca).
* Move a comment from lisp/Makefile.in to lisp/loadup.el.Glenn Morris2012-07-061-0/+11
| | | | | The comment in Makefile.in has been orphaned ever since the bootstrap-prepare rule was removed in 2008.
* Spelling fixes.Paul Eggert2012-07-021-3/+3
|
* Make --no-site-lisp work for --enable-locallisppath elementsGlenn Morris2012-06-301-0/+4
| | | | | | | | | | | | | | | | | without "site-lisp" in the name. Ref http://debbugs.gnu.org/10208#25, point iii). * configure.in (standardlisppath): New output variable. (lisppath): Use standardlisppath. * Makefile.in (standardlisppath): New, set by configure. (epaths-force): Use standardlisppath and locallisppath rather than lisppath. * src/epaths.in (PATH_SITELOADSEARCH): New. * src/lread.c (init_lread): Use PATH_SITELOADSEARCH. * nt/paths.h (PATH_SITELOADSEARCH): New. Fixes: debbugs:11658
* Get rid of all the manual purecopy calls in menu-bar definitions.Stefan Monnier2012-06-271-1/+1
| | | | | | | | | | | | * lisp/loadup.el (purify-flag): Pre-grow the hash-table to reduce the memory use. * lisp/bindings.el (bindings--define-key): New function. * lisp/vc/vc-hooks.el, lisp/replace.el, lisp/menu-bar.el: * lisp/international/mule-cmds.el, lisp/emacs-lisp/lisp-mode.el: * lisp/buff-menu.el, lisp/bookmark.el: * bindings.el: Use it to purecopy define-key bindings. * src/fns.c (maybe_resize_hash_table): Output message when growing the purify-hashtable.
* Remove paths.elGlenn Morris2012-06-271-1/+0
| | | | | | | | | | | | * lisp/info.el (Info-default-directory-list): Move here from paths.el. * lisp/paths.el: Remove file, which is now empty. * lisp/loadup.el: No longer load "paths". * src/lisp.mk (lisp): Remove paths.elc. * lib-src/makefile.w32-in (lisp2): Remove paths.el. * INSTALL: Remove references to paths.el.
* Provide generalized variables in core Elisp.Stefan Monnier2012-06-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/gv.el: New file. * lisp/subr.el (push, pop): Extend to generalized variables. * lisp/loadup.el (macroexp): Unload if preloaded and uncompiled. * lisp/emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove. * lisp/emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter, gv-define-simple-setter, and gv-define-expander. Remove setf-methods defined in gv. Rename cl-setf -> setf. (cl-setf, cl-do-pop, cl-get-setf-method): Remove. (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf) (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el. (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with gv-letplace. (cl-defstruct): Don't define setf-method any more. * lisp/emacs-lisp/cl.el (flet): Don't autoload. (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt) (define-setf-expander, defsetf, define-modify-macro) (cl-struct-setf-expander): Move from cl-lib.el. * lisp/emacs-lisp/syntax.el: * lisp/emacs-lisp/ewoc.el: * lisp/emacs-lisp/smie.el: * lisp/emacs-lisp/cconv.el: * lisp/emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push. (timer--time): Use gv-define-simple-setter. * lisp/emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let² to avoid coding-system problems in subr.el. Adjust all users. (macroexp--maxsize, macroexp-small-p): New functions. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf. * lisp/scroll-bar.el (scroll-bar-mode): * lisp/simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) (normal-erase-is-backspace-mode): Don't use the `eq' place. * lisp/winner.el (winner-configuration, winner-make-point-alist) (winner-set-conf, winner-get-point, winner-set): Don't abuse letf. * lisp/files.el (locate-file-completion-table): Avoid list*. Fixes: debbugs:11657
* * lisp/loadup.el: Count byte-code functions as well.Stefan Monnier2012-06-131-2/+4
|
* * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.Stefan Monnier2012-05-291-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (macro-declaration-function): Move var from C code. (macro-declaration-function): Define function with defalias. * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle defun/defmacro any more. * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature): Provide fallback for unknown arglist. (byte-compile-arglist-warn): Change calling convention. (byte-compile-output-file-form): Move print-vars binding. (byte-compile-output-docform): Simplify accordingly. (byte-compile-file-form-defun, byte-compile-file-form-defmacro) (byte-compile-defmacro-declaration): Remove. (byte-compile-file-form-defmumble): Generalize to defalias. (byte-compile-output-as-comment): Return byte-positions. Simplify callers accordingly. (byte-compile-lambda): Use `assert'. (byte-compile-defun, byte-compile-defmacro): Remove. (byte-compile-file-form-defalias): Use byte-compile-file-form-defmumble. (byte-compile-defalias-warn): Remove. * src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function): Move to byte-run.el. (Fautoload): Do the hash-doc more carefully. * src/data.c (Fdefalias): Purify definition, except for keymaps. (Qdefun): Move from eval.c. * src/lisp.h (Qdefun): Remove. * src/lread.c (read1): Tiny simplification. * lib-src/make-docfile.c: Improve comment style. (search_lisp_doc_at_eol): New function. (scan_lisp_file): Use it.
* * lisp/paths.el: Remove no-byte-compile.Glenn Morris2012-05-251-1/+1
| | | | | | * lisp/loadup.el: No need to load lisp/paths.el uncompiled. * src/lisp.mk (lisp): Update for this change.
* There's no reason not to compile version.elGlenn Morris2012-05-251-2/+1
| | | | | | | | | | AFAICS, this is ancient code dating from when there was an "inc-vers.el", that was used to bump the build number on version.el. Nowadays that happens in loadup.el. * lisp/version.el: Remove no-byte-compile and associated formatting. * lisp/loadup.el: No need to load lisp/version.el uncompiled.