1. 29 Sep, 2012 1 commit
    • Glenn Morris's avatar
      Use define-minor-mode for winner-mode · 5cc2e639
      Glenn Morris authored
      * lisp/winner.el (winner-mode): Remove variable (let define-minor-mode
      handle it).
      (winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook):
      Doc fixes.
      (winner-mode-leave-hook): Rename to winner-mode-off-hook.
      (winner-mode): Use define-minor-mode.
      
      * etc/NEWS: Mention winner-mode-hook.
      5cc2e639
  2. 27 Sep, 2012 1 commit
  3. 25 Sep, 2012 1 commit
    • Chong Yidong's avatar
      Use declare forms, where possible, to mark obsolete functions. · 59f7af81
      Chong Yidong authored
      * lisp/allout.el (allout-passphrase-hint-string): Likewise.
      (allout-init): Use a declare form to mark obsolete.
      
      * lisp/calendar/calendar.el (calendar-version):
      * lisp/calendar/icalendar.el (icalendar-extract-ical-from-buffer)
      (icalendar-convert-diary-to-ical):
      * lisp/cus-edit.el (custom-mode):
      * lisp/ansi-color.el (ansi-color-unfontify-region):
      * lisp/international/latin1-disp.el (latin1-char-displayable-p):
      * lisp/progmodes/cwarn.el (turn-on-cwarn-mode):
      * lisp/progmodes/which-func.el (which-func-update-1): Use
      define-obsolete-function-alias.
      
      * lisp/bookmark.el (bookmark-jump-noselect): Use a declare form to mark
      this function obsolete.
      
      * lisp/calendar/cal-x.el (calendar-two-frame-setup)
      (calendar-only-one-frame-setup, calendar-one-frame-setup):
      * lisp/calendar/calendar.el (american-calendar, european-calendar)
      (calendar-for-loop):
      * lisp/comint.el (comint-dynamic-simple-complete)
      (comint-dynamic-complete-as-filename, comint-unquote-filename):
      * lisp/desktop.el (desktop-load-default):
      * lisp/dired-x.el (dired-omit-here-always)
      (dired-hack-local-variables, dired-default-directory):
      * lisp/emacs-lisp/derived.el (derived-mode-class):
      * lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
      * lisp/emacs-lock.el (toggle-emacs-lock):
      * lisp/epa.el (epa-display-verify-result):
      * lisp/epg.el (epg-sign-keys, epg-start-sign-keys)
      (epg-passphrase-callback-function):
      * lisp/eshell/esh-util.el (eshell-for):
      * lisp/eshell/eshell.el (eshell-remove-from-window-buffer-names)
      (eshell-add-to-window-buffer-names):
      * lisp/files.el (locate-file-completion):
      * lisp/imenu.el (imenu-example--create-c-index)
      (imenu-example--create-lisp-index)
      (imenu-example--lisp-extract-index-name)
      (imenu-example--name-and-position):
      * lisp/international/mule-cmds.el (princ-list):
      * lisp/international/mule-diag.el (decode-codepage-char):
      * lisp/international/mule-util.el (detect-coding-with-priority):
      * lisp/iswitchb.el (iswitchb-read-buffer):
      * lisp/mail/mailalias.el (mail-complete):
      * lisp/mail/sendmail.el (mail-sent-via):
      * lisp/mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar)
      (mouse-major-mode-menu):
      * lisp/password-cache.el (password-read-and-add):
      * lisp/pcomplete.el (pcomplete-parse-comint-arguments):
      * lisp/progmodes/sh-script.el (sh-maybe-here-document):
      * lisp/replace.el (query-replace-regexp-eval):
      * lisp/savehist.el (savehist-load):
      * lisp/simple.el (choose-completion-delete-max-match):
      * lisp/term.el (term-dynamic-simple-complete):
      * lisp/vc/ediff-init.el (ediff-check-version):
      * lisp/vc/ediff-wind.el (ediff-choose-window-setup-function-automatically):
      * lisp/vc/vc.el (vc-diff-switches-list):
      * lisp/view.el (view-return-to-alist-update): Likewise.
      
      * lisp/iswitchb.el (iswitchb-read-buffer): Move code of
      iswitchb-define-mode-map here, and delete that obsolete function.
      
      * lisp/subr.el (eval-next-after-load, makehash, insert-string)
      (assoc-ignore-representation, assoc-ignore-case): Use declare to
      mark obsolete.
      (mode-line-inverse-video): Variable deleted.
      
      * lisp/emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that
      this applies to functions.
      
      * lisp/erc/erc.el (erc-send-command): Use define-obsolete-function-alias.
      
      * lisp/international/mule-util.el (string-to-sequence): Remove.
      
      * lisp/net/newst-backend.el (newsticker-cache-filename):
      * lisp/net/newst-treeview.el (newsticker-groups-filename): Fix
      incorrect obsolescence declaration.
      
      * lisp/net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete
      font-lock-reference-face.
      
      * lisp/url/url-parse.el (url-recreate-url-attributes):
      * lisp/url/url-util.el (url-generate-unique-filename): Use declare to mark
      obsolete.
      
      * src/xdisp.c (mode_line_inverse_video): Delete obsolete variable.
      59f7af81
  4. 24 Sep, 2012 1 commit
    • Chong Yidong's avatar
      Remove several obsolete vars and functions unlikely to be still in use. · a5f2b6ec
      Chong Yidong authored
      * lisp/vc/log-edit.el (cvs-changelog-full-paragraphs)
      (cvs-commit-buffer-require-final-newline): Obsolete variables
      removed.
      
      * lisp/font-lock.el (font-lock-reference-face): Use
      define-obsolete-variable-alias.
      
      * lisp/international/mule.el (set-char-table-default): Remove.
      (set-coding-priority, make-coding-system, generic-char-p)
      (charset-list, charset-bytes, charset-id): Use declare to mark
      obsolete.
      
      * lisp/mail/supercite.el (sc-version): Remove obsolete function.
      (sc-describe): Don't mark as obsolete, since it is bound.
      (sc-submit-bug-report): Remove.
      
      * lisp/progmodes/compile.el (compile-internal): Remove obsolete
      function.
      (compilation-parse-errors-function): Fix typo.
      
      * lisp/vc/emerge.el (emerge-mode): Make it an obsolete alias.
      (emerge-version): Remove.
      
      * lisp/vc/pcvs-defs.el (cvs-buffer-name-alist)
      (cvs-invert-ignore-marks): Remove references to obsolete vars.
      * lisp/vc/vc-hooks.el (vc-default-registered): Don't use
      vc-master-templates.
      
      * lisp/vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks)
      * lisp/vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates)
      * lisp/vc/vc.el (vc-checkout-carefully): Likewise.
      
      * src/chartab.c (Fset_char_table_default): Obsolete function removed.
      a5f2b6ec
  5. 23 Sep, 2012 3 commits
  6. 22 Sep, 2012 2 commits
    • Chong Yidong's avatar
      Re-arrange and edit NEWS. · f938eda9
      Chong Yidong authored
      f938eda9
    • Martin Rudalics's avatar
      Make Temp Buffer Resize Mode less intrusive (Bug#1806). · 8e17c9ba
      Martin Rudalics authored
      * window.c (Fsplit_window_internal): Handle only Qt value of
      Vwindow_combination_limit separately.
      (Qtemp_buffer_resize): New symbol.
      (Vwindow_combination_limit): New default value.  Rewrite
      doc-string.
      * cus-start.el (window-combination-limit): Add new optional
      values.
      * window.el (temp-buffer-window-show)
      (window--try-to-split-window): Obey new values of
      window-combination-limit.
      (split-window): Test window-combination-limit for t instead of
      non-nil.
      (display-buffer-at-bottom): New buffer display action function.
      * help.el (temp-buffer-resize-regexps): New option.
      (temp-buffer-resize-mode): Rewrite doc-string.
      (resize-temp-buffer-window): Obey temp-buffer-resize-regexps.
      Don't resize reused window.  Suggested by Glen Morris.
      8e17c9ba
  7. 20 Sep, 2012 2 commits
    • Juri Linkov's avatar
      * lisp/replace.el (query-replace-read-from): Use `read-regexp' instead · eb2deaff
      Juri Linkov authored
      of `read-from-minibuffer' when `regexp-flag' is non-nil.
      (occur-read-primary-args): Use `read-regexp' instead of
      `read-string'.
      (multi-occur-in-matching-buffers): Use `read-regexp' instead of
      `read-from-minibuffer'.
      * lisp/isearch.el (isearch-occur): Use `read-regexp' instead of
      `read-string'.
      * lisp/dired.el (dired-read-regexp): Use `read-regexp' instead of
      `read-from-minibuffer'.
      * lisp/progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead
      of `read-string'.
      
      Fixes: debbugs:7567
      eb2deaff
    • Stefan Merten's avatar
      * rst.el: Integrate support for `imenu' and `which-function'. · ee97deee
      Stefan Merten authored
      Fixes feature request bug#11711.
      
      (rst-mode): Create `imenu-create-index-function'.
      (rst-get-stripped-line): Delete after refactoring.
      (rst-section-tree, rst-section-tree-rec)
      (rst-section-tree-point): Refactor and document properly.
      (rst-imenu-find-adornments-for-position)
      (rst-imenu-convert-cell, rst-imenu-create-index): New
      function.
      ee97deee
  8. 19 Sep, 2012 1 commit
    • Glenn Morris's avatar
      Allow customization of calendar month header text · 69f6644c
      Glenn Morris authored
      * lisp/calendar/calendar.el (calendar-american-month-header)
      (calendar-european-month-header, calendar-iso-month-header)
      (calendar-month-header): New options.
      (calendar-set-date-style): Set calendar-month-header.  Redraw calendar.
      (calendar-generate-month): Use calendar-month-header.
      
      Fixes: debbugs:9510
      69f6644c
  9. 18 Sep, 2012 3 commits
  10. 16 Sep, 2012 1 commit
  11. 13 Sep, 2012 3 commits
    • Paul Eggert's avatar
      Use a more backwards-compatible timer format. · c18e885b
      Paul Eggert authored
      * etc/NEWS: Document it.
      * lisp/emacs-lisp/timer.el (timer): PSECS is now at the end, rather than
      being right after USECS, as that better supports old code that
      inadvisedly looked directly at the timer vector.
      * src/keyboard.c (decode_timer): Get PSECS from the 8th (origin-0)
      vector element, not from the 4th, since PSECS is now at the end.
      (Fcurrent_idle_time): Doc fix.
      
      Fixes: debbugs:12430
      c18e885b
    • Jan Djärv's avatar
    • Paul Eggert's avatar
      Fix glitches caused by addition of psec to timers. · 72eac303
      Paul Eggert authored
      * etc/NEWS: Document timer format change.
      * lisp/image.el (image-animate-timer):
      * lisp/time.el (display-time-world-timer):
      Use timer--function and timer--args rather than raw access to
      timer vector.
      * lisp/gnus/gnus-art.el (gnus-article-stop-animations):
      Use timer--function rather than raw access to timer vector.
      
      Fixes: debbugs:12430
      72eac303
  12. 12 Sep, 2012 2 commits
    • Stefan Monnier's avatar
      Remove unread-command-char. · bfeae2cf
      Stefan Monnier authored
      * src/keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
      (Fdiscard_input, quit_throw_to_read_char, init_keyboard)
      (syms_of_keyboard): Remove support for unread-command-char.
      * lisp/emacs-lisp/debug.el (debugger-outer-unread-command-char, debug)
      (debugger-env-macro): Remove support for unread-command-char.
      
      * lisp/ehelp.el (with-electric-help): Accept functions in
      electric-help-form-to-execute.
      (electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it.
      And replace unread-command-char -> unread-command-events.
      
      * lisp/subr.el (set-temporary-overlay-map): Minimize slightly the impact of
      the temporary map re-appearing on emulation-mode-map-alists.
      
      * lisp/emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken
      since 22.1.
      bfeae2cf
    • Stefan Monnier's avatar
      * src/eval.c: Add `inhibit-debugger'. · 45b82ad0
      Stefan Monnier authored
      (Qinhibit_debugger): New symbol.
      (call_debugger): Bind it instead of Qdebug_on_error.
      (maybe_call_debugger): Test Vinhibit_debugger.
      (syms_of_eval): Define inhibit-debugger.
      * src/xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
      (syms_of_xdisp): Remove inhibit-debug-on-message.
      * lisp/emacs-lisp/debug.el (debug): Don't bind debug-on-error since
      inhibit-debugger is bound instead.
      45b82ad0
  13. 11 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Simplify, document, and port floating-point. · c990426a
      Paul Eggert authored
      The porting part of this patch fixes bugs on non-IEEE platforms
      with frexp, ldexp, logb.
      * admin/CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
      * configure.ac (logb, cbrt): Do not check for these functions,
      as they are not being used.
      * doc/lispref/numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
      Document that / and mod (with floating point arguments), along
      with asin, acos, log, log10, expt and sqrt, return special values
      instead of signaling exceptions.
      (Float Basics): Document that logb operates on the absolute value
      of its argument.
      (Math Functions): Document that (log ARG BASE) also returns NaN if
      BASE is negative.  Document that (expt X Y) returns NaN if X is a
      finite negative number and Y a finite non-integer.
      * etc/NEWS: Document NaNs versus signaling-error change.
      * src/data.c, src/lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
      Now static.
      * src/floatfns.c: Simplify discussion of functions that Emacs doesn't
      support, by removing commented-out code and briefly listing the
      C89 functions excluded.  The commented-out stuff was confusing
      maintenance, e.g., we thought we needed cbrt but it was commented out.
      (logb): Remove decl; no longer needed.
      (isfinite): New macro, if not already supplied.
      (isnan): Don't replace any existing macro.
      (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
      are present on all C89 platforms.
      (Ffrexp): Do not special-case zero, as frexp does the right thing
      for that case.
      (Flogb): Do not use logb, as it doesn't have the desired meaning
      on hosts that use non-base-2 floating point.  Instead, stick with
      frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
      frexp, to avoid getting an unspecified result.
      c990426a
  14. 10 Sep, 2012 2 commits
  15. 09 Sep, 2012 2 commits
    • Andreas Schwab's avatar
      * lisp/register.el (register-separator): Rename from · bfabf70a
      Andreas Schwab authored
      separator-register.  All uses changed.  Doc fix.
      (register): Fix version.
      bfabf70a
    • Chong Yidong's avatar
      Allow scrolling in y-or-n-p. · 011474aa
      Chong Yidong authored
      * lisp/replace.el (query-replace-map): Bind four new symbols for
      requesting window scrolling.
      
      * lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in
      query-replace-map.
      
      * lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p.
      
      * lisp/window.el (scroll-other-window-down): Make the arg optional.
      
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
      since they are now in query-replace-map.
      
      * doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and
      scrolling in y-or-n-p.  Remove gratuitous example.
      
      * doc/lispref/searching.texi (Search and Replace): Document window scrolling
      entries in query-replace-map.
      
      Fixes: debbugs:8948
      011474aa
  16. 08 Sep, 2012 3 commits
    • Jambunathan K's avatar
      * lisp/register.el (increment-register): Route it to `append-to-register', · 0979429b
      Jambunathan K authored
      if register contains text so that `C-x r +' can now be
      used for appending to a text register.
      (register): New group.
      (register-separator): New user option.
      (append-to-register, prepend-to-register): Add separator based on
      `register-separator.
      * doc/emacs/regs.texi (Text Registers): `C-x r +' can now be used instead of
      M-x append-to-register.  New option `register-separator'.
      (Number Registers): Mention that `C-x r +' is polymorphic.
      
      Fixes: debbugs:12217
      0979429b
    • Chong Yidong's avatar
      Don't bind M-= in Dired. · 35d98877
      Chong Yidong authored
      * lisp/dired.el (dired-mode-map): Don't bind M-=.
      
      * lisp/dired-aux.el (dired-diff): Use backup file as default.
      35d98877
    • Martin Rudalics's avatar
      Fix handling of debugger window. (Bug#8789) · fa2bcf43
      Martin Rudalics authored
      * window.el (display-buffer-in-previous-window): New buffer
      display action function.
      
      * emacs-lisp/debug.el (debugger-bury-or-kill): New option.
      (debugger-previous-window): New variable.
      (debug): Rewrite using display-buffer-in-previous-window,
      quit-restore-window and debugger-bury-or-kill.  (Bug#8789)
      fa2bcf43
  17. 07 Sep, 2012 2 commits
    • Chong Yidong's avatar
      Remove obsolete display-buffer-reuse-frames from manuals. · 14ba4cf3
      Chong Yidong authored
      * doc/emacs/windows.texi (Window Choice): Don't mention obsolete
      display-buffer-reuse-frames.
      
      * doc/lispref/windows.texi (Display Action Functions)
      (Choosing Window Options): Remove obsolete variable
      display-buffer-reuse-frames.
      14ba4cf3
    • Chong Yidong's avatar
      Add a utility function buffer-narrowed-p, and use it. · e5c2edf7
      Chong Yidong authored
      * lisp/subr.el (buffer-narrowed-p): New function.
      
      * lisp/ses.el (ses-widen):
      * lisp/simple.el (count-words--buffer-message):
      * lisp/net/browse-url.el (browse-url-of-buffer): Use it
      
      * lisp/simple.el (count-words-region): Don't signal an error if there
      is a non-nil prefix arg and the mark is not set.
      
      * doc/lispref/positions.texi (Narrowing): Document buffer-narrowed-p.
      e5c2edf7
  18. 06 Sep, 2012 2 commits
    • Chong Yidong's avatar
    • Juri Linkov's avatar
      * lisp/replace.el (replace-lax-whitespace): New defcustom. · 826b3235
      Juri Linkov authored
      (query-replace, query-replace-regexp, query-replace-regexp-eval)
      (replace-string, replace-regexp): Mention it in docstrings.
      (perform-replace, replace-highlight): Let-bind
      isearch-lax-whitespace and isearch-regexp-lax-whitespace according
      to the values of replace-lax-whitespace and regexp-flag.
      Don't let-bind search-whitespace-regexp. 
      
      * lisp/isearch.el (isearch-query-replace): Let-bind
      replace-lax-whitespace instead of let-binding
      replace-search-function and replace-re-search-function.
      (isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace
      and isearch-regexp-lax-whitespace to lazy-highlight variables.
      (isearch-toggle-symbol): Set isearch-regexp to nil
      in isearch-word mode (like in isearch-toggle-word).
      
      Fixes: debbugs:10885
      826b3235
  19. 05 Sep, 2012 1 commit
    • Martin Rudalics's avatar
      Provide support for fitting frames to buffers. · ef654460
      Martin Rudalics authored
      * help.el (temp-buffer-max-height): New default value.
      (temp-buffer-resize-frames): New option.
      (resize-temp-buffer-window): Optionally resize frame.
      
      * window.el (fit-frame-to-buffer-bottom-margin): New option.
      (fit-frame-to-buffer): New function.
      ef654460
  20. 04 Sep, 2012 4 commits
    • Lars Ingebrigtsen's avatar
      Implement `debug-on-message'. · 7f7e0167
      Lars Ingebrigtsen authored
      This allows tracking down what piece of code is outputting stuff in
      the echo area.
      
      * eval.c (call_debugger): Make the function non-static so that we
      can call it from set_message.
      
      * xdisp.c (set_message): Implement the new variable `debug-on-message'.
      (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'.
      7f7e0167
    • Paul Eggert's avatar
      Give more-useful info on a fatal error (Bug#12328). · cf29dd84
      Paul Eggert authored
      * doc/emacs/trouble.texi (Crashing): New section, documenting this.
      * etc/NEWS: Document the change.
      * src/alloc.c [ENABLE_CHECKING]: Do not include <execinfo.h>.
      (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead
      of doing the work ourselves.
      * src/emacs.c (fatal_error_signal): Let fatal_error_backtrace
      do most of the work.
      (fatal_error_backtrace): New function, taken from the guts
      of the old fatal_error_signal, but with a new option to output
      a backtrace.
      (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful
      info about the signal than just its number.
      * src/lisp.h (fatal_error_backtrace, emacs_backtrace): New decls.
      * src/sysdep.c: Include <execinfo.h>
      (emacs_backtrace): New function, taken partly from the previous
      code of the 'die' function.
      (emacs_abort): Call fatal_error_backtrace rather than abort.
      cf29dd84
    • Stefan Monnier's avatar
      Macro-expand interpreted code during load. · 972debf2
      Stefan Monnier authored
      * src/lread.c (readevalloop): Call internal-macroexpand-for-load to perform
      eager (load-time) macro-expansion.
      * src/lisp.mk (lisp): Add macroexp.
      * lisp/loadup.el: Load macroexp.  Remove hack.
      * lisp/emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function.
      (macroexp--expand-all): Use it to get better warnings.
      (macroexp--backtrace, macroexp--trim-backtrace-frame)
      (internal-macroexpand-for-load): New functions.
      (macroexp--pending-eager-loads): New var.
      (emacs-startup-hook): New hack to replace one in loadup.el.
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-list*)
      (cl--compiler-macro-cXXr): Move to top, before they can be used.
      (cl-psetf): Simplify.
      (cl-defstruct): Add indent rule.
      972debf2
    • Lars Ingebrigtsen's avatar
      Have smtpmail.el prefer the From: header for the MAIL FROM envelope · 8ce192e3
      Lars Ingebrigtsen authored
      * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header
      over `user-mail-address' for the SMTP MAIL FROM envelope.
      (smtpmail-via-smtp): Ditto.
      8ce192e3
  21. 03 Sep, 2012 1 commit
    • Martin Rudalics's avatar
      New macro with-temp-buffer-window and related fixes. · c5e28e39
      Martin Rudalics authored
      * buffer.c (Fdelete_all_overlays): New function.
      
      * window.el (temp-buffer-window-setup-hook)
      (temp-buffer-window-show-hook): New hooks.
      (temp-buffer-window-setup, temp-buffer-window-show)
      (with-temp-buffer-window): New functions.
      (fit-window-to-buffer): Remove unused optional argument
      OVERRIDE.
      (special-display-popup-frame): Make sure the window used shows
      BUFFER.
      
      * help.el (temp-buffer-resize-mode): Fix doc-string.
      (resize-temp-buffer-window): New optional argument WINDOW.
      
      * files.el (recover-file, save-buffers-kill-emacs):
      * dired.el (dired-mark-pop-up): Use with-temp-buffer-window.
      c5e28e39
  22. 02 Sep, 2012 1 commit
    • Juri Linkov's avatar
      Toggle whitespace matching mode with M-s SPC. · 63dd1c6f
      Juri Linkov authored
      http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html
      
      * lisp/isearch.el (search-whitespace-regexp): Doc fix.
      Remove cons cell customization.
      (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace.
      (isearch-lax-whitespace, isearch-regexp-lax-whitespace):
      New variables.
      (isearch-forward, isearch-forward-regexp): Doc fix.
      (isearch-toggle-lax-whitespace): New command.
      (search-forward-lax-whitespace, search-backward-lax-whitespace)
      (re-search-forward-lax-whitespace)
      (re-search-backward-lax-whitespace): New functions.
      (isearch-whitespace-regexp): Remove function.
      (isearch-query-replace): Let-bind replace-search-function and
      replace-re-search-function.
      (isearch-occur): Let-bind search-spaces-regexp according to the
      value of isearch-lax-whitespace and isearch-regexp-lax-whitespace.
      (isearch-quote-char): Check isearch-regexp-lax-whitespace in the
      condition for C-q SPC.
      (isearch-search-fun-default): Use new functions mentioned above.
      (isearch-search-forward, isearch-search-backward): Remove functions.
      (isearch-search): Don't let-bind search-spaces-regexp.
      (isearch-lazy-highlight-space-regexp): Remove variable.
      (isearch-lazy-highlight-lax-whitespace)
      (isearch-lazy-highlight-regexp-lax-whitespace): New variables.
      (isearch-lazy-highlight-new-loop): Use them.
      (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp.
      63dd1c6f