1. 20 Apr, 2015 1 commit
  2. 15 Apr, 2015 1 commit
  3. 13 Apr, 2015 1 commit
  4. 28 Jan, 2015 1 commit
    • Stefan Monnier's avatar
      Tighten up the tagcode used for eieio and cl-struct objects · 2668ac1a
      Stefan Monnier authored
      * 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.
      2668ac1a
  5. 01 Jan, 2015 2 commits
  6. 15 Oct, 2014 1 commit
  7. 06 Oct, 2014 3 commits
  8. 01 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      Consolidate x-select-text. · a8b36b95
      Stefan Monnier authored
      * 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.
      a8b36b95
  9. 27 Sep, 2014 1 commit
    • Stefan Monnier's avatar
      Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el. · e6cfa098
      Stefan Monnier authored
      * 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.
      e6cfa098
  10. 22 Sep, 2014 1 commit
  11. 01 Jun, 2014 1 commit
  12. 30 May, 2014 1 commit
  13. 18 May, 2014 1 commit
  14. 10 Feb, 2014 1 commit
  15. 08 Jan, 2014 1 commit
  16. 01 Jan, 2014 1 commit
  17. 16 Dec, 2013 1 commit
    • Paul Eggert's avatar
      Fix problems with CANNOT_DUMP and EMACSLOADPATH. · 8fb8c4f3
      Paul Eggert authored
      * 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.
      8fb8c4f3
  18. 13 Dec, 2013 1 commit
    • Glenn Morris's avatar
      Unconditionally reset load-path after dumping · 06a4f110
      Glenn Morris authored
      * 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
      06a4f110
  19. 29 Nov, 2013 2 commits
  20. 27 Nov, 2013 2 commits
    • Glenn Morris's avatar
      Make bootstrap without generated uni-*.el files possible again · 20372d0c
      Glenn Morris authored
      * 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.
      20372d0c
    • Glenn Morris's avatar
      Move runtime leim lisp files to lisp/leim directory · cb6c95a3
      Glenn Morris authored
      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.
      cb6c95a3
  21. 26 Nov, 2013 1 commit
    • Glenn Morris's avatar
      Preload leim-list.el · 624780f0
      Glenn Morris authored
      * 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
      624780f0
  22. 04 Nov, 2013 1 commit
    • Eli Zaretskii's avatar
      Fix bug #15260 with building and installing Emacs in non-ASCII directories. · d0065ff1
      Eli Zaretskii authored
       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.
      d0065ff1
  23. 08 Oct, 2013 1 commit
  24. 05 Aug, 2013 1 commit
    • Stefan Monnier's avatar
      Revert introduction of isearch-filter-predicates. · dc6c0eda
      Stefan Monnier authored
      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
      dc6c0eda
  25. 05 Jun, 2013 1 commit
  26. 15 May, 2013 1 commit
    • Stefan Monnier's avatar
      Use just DOC instead of DOC-nn.mm. · 6e911150
      Stefan Monnier authored
      * 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".
      6e911150
  27. 16 Apr, 2013 3 commits
  28. 06 Apr, 2013 1 commit
  29. 01 Jan, 2013 1 commit
  30. 03 Nov, 2012 1 commit
  31. 20 Oct, 2012 1 commit
  32. 17 Sep, 2012 1 commit
    • Daniel Colascione's avatar
      Implement cygw32 · 0fda9b75
      Daniel Colascione authored
      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.
      0fda9b75
  33. 04 Sep, 2012 1 commit
    • Stefan Monnier's avatar
      Macro-expand interpreted code during load. · 972debf2
      Stefan Monnier authored
      * 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.
      972debf2