Mercurial > emacs
comparison lisp/replace.el @ 87211:c2b1300a87e5
(keep-lines, flush-lines, how-many): Doc fix.
Check search-upper-case before calling isearch-no-upper-case-p
to set case-fold-search.
(occur): Doc fix.
(occur-1, perform-replace): Check search-upper-case before calling
isearch-no-upper-case-p to set case-fold-search.
| author | Juri Linkov <juri@jurta.org> |
|---|---|
| date | Sun, 09 Dec 2007 23:47:04 +0000 |
| parents | c92242b4fd11 |
| children | cdd30283527d 2fcaae6177a5 |
comparison
equal
deleted
inserted
replaced
| 87210:a6f95b3d0102 | 87211:c2b1300a87e5 |
|---|---|
| 550 "Delete all lines except those containing matches for REGEXP. | 550 "Delete all lines except those containing matches for REGEXP. |
| 551 A match split across lines preserves all the lines it lies in. | 551 A match split across lines preserves all the lines it lies in. |
| 552 When called from Lisp (and usually interactively as well, see below) | 552 When called from Lisp (and usually interactively as well, see below) |
| 553 applies to all lines starting after point. | 553 applies to all lines starting after point. |
| 554 | 554 |
| 555 If REGEXP contains upper case characters (excluding those preceded by `\\'), | 555 If REGEXP contains upper case characters (excluding those preceded by `\\') |
| 556 the matching is case-sensitive. | 556 and `search-upper-case' is non-nil, the matching is case-sensitive. |
| 557 | 557 |
| 558 Second and third arg RSTART and REND specify the region to operate on. | 558 Second and third arg RSTART and REND specify the region to operate on. |
| 559 This command operates on (the accessible part of) all lines whose | 559 This command operates on (the accessible part of) all lines whose |
| 560 accessible part is entirely contained in the region determined by RSTART | 560 accessible part is entirely contained in the region determined by RSTART |
| 561 and REND. (A newline ending a line counts as part of that line.) | 561 and REND. (A newline ending a line counts as part of that line.) |
| 595 rend (point-max-marker))) | 595 rend (point-max-marker))) |
| 596 (goto-char rstart)) | 596 (goto-char rstart)) |
| 597 (save-excursion | 597 (save-excursion |
| 598 (or (bolp) (forward-line 1)) | 598 (or (bolp) (forward-line 1)) |
| 599 (let ((start (point)) | 599 (let ((start (point)) |
| 600 (case-fold-search (and case-fold-search | 600 (case-fold-search |
| 601 (isearch-no-upper-case-p regexp t)))) | 601 (if (and case-fold-search search-upper-case) |
| 602 (isearch-no-upper-case-p regexp t) | |
| 603 case-fold-search))) | |
| 602 (while (< (point) rend) | 604 (while (< (point) rend) |
| 603 ;; Start is first char not preserved by previous match. | 605 ;; Start is first char not preserved by previous match. |
| 604 (if (not (re-search-forward regexp rend 'move)) | 606 (if (not (re-search-forward regexp rend 'move)) |
| 605 (delete-region start rend) | 607 (delete-region start rend) |
| 606 (let ((end (save-excursion (goto-char (match-beginning 0)) | 608 (let ((end (save-excursion (goto-char (match-beginning 0)) |
| 624 When called from Lisp (and usually when called interactively as | 626 When called from Lisp (and usually when called interactively as |
| 625 well, see below), applies to the part of the buffer after point. | 627 well, see below), applies to the part of the buffer after point. |
| 626 The line point is in is deleted if and only if it contains a | 628 The line point is in is deleted if and only if it contains a |
| 627 match for regexp starting after point. | 629 match for regexp starting after point. |
| 628 | 630 |
| 629 If REGEXP contains upper case characters (excluding those preceded by `\\'), | 631 If REGEXP contains upper case characters (excluding those preceded by `\\') |
| 630 the matching is case-sensitive. | 632 and `search-upper-case' is non-nil, the matching is case-sensitive. |
| 631 | 633 |
| 632 Second and third arg RSTART and REND specify the region to operate on. | 634 Second and third arg RSTART and REND specify the region to operate on. |
| 633 Lines partially contained in this region are deleted if and only if | 635 Lines partially contained in this region are deleted if and only if |
| 634 they contain a match entirely contained in it. | 636 they contain a match entirely contained in it. |
| 635 | 637 |
| 655 (setq rstart (region-beginning) | 657 (setq rstart (region-beginning) |
| 656 rend (copy-marker (region-end))) | 658 rend (copy-marker (region-end))) |
| 657 (setq rstart (point) | 659 (setq rstart (point) |
| 658 rend (point-max-marker))) | 660 rend (point-max-marker))) |
| 659 (goto-char rstart)) | 661 (goto-char rstart)) |
| 660 (let ((case-fold-search (and case-fold-search | 662 (let ((case-fold-search |
| 661 (isearch-no-upper-case-p regexp t)))) | 663 (if (and case-fold-search search-upper-case) |
| 664 (isearch-no-upper-case-p regexp t) | |
| 665 case-fold-search))) | |
| 662 (save-excursion | 666 (save-excursion |
| 663 (while (and (< (point) rend) | 667 (while (and (< (point) rend) |
| 664 (re-search-forward regexp rend t)) | 668 (re-search-forward regexp rend t)) |
| 665 (delete-region (save-excursion (goto-char (match-beginning 0)) | 669 (delete-region (save-excursion (goto-char (match-beginning 0)) |
| 666 (forward-line 0) | 670 (forward-line 0) |
| 674 "Print and return number of matches for REGEXP following point. | 678 "Print and return number of matches for REGEXP following point. |
| 675 When called from Lisp and INTERACTIVE is omitted or nil, just return | 679 When called from Lisp and INTERACTIVE is omitted or nil, just return |
| 676 the number, do not print it; if INTERACTIVE is t, the function behaves | 680 the number, do not print it; if INTERACTIVE is t, the function behaves |
| 677 in all respects has if it had been called interactively. | 681 in all respects has if it had been called interactively. |
| 678 | 682 |
| 679 If REGEXP contains upper case characters (excluding those preceded by `\\'), | 683 If REGEXP contains upper case characters (excluding those preceded by `\\') |
| 680 the matching is case-sensitive. | 684 and `search-upper-case' is non-nil, the matching is case-sensitive. |
| 681 | 685 |
| 682 Second and third arg RSTART and REND specify the region to operate on. | 686 Second and third arg RSTART and REND specify the region to operate on. |
| 683 | 687 |
| 684 Interactively, in Transient Mark mode when the mark is active, operate | 688 Interactively, in Transient Mark mode when the mark is active, operate |
| 685 on the contents of the region. Otherwise, operate from point to the | 689 on the contents of the region. Otherwise, operate from point to the |
| 702 (setq rstart (point) | 706 (setq rstart (point) |
| 703 rend (point-max))) | 707 rend (point-max))) |
| 704 (goto-char rstart)) | 708 (goto-char rstart)) |
| 705 (let ((count 0) | 709 (let ((count 0) |
| 706 opoint | 710 opoint |
| 707 (case-fold-search (and case-fold-search | 711 (case-fold-search |
| 708 (isearch-no-upper-case-p regexp t)))) | 712 (if (and case-fold-search search-upper-case) |
| 713 (isearch-no-upper-case-p regexp t) | |
| 714 case-fold-search))) | |
| 709 (while (and (< (point) rend) | 715 (while (and (< (point) rend) |
| 710 (progn (setq opoint (point)) | 716 (progn (setq opoint (point)) |
| 711 (re-search-forward regexp rend t))) | 717 (re-search-forward regexp rend t))) |
| 712 (if (= opoint (point)) | 718 (if (= opoint (point)) |
| 713 (forward-char 1) | 719 (forward-char 1) |
| 1028 | 1034 |
| 1029 The lines are shown in a buffer named `*Occur*'. | 1035 The lines are shown in a buffer named `*Occur*'. |
| 1030 It serves as a menu to find any of the occurrences in this buffer. | 1036 It serves as a menu to find any of the occurrences in this buffer. |
| 1031 \\<occur-mode-map>\\[describe-mode] in that buffer will explain how. | 1037 \\<occur-mode-map>\\[describe-mode] in that buffer will explain how. |
| 1032 | 1038 |
| 1033 If REGEXP contains upper case characters (excluding those preceded by `\\'), | 1039 If REGEXP contains upper case characters (excluding those preceded by `\\') |
| 1034 the matching is case-sensitive." | 1040 and `search-upper-case' is non-nil, the matching is case-sensitive." |
| 1035 (interactive (occur-read-primary-args)) | 1041 (interactive (occur-read-primary-args)) |
| 1036 (occur-1 regexp nlines (list (current-buffer)))) | 1042 (occur-1 regexp nlines (list (current-buffer)))) |
| 1037 | 1043 |
| 1038 (defun multi-occur (bufs regexp &optional nlines) | 1044 (defun multi-occur (bufs regexp &optional nlines) |
| 1039 "Show all lines in buffers BUFS containing a match for REGEXP. | 1045 "Show all lines in buffers BUFS containing a match for REGEXP. |
| 1117 (buffer-undo-list t)) | 1123 (buffer-undo-list t)) |
| 1118 (erase-buffer) | 1124 (erase-buffer) |
| 1119 (let ((count (occur-engine | 1125 (let ((count (occur-engine |
| 1120 regexp active-bufs occur-buf | 1126 regexp active-bufs occur-buf |
| 1121 (or nlines list-matching-lines-default-context-lines) | 1127 (or nlines list-matching-lines-default-context-lines) |
| 1122 (and case-fold-search | 1128 (if (and case-fold-search search-upper-case) |
| 1123 (isearch-no-upper-case-p regexp t)) | 1129 (isearch-no-upper-case-p regexp t) |
| 1130 case-fold-search) | |
| 1124 list-matching-lines-buffer-name-face | 1131 list-matching-lines-buffer-name-face |
| 1125 nil list-matching-lines-face | 1132 nil list-matching-lines-face |
| 1126 (not (eq occur-excluded-properties t))))) | 1133 (not (eq occur-excluded-properties t))))) |
| 1127 (let* ((bufcount (length active-bufs)) | 1134 (let* ((bufcount (length active-bufs)) |
| 1128 (diff (- (length bufs) bufcount))) | 1135 (diff (- (length bufs) bufcount))) |
| 1457 make, or the user didn't cancel the call." | 1464 make, or the user didn't cancel the call." |
| 1458 (or map (setq map query-replace-map)) | 1465 (or map (setq map query-replace-map)) |
| 1459 (and query-flag minibuffer-auto-raise | 1466 (and query-flag minibuffer-auto-raise |
| 1460 (raise-frame (window-frame (minibuffer-window)))) | 1467 (raise-frame (window-frame (minibuffer-window)))) |
| 1461 (let* ((case-fold-search | 1468 (let* ((case-fold-search |
| 1462 (and case-fold-search | 1469 (if (and case-fold-search search-upper-case) |
| 1463 (isearch-no-upper-case-p from-string regexp-flag))) | 1470 (isearch-no-upper-case-p from-string regexp-flag) |
| 1471 case-fold-search)) | |
| 1464 (nocasify (not (and case-replace case-fold-search))) | 1472 (nocasify (not (and case-replace case-fold-search))) |
| 1465 (literal (or (not regexp-flag) (eq regexp-flag 'literal))) | 1473 (literal (or (not regexp-flag) (eq regexp-flag 'literal))) |
| 1466 (search-function (if regexp-flag 're-search-forward 'search-forward)) | 1474 (search-function (if regexp-flag 're-search-forward 'search-forward)) |
| 1467 (search-string from-string) | 1475 (search-string from-string) |
| 1468 (real-match-data nil) ; The match data for the current match. | 1476 (real-match-data nil) ; The match data for the current match. |
