1. 18 Jun, 2013 1 commit
  2. 17 Jun, 2013 2 commits
  3. 15 Jun, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/package.el: Don't activate packages older than builtin. · 66bd25ab
      Stefan Monnier authored
      (package-obsolete-list): Rename from package-obsolete-alist, and make
      it into a simple list of package-desc.
      (package-strip-version): Remove.
      (package-built-in-p): Use package--builtin-versions.
      (package-mark-obsolete): Simplify.
      (package-process-define-package): Mark it obsolete if older than the
      builtin version.
      (package-handle-response): Use line-end-position.
      (package-read-archive-contents, package--download-one-archive):
      Simplify.
      (package--add-to-archive-contents): Skip if older than the builtin or
      installed version.
      (package-menu-describe-package): Fix last change.
      (package-list-unversioned): New var.
      (package-menu--generate): Use it.
      
      * lisp/Makefile.in (autoloads): Set autoload-builtin-package-versions.
      
      * lisp/startup.el (package--builtin-versions): New var.
      (package-subdirectory-regexp): Remove.
      (package--description-file): Hard code its value instead.
      
      * lisp/emacs-lisp/autoload.el: Manage package--builtin-versions.
      (autoload--insert-text, autoload--insert-cookie-text): New functions.
      (autoload-builtin-package-versions): New variable.
      (autoload-generate-file-autoloads): Use them.
      Remove the list of autoloaded functions/macros from the
      (autoload...) comments.
      66bd25ab
    • Eli Zaretskii's avatar
      d1ad37b2
  4. 14 Jun, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/package.el: Don't recompute dir. Use pkg-descs more. · 1b8dff23
      Stefan Monnier authored
      (package-desc): Add `dir' field.
      (package-desc-full-name): New function.
      (package-load-descriptor): Combine the two arguments.  Don't use `load'.
      (package-maybe-load-descriptor): Remove.
      (package-load-all-descriptors): Just call package-load-descriptor.
      (package--disabled-p): New function.
      (package-desc-vers, package-desc-doc): Remove aliases.
      (package--dir): Remove function.
      (package-activate): Check if a package is disabled.
      (package-process-define-package): New function, extracted from
      define-package.
      (define-package): Turn into a place holder.
      (package-unpack-single, package-tar-file-info):
      Use package--description-file.
      (package-compute-transaction): Use package--disabled-p.
      (package-download-transaction): Don't call
      package-maybe-load-descriptor since they're all loaded anyway.
      (package-install): Change argument to be a pkg-desc.
      (package-delete): Use a single pkg-desc argument.
      (describe-package-1): Use package-desc-dir instead of package--dir.
      Use package-desc property instead of package-symbol.
      (package-install-button-action): Adjust accordingly.
      (package--push): Rewrite.
      (package-menu--print-info): Adjust accordingly.  Change the ID format
      to be a pkg-desc.
      (package-menu-describe-package, package-menu-get-status)
      (package-menu--find-upgrades, package-menu-mark-upgrades)
      (package-menu-execute, package-menu--name-predicate):
      Adjust accordingly.
      * lisp/startup.el (package--description-file): New function.
      (command-line): Use it.
      * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
      Use package-desc-version.
      1b8dff23
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): New var. · 0b31660d
      Stefan Monnier authored
      (byte-compile-preprocess): Use it.
      (byte-compile-file-form-defalias): Try a bit harder to use macros we
      can't quite recognize.
      (byte-compile-add-to-list): Remove.
      * lisp/emacs-lisp/cconv.el (cconv-warnings-only): New function.
      (cconv-closure-convert): Add assertion.
      
      * lisp/emacs-lisp/map-ynp.el: Use lexical-binding.
      (map-y-or-n-p): Remove unused vars `tail' and `object'.
      Factor out some repeated code.
      * etc/NEWS (utf-8 for el): Move to the incompatible section.
      0b31660d
  5. 13 Jun, 2013 1 commit
  6. 12 Jun, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/help-fns.el (help-fns--compiler-macro): If the handler function is · cf4e5178
      Stefan Monnier authored
      named, then put a link to it.
      * lisp/help-mode.el (help-function-cmacro): Adjust regexp for cl-lib names.
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-typep): New function.
      (cl-typep): Use it.
      (cl-eval-when): Simplify debug spec.
      (cl-define-compiler-macro): Use eval-and-compile.  Give a name to the
      compiler-macro function instead of setting `compiler-macro-file'.
      cf4e5178
    • Stefan Monnier's avatar
      First part of Daniel Hackney's patch to package.el. · f56be016
      Stefan Monnier authored
      * lisp/emacs-lisp/package.el: Use defstruct.
      (package-desc): New, main struct.
      (package--bi-desc, package--ac-desc): New structs, used to describe the
      format in external files.
      (package-desc-vers): Replace with package-desc-version accessor.
      (package-desc-doc): Replace with package-desc-summary accessor.
      (package-activate-1): Remove `package' arg since the pkg-vec now
      includes the name.
      (define-package): Use package-desc-from-define.
      (package-unpack-single): Change file-name arg to be a symbol.
      (package--add-to-archive-contents): Use package-desc-create and new
      accessor functions to package--ac-desc.
      (package-buffer-info, package-tar-file-info): Return a package-desc.
      (package-install-from-buffer): Remove `type' argument.  Change pkg-info
      arg to be a package-desc.
      (package-install-file): Adjust accordingly.  Use \' to match EOS.
      (package--from-builtin): New function.
      (describe-package-1, package-menu--generate): Use it.
      (package--make-autoloads-and-compile): Change name arg to be a symbol.
      (package-generate-autoloads): Idem and return the name of the file.
      * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
      Change pkg-info arg to be a package-desc.
      Use package-make-ac-desc.
      (package-upload-file): Use \' to match EOS.
      * lisp/finder.el (finder-compile-keywords): Use package-make-builtin.
      f56be016
  7. 11 Jun, 2013 2 commits
  8. 08 Jun, 2013 1 commit
    • Glenn Morris's avatar
      Improve previous bytecomp fix · 467f3b33
      Glenn Morris authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
      (byte-compile-backward-char, byte-compile-backward-word):
      Improve previous change, to handle non-explicit nil.
      467f3b33
  9. 07 Jun, 2013 2 commits
  10. 06 Jun, 2013 1 commit
    • Glenn Morris's avatar
      bytecomp fix for bug#14565 · 961166f5
      Glenn Morris authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
      (byte-compile-backward-char, byte-compile-backward-word):
      Handle explicit nil arguments.
      961166f5
  11. 05 Jun, 2013 5 commits
    • Ted Zlatanov's avatar
      Introduce and use prog-prettify-install. · 8fc57765
      Ted Zlatanov authored
      8fc57765
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/edebug.el (edebug-result): Move before first use. · 781b4af6
      Stefan Monnier authored
      * lisp/subr.el (load-history-regexp, load-history-filename-element)
      (eval-after-load, after-load-functions, do-after-load-evaluation)
      (eval-next-after-load, display-delayed-warnings)
      (collapse-delayed-warnings, delayed-warnings-hook): Move after the
      definition of save-match-data.
      (overriding-local-map): Remove accidental obsolescence declaration.
      781b4af6
    • Ted Zlatanov's avatar
    • Leo Liu's avatar
      Re-implement smie matching block highlight using show-paren-data-function. · 976cb066
      Leo Liu authored
      * emacs-lisp/smie.el (smie-matching-block-highlight)
      (smie--highlight-matching-block-overlay)
      (smie--highlight-matching-block-lastpos)
      (smie-highlight-matching-block)
      (smie-highlight-matching-block-mode): Remove.
      (smie--matching-block-data-cache): New variable.
      (smie--matching-block-data): New function.
      (smie-setup): Use smie--matching-block-data for
      show-paren-data-function.
      
      * progmodes/octave.el (octave-mode-menu): Fix.
      (octave-find-definition): Skip garbage lines.
      
      Fixes: debbugs:14395
      976cb066
    • Stefan Monnier's avatar
      Fix compilation error with simultaneous dynamic+lexical scoping. · 208d0342
      Stefan Monnier authored
      Add warning when a defvar appears after the first let-binding.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lexical-variables): New var.
      (byte-compile-close-variables): Initialize it.
      (byte-compile--declare-var): New function.
      (byte-compile-file-form-defvar)
      (byte-compile-file-form-define-abbrev-table)
      (byte-compile-file-form-custom-declare-variable): Use it.
      (byte-compile-make-lambda-lexenv): Change the argument.  Simplify.
      (byte-compile-lambda): Share call to byte-compile-arglist-vars.
      (byte-compile-bind): Handle dynamic bindings that shadow
      lexical bindings.
      (byte-compile-unbind): Make arg non-optional.
      (byte-compile-let): Simplify.
      * lisp/emacs-lisp/cconv.el (byte-compile-lexical-variables): Declare var.
      (cconv--analyse-function, cconv-analyse-form): Populate it.
      Protect byte-compile-bound-variables to limit the scope of defvars.
      (cconv-analyse-form): Add missing rule for (defvar <foo>).
      Remove unneeded rule for `declare'.
      
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): Use macroexp-let2
      so as to avoid depending on cl-adjoin at run-time.
      * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use backquotes.
      
      * lisp/emacs-lisp/macroexp.el (macroexp--compiling-p): New function.
      (macroexp--warn-and-return): Use it.
      208d0342
  12. 03 Jun, 2013 2 commits
  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 2 commits
  15. 29 May, 2013 3 commits
  16. 28 May, 2013 1 commit
  17. 27 May, 2013 1 commit
  18. 25 May, 2013 2 commits
  19. 24 May, 2013 2 commits
  20. 23 May, 2013 2 commits
  21. 22 May, 2013 2 commits
    • Glenn Morris's avatar
      Tweak byte-compile-file-form-autoload warnings · ca5995ec
      Glenn Morris authored
      * emacs-lisp/bytecomp.el (byte-compile-file-form-autoload):
      Always delete the autoloaded function from the noruntime and
      unresolved functions lists.
      ca5995ec
    • Glenn Morris's avatar
      Small speedbar-related clean-up · 0cdffd7d
      Glenn Morris authored
      * lisp/dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape):
      Remove unnecessary declarations.
      (dframe-message): Doc fix.
      
      * lisp/info.el (dframe-select-attached-frame, dframe-current-frame):
      Declare.
      
      * lisp/speedbar.el (speedbar-message): Make it an obsolete alias.
      Update all callers.
      (speedbar-with-attached-buffer)
      (speedbar-maybee-jump-to-attached-frame): Make these aliases obsolete.
      (speedbar-with-writable): Use backquote.
      
      * lisp/emacs-lisp/eieio-opt.el (eieio-describe-class-sb):
      
      * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click):
      Use dframe-with-attached-buffer, dframe-maybee-jump-to-attached-frame
      rather than speedbar- aliases.
      
      * lisp/mail/rmail.el: Load dframe rather than speedbar when compiling.
      (speedbar-make-specialized-keymap, speedbar-insert-button)
      (dframe-select-attached-frame, dframe-maybee-jump-to-attached-frame)
      (speedbar-do-function-pointer): Declare.
      (rmail-speedbar-button, rmail-speedbar-find-file)
      (rmail-speedbar-move-message):
      Use dframe-with-attached-buffer rather than speedbar- alias.
      
      * lisp/progmodes/gud.el: Load dframe rather than speedbar when compiling.
      (dframe-message, speedbar-make-specialized-keymap)
      (speedbar-add-expansion-list, speedbar-mode-functions-list)
      (speedbar-make-tag-line, speedbar-remove-localized-speedbar-support)
      (speedbar-insert-button, dframe-select-attached-frame)
      (dframe-maybee-jump-to-attached-frame)
      (speedbar-change-initial-expansion-list)
      (speedbar-previously-used-expansion-list-name): Declare.
      (gud-speedbar-item-info, gud-gdb-goto-stackframe):
      Use dframe-message, dframe-with-attached-buffer rather than
      speedbar- aliases.
      (gud-sentinel): Silence compiler.
      
      * lisp/progmodes/vhdl-mode.el (speedbar-refresh)
      (speedbar-do-function-pointer, speedbar-add-supported-extension)
      (speedbar-add-mode-functions-list, speedbar-make-specialized-keymap)
      (speedbar-change-initial-expansion-list, speedbar-add-expansion-list)
      (speedbar-extension-list-to-regex, speedbar-directory-buttons)
      (speedbar-file-lists, speedbar-make-tag-line)
      (speedbar-line-directory, speedbar-goto-this-file)
      (speedbar-center-buffer-smartly, speedbar-change-expand-button-char)
      (speedbar-delete-subblock, speedbar-position-cursor-on-line)
      (speedbar-make-button, speedbar-reset-scanners)
      (speedbar-files-item-info, speedbar-line-text)
      (speedbar-find-file-in-frame, speedbar-set-timer)
      (dframe-maybee-jump-to-attached-frame, speedbar-line-file): Declare.
      (speedbar-with-writable): Do not (re)define it.
      (vhdl-speedbar-find-file): Use dframe-maybee-jump-to-attached-frame
      rather than speedbar- alias.
      
      * lisp/cedet/ede/speedbar.el (ede-file-find, ede-tag-find):
      * lisp/cedet/semantic/sb.el (semantic-sb-token-jump):
      Use dframe-maybee-jump-to-attached-frame rather than speedbar- alias.
      
      * lisp/mh-e/mh-speed.el (mh-speed-view):
      Use dframe-with-attached-buffer rather than speedbar- alias.
      0cdffd7d
  22. 21 May, 2013 1 commit
    • Glenn Morris's avatar
      Silence some compiler warnings · f440830d
      Glenn Morris authored
      * calculator.el (electric, ehelp): No need to load when compiling.
      (Electric-command-loop, electric-describe-mode): Declare.
      
      * doc-view.el (doc-view-current-converter-processes): Move before use.
      
      * files.el (dired-unmark):
      * progmodes/gud.el (gdb-input): Update declarations.
      
      * emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
      Move MODE-set-explicitly definition before use.
      
      * erc/erc-log.el (erc-network-name): Declare.
      
      * erc/erc-notify.el (pcomplete--here): Declare.
      (pcomplete/erc-mode/NOTIFY): Require pcomplete.
      
      * international/mule-diag.el (mule-diag):
      Don't use obsolete window-system-version.
      
      * mail/feedmail.el (smtpmail): No need to load when compiling.
      (smtpmail-via-smtp, smtpmail-smtp-server): Declare.
      
      * mail/mail-utils.el (rfc822): No need to load when compiling.
      (rfc822-addresses): Autoload it.
      (mail-strip-quoted-names): Trivial simplification.
      
      * mail/rmail.el (rmail-mime-message-p, rmail-mime-toggle-raw): Declare.
      (rmail-retry-failure): Don't assume t...
      f440830d