From: Stefan Monnier Date: Thu, 8 Jan 2015 21:03:04 +0000 (-0500) Subject: Shrink EIEIO object header. Move generics to eieio-generic.el. X-Git-Tag: emacs-25.0.90~2605^2~18 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a749f1c648f2b9bf1a0b0b10e2da4c1c4e3d431d;p=emacs.git Shrink EIEIO object header. Move generics to eieio-generic.el. --- a749f1c648f2b9bf1a0b0b10e2da4c1c4e3d431d diff --cc etc/NEWS index f22309e2fac,0f20be86b9b..1f503ceab82 --- a/etc/NEWS +++ b/etc/NEWS @@@ -185,15 -187,11 +185,20 @@@ Unicode standards * Changes in Specialized Modes and Packages in Emacs 25.1 +** Shell + +When you invoke `shell' interactively, the *shell* buffer will now +display in a new window. However, you can customize this behavior via +the `display-buffer-alist' variable. For example, to get +the old behavior -- *shell* buffer displays in current window -- use +(add-to-list 'display-buffer-alist + '("^\\*shell\\*$" . (display-buffer-same-window))). + + + ** EIEIO + *** The -list-p and -child-p functions are declared obsolete. + *** The variables are declared obsolete. + *** The variables are declared obsolete. ** ido *** New command `ido-bury-buffer-at-head' bound to C-S-b Bury the buffer at the head of `ido-matches', analogous to how C-k diff --cc lisp/ChangeLog index 4077e351ba8,6d7bfae31ce..bca8d28b1a5 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,522 -1,255 +1,774 @@@ + 2015-01-08 Stefan Monnier + + * 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 -child-p function. + * 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 -list-p function, the variable and + the variables. Use pcase-dolist. + (eieio-defclass): New compatibility function. + * emacs-lisp/eieio-opt.el (eieio-build-class-alist) + (eieio-class-speedbar): Don't use eieio-default-superclass var. + + 2015-01-08 Stefan Monnier + + * emacs-lisp/eieio-generic.el: New file. + * emacs-lisp/eieio-core.el: Move all generic function code to + eieio-generic.el. + (eieio--defmethod): Declare. + + * emacs-lisp/eieio.el: Require eieio-generic. Move all generic + function code to eieio-generic.el. + * emacs-lisp/eieio-opt.el (eieio-help-generic): Move to + eieio-generic.el. + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): Update call + to eieio--generic-call. + * emacs-lisp/eieio-base.el (eieio-instance-inheritor): Don't use + -child type. + -2015-01-07 Stefan Monnier ++2015-01-08 Stefan Monnier + + * emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie): + Don't use as a variable. + + * emacs-lisp/eieio.el (same-class-p): Accept class object as well. + (call-next-method): Simplify. + (clone): Obey eieio-backward-compatibility. + + * emacs-lisp/eieio-opt.el (eieio-read-generic-p): Remove. + (eieio-read-generic): Use `generic-p' instead. + + * 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. + + * 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 + -child and -list, if not eieio-backward-compatibility. + -2015-01-05 Stefan Monnier ++2015-01-08 Stefan Monnier + + * 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. + + * 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. + + * 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. + -2014-12-29 Stefan Monnier ++2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects + additionally to class names. + + * 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. + + * emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): + Use eieio--slot-name-index rather than eieio-slot-name-index. + -2014-12-23 Stefan Monnier ++2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (make-instance): Simplify by not adding an object + name argument. + (eieio-object-name): Use eieio-object-name-string. + (eieio--object-names): New const. + (eieio-object-name-string, eieio-object-set-name-string): Re-implement + using a hashtable rather than a built-in slot. + (eieio-constructor): Rename from `constructor'. Remove `newname' arg. + (clone): Don't mess with the object's "name". + + * emacs-lisp/eieio-custom.el (eieio-widget-test): Remove dummy arg. + (eieio-object-value-get): Use eieio-object-set-name-string. + + * emacs-lisp/eieio-core.el (eieio--defalias): Follow aliases. + (eieio--object): Remove `name' field. + (eieio-defclass): Adjust to new convention where constructors don't + take an "object name" any more. + (eieio--defgeneric-init-form, eieio--defmethod): Follow aliases. + (eieio-validate-slot-value, eieio-oset-default) + (eieio-slot-name-index): Don't hardcode eieio--object-num-slots. + (eieio-generic-call-primary-only): Simplify. + + * emacs-lisp/eieio-base.el (clone) : + Use call-next-method. + (eieio-constructor): Rename from `constructor'. + (eieio-persistent-convert-list-to-object): Drop objname. + (eieio-persistent-validate/fix-slot-value): Don't hardcode + eieio--object-num-slots. + (eieio-named): Use a normal slot. + (slot-missing) : Remove. + (eieio-object-name-string, eieio-object-set-name-string, clone) + : New methods. + -2014-12-22 Stefan Monnier ++2015-01-08 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. + (method-*): Add a "eieio--" prefix to those constants. + + * emacs-lisp/eieio.el: Move edebug specs to the corresponding macro. + + * emacs-lisp/eieio-speedbar.el: Use lexical-binding. + -2014-12-22 Stefan Monnier ++2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (child-of-class-p): Fix case where `class' is + `eieio-default-superclass'. + + * emacs-lisp/eieio-datadebug.el: Use lexical-binding. + + * emacs-lisp/eieio-custom.el: Use lexical-binding. + (eieio-object-value-to-abstract): Simplify. + + * emacs-lisp/eieio-opt.el (eieio-build-class-list): Use cl-mapcan. + (eieio-build-class-alist): Use dolist. + (eieio-all-generic-functions): Adjust to use of hashtables. + + * emacs-lisp/eieio-core.el (class): Rename field symbol-obarray to + symbol-hashtable. It contains a hashtable instead of an obarray. + (generic-p): Use symbol property `eieio-method-hashtable' instead of + `eieio-method-obarray'. + (generic-primary-only-p, generic-primary-only-one-p): + Slight optimization. + (eieio-defclass-autoload-map): Use a hashtable instead of an obarray. + (eieio-defclass-autoload, eieio-defclass): Adjust/simplify accordingly. + (eieio-class-un-autoload): Use autoload-do-load. + (eieio-defclass): Use dolist, cl-pushnew, cl-callf. + Use new cl-deftype-satisfies. Adjust to use of hashtables. + Don't hardcode the value of eieio--object-num-slots. + (eieio-defgeneric-form-primary-only-one): Remove `doc-string' arg. + Use a closure rather than a backquoted lambda. + (eieio--defmethod): Adjust call accordingly. Set doc-string via the + function-documentation property. + (eieio-slot-originating-class-p, eieio-slot-name-index) + (eieiomt--optimizing-hashtable, eieiomt-install, eieiomt-add) + (eieio-generic-form): Adjust to use of hashtables. + (eieiomt--sym-optimize): Rename from eieiomt-sym-optimize; take + additional class argument. + (eieio-generic-call-methodname): Remove, unused. + + * emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p): + Prefer \' to $. + +2015-01-08 Eli Zaretskii + + * 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. + +2015-01-08 Glenn Morris + + * files.el (file-tree-walk): Remove; of unknown authorship. (Bug#19325) + +2015-01-07 K. Handa + + * international/ccl.el (define-ccl-program): Improve the docstring. + +2015-01-06 Sam Steingold + + * shell.el (shell-display-buffer-actions): Remove, + use `display-buffer-alist' instead. + +2015-01-05 Dmitry Gutov + + * progmodes/xref.el (xref--insert-xrefs): Add `help-echo' property + to the references. + +2015-01-05 Stefan Monnier + + * minibuffer.el (completion-category-defaults): New var. + Set unicode-name to use substring completion. + (completion-category-defaults): Set it to nil. + +2015-01-04 Dmitry Gutov + + Add mouse interaction to xref. + * 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. + +2015-01-04 Paul Eggert + + Less 'make' chatter for lisp dir + * 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. + + Less 'make' chatter in batch mode + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + * emacs-lisp/bytecomp.el (byte-compile-file): + * files.el (save-buffer, basic-save-buffer): + * international/quail.el (quail-update-leim-list-file): + Don't output messages like "Generating ..." in batch mode. + +2015-01-04 Dmitry Gutov + + Unbreak `mouse-action' property in text buttons. + * button.el (push-button): Fix regression from 2012-12-06. + +2015-01-03 Dmitry Gutov + + * progmodes/xref.el (xref-marker-stack-empty-p): New function. + + * menu-bar.el (menu-bar-goto-menu): Use it. + +2015-01-03 Dmitry Gutov + + * 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'. + +2015-01-01 Eli Zaretskii + + * tool-bar.el (tool-bar-local-item) + (tool-bar-local-item-from-menu): Call force-mode-line-update to + make sure the tool-bar changes show on display. + +2015-01-01 Michael Albinus + + Sync with Tramp 2.2.11. + + * net/tramp-compat.el (top): Require cl-macs for Emacs 22. + Make an alias for `default-toplevel-value' if it doesn't exist. + + * net/tramp-smb.el (tramp-smb-handle-copy-directory): + Use `tramp-compat-delete-directory'. + + * net/trampver.el: Update release number. + +2015-01-01 Filipp Gunbin + + * autorevert.el (auto-revert-handler): Fix auto-revert-tail-mode + for remote files. (Bug#19449) + +2015-01-01 Simen Heggestøyl (tiny change) + + * textmodes/css-mode.el (scss-mode): Fix typo (bug#19446). + +2014-12-31 Paul Eggert + + 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. + +2014-12-31 Filipp Gunbin + + * info.el (info-display-manual): Limit the completion alternatives + to currently visited manuals if prefix argument is non-nil. + +2014-12-30 Paul Eggert + + * Makefile.in (semantic): Simplify. + +2014-12-30 Juri Linkov + + * net/eww.el (eww-isearch-next-buffer): New function. + (eww-mode): Set multi-isearch-next-buffer-function to it. + +2014-12-30 Dmitry Gutov + + * progmodes/xref.el (xref-find-definitions): Mention "no + identifier at point" case in the docstring. + + * menu-bar.el (menu-bar-goto-uses-etags-p): New function. + (menu-bar-goto-menu): Use it to show or hide the `set-tags-name' + and `separator-tag-file' items. + +2014-12-29 Paul Eggert + + * obsolete/pc-select.el (pc-selection-mode): Use system-type. + This is instead of system-name, which is both wrong here and obsolete. + * desktop.el (desktop-save-frameset): + * dnd.el (dnd-get-local-file-uri): + * nxml/rng-uri.el (rng-uri-file-name-1): + Prefer (system-name) to system-name, and avoid naming + locals 'system-name'. + * startup.el (system-name): Now an obsolete variable. (Bug#19438) + +2014-12-29 Dmitry Gutov + + * menu-bar.el (menu-bar-next-tag-other-window) + (menu-bar-next-tag): Remove. + +2014-12-29 K. Handa + + * international/mule.el (make-translation-table-from-alist): + Accept nil or zero-length vector for FROM and TO. + +2014-12-29 Lars Ingebrigtsen + + * net/eww.el (eww-mode): Truncate overlong lines for prettier + display when resizing. + + * net/shr.el (shr-width): Default to using the window width when + rendering. + +2014-12-29 Dmitry Gutov + + Unbreak jumping to an alias's definition. + * emacs-lisp/find-func.el (find-function-library): Return a pair + (ORIG-FUNCTION . LIBRARY) instead of just its second element. + (find-function-noselect): Use it. + * progmodes/elisp-mode.el (elisp--xref-identifier-file): Rename to + `elisp--xref-identifier-location', incorporate logic from + `elisp--xref-find-definitions', use the changed + `find-function-library' return value. + +2014-12-29 Juri Linkov + + * comint.el (comint-history-isearch-message): Use field-beginning + instead of comint-line-beginning-position - that's more fixes for + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html + (comint-history-isearch-message): Fix args of isearch-message-prefix. + +2014-12-29 Juri Linkov + + * vc/vc-dir.el (vc-dir-display-file): New command (bug#19450). + (vc-dir-mode-map): Bind it to "\C-o". + (vc-dir-menu-map): Add it to menu. + +2014-12-29 Dmitry Gutov + + * progmodes/etags.el (find-tag-other-window) + (find-tag-other-frame, find-tag-regexp, tags-loop-continue) + (tags-apropos): Declare obsolete. + + * menu-bar.el (menu-bar-goto-menu): Replace all but one etags item + with xref ones. + +2014-12-28 Eli Zaretskii + + * international/mule.el (define-coding-system): Fix typos in the + doc string. + +2014-12-28 Kenichi Handa + + * international/mule.el (define-coding-system): Improve the doc + string. + +2014-12-28 Ivan Shmakov + + * net/shr.el (shr-tag-table): Fix handling of tbody/header/footer + elements in tables (bug#19444). + + * net/eww.el (eww-handle-link): Fix typo in "up" rel handling + (bug#19445). + +2014-12-28 Juri Linkov + + * vc/compare-w.el: Require diff-mode for diff faces. + (compare-windows-removed, compare-windows-added): New faces + inheriting from diff faces. + (compare-windows): Define obsolete face alias. + (compare-windows-highlight): Replace face `compare-windows' with + new faces `compare-windows-added' and `compare-windows-removed' + (bug#19451). + (compare-windows-get-recent-window): Signal an error when + no other window is found (bug#19170). + +2014-12-27 Dmitry Gutov + + * progmodes/elisp-mode.el (elisp--xref-identifier-file): + Skip features that have no sources. + + * simple.el (execute-extended-command): + When `suggest-key-bindings' is nil, don't. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Native readline completion. + * progmodes/python.el (python-shell-completion-native-disabled-interpreters) + (python-shell-completion-native-enable) + (python-shell-completion-native-output-timeout): New defcustoms. + (python-shell-completion-native-interpreter-disabled-p) + (python-shell-completion-native-try) + (python-shell-completion-native-setup) + (python-shell-completion-native-turn-off) + (python-shell-completion-native-turn-on) + (python-shell-completion-native-turn-on-maybe) + (python-shell-completion-native-turn-on-maybe-with-msg) + (python-shell-completion-native-toggle): New functions. + (python-shell-completion-native-get-completions): New function. + (python-shell-completion-at-point): Use it. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Enhance shell user interaction and deprecate + python-shell-get-or-create-process. + * progmodes/python.el (python-shell-get-process-or-error): + New function. + (python-shell-with-shell-buffer): Use it. + (python-shell-send-string, python-shell-send-region) + (python-shell-send-buffer, python-shell-send-defun) + (python-shell-send-file, python-shell-switch-to-shell): Use it. + Add argument MSG to display user-friendly message when no process + is running. + (python-shell-switch-to-shell): Call pop-to-buffer with NORECORD. + (python-shell-make-comint): Rename argument SHOW from POP. Use + display-buffer instead of pop-to-buffer. + (run-python): Doc fix. Return process. + (python-shell-get-or-create-process): Make obsolete. + +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-buffer-substring): Handle + cornercase when region sent starts at point-min. + +2014-12-27 Eli Zaretskii + + * language/misc-lang.el (composition-function-table): Add Syriac + characters and also ZWJ/ZWNJ. See + http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html + for the details. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Fix message when sending region. + * progmodes/python.el (python-shell-send-region): Rename argument + send-main from nomain. Fix message. + (python-shell-send-buffer): Rename argument send-main from arg. + + python.el: Cleanup temp files even with eval errors. + * progmodes/python.el (python-shell-send-file): Make file-name + mandatory. Fix temp file removal in the majority of cases. + + python.el: Handle file encoding for shell. + * progmodes/python.el (python-rx-constituents): Add coding-cookie. + (python-shell--save-temp-file): Write file with proper encoding. + (python-shell-buffer-substring): Add coding cookie for detected + encoding to generated content. Fix blank lines when removing + if-name-main block. + (python-shell-send-file): Handle file encoding. + (python-info-encoding-from-cookie) + (python-info-encoding): New functions. + +2014-12-27 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `tramp-rsh-end-of-line', it ought to be more robust. + +2014-12-27 Stefan Monnier + + * progmodes/js.el (js-syntax-propertize): "return" can't be divided + (bug#19397). + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'. + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n" + as end-of-line delimeter for passwords, when running on MS Windows. + +2014-12-27 Stefan Monnier + + * progmodes/sh-script.el (sh-set-shell): Don't change the global value + of indent-line-function (bug#19433). + +2014-12-27 Fabián Ezequiel Gallina + + Fix line numbers on Python shell. + * progmodes/python.el (python-shell--save-temp-file): Do not + append coding cookie. + (python-shell-send-string): Generalize for + python-shell-send-region. + (python--use-fake-loc): Delete var. + (python-shell-buffer-substring): Cleanup fake-loc logic. + (python-shell-send-region): Remove fake-loc logic, simplify. + +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-post-self-insert-function): + Make colon to re-indent only for dedenters, handling + multiline-statements gracefully. + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-handle-insert-file-contents): + Set `find-file-not-found-functions' in case of errors. (Bug#18623) + +2014-12-27 Michael Albinus + + * net/tramp-sh.el (tramp-send-command-and-read): New optional + arg MARKER. + (tramp-get-remote-path): Use it. + +2014-12-27 Stefan Monnier + + * subr.el (redisplay-dont-pause): Mark as obsolete. + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Call `message' properly. + (tramp-accept-process-output): Use nil as argument for + `accept-process-output', when there is a gateway prepended. + + * net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in + wrong debug buffer. + (tramp-gw-open-connection): Set process coding system 'binary. + (tramp-gw-open-network-stream): Handle HTTP error 403. + + * net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in + wrong debug buffer. + (tramp-maybe-open-connection): Set connection property "gateway". + +2014-12-27 Stefan Monnier + + * subr.el (sit-for): Tweak docstring (bug#19381). + +2014-12-27 Dmitry Gutov + + * vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date' + stage to after `diff-index' (bug#19386). + +2014-12-27 João Távora + + * textmodes/tex-mode.el (tex-insert-quote): Consider and respect + `electric-pair-mode' (bug#19356). + +2014-12-27 Dmitry Gutov + + elisp-xref-find: Don't create buffers eagerly. + + * progmodes/elisp-mode.el (elisp--identifier-location): Fold back + into `elisp--company-location'. + (elisp--identifier-completion-table): Rename to + `elisp--identifier-completion-table', and do not include just any + symbols with a property list. + (elisp-completion-at-point): Revert the 2014-12-25 change. + (elisp--xref-identifier-file): New function. + (elisp--xref-find-definitions): Use it. + + * emacs-lisp/find-func.el (find-function-library): New function, + extracted from `find-function-noselect'. + + * progmodes/xref.el (xref-elisp-location): New class. + (xref-make-elisp-location): New function. + (xref-location-marker): New implementation. + +2014-12-27 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): + Use shrink-window-if-larger-than-buffer in window-height + when temp-buffer-resize-mode is nil. + + * window.el (with-displayed-buffer-window): Remove window-height + from the action alist in the temp-buffer-window-show call + when window-height is handled explicitly afterwards (bug#19355). + +2014-12-27 Juri Linkov + + Support subdirectories when saving places in dired. + * saveplace.el (toggle-save-place, save-place-to-alist) + (save-places-to-alist, save-place-dired-hook): + Use dired-current-directory instead of dired-directory (bug#19436). + (save-place-dired-hook): Add check for alist to make the new + format future-proof to allow other possible formats. + +2014-12-26 Fabián Ezequiel Gallina + + python.el: Generate clearer shell buffer names. + * progmodes/python.el (python-shell-get-process-name) + (python-shell-internal-get-process-name): Use `buffer-name`. + (python-shell-internal-get-or-create-process): Simplify. + +2014-12-26 Dmitry Gutov + + Add basic xref apropos implementation to elisp-mode. + + * progmodes/elisp-mode.el (elisp--xref-find-definitions): + Filter out nil results. + (elisp--xref-find-apropos): New function. + (elisp-xref-find): Use it. + + * progmodes/xref.el (xref--show-xrefs): Use `user-error'. + +2014-12-25 Filipp Gunbin + + * dired-aux.el (dired-maybe-insert-subdir): Make + dired-maybe-insert-subdir always skip trivial files. + +2014-12-25 Helmut Eller + Dmitry Gutov + + Consolidate cross-referencing commands. + + Move autoloaded bindings for `M-.', `M-,', `C-x 4 .' and + `C-x 5 .' from etags.el to xref.el. + + * progmodes/xref.el: New file. + + * progmodes/elisp-mode.el (elisp--identifier-types): New variable. + (elisp--identifier-location): New function, extracted from + `elisp--company-location'. + (elisp--company-location): Use it. + (elisp--identifier-completion-table): New variable. + (elisp-completion-at-point): Use it. + (emacs-lisp-mode): Set the local values of `xref-find-function' + and `xref-identifier-completion-table-function'. + (elisp-xref-find, elisp--xref-find-definitions) + (elisp--xref-identifier-completion-table): New functions. + + * progmodes/etags.el (find-tag-marker-ring): Mark obsolete in + favor of `xref--marker-ring'. + (tags-lazy-completion-table): Autoload. + (tags-reset-tags-tables): Use `xref-clear-marker-stack'. + (find-tag-noselect): Use `xref-push-marker-stack'. + (pop-tag-mark): Make an alias for `xref-pop-marker-stack'. + (etags--xref-limit): New constant. + (etags-xref-find, etags--xref-find-definitions): New functions. + +2014-12-25 Martin Rudalics + + * cus-start.el (resize-mini-windows): Make it customizable. + +2014-12-24 Stephen Leake + + * startup.el (fancy-about-text): Change buttons for etc/CONTRIBUTE + to (info "(emacs)Contributing"). (Bug#19299) + +2014-12-24 Martin Rudalics + + * window.el (mouse-autoselect-window-position-1): New variable. + (mouse-autoselect-window-cancel) + (mouse-autoselect-window-select, handle-select-window): With + delayed autoselection select window only if mouse moves after + selecting its frame. + +2014-12-24 Michael Albinus + + * eshell/esh-ext.el (eshell-find-interpreter): Expand relative + remote file names. (Bug#18782) + +2014-12-23 Sam Steingold + + * shell.el (shell-display-buffer-actions): New user option. + (shell): Pass it to `pop-to-buffer' instead of hard-coding + `pop-to-buffer-same-window'. + +2014-12-23 Stefan Monnier + + * progmodes/js.el (js--syntax-propertize-regexp-syntax-table): New var. + (js-syntax-propertize-regexp): Use it to recognize "slash in + a character class" (bug#19397). + 2014-12-22 Stefan Monnier * completion.el: Use post-self-insert-hook (bug#19400). diff --cc lisp/emacs-lisp/eieio-custom.el index dc85b4cc892,fe88c864d52..d0eaaf24d2b --- a/lisp/emacs-lisp/eieio-custom.el +++ b/lisp/emacs-lisp/eieio-custom.el @@@ -1,6 -1,6 +1,6 @@@ - ;;; eieio-custom.el -- eieio object customization + ;;; eieio-custom.el -- eieio object customization -*- lexical-binding:t -*- -;; Copyright (C) 1999-2001, 2005, 2007-2014 Free Software Foundation, +;; Copyright (C) 1999-2001, 2005, 2007-2015 Free Software Foundation, ;; Inc. ;; Author: Eric M. Ludlam diff --cc lisp/emacs-lisp/eieio-speedbar.el index cf676256d43,1d031c3e7cc..b236f0f03e1 --- a/lisp/emacs-lisp/eieio-speedbar.el +++ b/lisp/emacs-lisp/eieio-speedbar.el @@@ -1,6 -1,6 +1,6 @@@ - ;;; eieio-speedbar.el -- Classes for managing speedbar displays. + ;;; eieio-speedbar.el -- Classes for managing speedbar displays. -*- lexical-binding:t -*- -;; Copyright (C) 1999-2002, 2005, 2007-2014 Free Software Foundation, +;; Copyright (C) 1999-2002, 2005, 2007-2015 Free Software Foundation, ;; Inc. ;; Author: Eric M. Ludlam diff --cc lisp/emacs-lisp/eieio.el index 361005414de,205f13108b8..419a78be469 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@@ -895,7 -926,7 +926,7 @@@ variable PRINT-FUNCTION. Optional argu ;;; Start of automatically extracted autoloads. - ;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "62709d76ae43f4fe70ed922391f9c64d") -;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "7d3c0bca065713ae74af0c07778dd1f4") ++;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "9a908efef1720439feb6323c1dd01770") ;;; Generated autoloads from eieio-custom.el (autoload 'customize-object "eieio-custom" "\ @@@ -906,7 -937,7 +937,7 @@@ Optional argument GROUP is the sub-grou ;;;*** - ;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "76058d02377b677eed3d15c28fc7ab21") -;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "7267115a161243e1e6ea75f2d25c8ebc") ++;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "e922bf7ebc7dcb272480c4ba148da1ac") ;;; Generated autoloads from eieio-opt.el (autoload 'eieio-browse "eieio-opt" "\ diff --cc lisp/gnus/ChangeLog index 93117d31c99,91c08c49d48..20de9aea136 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@@ -1,21 -1,7 +1,25 @@@ + 2015-01-08 Stefan Monnier + + * registry.el: Don't use as a variable. + +2014-12-29 Paul Eggert + + * message.el (message-make-fqdn): + * nnvirtual.el (nnvirtual-retrieve-headers) + (nnvirtual-update-xref-header): Prefer (system-name) to system-name, + and avoid naming locals 'system-name'. + +2014-12-29 Lars Ingebrigtsen + + * mm-decode.el (mm-shr): Bind `shr-width' to `fill-column' so that + lines don't get overlong when responding. + +2014-12-19 Andreas Schwab + - * gnus-group.el (gnus-read-ephemeral-bug-group): Bind - coding-system-for-read and coding-system-for-write only around ++ * gnus-group.el (gnus-read-ephemeral-bug-group): ++ Bind coding-system-for-read and coding-system-for-write only around + with-temp-file, and make buffer unibyte. Don't write temp file twice. + 2014-12-18 Paul Eggert * registry.el (registry-db): Set default slot later. @@@ -73,9 -59,9 +77,9 @@@ 2014-12-09 Lars Magne Ingebrigtsen -- * gnus-art.el (gnus-article-mime-handles): Refactored out into own ++ * gnus-art.el (gnus-article-mime-handles): Refactor out into own function for reuse. -- (gnus-mime-buttonize-attachments-in-header): Adjusted. ++ (gnus-mime-buttonize-attachments-in-header): Adjust. 2014-12-07 Lars Magne Ingebrigtsen diff --cc test/ChangeLog index bb061478b30,ca10ddaca68..83bb8bf00c7 --- a/test/ChangeLog +++ b/test/ChangeLog @@@ -1,86 -1,57 +1,139 @@@ + 2015-01-08 Stefan Monnier + + * automated/eieio-tests.el (eieio-test-23-inheritance-check): Don't use + -child-p. + + * automated/eieio-test-methodinvoke.el (eieio-test-method-store): + Update reference to eieio--generic-call-key. + -2015-01-07 Stefan Monnier ++2015-01-08 Stefan Monnier + + * automated/eieio-tests.el: Use cl-lib. Don't use as a variable. + Don't use -list types and -list-p predicates. + + * automated/eieio-test-persist.el (persistent-with-objs-list-slot): + Don't use -list type. + + * automated/eieio-test-methodinvoke.el + (eieio-test-method-order-list-4): + Don't use as a variable. + -2015-01-05 Stefan Monnier ++2015-01-08 Stefan Monnier + + * 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. + + * 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. + -2014-12-29 Stefan Monnier ++2015-01-08 Stefan Monnier + + * automated/eieio-test-methodinvoke.el (eieio-test-method-store): + Adjust to new semantics of eieio--scoped-class. + (eieio-test-match): Improve error feedback. + -2014-12-23 Stefan Monnier ++2015-01-08 Stefan Monnier + + * automated/eieio-tests.el: Remove dummy object names. + + * automated/eieio-test-persist.el (persistent-with-objs-slot-subs): + The type FOO-child is the same as FOO. + -2014-12-22 Stefan Monnier ++2015-01-08 Stefan Monnier + + * automated/eieio-test-methodinvoke.el (eieio-test-method-store): + Remove use of eieio-generic-call-methodname. + (eieio-test-method-order-list-3, eieio-test-method-order-list-6) + (eieio-test-method-order-list-7, eieio-test-method-order-list-8): + Adjust the expected result accordingly. + +2015-01-01 Michael Albinus + + * automated/tramp-tests.el (tramp--test-smb-or-windows-nt-p): + New defun. + (tramp-test30-special-characters): Use it. (Bug#19463) + (tramp--test-check-files): Filter nil file names out. + +2015-01-01 Michael Albinus + + Sync with Tramp 2.2.11. + + * automated/tramp-tests.el (tramp-test30-special-characters): + Skip test on MS-Windows. + +2014-12-27 Glenn Morris + + * automated/let-alist.el: Load dependency. + +2014-12-27 Fabián Ezequiel Gallina + + * automated/python-tests.el - (python-shell-completion-native-interpreter-disabled-p-1): New - test. ++ (python-shell-completion-native-interpreter-disabled-p-1): New test. + +2014-12-27 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-shell-get-or-create-process-1) + (python-shell-get-or-create-process-2) + (python-shell-get-or-create-process-3): Remove tests. + +2014-12-27 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-shell-buffer-substring-9): New test. + +2014-12-27 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-shell-buffer-substring-1) + (python-shell-buffer-substring-2, python-shell-buffer-substring-3) + (python-shell-buffer-substring-4, python-shell-buffer-substring-5) + (python-shell-buffer-substring-6, python-shell-buffer-substring-7) + (python-shell-buffer-substring-8) + (python-info-encoding-from-cookie-1) + (python-info-encoding-from-cookie-2) + (python-info-encoding-from-cookie-3) + (python-info-encoding-from-cookie-4) + (python-info-encoding-from-cookie-5) + (python-info-encoding-from-cookie-6) + (python-info-encoding-from-cookie-7, python-info-encoding-1) + (python-info-encoding-2): New tests. + +2014-12-27 Michael Albinus + + * automated/tramp-tests.el (tramp-test17-insert-directory): Do not + expect a given order of "." and "..". + +2014-12-27 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-indent-electric-colon-2) + (python-indent-electric-colon-3): New tests. + +2014-12-27 João Távora + + * automated/electric-tests.el (autowrapping-7): Tests for + tex-mode. + +2014-12-27 Glenn Morris + + * automated/flymake/warnpred/test.pl: Tweak format, since the + previous one seems to have stopped giving a warning with perl 5.20.1. + +2014-12-26 Fabián Ezequiel Gallina + + * automated/python-tests.el (python-shell-get-process-name-1) + (python-shell-internal-get-process-name-1): Cleanup. + (python-shell-get-process-name-2) + (python-shell-internal-get-process-name-2): New tests. + (python-shell-calculate-command-1) + (python-shell-calculate-process-environment-3) + (python-shell-calculate-exec-path-2, python-shell-make-comint-1) + (python-shell-make-comint-2, python-shell-make-comint-4) + (python-shell-get-process-1, python-util-clone-local-variables-1): + Replace obsolete function and variable references with current. + 2014-12-19 Artur Malabarba * automated/let-alist.el: require `cl-lib'