+2008-04-03 Kenichi Handa <handa@m17n.org>
+
+ * international/latin1-disp.el (latin1-display): Don't use
+ make-char. Fix the argument to set-char-table-range.
+ (latin1-display-identities): Don't use make-char.
+ (latin1-display-reset): Use map-charset-chars instead of directly
+ calling standard-display-default.
+ (latin1-display-check-font): Don't use make-char.
+ (latin1-display-setup): Likewise.
+ (latin1-display-ucs-per-lynx): Likewise.
+
+2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/timer.el (timer): Define as a defstruct, so we can
+ name the fields, to make the code clearer.
+ Rewrite all `aset' and `aref' using the defined accessors.
+ (timer--time): New pseudo-field.
+ (timer-set-time, timer-set-idle-time, timer-inc-time)
+ (timer-set-time-with-usecs, with-timeout-suspend): Use it.
+ (timer--time-less-p): New function.
+ (timer--activate): New function, extracted from timer-activate.
+ (timer-activate-when-idle, timer-activate): Use it.
+ (cancel-function-timers): Use dolist.
+
+2008-04-03 Glenn Morris <rgm@gnu.org>
+
+ * add-log.el (c-beginning-of-defun, c-end-of-defun):
+ Remove declarations; no longer used.
+ (c-cpp-define-name, c-defun-name): Declare as functions.
+
+ * calendar/diary-lib.el (diary-mail-addr): Use bound-and-true-p.
+
+ * net/tramp.el (tramp-drop-volume-letter): Move definition before use.
+
+2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc-mtn.el (vc-mtn-command): Avoid localization of messages.
+
+ * vc-bzr.el (vc-bzr-checkout): Simplify.
+
+ * image-mode.el (image-mode-fit-frame): New command.
+
+ * simple.el (beginning-of-buffer, end-of-buffer, goto-line, undo)
+ (copy-region-as-kill, kill-ring-save, use-region-p, mark-word)
+ (keyboard-escape-quit): Check region-active-p i.s.o transient-mark-mode.
+
+2008-04-02 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-cmds.el (c-defun-name, c-cpp-define-name):
+ New optimised functions to get the name of the current defun/macro.
+
+ * add-log.el (add-log-current-defun): Move the functionality which
+ gets the current function name for C like modes to cc-cmds.el,
+ thus optimising for speed.
+
+2008-04-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * simple.el (deactivate-mark): When the mark is temporarily
+ active, restore the original value of transient-mark-mode.
+ (set-mark-command): First deactivate the mark if was temporarily active.
+ (exchange-point-and-mark): Reactivate the mark if it was
+ temporarily active.
+ (handle-shift-selection): New fun.
+ (transient-mark-mode): Move var documentation here from buffer.c.
+ (next-line, previous-line, backward-word, move-end-of-line)
+ (move-beginning-of-line, forward-to-indentation)
+ (backward-to-indentation, back-to-indentation)
+ (beginning-of-buffer, end-of-buffer): Add ^ interactive spec.
+
+ * mouse.el (mouse-set-region-1): Save the old value of
+ transient-mark-mode.
+ (mouse-drag-track): Ignore the now-obsolete value `identity' for
+ transient-mark-mode.
+
+ * textmodes/paragraphs.el (forward-paragraph)
+ (backward-paragraph, forward-sentence, backward-sentence): Add ^
+ interactive spec.
+
+ * emulation/cua-base.el (cua-mode): Turn off shift-select-mode.
+
+2008-04-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-make-tramp-temp-file):
+ Use `tramp-drop-volume-letter' for the local file name part.
+
+2008-04-02 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * progmodes/sh-script.el (sh-mode-map): Rename the menu. Add :help.
+ Add menu entries corresponding to all the key bindings.
+
+ * emacs-lisp/debug.el (debugger-mode-map):
+ * textmodes/conf-mode.el (conf-mode-map): Add a menu.
+ (conf-align-assignments): Only work on the region if it is active.
+ (conf-quote-normal): Use when instead of if. Remove redundant test.
+
+ * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Add menu entries
+ for tracing and re-builder.
+
+2008-04-02 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-disp-window-function): Doc fix.
+ (appt-display-message): Move beep before display.
+ (appt-check): Make interactive. Reduce the number of lets.
+ Use string-equal to compare mode-line strings.
+ (appt-disp-window): Pluralize "minute" as needed. Make appt buffer
+ read-only.
+ (appt-select-lowest-window, appt-make-list): Reduce the number of lets.
+ (appt-delete): Simplify.
+
+ * calendar/cal-china.el (holiday-chinese-new-year): Use a single let.
+
+ * calendar/cal-dst.el (calendar-time-zone-daylight-rules): Simplify.
+
+ * calendar/cal-hebrew.el (list-yahrzeit-dates):
+ * calendar/cal-tex.el (cal-tex-insert-blank-days-at-end)
+ (cal-tex-last-blank-p, cal-tex-daily-page): Expand calendar-for-loops.
+
+ * calendar/calendar.el (diary-entry-marker, calendar-today-marker)
+ (calendar-holiday-marker, mark-visible-calendar-date):
+ * calendar/diary-lib.el (fancy-diary-display):
+ Check for font-lock-mode before using faces.
+
+ * calendar/calendar.el (hebrew-holidays-3, generate-calendar-month)
+ (calendar-gregorian-from-absolute): Reduce the number of lets.
+ (hebrew-holidays-4, generate-calendar-window): Simplify.
+ (calendar-for-loop): Make obsolete.
+ (calendar-nth-named-day): Doc fix.
+
+ * calendar/diary-lib.el (diary-list-entries, fancy-diary-display)
+ (print-diary-entries, mark-sexp-diary-entries, calendar-mark-complex)
+ (calendar-mark-1, list-sexp-diary-entries, diary-remind):
+ Reduce the number of lets.
+ (mark-sexp-diary-entries, calendar-mark-complex):
+ Expand calendar-for-loops.
+
+2008-04-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * find-dired.el (find-dired-filter): Fix last patch to handle
+ multi-line process input. Pad link numbers too.
+
+2008-04-01 Jari Aalto <jari.aalto@cante.net>
+
+ * find-dired.el (find-dired-filter): Align columns by padding file sizes.
+
+2008-04-01 Jason Rumney <jasonr@gnu.org>
+
+ * international/characters.el (script-list): Add phonetic script,
+ covering IPA (previously Latin), Phonetic Extensions and
+ Phonetic Extensions Supplement (both previously unassigned).
+
+ * international/fontset.el (setup-default-fontset): Use unicode fonts
+ that cover bopomofo script for bopomofo.
+ Likewise for braille and mathematical.
+ Use unicode scripts that cover the phonetic script for IPA.
+
+2008-04-01 Johan Bockgård <bojohan@gnu.org>
+
+ * emacs-lisp/cl-macs.el (frame-parameter) <defsetf>: Make it
+ return the assigned value.
+
+2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * abbrev.el (abbrev-mode): Use define-minor-mode.
+
+ * mouse.el (mouse-major-mode-menu-prefix): Remove. Remove uses.
+ (mouse-menu-non-singleton): Rename from mouse-major-mode-menu-1.
+ Use map-keymap.
+ (minor-mode-menu-from-indicator): Use it. Simplify.
+
+ * bindings.el (mode-line-mode-menu): Move before (new) first use.
+ (mode-line-major-mode-keymap, mode-line-minor-mode-keymap):
+ Bind the key directly to the menu.
+ (mode-line-mode-menu-1, mode-line-mode-menu): Remove functions.
+
+2008-04-01 Daiki Ueno <ueno@unixuser.org>
+
+ * epa.el (epa-decrypt-region): Explain the reason why this
+ function should not be used in Lisp programs.
+ (epa-decrypt-armor-in-region): Ditto.
+ (epa-verify-region): Ditto.
+ (epa-verify-cleartext-in-region): Ditto.
+ (epa-sign-region): Ditto.
+ (epa-encrypt-region): Ditto.
+
+ * epg.el (epg-start-receive-keys): Fix typo in docstring.
+
+ * epa.el (epa-select-keys): Show menu even if there is no key in
+ GnuPG's keyring.
+
+2008-04-01 Glenn Morris <rgm@gnu.org>
+
+ * calendar/calendar.el (calendar-make-temp-face): New function.
+ (mark-visible-calendar-date):
+ * calendar/diary-lib.el (fancy-diary-display): Use it.
+
+ * vc-hooks.el (vc-responsible-backend): Declare as function.
+
+ * calendar/calendar.el (calendar-nongregorian-visible-p): New function.
+ * calendar/cal-hebrew.el (calendar-hebrew-date-is-visible-p):
+ * calendar/cal-julian.el (holiday-julian): Use it.
+
+ * calendar/cal-hebrew.el (hebrew-calendar-elapsed-days): Doc fix.
+ (calendar-hebrew-date-is-visible-p): Extract some common code into
+ separate function.
+ (holiday-hebrew, mark-hebrew-calendar-date-pattern): Use it.
+
+ * calendar/cal-menu.el (cal-menu-holidays-menu):
+ * calendar/calendar.el (calendar-mode-map): Use calendar-mark-holidays
+ rather than obsolete alias.
+
+ * calendar/calendar.el (mark-visible-calendar-date): Also use overlay
+ for mark characters.
+ (calendar-unmark): Unmark by removing all overlays, rather than
+ redrawing.
+ (calendar-starred-day): Remove.
+ (calendar-mode): Disable undo. Don't make calendar-starred-day local.
+ (calendar-cursor-to-date): No need for special star handling now
+ using overlays.
+ (calendar-star-date): Use overlays.
+
+ * calendar/cal-french.el (calendar-goto-french-date):
+ * calendar/cal-hebrew.el (calendar-hebrew-from-absolute)
+ (holiday-hanukkah, mark-hebrew-calendar-date-pattern):
+ * calendar/cal-move.el (calendar-forward-month, calendar-end-of-month):
+ * calendar/cal-persia.el (calendar-persian-date-string):
+ * calendar/cal-tex.el (cal-tex-cursor-month-landscape)
+ (cal-tex-cursor-month, cal-tex-LaTeXify-string):
+ * calendar/lunar.el (lunar-phase-list, lunar-new-moon-on-or-after):
+ * calendar/solar.el (solar-equinoxes-solstices):
+ Reduce nesting of some lets.
+
+ * calendar/cal-mayan.el (calendar-string-to-mayan-long-count):
+ (calendar-goto-mayan-long-count-date): Simplify.
+
+ * calendar/holidays.el (calendar-holiday-list, holiday-easter-etc):
+ Simplify by using mapcar.
+ (calendar-list-holidays): Return holiday-list.
+ (list-holidays): Use let rather than let*. Remove un-needed locals
+ `d', `never'.
+ (calendar-check-holidays): Return result from dolist.
+ (holiday-float): Use a single let*. Simplify if-and to and.
+ (holiday-sexp, holiday-advent, holiday-greek-orthodox-easter): Use a
+ single let*.
+
+2008-04-01 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc.el: Autoload `calc-yank'.
+ (calc-mode-map): Add keybindings for `calc-yank'.
+ * calc/calc-ext.el (calc-init-extensions): Remove keybinding
+ assignments for `calc-yank'.
+
+2008-03-31 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc.el (vc-status-add-entry): Assume ENTRY is a list, not a cons.
+ (vc-status-mark-buffer-changed): Handle the extra field.
+
+ * vc-bzr.el (vc-bzr-after-dir-status):
+ * vc-cvs.el (vc-cvs-after-dir-status):
+ * vc-hg.el (vc-hg-after-dir-status):
+ * vc-svn.el (vc-svn-after-dir-status): Return a list, not a cons.
+
+2008-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * doc-view.el: Compute displayed pages first (in PDF).
+ (doc-view-current-converter-processes): Rename from
+ doc-view-current-converter-process. Update users.
+ (doc-view-sentinel): Test buffer's liveness.
+ (doc-view-pdf/ps->png-sentinel): Remove.
+ (doc-view-start-process): New function.
+ (doc-view-dvi->pdf, doc-view-pdf/ps->png, doc-view-pdf->txt)
+ (doc-view-ps->pdf): Use it.
+ (doc-view-pdf->png-1, doc-view-pdf->png, doc-view-active-pages):
+ New functions.
+ (doc-view-convert-current-doc, doc-view-goto-page): Use them.
+ (doc-view-mode): Kill the processes when leaving the mode.
+
+2008-03-31 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lisp/bytecomp.el (byte-compile-warnings-safe-p):
+ Use `byte-compile-warning-types'. Add docstring.
+
+2008-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * smerge-mode.el (smerge-apply-resolution-patch): New fun.
+ (smerge-resolve): Add various resolution heuristics.
+
+ * smerge-mode.el (smerge-refine): Allow highlighting other subparts
+ in 3-way conflicts.
+
+2008-03-31 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-bahai.el (diary-bahai-mark-entries):
+ * calendar/cal-hebrew.el (mark-hebrew-diary-entries):
+ * calendar/cal-islam.el (mark-islamic-diary-entries):
+ Fix argument order in call to diary-mark-entries-1.
+
+ * calendar/cal-bahai.el (calendar-bahai-date-string): Avoid an error for
+ pre-Bahai dates.
+ (holiday-bahai): Use an algorithm actually relevant to this calendar
+ system.
+
+ * calendar/cal-china.el (holiday-chinese-new-year): Doc fix.
+
+ * calendar/cal-islam.el (holiday-islamic): Remove un-needed let.
+ Use and.
+
+ * calendar/cal-julian.el (holiday-julian): Fix a problem with holidays
+ in the last fortnight in Julian October.
+
+ * calendar/calendar.el (increment-calendar-month): Optionally handle
+ systems without 12 months per year.
+
+ (calendar-date-is-visible-p): Doc fix. Simplify.
+
+ * calendar/holidays.el (holiday-filter-visible-calendar): Return result
+ from dolist.
+
+2008-03-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * hi-lock.el (hi-lock-mode): Fix typos in docstring.
+ (hi-lock-unload-function): New function.
+
+2008-03-30 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-do-copy-or-rename-file): Fix check for
+ overwriting when NEWNAME is a local file.
+
+ * net/trampver.el: Update release number.
+
+2008-03-30 Alexandre Julliard <julliard@winehq.org>
+
+ * vc-git.el: Make vc-status display information about copies,
+ renames and permission changes.
+ (vc-git-extra-fileinfo): New defstruct.
+ (vc-git-escape-file-name, vc-git-file-type-as-string)
+ (vc-git-rename-as-string, vc-git-permissions-as-string)
+ (vc-git-status-printer): New functions.
+ (vc-git-after-dir-status-stage2): Also return vc-git-extra-fileinfo.
+ (vc-git-after-dir-status-stage1): Look for copies, renames and
+ permission changes.
+ (vc-git-after-dir-status-stage1-empty-db): Set permissions.
+ (vc-git-dir-status): Ask for staged files and renames.
+
+2008-03-30 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc.el: Allow backends to display backend specific information in
+ the vc-status listing.
+ (vc-status-fileinfo): Add a field for backend specific information.
+ (vc-status-printer): Rename to ...
+ (vc-default-status-printer): ... this.
+ (vc-status-printer): New function.
+ (vc-update-vc-status-buffer): Set the backend specific file info
+ if provided.
+
+2008-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/remember.el (remember-diary-convert-entry): Revert last
+ change (ill-conceived).
+
+2008-03-29 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-hebrew.el (holiday-hebrew): Simplify.
+ * calendar/cal-julian.el (holiday-julian): Simplify.
+
+ * calendar/holidays.el (list-holidays): Use or.
+
+2008-03-29 Juri Linkov <juri@jurta.org>
+
+ * window.el (split-window-preferred-horizontally): New function.
+
+ * cus-start.el (split-window-preferred-function):
+ Set choice for "vertically" to nil instead of split-window.
+ Set choice for "horizontally" to split-window-preferred-horizontally
+ instead of lambda.
+
+2008-03-29 Juri Linkov <juri@jurta.org>
+
+ * simple.el (minibuffer-default-add-function): New variable with
+ the default to minibuffer-default-add-completions.
+ (minibuffer-default-add-done): New variable. Make it buffer-local.
+ (minibuffer-default-add-completions): New function.
+ (goto-history-element): Set minibuffer-default-add-done to t and
+ call a function in minibuffer-default-add-function when the
+ specified absolute history position is greater than the length of
+ the minibuffer-default list and minibuffer-default-add-done is nil.
+ Change "^End of history; no next item$" to "^End of defaults;
+ no next item$".
+
+ * bindings.el (debug-ignored-errors): Change "^End of history;
+ no next item$" to "^End of defaults; no next item$".
+
+2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (with-temp-buffer): Assume kill-buffer can change cur-buf.
+
+ * textmodes/remember.el (remember-diary-convert-entry): Prefer boundp
+ to with-no-warnings.
+
+2008-03-29 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.1.13.
+
+ * net/tramp-ftp.el: Require 'cl when byte-compiling.
+
+ * net/trampver.el: Update release number.
+
+2008-03-29 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc-hooks.el (vc-menu-map-filter): Be more careful when finding
+ the current backend.
+
+ * vc.el (vc-status-menu-map, vc-status-mode-map): Bind vc-revert.
+ (vc-status-refresh): Create a temporary buffer and call the
+ `dir-status' backend function from that buffer.
+
+ * vc-bzr.el (vc-bzr-dir-status): Don't create a buffer.
+ (vc-bzr-after-dir-status): Don't kill the buffer.
+
+ * vc-cvs.el (vc-cvs-dir-status): Don't create a buffer.
+ (vc-cvs-after-dir-status): Don't kill the buffer.
+
+ * vc-git.el (vc-git-dir-status): Don't create a buffer.
+ (vc-git-after-dir-status-stage2): Don't kill the buffer.
+
+ * vc-hg.el (vc-hg-dir-status): Don't create a buffer.
+ (vc-hg-after-dir-status): Don't kill the buffer.
+
+ * vc-svn.el (vc-svn-dir-status): Don't create a buffer.
+ (vc-svn-after-dir-status): Don't kill the buffer.
+
+2008-03-29 Glenn Morris <rgm@gnu.org>
+
+ * calendar/calendar.el (diary-file, american-date-diary-pattern)
+ (european-date-diary-pattern, european-calendar-display-form)
+ (american-calendar-display-form, diary-display-hook): Doc fixes.
+ (european-calendar-style): Doc fix. Use calendar-set-date-style for
+ custom :set. Mark as obsolete.
+ (calendar-date-style, iso-date-diary-pattern)
+ (iso-calendar-display-form): New user variables.
+ (diary-date-forms, calendar-date-display-form): Set using
+ calendar-date-style. Doc fix.
+ (calendar-set-date-style): New command.
+ (european-calendar, american-calendar): Use calendar-set-date-style.
+ Mark as obsolete.
+
+ * calendar/diary-lib.el (number): Move declaration where needed.
+ (diary-mail-entries, list-sexp-diary-entries): Doc fixes.
+ (diary-make-date): New function.
+ (diary-date, diary-block, diary-anniversary, diary-cyclic): Doc fix.
+ Use diary-make-date.
+ (diary-date-display-form, diary-insert-entry-1): New functions.
+ (insert-monthly-diary-entry, insert-yearly-diary-entry):
+ Use diary-insert-entry-1.
+ (insert-anniversary-diary-entry, insert-block-diary-entry)
+ (insert-cyclic-diary-entry): Use diary-date-display-form.
+
+ * calendar/cal-bahai.el, calendar/cal-hebrew.el, calendar/cal-islam.el:
+ Autoload diary-insert-entry-1.
+ * calendar/cal-bahai.el (diary-bahai-insert-entry)
+ (diary-bahai-insert-monthly-entry, diary-bahai-insert-yearly-entry):
+ * calendar/cal-hebrew.el (insert-hebrew-diary-entry)
+ (insert-monthly-hebrew-diary-entry, insert-yearly-hebrew-diary-entry)
+ * calendar/cal-islam.el (insert-islamic-diary-entry)
+ (insert-monthly-islamic-diary-entry, insert-yearly-islamic-diary-entry):
+ Use diary-insert-entry-1.
+
+ * calendar/cal-hebrew.el (diary-make-date): Autoload it.
+ (diary-yahrzeit): Doc fix. Use diary-make-date.
+
+ * calendar/icalendar.el (icalendar--datetime-to-american-date):
+ New name for icalendar--datetime-to-noneuropean-date. Make old name
+ obsolete alias.
+ (icalendar--datetime-to-iso-date): New function.
+ (icalendar--datetime-to-diary-date): Doc fix. Respect
+ calendar-date-style if bound.
+
+ * textmodes/remember.el (remember-diary-convert-entry):
+ Respect calendar-date-style if bound.
+
+2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xt-mouse.el (xterm-mouse-mode): Use delete-terminal-functions.
+ (xterm-mouse-handle-delete-frame): Delete.
+
+ * term/xterm.el (terminal-init-xterm): Use delete-terminal-functions.
+ (xterm-turn-on-modify-other-keys, xterm-turn-off-modify-other-keys)
+ (xterm-remove-modify-other-keys): Lookup terminal rather than frame
+ in xterm-modify-other-keys-terminal-list.
+
+ * vc-bzr.el (vc-bzr-state-heuristic): Fix last change for when there
+ are conflicts.
+
+2008-03-29 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc.el (vc-update): Check if the buffer is unsaved only if it
+ actually exists.
+ (vc-status-mode-map, vc-status-menu-map): Bind vc-update and
+ vc-print-log.
+
+2008-03-28 Magnus Henoch <mange@freemail.hu>
+
+ * net/dns.el (dns-write): Use set-buffer-multibyte.
+
+2008-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc-bzr.el (vc-bzr-sha1): New fun.
+ (vc-bzr-state-heuristic): New fun, extracted from vc-bzr-registered.
+ (vc-bzr-registered): Use it.
+
+2008-03-28 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc.el (vc-status-kill-dir-status-process): Simplify.
+ (vc-status-refresh): Make sure the buffer is live.
+ (ring): Don't require it, not used.
+
2008-03-28 Wilson Snyder <wsnyder@wsnyder.org>
* progmodes/verilog-mode.el (verilog-auto-inout-module):
2008-03-26 Jay Belanger <jay.p.belanger@gmail.com>
- * calc/calc-store.el (calc-read-var-name-history):
- New variable.
+ * calc/calc-store.el (calc-read-var-name-history): New variable.
(calc-read-var-name): Use `calc-read-var-name-history'.
2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Define and
initialize in one step. Add :help. Use :enable to activate menu
- items. Show the key binding for edebug-defun.
+ items. Show the key binding for edebug-defun.
(lisp-interaction-mode-map): Add a menu.
* term.el (term-mode-map): Define and initialize in one step.