annotate lisp/compare-w.el @ 24419:30e478cd167e

(shell-command-default-error-buffer): Renamed from shell-command-on-region-default-error-buffer. (shell-command-on-region): Mention in echo area when there is some error output. Mention success or failure, too. Accumulate multiple error outputs going forward, with formfeed in between. Display the error buffer when we have put something in it. (shell-command): Add the ERROR-BUFFER argument feature.
author Karl Heuer <kwzh@gnu.org>
date Mon, 01 Mar 1999 03:19:32 +0000
parents ac1673121774
children 970c0b904d35
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 584
diff changeset
1 ;;; compare-w.el --- compare text between windows for Emacs.
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 584
diff changeset
2
16987
433d9754cdd5 Fix previous change.
Karl Heuer <kwzh@gnu.org>
parents: 16986
diff changeset
3 ;; Copyright (C) 1986, 1989, 1993, 1997 Free Software Foundation, Inc.
845
213978acbc1e entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
4
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
5 ;; Maintainer: FSF
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 ;; This file is part of GNU Emacs.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 ;; GNU Emacs is free software; you can redistribute it and/or modify
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 ;; it under the terms of the GNU General Public License as published by
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
11 ;; the Free Software Foundation; either version 2, or (at your option)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 ;; any later version.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 ;; GNU Emacs is distributed in the hope that it will be useful,
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 ;; GNU General Public License for more details.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 10031
diff changeset
20 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 10031
diff changeset
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 10031
diff changeset
22 ;; Boston, MA 02111-1307, USA.
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23
2307
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
24 ;;; Commentary:
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
25
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
26 ;; This package provides one entry point, compare-windows. It compares
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
27 ;; text starting from point in two adjacent windows, advancing point
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
28 ;; until it finds a difference. Option variables permit you to ignore
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
29 ;; whitespace differences, or case differences, or both.
10e417efb12a Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2011
diff changeset
30
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
31 ;;; Code:
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
32
21088
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
33 (defgroup compare-w nil
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
34 "Compare text between windows."
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
35 :prefix "compare-"
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
36 :group 'tools)
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
37
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
38 (defcustom compare-windows-whitespace "[ \t\n]+"
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
39 "*Regexp that defines whitespace sequences for \\[compare-windows].
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 Changes in whitespace are optionally ignored.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 The value of `compare-windows-whitespace' may instead be a function; this
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 function is called in each buffer, with point at the current scanning point.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 The function's job is to categorize any whitespace around (including before)
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 point; it should also advance past any whitespace.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 The function is passed one argument, the point where `compare-windows'
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 was originally called; it should not consider any text before that point.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 If the function returns the same value for both buffers, then the
21088
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
50 whitespace is considered to match, and is skipped."
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
51 :type '(choice regexp function)
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
52 :group 'compare-w)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53
21088
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
54 (defcustom compare-ignore-case nil
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
55 "*Non-nil means \\[compare-windows] ignores case differences."
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
56 :type 'boolean
ac1673121774 Customized.
Stephen Eglen <stephen@gnu.org>
parents: 17542
diff changeset
57 :group 'compare-w)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 ;;;###autoload
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 (defun compare-windows (ignore-whitespace)
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 "Compare text in current window with text in next window.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 Compares the text starting at point in each window,
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 moving over text in each one as far as they match.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64
10031
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
65 This command pushes the mark in each window
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
66 at the prior location of point in that window.
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
67 If both windows display the same buffer,
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
68 the mark is pushed twice in that buffer:
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
69 first in the other window, then in the selected window.
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
70
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 A prefix arg means ignore changes in whitespace.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 The variable `compare-windows-whitespace' controls how whitespace is skipped.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 If `compare-ignore-case' is non-nil, changes in case are also ignored."
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 (interactive "P")
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 (let* (p1 p2 maxp1 maxp2 b1 b2 w2
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
76 (progress 1)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 (opoint1 (point))
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 opoint2
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
79 (skip-func (if ignore-whitespace
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
80 (if (stringp compare-windows-whitespace)
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
81 'compare-windows-skip-whitespace
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
82 compare-windows-whitespace))))
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 (setq p1 (point) b1 (current-buffer))
17542
653ef38fd02e (compare-windows): Allow windows on different frames.
Richard M. Stallman <rms@gnu.org>
parents: 16987
diff changeset
84 (setq w2 (next-window (selected-window) nil 'visible))
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 (if (eq w2 (selected-window))
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 (error "No other window"))
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 (setq p2 (window-point w2)
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 b2 (window-buffer w2))
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 (setq opoint2 p2)
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 (setq maxp1 (point-max))
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 (save-excursion
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 (set-buffer b2)
10031
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
93 (push-mark p2 t)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 (setq maxp2 (point-max)))
10031
324e027f01bc (compare-windows): Push mark in both buffers at start.
Richard M. Stallman <rms@gnu.org>
parents: 7701
diff changeset
95 (push-mark)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
97 (while (> progress 0)
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 ;; If both buffers have whitespace next to point,
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 ;; optionally skip over it.
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
101 (and skip-func
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 (save-excursion
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 (let (p1a p2a w1 w2 result1 result2)
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
104 (setq result1 (funcall skip-func opoint1))
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
105 (setq p1a (point))
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 (set-buffer b2)
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 (goto-char p2)
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
108 (setq result2 (funcall skip-func opoint2))
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
109 (setq p2a (point))
16987
433d9754cdd5 Fix previous change.
Karl Heuer <kwzh@gnu.org>
parents: 16986
diff changeset
110 (if (or (stringp compare-windows-whitespace)
7701
ec15948b9458 (compare-windows): Make leading whitespace equivalent
Richard M. Stallman <rms@gnu.org>
parents: 5005
diff changeset
111 (and result1 result2 (eq result1 result2)))
ec15948b9458 (compare-windows): Make leading whitespace equivalent
Richard M. Stallman <rms@gnu.org>
parents: 5005
diff changeset
112 (setq p1 p1a
ec15948b9458 (compare-windows): Make leading whitespace equivalent
Richard M. Stallman <rms@gnu.org>
parents: 5005
diff changeset
113 p2 p2a)))))
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
115 (let ((size (min (- maxp1 p1) (- maxp2 p2)))
2011
eea183a35396 (compare-windows): Use compare-buffer-substrings.
Richard M. Stallman <rms@gnu.org>
parents: 845
diff changeset
116 (case-fold-search compare-ignore-case))
16986
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
117 (setq progress (compare-buffer-substrings b2 p2 (+ size p2)
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
118 b1 p1 (+ size p1)))
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
119 (setq progress (if (zerop progress) size (1- (abs progress))))
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
120 (setq p1 (+ p1 progress) p2 (+ p2 progress)))
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
121 ;; Advance point now rather than later, in case we're interrupted.
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
122 (goto-char p1)
dc0cd1c70c87 (compare-windows): Make more efficient use of
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
123 (set-window-point w2 p2))
257
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125 (if (= (point) opoint1)
e5ba2ba35226 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 (ding))))
584
4cd7543be581 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 257
diff changeset
127
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
128 ;; Move forward over whatever might be called whitespace.
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
129 ;; compare-windows-whitespace is a regexp that matches whitespace.
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
130 ;; Match it at various starting points before the original point
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
131 ;; and find the latest point at which a match ends.
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
132 ;; Don't try starting points before START, though.
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
133 ;; Value is non-nil if whitespace is found.
4925
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
134
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
135 ;; If there is whitespace before point, but none after,
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
136 ;; then return t, but don't advance point.
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
137 (defun compare-windows-skip-whitespace (start)
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
138 (let ((end (point))
4925
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
139 (beg (point))
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
140 (opoint (point)))
5005
c762abae3964 (compare-windows-skip-whitespace): Swap the two
Richard M. Stallman <rms@gnu.org>
parents: 4925
diff changeset
141 (while (or (and (looking-at compare-windows-whitespace)
4925
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
142 (<= end (match-end 0))
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
143 ;; This match goes past END, so advance END.
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
144 (progn (setq end (match-end 0))
5005
c762abae3964 (compare-windows-skip-whitespace): Swap the two
Richard M. Stallman <rms@gnu.org>
parents: 4925
diff changeset
145 (> (point) start)))
c762abae3964 (compare-windows-skip-whitespace): Swap the two
Richard M. Stallman <rms@gnu.org>
parents: 4925
diff changeset
146 (and (/= (point) start)
c762abae3964 (compare-windows-skip-whitespace): Swap the two
Richard M. Stallman <rms@gnu.org>
parents: 4925
diff changeset
147 ;; Consider at least the char before point,
c762abae3964 (compare-windows-skip-whitespace): Swap the two
Richard M. Stallman <rms@gnu.org>
parents: 4925
diff changeset
148 ;; unless it is also before START.
c762abae3964 (compare-windows-skip-whitespace): Swap the two
Richard M. Stallman <rms@gnu.org>
parents: 4925
diff changeset
149 (= (point) opoint)))
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
150 ;; keep going back until whitespace
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
151 ;; doesn't extend to or past end
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
152 (forward-char -1))
4925
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
153 (setq beg (point))
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
154 (goto-char end)
4925
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
155 (or (/= beg opoint)
76fb8b35df3f (compare-windows-skip-whitespace): Return t
Richard M. Stallman <rms@gnu.org>
parents: 4072
diff changeset
156 (/= end opoint))))
4072
d38c94145afe (compare-windows-skip-whitespace): New function.
Richard M. Stallman <rms@gnu.org>
parents: 2307
diff changeset
157
584
4cd7543be581 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 257
diff changeset
158 (provide 'compare-w)
4cd7543be581 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 257
diff changeset
159
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 584
diff changeset
160 ;;; compare-w.el ends here