1. 24 Nov, 2015 7 commits
  2. 23 Nov, 2015 25 commits
  3. 22 Nov, 2015 6 commits
    • Eli Zaretskii's avatar
      Allow loading modules by 'load-file' · 40ed767b
      Eli Zaretskii authored
      * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
      2nd arg, to avoid the "binding stack not balanced" error.
      (syms_of_lread) <module-file-suffix>: New Lisp variable.
      * lisp/files.el (module-file-suffix): Declare.
      (load-file): Remove 'module-file-suffix' from
      'completion-ignored-extensions', to allow completion on modules.
      * etc/NEWS: Mention 'module-file-suffix'.
    • Eli Zaretskii's avatar
      Fix unoptimized builds · 9f0d19f2
      Eli Zaretskii authored
      * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
    • Dmitry Gutov's avatar
      Work around the asynchronous-empty-diff problem · 2a4362ba
      Dmitry Gutov authored
      * lisp/vc/vc-rcs.el (vc-rcs-diff):
      * lisp/vc/vc-mtn.el (vc-mtn-diff):
      * lisp/vc/vc-hg.el (vc-hg-diff):
      * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
      do a synchronous process call (bug#21969).
    • Karl Fogel's avatar
      Finish excising electric indent from `open-line' · 8726de66
      Karl Fogel authored
      * lisp/simple.el (open-line): Remove INTERACTIVE argument.
      * test/automated/simple-test.el (open-line-indent, open-line-hook):
        Adjust accordingly.
      This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
      (git commit c5935389) started.  It turns out that having INTERACTIVE
      cause `post-self-insert-hook' to run (via `newline') meant `open-line'
      still had the electric indent behavior, as `post-self-insert-hook'
      normally contains `electric-indent-post-self-insert-function' ever
      since `electric-indent-mode' has been on by default.  Tracing the code
      change in `open-line' is mildly twisty, because Artur Malabarba's
      earliest two commits of 24 Oct 2015 first removed the `interactive'
      form entirely (git commit 6939896e) and then restored it with the new
      extra "p" already added (git commit bd4f04f8), such that there is no
      single-commit diff in which one sees the second "p" appear.  Thus this
      change is effectively a reversion of parts of each of those commits.
      This could close bug#21884, at least until further discussion.
    • Dmitry Gutov's avatar
      Adhere closer to the "implicit tag name" definition · 51fd4a01
      Dmitry Gutov authored
      * lisp/progmodes/etags.el (etags-tags-completion-table):
      Adhere closer to the "implicit tag name" definition.  Simplify
      the regexp.  Search for the explicit tag name first, and when
      not found, search locally for the implicit one.  (Bug#21934)
    • Stefan Monnier's avatar
      Unrevert most of regexp reentrancy abort patch · 702d76db
      Stefan Monnier authored
      The problem was in:
        * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
      which is hence not unreverted.
      The rest is:
      * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
      (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
      All callers in regex.c changed back to the _FAST versions.
      * test/automated/message-mode-tests.el: Tweak the test to rely on auto
      propertization in backward-sexp.
  4. 21 Nov, 2015 2 commits
    • Paul Eggert's avatar
      Revert regexp reentrancy abort patch · 8e84823f
      Paul Eggert authored
      Although the patch does fix Bug#21688 and prevents a core dump,
      it also makes the message-mode-propertize test fail; see:
      Perhaps someone else can come up with a better fix some day.
      * src/syntax.c (update_syntax_table_forward):
      Propertize even when truncated.
      * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
      All callers changed back to the non-_FAST versions.
    • Paul Eggert's avatar
      Add a few safety checks when ENABLE_CHECKING · 8afaa132
      Paul Eggert authored
      This was motivated by the recent addition of module code,
      which added some ENABLE_CHECKING-enabled checks that are
      useful elsewhere too.
      * src/alloc.c (compact_font_cache_entry):
      * src/fns.c (sweep_weak_table):
      * src/lread.c (oblookup):
      Use gc_asize rather than doing it by hand.
      * src/emacs-module.c (module_make_global_ref)
      (module_free_global_ref, module_vec_size):
      Omit assertions that lisp.h now checks.
      * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
      check that the result is nonnegative.  Use eassume, as this
      info can help a bit when optimizing production code.
      (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
      to be consistent with the USE_LSB_TAG case.
      (gc_asize): New function, when ASIZE is needed in the gc.
      (gc_aset): Use it.
      (HASH_TABLE_P): Move definition up, so that it can be used ...
      (XHASH_TABLE): ... here, to assert that the arg is a hash table.