1. 12 Jan, 2015 1 commit
    • Paul Eggert's avatar
      Say "ELC foo.elc" instead of "GEN foo.elc" · c2774f37
      Paul Eggert authored
      * admin/unidata/Makefile.in, lisp/Makefile.in (AM_V_ELC)
      (am__v_ELC_, am__v_ELC_0, am__v_ELC_1): New macros.
      * admin/unidata/Makefile.in (%.elc):
      * lisp/Makefile.in ($(THEFILE)c, .el.elc): Use them.
      c2774f37
  2. 11 Jan, 2015 2 commits
  3. 10 Jan, 2015 7 commits
  4. 09 Jan, 2015 1 commit
    • Daniel Colascione's avatar
      Teach js-mode about ES6 generators · 9c64c52b
      Daniel Colascione authored
      * lisp/progmodes/js.el (js--function-heading-1-re)
      (js--function-prologue-beginning): Parse ES6 generator function
      declarations.  (That is, "function* name()").
      9c64c52b
  5. 08 Jan, 2015 6 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio*.el: Move the function defs to defclass. · 6a67b20d
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio.el (defclass): Move from eieio-defclass all the code
      that creates functions, and most of the sanity checks.
      Mark as obsolete the <class>-child-p function.
      * lisp/emacs-lisp/eieio-core.el (eieio--define-field-accessors): Remove.
      (eieio--class, eieio--object): Use cl-defstruct.
      (eieio--object-num-slots): Define manually.
      (eieio-defclass-autoload): Use eieio--class-make.
      (eieio-defclass-internal): Rename from eieio-defclass.  Move all the
      `(lambda...) definitions and most of the sanity checks to `defclass'.
      Mark as obsolete the <class>-list-p function, the <class> variable and
      the <initarg> variables.  Use pcase-dolist.
      (eieio-defclass): New compatibility function.
      * lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
      (eieio-class-speedbar): Don't use eieio-default-superclass var.
      6a67b20d
    • Eli Zaretskii's avatar
      Fix line-move-visual's following of column in R2L lines. · 5fbd17e3
      Eli Zaretskii authored
       src/simple.el (line-move-visual): When converting X pixel coordinate
       to temporary-goal-column, adjust the value for right-to-left
       screen lines.  This fixes vertical-motion, next/prev-line, etc.
      
       src/dispnew.c (buffer_posn_from_coords): Fix the value of the column
       returned for right-to-left screen lines.  (Before the change on
       2014-12-30, the incorrectly-computed X pixel coordinate concealed
       this bug.)
      5fbd17e3
    • Stefan Monnier's avatar
      * emacs-lisp/eieio-generic.el: New file. · 54181569
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-core.el: Move all generic function code to
      eieio-generic.el.
      (eieio--defmethod): Declare.
      * lisp/emacs-lisp/eieio.el: Require eieio-generic.  Move all generic
      function code to eieio-generic.el.
      * lisp/emacs-lisp/eieio-opt.el (eieio-help-generic): Move to
      eieio-generic.el.
      * lisp/emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): Update call
      to eieio--generic-call.
      * lisp/emacs-lisp/eieio-base.el (eieio-instance-inheritor): Don't use
      <class>-child type.
      * test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
      Update reference to eieio--generic-call-key.
      * test/automated/eieio-tests.el (eieio-test-23-inheritance-check): Don't use
      <foo>-child-p.
      54181569
    • Glenn Morris's avatar
      # ChangeLog fixes · 9f654763
      Glenn Morris authored
      9f654763
    • Glenn Morris's avatar
      * lisp/files.el (file-tree-walk): Remove; of unknown authorship. · ffa86039
      Glenn Morris authored
      * etc/NEWS: Remove entry.
      
      Fixes: debbugs:19325
      ffa86039
    • Stefan Monnier's avatar
      lisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var. · 1599688e
      Stefan Monnier authored
      * lisp/cedet/ede/speedbar.el (ede-speedbar-compile-line)
      (ede-speedbar-get-top-project-for-line):
      * lisp/cedet/ede.el (ede-buffer-belongs-to-target-p)
      (ede-buffer-belongs-to-project-p, ede-build-forms-menu)
      (ede-add-project-to-global-list):
      * lisp/cedet/semantic/db-typecache.el (semanticdb-get-typecache):
      * lisp/cedet/semantic/db-file.el (semanticdb-load-database):
      * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
      * lisp/cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-load-helper):
      * lisp/cedet/ede/project-am.el (project-am-preferred-target-type):
      * lisp/cedet/ede/proj.el (ede-proj-load):
      * lisp/cedet/ede/custom.el (ede-customize-current-target, ede-customize-target):
      * lisp/cedet/semantic/ede-grammar.el ("semantic grammar"):
      * lisp/cedet/semantic/scope.el (semantic-scope-reset-cache)
      (semantic-calculate-scope):
      * lisp/cedet/srecode/map.el (srecode-map-update-map):
      * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report)
      (srecode-insert-method, srecode-insert-include-lookup)
      (srecode-insert-method):
      * lisp/cedet/srecode/fields.el (srecode-active-template-region):
      * lisp/cedet/srecode/compile.el (srecode-flush-active-templates)
      (srecode-compile-inserter): Don't use <class> as a variable.
      Use `oref-default' for class slots.
      
      * lisp/cedet/semantic/grammar.el (semantic-grammar-eldoc-last-data): New var.
      (semantic-grammar-eldoc-get-macro-docstring): Use it instead of
      eldoc-last-data.
      * lisp/cedet/semantic/fw.el (semantic-exit-on-input): Use `declare'.
      (semantic-throw-on-input): Use `with-current-buffer'.
      * lisp/cedet/semantic/db.el (semanticdb-abstract-table-list): Define if not
      pre-defined.
      * lisp/cedet/semantic/db-find.el (semanticdb-find-tags-collector):
      Use save-current-buffer.
      (semanticdb-find-tags-collector): Don't use <class> as a variable.
      * lisp/cedet/semantic/complete.el (semantic-complete-active-default)
      (semantic-complete-current-matched-tag): Declare.
      (semantic-complete-inline-custom-type): Don't use <class> as a variable.
      * lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
      Use with-current-buffer.
      * lisp/cedet/semantic.el (semantic-parser-warnings): Declare.
      * lisp/cedet/ede/base.el (ede-target-list): Define if not pre-defined.
      (ede-with-projectfile): Prefer find-file-noselect over
      save-window-excursion.
      
      * lisp/emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie):
      Don't use <class> as a variable.
      
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
      Improve error messages.
      (eieio-persistent-slot-type-is-class-p): Handle `list-of' types, as
      well as user-defined types.  Emit errors for legacy types like
      <class>-child and <class>-list, if not eieio-backward-compatibility.
      
      * lisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var.
      (eieio-defclass-autoload): Obey it.
      (eieio--class-object): Improve error behavior.
      (eieio-class-children-fast, same-class-fast-p): Remove.  Inline at
      every use site.
      (eieio--defgeneric-form-primary-only): Rename from
      eieio-defgeneric-form-primary-only; update all callers.
      (eieio--defgeneric-form-primary-only-one): Rename from
      eieio-defgeneric-form-primary-only-one; update all callers.
      (eieio-defgeneric-reset-generic-form)
      (eieio-defgeneric-reset-generic-form-primary-only)
      (eieio-defgeneric-reset-generic-form-primary-only-one): Remove.
      (eieio--method-optimize-primary): New function to replace them.
      (eieio--defmethod, eieio-defmethod): Use it.
      (eieio--perform-slot-validation): Rename from
      eieio-perform-slot-validation; update all callers.
      (eieio--validate-slot-value): Rename from eieio-validate-slot-value.
      Change `class' to be a class object.  Update all callers.
      (eieio--validate-class-slot-value): Rename from
      eieio-validate-class-slot-value.  Change `class' to be a class object.
      Update all callers.
      (eieio-oset-default): Accept class object as well.
      (eieio--generic-call-primary-only): Rename from
      eieio-generic-call-primary-only.  Update all callers.
      
      * lisp/emacs-lisp/eieio-opt.el (eieio-read-generic-p): Remove.
      (eieio-read-generic): Use `generic-p' instead.
      
      * lisp/emacs-lisp/eieio.el (same-class-p): Accept class object as well.
      (call-next-method): Simplify.
      (clone): Obey eieio-backward-compatibility.
      
      * lisp/gnus/registry.el: Don't use <class> as a variable.
      
      * test/automated/eieio-test-methodinvoke.el
      (eieio-test-method-order-list-4):
      Don't use <class> as a variable.
      
      * test/automated/eieio-test-persist.el (persistent-with-objs-list-slot):
      Don't use <class>-list type.
      
      * test/automated/eieio-tests.el: Use cl-lib.  Don't use <class> as a variable.
      Don't use <class>-list types and <class>-list-p predicates.
      1599688e
  6. 07 Jan, 2015 1 commit
  7. 06 Jan, 2015 1 commit
  8. 05 Jan, 2015 3 commits
    • Dmitry Gutov's avatar
      Add help-echo to xrefs · f5afaf9c
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--insert-xrefs): Add `help-echo' property
      to the references.
      f5afaf9c
    • Stefan Monnier's avatar
      * lisp/minibuffer.el (completion-category-defaults): Default to nil. · d2cf05d1
      Stefan Monnier authored
      (completion-category-defaults): New var.
      Set unicode-name to use substring completion.
      d2cf05d1
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. · cb4db863
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-core.el (eieio-class-object): New function.
      (eieio-class-parents-fast): Remove macro.
      (eieio--class-option-assoc): Rename from class-option-assoc.
      Update all callers.
      (eieio--class-option): Rename from class-option.  Change `class' arg to
      be a class object.  Update all callers.
      (eieio--class-method-invocation-order): Rename from
      class-method-invocation-order.  Change `class' arg to be a class
      object.  Update all callers.
      (eieio-defclass-autoload, eieio-defclass): Set the `parent' field to
      a list of class objects rather than names.
      (eieio-defclass): Remove redundant quotes.  Use `eieio-oref-default'
      for accessors to class allocated slots.
      (eieio--perform-slot-validation-for-default): Rename from
      eieio-perform-slot-validation-for-default.  Update all callers.
      (eieio--add-new-slot): Rename from eieio-add-new-slot.
      Update all callers.  Use push.
      (eieio-copy-parents-into-subclass): Adjust to new content of
      `parent' field.  Use dolist.
      (eieio-oref): Remove support for providing a class rather than
      an object.
      (eieio-oref-default): Prefer class objects over class names.
      (eieio--slot-originating-class-p): Rename from
      eieio-slot-originating-class-p.  Update all callers.  Use `or'.
      (eieio--slot-name-index): Turn check into assertion.
      (eieio--class-slot-name-index): Rename from
      eieio-class-slot-name-index.  Change `class' arg to be a class object.
      Update all callers.
      (eieio-attribute-to-initarg): Move to eieio-test-persist.el.
      (eieio--c3-candidate): Rename from eieio-c3-candidate.
      Update all callers.
      (eieio--c3-merge-lists): Rename from eieio-c3-merge-lists.
      Update all callers.
      (eieio--class-precedence-c3): Rename from eieio-class-precedence-c3.
      Update all callers.
      (eieio--class-precedence-dfs): Rename from eieio-class-precedence-dfs.
      Update all callers.
      (eieio--class-precedence-bfs): Rename from eieio-class-precedence-bfs.
      Update all callers.  Adjust to new `parent' content.
      (eieio--class-precedence-list): Rename from -class-precedence-list.
      Update all callers.
      (eieio-generic-call): Use autoloadp and autoload-do-load.
      Slight simplification.
      (eieio-generic-call, eieio-generic-call-primary-only): Adjust to new
      return value of `eieio-generic-form'.
      (eieiomt-add): Index the hashtable with class objects rather than
      class names.
      (eieio-generic-form): Accept class objects as well.
      
      * lisp/emacs-lisp/eieio.el (eieio-class-parents): Accept class objects.
      (eieio--class-slot-initarg): Rename from class-slot-initarg.
      Change `class' arg to be a class object.  Update all callers.
      (call-next-method): Adjust to new return value of `eieio-generic-form'.
      (eieio-default-superclass): Set var to the class object.
      (eieio-edebug-prin1-to-string): Fix recursive call for lists.
      Change print behavior to affect class objects rather than
      class symbols.
      
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
      Adjust to new convention for eieio-persistent-validate/fix-slot-value.
      (eieio-persistent-validate/fix-slot-value):
      Change `class' arg to be a class object.  Update all callers.
      
      * test/automated/eieio-test-persist.el (eieio--attribute-to-initarg):
      Move from eieio-core.el.  Rename from eieio-attribute-to-initarg.
      Change arg to be a class object.  Update all callers.
      
      * test/automated/eieio-tests.el (eieio-test-04-static-method)
      (eieio-test-05-static-method-2): Use oref-default to access
      class slots.
      (eieio-test-23-inheritance-check): Don't assume that
      eieio-class-parents returns class names, or that a class can only have
      a single name.
      cb4db863
  9. 04 Jan, 2015 5 commits
    • Dmitry Gutov's avatar
      Add mouse interaction to xref · c477f207
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--button-map): New variable.
      (xref--mouse-2): New command.
      (xref--insert-xrefs): Add `mouse-face' and `keymap' properties to
      the inserted references.
      c477f207
    • Glenn Morris's avatar
      # ChangeLog fixes · e82fc62b
      Glenn Morris authored
      e82fc62b
    • Paul Eggert's avatar
      Less 'make' chatter for lisp dir · ccb2d938
      Paul Eggert authored
      * lisp/Makefile.in (THEFILE): Define to be 'no-such-file' by default,
      to make it clearer that the caller must specify it.
      (compile-onefile): Remove, replacing by ...
      ($(THEFILE)c): ... new rule.  This lets us use AM_V_GEN here.
      ($(THEFILE)c, .el.elc, $(MH_E_DIR)/mh-loaddefs.el)
      ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el)
      ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el):
      Use AM_V_GEN to lessen 'make' chatter.
      (.el.elc): Omit duplicate comment.
      * src/Makefile.in (%.elc): Adjust to compile-onefile change in
      ../lisp/Makefile.in.
      ccb2d938
    • Paul Eggert's avatar
      Less 'make' chatter in batch mode · cd2d58c1
      Paul Eggert authored
      * admin/unidata/unidata-gen.el (unidata-gen-files):
      * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
      * lisp/files.el (save-buffer, basic-save-buffer):
      * lisp/international/quail.el (quail-update-leim-list-file):
      Don't output messages like "Generating ..." in batch mode.
      cd2d58c1
    • Dmitry Gutov's avatar
      Unbreak `mouse-action' property in text buttons · d9400748
      Dmitry Gutov authored
      * lisp/button.el (push-button): Fix regression from 2012-12-06.
      d9400748
  10. 03 Jan, 2015 2 commits
    • Dmitry Gutov's avatar
      Only show "Back" when the marker stack is non-empty · 8bef7b6a
      Dmitry Gutov authored
      * lisp/menu-bar.el (menu-bar-goto-menu): Use it.
      
      * lisp/progmodes/xref.el (xref-marker-stack-empty-p): New function.
      8bef7b6a
    • Dmitry Gutov's avatar
      Don't remap `next-line' and `previous-line' in xref keymap · 54962365
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--window-configuration): New variable.
      (xref-show-location-at-point): New command.
      (xref--restore-window-configuration): New function.
      (xref-next-line, xref-prev-line): Delegate to
      `xref-show-location-at-point'.
      (xref--location-at-point): Don't signal the error.
      (xref-goto-xref): Do that here instead.
      (xref--xref-buffer-mode): Add `xref--restore-window-configuration'
      to `pre-command-hook'.
      (xref--xref-buffer-mode-map): Don't remap `next-line' and
      `previous-line'.  Additionally bind `xref-next-line' and
      `xref-prev-line' to `n' and `p' respectively.  Bind
      `xref-show-location-at-point' to `C-o'.
      54962365
  11. 02 Jan, 2015 1 commit
  12. 01 Jan, 2015 2 commits
  13. 31 Dec, 2014 3 commits
    • Paul Eggert's avatar
      Less 'make' chatter for doc and lisp · 7e3507cf
      Paul Eggert authored
      [doc/emacs/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/emacs.info, emacs.html):
      Use them.
      [doc/lispintro/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/eintr.info, emacs-lisp-intro.html):
      Use them.
      [doc/lispref/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/elisp.info, elisp.html):
      Use them.
      [doc/misc/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/%.info, %.html, ${buildinfodir}/ccmode.info)
      (${buildinfodir}/efaq%.info, efaq%.html):
      Use them.
      [lisp/ChangeLog]
      Less 'make' chatter in lisp directory
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../src/Makefile.in.
      (custom-deps, finder-data, autoloads, update-subdirs): Use them.
      7e3507cf
    • Filipp Gunbin's avatar
      Use prefix argument in `info-display-manual' · f588156c
      Filipp Gunbin authored
      * lisp/info.el (info-display-manual): Limit the completion alternatives
      to currently visited manuals if prefix argument is non-nil.
      f588156c
    • Paul Eggert's avatar
      * Makefile.in (semantic): Simplify. · 6654a4ce
      Paul Eggert authored
      6654a4ce
  14. 30 Dec, 2014 3 commits
  15. 29 Dec, 2014 2 commits
    • Paul Eggert's avatar
      * obsolete/pc-select.el (pc-selection-mode): Use system-type. · a5e5d777
      Paul Eggert authored
      This is instead of system-name, which is both wrong here and obsolete.
      a5e5d777
    • Stefan Monnier's avatar
      lisp/emacs-lisp/eieio*.el: Reduce object header to 1 slot · 232823a1
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-core.el (eieio--with-scoped-class): Use let-binding.
      (object): Remove first (constant) slot; rename second to `class-tag'.
      (eieio--object-class-object, eieio--object-class-name): New funs
      to replace eieio--object-class.
      (eieio--class-object, eieio--class-p): New functions.
      (same-class-fast-p): Make it a defsubst, change its implementation
      to check the class objects rather than their names.
      (eieio-object-p): Rewrite.
      (eieio-defclass): Adjust the object initialization according to the new
      object layout.
      (eieio--scoped-class): Declare it returns a class object (not a class
      name any more).  Adjust calls accordingly (along with calls to
      eieio--with-scoped-class).
      (eieio--slot-name-index): Rename from eieio-slot-name-index and change
      its class arg to be a class object.  Adjust callers accordingly.
      (eieio-slot-originating-class-p): Make its start-class arg a class
      object.  Adjust all callers.
      (eieio--initarg-to-attribute): Rename from eieio-initarg-to-attribute.
      Make its `class' arg a class object.  Adjust all callers.
      
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
      Use eieio--slot-name-index rather than eieio-slot-name-index.
      
      * lisp/emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects
      additionally to class names.
      
      * test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
      Adjust to new semantics of eieio--scoped-class.
      (eieio-test-match): Improve error feedback.
      232823a1