1. 17 Jan, 2015 12 commits
    • 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
    • Artur Malabarba's avatar
    • Artur Malabarba's avatar
    • Artur Malabarba's avatar
    • Artur Malabarba's avatar
      * emacs-lisp/package.el (package-dir-info): New function. · 2fe6110d
      Artur Malabarba authored
      Find package information for a directory. The return result is a
      `package-desc'.
      2fe6110d
    • Artur Malabarba's avatar
      * emacs-lisp/package.el (package--read-pkg-desc): New function. · be6dbd4b
      Artur Malabarba authored
      Read a `define-package' form in current buffer. Return the pkg-desc,
      with desc-kind set to KIND.
      be6dbd4b
  2. 16 Jan, 2015 9 commits
  3. 15 Jan, 2015 2 commits
    • Wolfgang Jenkner's avatar
      Handle the `neg' operator in some calc-units functions. · 2290000e
      Wolfgang Jenkner authored
      * lisp/calc/calc-units.el (math-units-in-expr-p)
      (math-single-units-in-expr-p, math-find-compatible-unit-rec)
      (math-extract-units): Handle the `neg' operator.  (Bug#19582)
      * test/automated/calc-tests.el (calc-tests-equal, calc-tests-simple):
      New functions.
      (test-calc-remove-units, test-calc-extract-units)
      (test-calc-convert-units): New tests.
      2290000e
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio-core.el: Provide support for cl-generic. · 483c98a0
      Stefan Monnier authored
      (eieio--generic-tagcode): New function.
      (cl-generic-tagcode-function): Use it.
      (eieio--generic-tag-types): New function.
      (cl-generic-tag-types-function): Use it.
      (eieio-object-p): Tighten up the test.
      
      * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Fix paren typo.
      
      * test/automated/eieio-test-methodinvoke.el (eieio-test-method-store): Add
      keysym arg instead of relying on internal var eieio--generic-call-key.
      Update all callers.
      (eieio-test-cl-generic-1): New tests.
      483c98a0
  4. 14 Jan, 2015 2 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-generic.el: New file. · 9def17e9
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-macs.el (cl-flet): Allow (FUN EXP) forms.
      (cl-load-time-value, cl-labels): Use closures rather than
      backquoted lambdas.
      (cl-macrolet): Use `eval' to create the function value, and support CL
      style arguments in for the defined macros.
      * test/automated/cl-generic-tests.el: New file.
      9def17e9
    • Stefan Monnier's avatar
      * lisp/net/eww.el: Use lexical-binding. · 81882be7
      Stefan Monnier authored
      (eww-links-at-point): Remove unused arg.
      (eww-mode-map): Inherit from special-mode-map.
      (eww-mode): Derive from special-mode.  Don't use `setq' on a hook.
      81882be7
  5. 13 Jan, 2015 3 commits
    • Alan Mackenzie's avatar
      Allow compilation during loading of Modes derived from a CC Mode mode. · 30c5f5cd
      Alan Mackenzie authored
      Fixes debbugs#19206.
      
      cc-bytecomp.el (cc-bytecomp-compiling-or-loading): new function which
      walks the stack to discover whether we're compiling or loading.
      (cc-bytecomp-is-compiling): Reformulate, and move towards beginning.
      (cc-bytecomp-is-loading): New defsubst.
      (cc-bytecomp-setup-environment, cc-bytecomp-restore-environment): Use
      the
      above defsubsts.
      (cc-require-when-compile, cc-bytecomp-defvar)
      (cc-bytecomp-defun): Simplify conditionals.
      
      cc-defs.el (cc-bytecomp-compiling-or-loading): "Borrow" this function
      from cc-bytecomp.el.
      (c-get-current-file): Reformulate using the above.
      (c-lang-defconst): Prevent duplicate entries of file names in a symbol's
      'source property.
      (c-lang-const): Use cc-bytecomp-is-compiling.
      
      cc-langs.el (c-make-init-lang-vars-fun): Use cc-bytecomp-is-compiling.
      30c5f5cd
    • Stefan Monnier's avatar
      Fixes: debbugs:19552 · c3024739
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-core.el (eieio-defclass): Fix call to `defclass'.
      c3024739
    • Dmitry Gutov's avatar
      Don't eagerly load xref · 329b9021
      Dmitry Gutov authored
      Fixes: debbugs:19554
      
      * lisp/menu-bar.el (menu-bar-goto-menu): Before calling
      `xref-marker-stack-empty-p', first check that `xref' is loaded.
      329b9021
  6. 12 Jan, 2015 4 commits
    • Martin Rudalics's avatar
      Add autoload cookie for xref-marker-stack-empty-p (Bug#19554). · cc59a3e5
      Martin Rudalics authored
      * progmodes/xref.el (xref-marker-stack-empty-p): Add autoload
      cookie (Bug#19554).
      cc59a3e5
    • Martin Rudalics's avatar
      Adjust frame heights to real height of tool bar. · fb35f1f7
      Martin Rudalics authored
      * frame.el (frame-notice-user-settings): Remove code dealing with
      frame-initial-frame-tool-bar-height.  Turn off `tool-bar-mode'
      only if `window-system-frame-alist' or `default-frame-alist' ask
      for it.
      (make-frame): Update frame-adjust-size-history if needed.
      * dispnew.c (change_frame_size_1): Pass Qchange_frame_size to
      adjust_frame_size.
      * frame.c (frame_default_tool_bar_height): New variable.
      (adjust_frame_size): Possibly add requested adjustment to
      Vframe_adjust_size_history.
      (make_frame): Initialize tool_bar_redisplayed_once slot.
      (Fset_frame_height, Fset_frame_width, Fset_frame_size): Clarify
      doc-string.  Call adjust_frame_size unconditionally (the frame's
      text size may remain unaltered but the pixel size may change).
      (x_figure_window_size): If frame_default_tool_bar_height was
      set, use it instead of calculating the tool bar height from
      DEFAULT_TOOL_BAR_IMAGE_HEIGHT.  Don't set
      Vframe_initial_frame_tool_bar_height.
      (Qchange_frame_size, Qxg_frame_set_char_size)
      (Qset_window_configuration, Qx_create_frame_1)
      (Qx_create_frame_2): New symbols.
      (Vframe_initial_frame_tool_bar_height): Remove.
      (Vframe_adjust_size_history): New history variable for debugging
      frame size adjustments.
      * frame.h (struct frame): New boolean slot
      tool_bar_redisplayed_once.
      (frame_default_tool_bar_height): Extern.
      * gtkutil.c (xg_frame_set_char_size): Pass Qxg_frame_set_char_size
      to adjust_frame_size.
      * nsfns.m (Fx_create_frame): Pass Pass Qx_create_frame_1 and
      Qx_create_frame_2 to adjust_frame_size.
      * w32fns.c (x_change_tool_bar_height): Call adjust_frame_size with
      inhibit 1 when we have not redisplayed the tool bar yet.
      (Fx_create_frame): Pass Pass Qx_create_frame_1 and
      Qx_create_frame_2 to adjust_frame_size.
      * w32menu.c (set_frame_menubar): Simplify adjust_frame_size
      call.
      * window.c (Fset_window_configuration): Pass
      Qset_window_configuration to adjust_frame_size.
      * xdisp.c (redisplay_tool_bar): Assign new height to
      frame_default_tool_bar_height.
      (redisplay_internal): If we haven't redisplayed this frame's
      tool bar, call redisplay_tool_bar early so we can adjust the
      frame size accordingly.
      * xfns.c (x_change_tool_bar_height): Call adjust_frame_size with
      inhibit 1 when we have not redisplayed the tool bar yet.
      (Fx_create_frame): Pass Pass Qx_create_frame_1 and
      Qx_create_frame_2 to adjust_frame_size.
      fb35f1f7
    • Paul Eggert's avatar
      Have 'make' output better GEN names · d703a4dc
      Paul Eggert authored
      * lisp/Makefile.in (PHONY_EXTRAS): New macro.
      (.PHONY): Depend on it, and on $(lisp)/loaddefs.el, so that the
      relevant files' time stamps are ignored.
      (custom-deps, $(lisp)/cus-load.el, finder-data)
      ($(lisp)/finder-inf.el): Use PHONY_EXTRAS.
      (custom-deps, $(lisp)/cus-load.el, finder-data)
      ($(lisp)/finder-inf.el, autoloads, $(lisp)/loaddefs.el)
      ($(lisp)/subdirs.el, update-subdirs):
      Output more-accurate destination names with GEN.
      * src/Makefile.in (gl-stamp, globals.h): Simplify by putting the new
      contents of globals.h into gl-stamp.  This lets us use AM_V_GEN
      more naturally so that 'make' can output more-accurate names.
      d703a4dc
    • 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
  7. 11 Jan, 2015 2 commits
  8. 10 Jan, 2015 6 commits