1. 19 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio: A bit more cleanup, removing compat code. · 26533185
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-core.el (eieio-compiled-function-arglist): Remove.
      (eieio--with-scoped-class): Use `declare'.
      (eieio-defclass): Remove compatibility code.
      (no-method-definition, no-next-method, inconsistent-class-hierarchy)
      (invalid-slot-type, unbound-slot, invalid-slot-name): Use define-error.
      * lisp/emacs-lisp/eieio-opt.el (eieio-lambda-arglist): Remove.
      Use help-function-arglist instead.
      26533185
  2. 17 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/eieio-base.el: Use lexical-binding and cl-lib. · 94250173
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio-core.el: Use lexical-binding and cl-lib.
      (list-of): New type.
      (eieio--typep): Remove.
      (eieio-perform-slot-validation): Use cl-typep instead.
      * lisp/emacs-lisp/eieio.el: Use lexical-binding drop non-GV fallback.
      (defclass, defgeneric, defmethod): Add doc-string position.
      (with-slots): Require cl-lib.
      * lisp/emacs-lisp/cl-macs.el (cl--make-type-test): Avoid ((lambda ..) ..).
      94250173
  3. 26 May, 2014 1 commit
  4. 14 May, 2014 1 commit
  5. 12 Mar, 2014 1 commit
  6. 30 Jan, 2014 1 commit
  7. 10 Jan, 2014 1 commit
  8. 09 Jan, 2014 1 commit
    • David Engster's avatar
      Restore generated autoloads in eieio.el. · 05e0afce
      David Engster authored
      * emacs-lisp/eieio-custom.el:
      * emacs-lisp/eieio-opt.el: Set generated autoload file to
      'eieio.el'.  This was accidentally removed in 2012-10-01T18:10:29Z!cyd@gnu.org.
      * emacs-lisp/eieio.el: Regenerate autoloads.
      05e0afce
  9. 08 Jan, 2014 1 commit
    • David Engster's avatar
      Rewrite EIEIO help functions and hook them into help system. · 0f918d96
      David Engster authored
      * help-fns.el (help-fns-describe-function-functions): New
      variable to call functions for augmenting help buffers.
      (describe-function-1): Remove explicit calls to
      `help-fns--compiler-macro', `help-fns--parent-mode' and
      `help-fns--obsolete'.  Put them in above new variable instead, and
      call them through `run-hook-with-args'.
      * emacs-lisp/eieio-opt.el (eieio-help-class): Rename from
      `eieio-describe-class'.  Not meant for interactive use anymore,
      but to augment existing help buffers.  Remove optional second
      argument.  Create proper button for file location.  Rewrite
      function to use `insert' instead of `princ' and `prin1' where
      possible.
      (eieio-help-class-slots): Rename from `eieio-describe-class-slots'.
      (eieio-method-def, eieio-class-def): Move further up.
      (describe-method, describe-generic, eieio-describe-method): Remove
      aliases.
      (eieio-help-constructor, eieio-help-generic): Rename from
      `eieio-describe-constructor' and `eieio-describe-generic', resp.
      Rewrite to use `insert' in the current buffer and use proper help
      buttons.
      (eieio-help-find-method-definition)
      (eieio-help-find-class-definition): Also accept symbols as
      arguments.
      (eieio-help-mode-augmentation-maybee): Remove.
      (eieio-describe-class-sb): Use `describe-function'.
      * emacs-lisp/eieio.el (help-fns-describe-function-functions): Add
      `eieio-help-generic' and `eieio-help-constructor'.
      0f918d96
  10. 01 Jan, 2014 1 commit
  11. 19 Sep, 2013 2 commits
  12. 19 Jun, 2013 1 commit
  13. 02 Jun, 2013 1 commit
    • David Engster's avatar
      Merge from CEDET upstream (8564). · 890f7890
      David Engster authored
      * lisp/emacs-lisp:
      
      	* emacs-lisp/eieio.el (eieio--defalias, eieio-hook)
      	(eieio-error-unsupported-class-tags, eieio-skip-typecheck)
      	(eieio-optimize-primary-methods-flag, eieio-initializing-object)
      	(eieio-unbound, eieio-default-superclass)
      	(eieio--define-field-accessors, method-static, method-before)
      	(method-primary, method-after, method-num-lists)
      	(method-generic-before, method-generic-primary)
      	(method-generic-after, method-num-slots)
      	(eieio-specialized-key-to-generic-key)
      	(eieio--check-type, class-v, class-p)
      	(eieio-class-name, define-obsolete-function-alias)
      	(eieio-class-parents-fast, eieio-class-children-fast)
      	(same-class-fast-p, class-constructor, generic-p)
      	(generic-primary-only-p, generic-primary-only-one-p)
      	(class-option-assoc, class-option, eieio-object-p)
      	(class-abstract-p, class-method-invocation-order)
      	(eieio-defclass-autoload-map, eieio-defclass-autoload)
      	(eieio-class-un-autoload, eieio-defclass)
      	(eieio-eval-default-p, eieio-perform-slot-validation-for-default)
      	(eieio-add-new-slot, eieio-copy-parents-into-subclass)
      	(eieio--defgeneric-init-form, eieio-defgeneric-form)
      	(eieio-defgeneric-reset-generic-form)
      	(eieio-defgeneric-form-primary-only)
      	(eieio-defgeneric-reset-generic-form-primary-only)
      	(eieio-defgeneric-form-primary-only-one)
      	(eieio-defgeneric-reset-generic-form-primary-only-one)
      	(eieio-unbind-method-implementations)
      	(eieio--defmethod, eieio--typep)
      	(eieio-perform-slot-validation, eieio-validate-slot-value)
      	(eieio-validate-class-slot-value, eieio-barf-if-slot-unbound)
      	(eieio-oref, eieio-oref-default, eieio-default-eval-maybe)
      	(eieio-oset, eieio-oset-default, eieio-slot-originating-class-p)
      	(eieio-slot-name-index, eieio-class-slot-name-index)
      	(eieio-set-defaults, eieio-initarg-to-attribute)
      	(eieio-attribute-to-initarg, eieio-c3-candidate)
      	(eieio-c3-merge-lists, eieio-class-precedence-c3)
      	(eieio-class-precedence-dfs, eieio-class-precedence-bfs)
      	(eieio-class-precedence-list, eieio-generic-call-methodname)
      	(eieio-generic-call-arglst, eieio-generic-call-key)
      	(eieio-generic-call-next-method-list)
      	(eieio-pre-method-execution-functions, eieio-generic-call)
      	(eieio-generic-call-primary-only, eieiomt-method-list)
      	(eieiomt-optimizing-obarray, eieiomt-install)
      	(eieiomt-add, eieiomt-next, eieiomt-sym-optimize)
      	(eieio-generic-form, eieio-defmethod, make-obsolete)
      	(eieio-defgeneric, make-obsolete): Moved to eieio-core.el
      	(defclass): Remove `eval-and-compile' from macro.
      	(call-next-method, shared-initialize): Instead of using
      	`scoped-class' variable, use new eieio--scoped-class, and
      	eieio--with-scoped-class.
      	(initialize-instance): Rename local variable 'scoped-class' to
      	'this-class' to remove ambiguitity from old global.
      
      	* emacs-lisp/eieio-core.el: New file.  Derived from key parts of
      	eieio.el.
      	(eieio--scoped-class-stack): New variable
      	(eieio--scoped-class): New fcn
      	(eieio--with-scoped-class): New scoping macro.
      	(eieio-defclass): Use pushnew instead of add-to-list.
      	(eieio-defgeneric-form-primary-only-one, eieio-oset-default)
      	(eieio-slot-name-index, eieio-set-defaults, eieio-generic-call)
      	(eieio-generic-call-primary-only, eieiomt-add): Instead of using
      	`scoped-class' variable, use new eieio--scoped-class, and
      	eieio--with-scoped-class.
      
      	* emacs-lisp/eieio-base.el (cl-lib): Require during compile.
      
      * admin/grammars:
      
      	* grammars/srecode-template.wy (variable): Accept a single number
      	as a variable value.  Allows the 'priority' to be set to a number.
      	(wisent-srecode-template-lexer): Move number up so it can be
      	created.
      
      * etc/srecode:
      
      	* srecode/c.srt (header_guard): Add :c parameter so it works
      	standalone
      
      * lisp/cedet:
      
      	* semantic/edit.el (semantic-change-function): Use
      	`save-match-data' around running hooks.
      
      	* semantic/decorate/mode.el
      	(semantic-decorate-style-predicate-default)
      	(semantic-decorate-style-highlighter-default): New.
      	(semantic-decoration-mode): Do not require
      	`semantic/decorate/include' anymore.
      	(semantic-toggle-decoration-style): Error if an unknown decoration
      	style is toggled.
      	(define-semantic-decoration-style): Add new :load option.  When
      	:load is specified, add autoload tokens for the definition
      	functions so that code is loaded when the mode is used.
      	(semantic-decoration-on-includes): New autoload definition for
      	highlighting includes.
      
      	* semantic/bovine/c.el (semantic-lex-c-ifdef): Allow some misc
      	characters to appear after the tested variable.
      
      	* semantic/ede-grammar.el (project-compile-target): Calculate full
      	src name via ede-expand-filename instead of the crutch of the
      	current buffer.  Enables this target to compile in batch mode.
      
      	* semantic/idle.el
      	(semantic-idle-symbol-maybe-highlight): Wrap highlighting of
      	remote symbol with `save-excursion'.
      	(semantic-idle-scheduler-work-parse-neighboring-files): Instead of
      	using directory-files on each found mode pattern, collect all the
      	patterns for the current mode, and then for each file, see if it
      	matches any of them.  If it does, parse the file.  (Patch
      	inspiration from Tomasz Gajewski.)
      
      	* semantic/ctxt.el (semantic-ctxt-end-of-symbol): New.
      	(semantic-ctxt-current-symbol-default): New.
      
      	* semantic/bovine/el.el (semantic-default-elisp-setup): Add
      	autoload cookie.  Explain existence.
      	(footer): Add local variable for loaddefs.
      
      	* semantic/db.el (semanticdb-file-table-object): Add new filter,
      	only checking for regular files too.
      
      	* semantic/wisent/python.el
      	(semantic-format-tag-abbreviate): New override.  Cuts back on size
      	of code tags.
      
      	* srecode/compile.el (srecode-compile-templates): Fix warning
      	punctuation.  Remove status messages to clean up testing output
      
      	* ede/base.el (ede-project-placeholder-cache-file): Update doc to
      	mention 'nil' value.
      	(ede-save-cache): Disable cache save if file is nil.
      
      	* ede.el (ede-initialize-state-current-buffer): Flush deleted
      	projects.
      	(global-ede-mode): Always append our find-file-hook to the end.
      	(ede-flush-deleted-projects): New command.
      
      	* ede/cpp-root.el (ede-preprocessor-map): Protect against init
      	problems.
      
      	* ede/proj.el (ede-proj-target): Added a new "custom" option for
      	custom symbols representing a compiler or linker instead of
      	restricting things to only the predefined compilers and linkers.
      
      	* semantic.el (semantic-mode-map): To avoid showing showing
      	Development menu twice, only disable menu item if menu-bar is
      	actually enabled, otherwise the popup 'global menu' might display
      	a disabled Development menu.
      
      	* semantic/complete.el
      	(semantic-displayor-show-request): Fix which slot in obj is set to
      	the max tags.
      890f7890
  14. 30 May, 2013 1 commit
  15. 19 Feb, 2013 1 commit
    • Stefan Monnier's avatar
      Cleanup some of EIEIO's namespace. · 8ca4f1e0
      Stefan Monnier authored
      * lisp/emacs-lisp/eieio.el (eieio--define-field-accessors): New macro.
      Use it to define all the class-* and object-* field accessors (renamed
      to eieio--class-* and eieio--object-*).  Update all uses.
      (eieio--class-num-slots, eieio--object-num-slots): Rename from
      class-num-slots and object-num-slots.
      (eieio--check-type): New macro.
      (eieio-defclass, eieio-oref, eieio-oref-default, same-class-p)
      (object-of-class-p, child-of-class-p, object-slots, class-slot-initarg)
      (eieio-oset, eieio-oset-default, object-assoc, object-assoc-list)
      (object-assoc-list-safe): Use it.
      (eieio-defclass): Tighten regexp.
      (eieio--defmethod): Use `memq'.  Signal an error for unknown method kind.
      Remove unreachable code.
      (object-class-fast): Declare obsolete.
      (eieio-class-name, eieio-object-name, eieio-object-set-name-string)
      (eieio-object-class, eieio-object-class-name, eieio-class-parents)
      (eieio-class-children, eieio-class-precedence-list, eieio-class-parent):
      Rename from class-name, object-name, object-set-name-string,
      object-class, object-class-name, class-parents, class-children,
      class-precedence-list, class-parent; with obsolete alias.
      (class-of, class-direct-superclasses, class-direct-subclasses):
      Declare obsolete.
      (eieio-defmethod): Use `memq'; remove unreachable code.
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
      * lisp/emacs-lisp/eieio-opt.el (eieio-class-button, eieio-describe-generic)
      (eieio-browse-tree, eieio-browse): Use eieio--check-type.
      8ca4f1e0
  16. 31 Jan, 2013 1 commit
  17. 01 Jan, 2013 1 commit
  18. 12 Dec, 2012 1 commit
    • Jonas Bernoulli's avatar
      * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing. · 69e1c203
      Jonas Bernoulli authored
      (eieio-override-prin1): Don't quote kewords and booleans.
      (object-write) <eieio-default-superclass>: Don't put closing parens
      on new line, avoid needless empty lines, align values that are objects
      with the slot keyword (instead of beginning on the same line).
      (eieio-list-prin1): Align value with slot keyword; increase
      eieio-print-depth before printing members of the list.
      
      Fixes: debbugs:13115
      69e1c203
  19. 25 Oct, 2012 1 commit
    • David Engster's avatar
      Merge CEDET upstream. · 3f2a848d
      David Engster authored
      * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression):
      Removed.  This feature is already integrated in imenu.
      
      * emacs-lisp/eieio-opt.el: Remove require for `button' since it is
      always loaded.  Require `speedbar' unconditionally.
      
      * semantic/analyze.el (semantic-analyze-dereference-alias): New
      function to dereference aliases.
      (semantic-analyze-current-context-default): Use it.
      
      * semantic/grammar.el (semantic-grammar-create-package):
      * srecode/compile.el (srecode-compile-templates): Throw a proper
      error if semantic-mode is not enabled (bug#9968).
      
      Compiler warning fixes:
      
      * semantic.el (semantic-elapsed-time): Make it a defsubst.
      
      * srecode/dictionary.el (srecode-adebug-dictionary): Remove
      require for `semantic'.
      
      * srecode/map.el:
      * srecode/insert.el: Declare functions from `data-debug'.
      
      * semantic/grammar.el: Require `help-fns'.  Declare functions from
      `eldoc', which is required in function body.
      
      * srecode/java.el:
      * semantic/texi.el:
      * semantic/grammar-wy.el:
      * semantic/db-file.el:
      * semantic/db-el.el:
      * semantic/chart.el: Fix requires.
      
      * ede/locate.el: Remove useless requires. Declare functions
      instead and require in functions when needed.
      3f2a848d
  20. 23 Oct, 2012 1 commit
    • Stefan Monnier's avatar
      Cleanup uses of "-hooks". · d1069532
      Stefan Monnier authored
      * doc/emacs/custom.texi (Hooks):
      * doc/lispref/hooks.texi (Standard Hooks): Clarify that -hooks is deprecated.
      
      * lisp/gnus/nndiary.el (nndiary-request-create-group-functions)
      (nndiary-request-update-info-functions)
      (nndiary-request-accept-article-functions):
      * lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup-functions):
      * lisp/cedet/semantic/db-file.el (semanticdb-save-database-functions):
      * lisp/cedet/semantic/lex.el (semantic-lex-reset-functions):
      * lisp/cedet/semantic/edit.el (semantic-change-functions)
      (semantic-edits-new-change-functions)
      (semantic-edits-delete-change-functions)
      (semantic-edits-reparse-change-functions):
      * lisp/htmlfontify.el (hfy-post-html-hook):
      * lisp/filesets.el (filesets-cache-fill-content-hook):
      * lisp/arc-mode.el (archive-extract-hook):
      * lisp/progmodes/cc-mode.el (c-prepare-bug-report-hook):
      * lisp/net/rcirc.el (rcirc-sentinel-functions)
      (rcirc-receive-message-functions, rcirc-activity-functions)
      (rcirc-print-functions):
      * lisp/net/dbus.el (dbus-event-error-functions):
      * lisp/emacs-lisp/eieio.el (eieio-pre-method-execution-functions):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-style-functions)
      (checkdoc-comment-style-functions): Don't use "-hooks" suffix.
      
      * lisp/term/sun.el (sun-raw-prefix-hooks):
      * lisp/mail/sendmail.el (mail-yank-hooks):
      * lisp/mh-e/mh-letter.el (mh-yank-hooks): Use make-obsolete-variable.
      d1069532
  21. 14 Oct, 2012 1 commit
  22. 12 Oct, 2012 1 commit
  23. 02 Oct, 2012 1 commit
  24. 01 Oct, 2012 1 commit
  25. 15 Aug, 2012 1 commit
  26. 18 Jul, 2012 1 commit
  27. 13 Jul, 2012 1 commit
    • Chong Yidong's avatar
      Don't warn on toggle-read-only calls. · b68b3337
      Chong Yidong authored
      Clarify the documentation of toggle-read-only, and audit the code tree
      for uses of toggle-read-only; where appropriate, switch to setting the
      variable buffer-read-only or calling toggle-read-only with a (new)
      second arg.
      
      * lisp/files.el (toggle-read-only): Doc fix and code cleanup.  New arg
      to allow printing the message when called from Lisp.
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
      Remove toggle-read-only.
      
      * lisp/bindings.el (mode-line-toggle-read-only):
      * lisp/dired.el (dired-toggle-read-only):
      * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only
      with non-nil second arg.
      
      * lisp/bs.el (bs-toggle-readonly):
      * lisp/buff-menu.el (Buffer-menu-toggle-read-only): Remove
      with-no-warnings around toggle-read-only.
      
      * lisp/ffap.el (ffap--toggle-read-only): Accept a list of buffers.
      Remove with-no-warnings around toggle-read-only.
      (ffap-read-only, ffap-read-only-other-window)
      (ffap-read-only-other-frame): Callers changed.
      
      * lisp/help-mode.el: Don't require view package.
      (help-mode-finish): Set buffer-read-only instead of calling
      toggle-read-only.
      
      * lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
      * lisp/vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only
      directly.
      
      * lisp/gnus/smime.el (smime-certificate-info): Set buffer-read-only directly,
      instead of calling toggle-read-only with a (bogus) argument.
      
      * doc/emacs/buffers.texi (Misc Buffer): Document view-read-only.
      
      * doc/lispref/buffers.texi (Read Only Buffers): Document toggle-read-only
      changes.  Reword to account for the fact that read-only is currently not
      supported in overlay properties.
      b68b3337
  28. 23 Jun, 2012 1 commit
    • Stefan Monnier's avatar
      Miscellaneous minor cleanups and simplifications. · dc5d230c
      Stefan Monnier authored
      * lisp/help-fns.el (describe-variable): Don't croak when doc is not found.
      * lisp/vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only.
      * lisp/menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more.
      * lisp/emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place.
      * lisp/emacs-lisp/smie.el (smie-next-sexp): CSE.
      * lisp/emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid
      ((lambda ..) ..).
      * lisp/emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf.
      dc5d230c
  29. 12 Jun, 2012 1 commit
    • Chong Yidong's avatar
      Various minor variable/hook cleanups. · f1a4e679
      Chong Yidong authored
      * lisp/emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings):
      Rename from gud-inhibit-global-bindings.
      
      * lisp/emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix.
      
      * lisp/erc/erc-dcc.el (erc-dcc-chat-filter-functions): Rename from
      erc-dcc-chat-filter-hook, since this is an abnormal hook.
      
      * lisp/nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal
      hook from nxml-glyph-set-hook.
      
      * lisp/progmodes/cwarn.el (cwarn-mode): Remove redundant variable
      declaration.
      
      * lisp/progmodes/pascal.el (pascal-toggle-completions): Doc fix.
      
      * lisp/textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path):
      Convert to defcustom.
      
      * lisp/url/url-handlers.el (url-handler-regexp):
      * lisp/url/url-nfs.el (url-nfs-automounter-directory-spec):
      * lisp/url/url-vars.el (url-load-hook): Convert to defcustom.
      f1a4e679
  30. 20 Apr, 2012 1 commit
  31. 09 Apr, 2012 1 commit
  32. 11 Jan, 2012 1 commit
  33. 06 Jan, 2012 1 commit
  34. 05 Jan, 2012 1 commit
  35. 04 Dec, 2011 1 commit
  36. 23 Nov, 2011 1 commit
  37. 16 Nov, 2011 1 commit
  38. 15 Nov, 2011 1 commit
  39. 14 Nov, 2011 1 commit