Further GV/CL cleanups.
[bpt/emacs.git] / lisp / ChangeLog
index d08b972..4a92a42 100644 (file)
+2012-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Further GV/CL cleanups.
+       * emacs-lisp/gv.el (gv-get): Autoload functions to find their
+       gv-expander.
+       (gv--defun-declaration): New function.
+       (defun-declarations-alist): Use it.
+       (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove.
+       (gv-place): Autoload.
+       * emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's
+       original definition of dotimes and dolist.
+       * emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused.
+       (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'.
+       * emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here.
+       (cl-fifth, cl-sixth, cl-seventh, cl-eighth)
+       (cl-ninth, cl-tenth): Move gv handler to the function's definition.
+       * emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler
+       to the function's definition.
+       * Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%.
+       * window.el:
+       * files.el:
+       * faces.el:
+       * env.el: Don't use CL.
+
+2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Support higher-resolution time stamps (Bug#9000).
+
+       * calendar/time-date.el (with-decoded-time-value): New arg
+       PICO-SYMBOL in VARLIST.  It's optional, for backward compatibility.
+       (encode-time-value): New optional arg PICO.  New type 3.
+       (time-to-seconds) [!float-time]: Support the new picoseconds
+       component if it's used.
+       (seconds-to-time, time-subtract, time-add):
+       Support ps-resolution time stamps as well.
+
+       * emacs-lisp/timer.el (timer): New component psecs.  All uses changed.
+       (timerp): Timer vectors now have length 9, not 8.
+       (timer--time): Support new-style (4-part) time stamps.
+       (timer-next-integral-multiple-of-time): Time stamps now have
+       picosecond resolution, so take a bit more care about rounding.
+       (timer-relative-time, timer-inc-time): New optional arg psecs.
+       (timer-set-time-with-usecs): Set psecs to 0.
+       (timer--activate): Check psecs component, too.
+
+       * proced.el (proced-time-lessp): Support ps-resolution stamps.
+
+2012-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * icomplete.el (icomplete-minibuffer-setup, icomplete-completions):
+       Move the non-essential binding to the post/pre-command-hook where it is
+       more obviously correct.
+
+       * subr.el (read-passwd): Don't use a history at all.
+       * savehist.el (savehist-save): Remove password saved accidentally
+       because of the above bug.
+
+2012-06-22  Bastien Guerry  <bzg@gnu.org>
+
+       * files.el (toggle-read-only): Display a message telling whether
+       the buffer is read-only or not (bug#11726).
+
+2012-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/gv.el: New file.
+       * subr.el (push, pop): Extend to generalized variables.
+       * loadup.el (macroexp): Unload if preloaded and uncompiled (bug#11657).
+       * emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove.
+       * emacs-lisp/cl-macs.el: Require gv.  Use gv-define-setter,
+       gv-define-simple-setter, and gv-define-expander.
+       Remove setf-methods defined in gv.  Rename cl-setf -> setf.
+       (cl-setf, cl-do-pop, cl-get-setf-method): Remove.
+       (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf)
+       (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el.
+       (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with
+       gv-letplace.
+       (cl-defstruct): Don't define setf-method any more.
+       * emacs-lisp/cl.el (flet): Don't autoload.
+       (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt)
+       (define-setf-expander, defsetf, define-modify-macro)
+       (cl-struct-setf-expander): Move from cl-lib.el.
+       * emacs-lisp/syntax.el:
+       * emacs-lisp/ewoc.el:
+       * emacs-lisp/smie.el:
+       * emacs-lisp/cconv.el:
+       * emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push.
+       (timer--time): Use gv-define-simple-setter.
+       * emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let²
+       to avoid coding-system problems in subr.el.  Adjust all users.
+       (macroexp--maxsize, macroexp-small-p): New functions.
+       * emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf.
+       * scroll-bar.el (scroll-bar-mode):
+       * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode)
+       (normal-erase-is-backspace-mode): Don't use the `eq' place.
+       * winner.el (winner-configuration, winner-make-point-alist)
+       (winner-set-conf, winner-get-point, winner-set): Don't abuse letf.
+       * files.el (locate-file-completion-table): Avoid list*.
+
+2012-06-22  Chong Yidong  <cyd@gnu.org>
+
+       * dired-aux.el (dired-do-create-files): Doc fix (Bug#11327).
+       (dired-create-files): Doc fix (Bug#11329).
+       (dired-do-copy): Doc fix (Bug#11334).
+       (dired-mark-read-string): Doc fix (Bug#11553).
+
+       * dired.el (dired-recursive-copies, dired-recursive-deletes):
+       Doc fix (Bug#11326).
+       (dired-make-relative): Doc fix (Bug#11332).  Remove unused arg.
+       (dired-dwim-target): Doc fix.
+
+       * wdired.el (wdired-mode): Doc fix.
+
+2012-06-22  Glenn Morris  <rgm@gnu.org>
+
+       * pcmpl-rpm.el (pcmpl-rpm-cache): New option.
+       (pcmpl-rpm-cache-stamp-file): New constant.
+       (pcmpl-rpm-cache-time, pcmpl-rpm-packages): New variables.
+       (pcmpl-rpm-packages): Optionally cache list of packages.
+
+       * pcmpl-rpm.el (pcmpl-rpm): New group.
+       (pcmpl-rpm-query-options): New option.
+       (pcmpl-rpm-packages): No need to inline it.
+       Use pcmpl-rpm-query-options.
+
+       * calendar/calendar.el (calendar-in-read-only-buffer):
+       Avoid some needless mode changes.
+
+2012-06-21  Chong Yidong  <cyd@gnu.org>
+
+       * desktop.el (desktop-read): Don't prompt if daemon (Bug#11674).
+       (desktop-path): Remove . from the default value (Bug#10977).
+       (desktop-read): Use user-emacs-directory if desktop-path is nil.
+
+2012-06-20  Chong Yidong  <cyd@gnu.org>
+
+       * term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172).
+
+2012-06-20  David Röthlisberger  <david@rothlis.net>  (tiny change)
+
+       * ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j
+       (bug#11201).
+
 2012-06-20  Chong Yidong  <cyd@gnu.org>
 
        * term.el (term-window-width): Handle the case of a missing right
        fringe (Bug#8837).
        (term-check-size): Use window-text-height (Bug#5445).
        (term-mode): Use define-derived-mode.  Minor cleanups.
+       Set font-lock-defaults (Bug#7692).
+       (term-move-columns, term-insert-char, term-emulate-terminal)
+       (term-erase-in-line, term-insert-spaces): Use font-lock-face.
 
 2012-06-20  Michael Albinus  <michael.albinus@gmx.de>
 
-       * net/ange-ftp.el (ange-ftp-get-passwd): Bind
-       `enable-recursive-minibuffers'.
+       * net/ange-ftp.el (ange-ftp-get-passwd):
+       Bind `enable-recursive-minibuffers'.
        (ange-ftp-get-process): Throw if `non-essential' is non-nil.
 
 2012-06-19  David Röthlisberger  <david@rothlis.net>  (tiny change)