1. 20 Jan, 2015 11 commits
    • Michal Nazarewicz's avatar
    • Michal Nazarewicz's avatar
      tildify: add `tildify-double-space-undos' · d9af6e01
      Michal Nazarewicz authored
      * lisp/textmodes/tildify.el (tildify-double-space-undos): A new
      variable specifying whether pressing space in `tildify-mode' after
      a space has been replaced with hard space undos the substitution.
      (tildify-space): Add code branch for handling `tildify-doule-space'.
      
      * tests/automated/tildify-tests.el (tildify-space-undo-test--test):
      A new helper function for testing `tildify-double-space-undos'
      behaviour in the `tildify-space' function.
      (tildify-space-undo-test-html, tildify-space-undo-test-html-nbsp)
      (tildify-space-undo-test-xml, tildify-space-undo-test-tex): New
      tests for `tildify-doule-space-undos' behaviour.
      d9af6e01
    • Michal Nazarewicz's avatar
      tildify: add `tildify-space' and `tildify-mode' · 571441fc
      Michal Nazarewicz authored
      * lisp/textmodes/tildify.el (tildify-space): A new function
      which can be used as a `post-self-insert-hook' to automatically
      convert spaces into hard spaces.
      (tildify-space-pattern): A new variable specifying pattern where
      `tildify-space' should take effect.
      (tildify-space-predicates): A new variable specifying list of
      predicate functions that all must return non-nil for
      `tildify-space' to take effect.
      (tildify-space-region-predicate): A new functions meant to be
      used as a predicate in `tildify-space-predicates' list.
      (tildify-mode): A new minor mode enabling `tildify-space' as a
      `post-self-insert-hook'
      
      * tests/automated/tildify-tests.el (tildify-space-test--test):
      A new helper function for testing `tildify-space' function.
      (tildify-space-test-html, tildify-space-test-html-nbsp)
      (tildify-space-test-xml, tildify-space-test-tex): New tests for
      `tildify-space' function.
      571441fc
    • Dmitry Antipov's avatar
      Prefer xlispstrdup to avoid dumb calls to strlen · f9775f21
      Dmitry Antipov authored
      * nsfont.m (ns_get_family):
      * nsterm.m (ns_term_init):
      * w32fns.c (w32_window):
      * xfns.c (x_window, Fx_select_font): Use xlispstrdup.
      f9775f21
    • Paul Eggert's avatar
      * dispnew.c: Remove no-longer-valid comment. · d13fc291
      Paul Eggert authored
      d13fc291
    • Daniel Colascione's avatar
      Make vc-dir default to repository root · f3024754
      Daniel Colascione authored
      * lisp/vc/vc-dir.el (vc-dir): Default to repository root, not
      default-directory.
      f3024754
    • Paul Eggert's avatar
      Correct an old fix for GTK font selection · ef5a526f
      Paul Eggert authored
      * gtkutil.c (xg_get_font): Fix off-by-2 typo.
      Fixes: bug#3228
      ef5a526f
    • Paul Eggert's avatar
      Fix minor bugs with printing null bytes · 97bf9238
      Paul Eggert authored
      * minibuf.c (read_minibuf_noninteractive):
      * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]:
      Work even if the Lisp string contains a null byte.
      97bf9238
    • Dmitry Gutov's avatar
      Expand xref help-echo string · 3ca37be9
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--insert-xrefs): Expand help-echo string.
      3ca37be9
    • Dmitry Gutov's avatar
      Use etags-goto-tag-location in etags xref backend · 05fb53a1
      Dmitry Gutov authored
      * progmodes/etags.el (xref-etags-location): New class.
      (xref-make-etags-location): New function.
      (etags--xref-find-definitions): Use it.
      (xref-location-marker): New method implementation.
      
      * lisp/progmodes/xref.el: Mention that xref-location is an EIEIO class.
      05fb53a1
    • Paul Eggert's avatar
      Port to hypothetical case where Qnil is nonzero · 347e0144
      Paul Eggert authored
      * alloc.c (allocate_pseudovector):
      * callint.c (Fcall_interactively):
      * coding.c (syms_of_coding):
      * dispnew.c (realloc_glyph_pool):
      * fringe.c (init_fringe):
      * lisp.h (memsetnil):
      * xdisp.c (init_iterator):
      Port to the currently-hypothetical case where Qnil is nonzero.
      * dispnew.c (adjust_glyph_matrix): Remove unnecessary verification,
      as there are no Lisp_Object values in the data here.
      * lisp.h (NIL_IS_NONZERO): New symbol, replacing NIL_IS_ZERO.
      All uses changed.  Define only if not already defined, so that one
      can debug with -DNIL_IS_NONZERO.
      * xdisp.c (init_iterator): Remove unnecessary initializations to 0.
      347e0144
  2. 19 Jan, 2015 8 commits
    • Eli Zaretskii's avatar
      Verify that Qnil is zero before relying on that in redisplay. · fb6462f0
      Eli Zaretskii authored
       src/dispnew.c (adjust_glyph_matrix, realloc_glyph_pool): Verify that
       Qnil is represented as zero, before using that to initialize parts
       of the glyph structure.
       src/xdisp.c (init_iterator): Verify that Qnil is represented as
       zero, before using that to initialize parts of the iterator
       structure.
      fb6462f0
    • Dmitry Gutov's avatar
      Fixup ChangeLog · 39585cfd
      Dmitry Gutov authored
      39585cfd
    • Dmitry Gutov's avatar
      5df0b2cb
    • Jonas Bernoulli's avatar
      Set up ido keymaps only once · db2ed6b7
      Jonas Bernoulli authored
      * lisp/ido (ido-common-completion-map)
      (ido-file-dir-completion-map)
      (ido-file-completion-map, ido-buffer-completion-map): Set up key
      bindings when each variable is defined.
      (ido-completion-map): Move definition.
      (ido-init-completion-maps): Noop.
      (ido-common-initialization): Don't call it.
      (ido-setup-completion-map): Improve doc-string, cleanup.
      
      Fixes: debbugs:17000
      db2ed6b7
    • Ivan Shmakov's avatar
      Fix the value default-directory gets in custom-make-dependencies. · 2e8d209f
      Ivan Shmakov authored
      * lisp/cus-dep.el (custom-make-dependencies): Ensure that
      default-directory is interpreted as a directory (see bug#19140.)
      2e8d209f
    • Paul Eggert's avatar
      Prefer memset to repeatedly assigning Qnil · b7f83add
      Paul Eggert authored
      * alloc.c (allocate_pseudovector): Catch more bogus values.
      * alloc.c (allocate_pseudovector):
      * callint.c (Fcall_interactively):
      * coding.c (syms_of_coding):
      * fringe.c (init_fringe):
      Verify that Qnil == 0.
      * callint.c (Fcall_interactively):
      * eval.c (Fapply, Ffuncall):
      * fns.c (mapcar1, larger_vector):
      * font.c (font_expand_wildcards):
      * fringe.c (init_fringe):
      Prefer memset to assigning zeros by hand.
      * callint.c (Fcall_interactively):
      Remove duplicate assignment of Qnil to args[i].
      * coding.c (syms_of_coding):
      Prefer LISP_INITIALLY_ZERO to assigning zeros by hand.
      * fileio.c (Ffile_selinux_context):
      Rewrite to avoid need for Lisp_Object array.
      * lisp.h (XLI_BUILTIN_LISPSYM): New macro.
      (DEFINE_LISP_SYMBOL_END): Use it.
      (NIL_IS_ZERO): New constant.
      (memsetnil): New function.
      b7f83add
    • Dmitry Gutov's avatar
      xref: Use other-window-scroll-buffer and user-error · 9592a014
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--display-position):
      Set `other-window-scroll-buffer'.
      (xref-goto-xref): Use `user-error'.
      9592a014
    • Dmitry Gutov's avatar
      Use quit-window to hide buffers temporarily displayed by xref · 36bfd694
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--display-history): New variable.
      (xref--window-configuration): Remove.
      (xref--save-to-history): New function.
      (xref--display-position): Use it.  Add new argument.
      (xref--restore-window-configuration): Remove.
      (xref--show-location, xref-show-location-at-point): Update
      accordingly.
      (xref--xref-buffer-mode): Don't use `pre-command-hook'.
      (xref--quit): New command.
      (xref-goto-xref): Use it.
      (xref--xref-buffer-mode-map): Bind `q' to it.
      36bfd694
  3. 18 Jan, 2015 7 commits
  4. 17 Jan, 2015 14 commits
    • Ulrich Müller's avatar
      Fix mistake in rebase/merge conflict resolution. · 3065125d
      Ulrich Müller authored
      Remove lines from lisp/vc/vc-bzr.el again that were accidentally
      restored in commit 2015-01-17T09:56:45!ulm@gentoo.org.
      (Previously removed in commit 2014-12-01T13:24:27Z!esr@thyrsus.com.)
      3065125d
    • Ulrich Müller's avatar
      Update docstring of emacs-repository-get-version. · fd5c0bcc
      Ulrich Müller authored
      * version.el (emacs-repository-get-version): Update docstring.
      fd5c0bcc
    • Ivan Shmakov's avatar
      Unloading support for misearch. · 0aaa5d69
      Ivan Shmakov authored
      * lisp/misearch.el (multi-isearch-unload-function): New function.
      (misearch-unload-function): New alias.
      
      Fixes: debbugs:19566
      0aaa5d69
    • Ivan Shmakov's avatar
      Do not clear the session when trying to read a non-existent desktop file. · e391d887
      Ivan Shmakov authored
      * lisp/desktop.el (desktop-read): Do not call desktop-clear when no
      desktop file is found.
      
      Fixes: debbugs:18371
      e391d887
    • Ivan Shmakov's avatar
      Fix: inhibit point motion hooks when encoding an enriched document. · 17285446
      Ivan Shmakov authored
      * lisp/textmodes/enriched.el (enriched-encode): Use
      inhibit-point-motion-hooks in addition to inhibit-read-only.
      
      Fixes: debbugs:18246
      17285446
    • Ivan Shmakov's avatar
      Fix dir-locals handling for non-file buffers. · e000ff30
      Ivan Shmakov authored
      * lisp/files.el (dir-locals-collect-variables): Use default-directory
      in place of the file name while working on non-file buffers, just
      like hack-dir-local-variables already does.
      
      Fixes: debbugs:19140
      e000ff30
    • Ivan Shmakov's avatar
      Avoid mapcar in two cases in files.el. · 3e824b05
      Ivan Shmakov authored
      * lisp/files.el (find-file-other-window, find-file-other-frame):
      Use mapc instead of mapcar.
      
      Fixes: debbugs:18175
      3e824b05
    • Ivan Shmakov's avatar
      Ignore print-length and print-level while formatting url-cookie data. · 22441b69
      Ivan Shmakov authored
      * lisp/url/url-cookie.el (url-cookie-write-file): Let-bind print-length
      and print-level to nil to avoid writing a garbled list.
      
      Fixes: debbugs:16805
      22441b69
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio-core.el (eieio--class-constructor): Rename. · ca80ebc7
      Stefan Monnier authored
      Fixes: debbugs:19620
      
      (eieio--class-constructor): Rename from class-constructor, and make it an alias
      for `identity'.  Update all callers.
      ca80ebc7
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio.el: Improve `constructor' compatibility. · 4610ce96
      Stefan Monnier authored
      Fixes: debbugs:19620
      
      (eieio-constructor): Handle obsolete object name argument here...
      (defclass): ...instead of in the constructor here.
      
      * test/automated/eieio-tests.el
      (eieio-test-37-obsolete-name-in-constructor): New test.
      4610ce96
    • Jorgen Schaefer's avatar
      Type fix for defcustom. · d80fed09
      Jorgen Schaefer authored
      * emacs-lisp/package.el (package-archive-priorities): Specify
      correct type.
      d80fed09
    • Ulrich Müller's avatar
      Discard the Bazaar case in repository version detection · 6a6bb820
      Ulrich Müller authored
      * version.el (emacs-bzr-version-dirstate, emacs-bzr-version-bzr):
      Remove.
      (emacs-repository-get-version): Discard the Bazaar case.
      
      * vc/vc-bzr.el (vc-bzr-version-dirstate): Rename from
      emacs-bzr-version-dirstate and move from version.el to here.
      (vc-bzr-working-revision): Use it.
      6a6bb820
    • Stefan Monnier's avatar
      Don't enforce :protection in EIEIO objects any more · d48c98cd
      Stefan Monnier authored
      * doc/misc/eieio.texi (Slot Options): Document :protection as unsupported.
      
      * lisp/emacs-lisp/eieio-core.el (eieio--scoped-class-stack): Remove var.
      (eieio--scoped-class): Remove function.
      (eieio--with-scoped-class): Remove macro.  Replace uses with `progn'.
      (eieio--slot-name-index): Don't check the :protection anymore.
      (eieio-initializing-object): Remove var.
      (eieio-set-defaults): Don't let-bind eieio-initializing-object.
      
      * lisp/emacs-lisp/eieio-generic.el (call-next-method): Don't bother checking
      eieio--scoped-class any more.
      
      * test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
      Use an explicit arg instead of eieio--scoped-class.  Update all callers.
      
      * test/automated/eieio-tests.el (eieio-test-25-slot-tests)
      (eieio-test-26-default-inheritance, eieio-test-28-slot-protection)
      (eieio-test-30-slot-attribute-override)
      (eieio-test-31-slot-attribute-override-class-allocation): Don't check
      that we enforce :protection since we don't any more.
      d48c98cd
    • Stefan Monnier's avatar
      Improve handling of doc-strings and describe-function for cl-generic · 24b7f775
      Stefan Monnier authored
      * lisp/help-fns.el (find-lisp-object-file-name): Accept any `type' as long
      as it's a symbol.
      (help-fns-short-filename): New function.
      (describe-function-1): Use it.  Use autoload-do-load.
      
      * lisp/help-mode.el (help-function-def): Add optional arg `type'.
      
      * lisp/emacs-lisp/cl-generic.el (cl-generic-ensure-function): It's OK to
      override an autoload.
      (cl-generic-current-method-specializers): Replace dyn-bind variable
      with a lexically-scoped macro.
      (cl--generic-lambda): Update accordingly.
      (cl-generic-define-method): Record manually in the load-history with
      type `cl-defmethod'.
      (cl--generic-get-dispatcher): Minor optimization.
      (cl--generic-search-method): New function.
      (find-function-regexp-alist): Add entry for `cl-defmethod' type.
      (cl--generic-search-method): Add hyperlinks for methods.  Merge the
      specializers and the function's arguments.
      
      * lisp/emacs-lisp/eieio-core.el (eieio--defalias): Move to eieio-generic.el.
      (eieio-defclass-autoload): Don't record the superclasses any more.
      (eieio-defclass-internal): Reuse the old class object if it was just an
      autoload stub.
      (eieio--class-precedence-list): Load the class if it's autoloaded.
      
      * lisp/emacs-lisp/eieio-generic.el (eieio--defalias): Move from eieio-core.
      (eieio--defgeneric-init-form): Don't throw away a previous docstring.
      (eieio--method-optimize-primary): Don't mess with the docstring.
      (defgeneric): Keep the `args' in the docstring.
      (defmethod): Don't use the method's docstring for the generic
      function's docstring.
      
      * lisp/emacs-lisp/find-func.el: Use lexical-binding.
      (find-function-regexp): Don't rule out `defgeneric'.
      (find-function-regexp-alist): Document new possibility of including
      a function instead of a regexp.
      (find-function-search-for-symbol): Implement that new possibility.
      (find-function-library): Don't assume that `function' is a symbol.
      (find-function-do-it): Remove unused var `orig-buf'.
      
      * test/automated/cl-generic-tests.el (cl-generic-test-8-after/before):
      Rename from cl-generic-test-7-after/before.
      (cl--generic-test-advice): New function.
      (cl-generic-test-9-advice): New test.
      
      * test/automated/eieio-test-methodinvoke.el (eieio-test-cl-generic-1): Reset
      eieio-test--1.
      24b7f775