aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2002-01-14 13:01:14 +0000
committerStefan Monnier2002-01-14 13:01:14 +0000
commitae0bec0b42e8af2188b0b00d700ca2a8dfcb327f (patch)
tree4470aac27fa188a7a89c0f2a32c1a66118dde2ef /lisp
parent00b1ee61319f2f8799d93d72a2b8d8f2f6ff9bb3 (diff)
downloademacs-ae0bec0b42e8af2188b0b00d700ca2a8dfcb327f.tar.gz
emacs-ae0bec0b42e8af2188b0b00d700ca2a8dfcb327f.zip
(ange-ftp-root-dir-p): New function.
(ange-ftp-file-name-all-completions, ange-ftp-file-name-completion): Use it. (ange-ftp-hook-function): Preserve match-data. (ange-ftp-insert-directory): Typo. (ange-ftp-shell-command): Check if regexp matched.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog135
-rw-r--r--lisp/net/ange-ftp.el27
2 files changed, 86 insertions, 76 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ee39561b624..cae330dcf3b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
12002-01-14 Stefan Monnier <monnier@cs.yale.edu>
2
3 * net/ange-ftp.el (ange-ftp-root-dir-p): New function.
4 (ange-ftp-file-name-all-completions, ange-ftp-file-name-completion):
5 Use it.
6 (ange-ftp-hook-function): Preserve match-data.
7 (ange-ftp-insert-directory): Typo.
8 (ange-ftp-shell-command): Check if regexp matched.
9
12002-01-13 Richard M. Stallman <rms@gnu.org> 102002-01-13 Richard M. Stallman <rms@gnu.org>
2 11
3 * international/mule-cmds.el: help-map bindings moved to help.el. 12 * international/mule-cmds.el: help-map bindings moved to help.el.
@@ -8,9 +17,9 @@
8 Move view-emacs-FAQ from F to C-f. 17 Move view-emacs-FAQ from F to C-f.
9 Move view-emacs-problems from P to C-e. 18 Move view-emacs-problems from P to C-e.
10 Bindings moved here from mule-cmds.el. 19 Bindings moved here from mule-cmds.el.
11 C-l binding for describe-language-environment deleted. 20 C-l binding for describe-language-environment deleted
12 (help-for-help): Update for all these changes. 21 (help-for-help): Update for all these changes.
13 22
14 * emacs-lisp/copyright.el (copyright-regexp): Make (C) optional. 23 * emacs-lisp/copyright.el (copyright-regexp): Make (C) optional.
15 24
162002-01-13 Dave Love <fx@gnu.org> 252002-01-13 Dave Love <fx@gnu.org>
@@ -32,15 +41,15 @@
32 * term/x-win.el (x-handle-initial-switch): New function. 41 * term/x-win.el (x-handle-initial-switch): New function.
33 42
342002-01-13 Colin Walters <walters@debian.org> 432002-01-13 Colin Walters <walters@debian.org>
35 44
36 * emacs-lisp/autoload.el (make-autoload): Handle 45 * emacs-lisp/autoload.el (make-autoload): Handle
37 define-ibuffer-column, define-ibuffer-filter, 46 define-ibuffer-column, define-ibuffer-filter,
38 define-ibuffer-sorter, and define-ibuffer-op. 47 define-ibuffer-sorter, and define-ibuffer-op.
39 48
40 * emacs-lisp/lisp-mode.el (toplevel): Ditto. 49 * emacs-lisp/lisp-mode.el (toplevel): Ditto.
41 50
42 * ibuffer.el, ibuf-ext.el, ibuf-macs.el: New files. 51 * ibuffer.el, ibuf-ext.el, ibuf-macs.el: New files.
43 52
442002-01-12 Richard M. Stallman <rms@gnu.org> 532002-01-12 Richard M. Stallman <rms@gnu.org>
45 54
46 * net/browse-url.el (browse-url-grail): 55 * net/browse-url.el (browse-url-grail):
@@ -59,7 +68,7 @@
59 don't output newline, but maybe send eof. 68 don't output newline, but maybe send eof.
60 (comint-send-input): New arg NO-NEWLINE. 69 (comint-send-input): New arg NO-NEWLINE.
61 (comint-send-eof): Call comint-send-eof with NO-NEWLINE. 70 (comint-send-eof): Call comint-send-eof with NO-NEWLINE.
62 71
632002-01-12 Pavel Jan,Bm(Bk <Pavel@Janik.cz> 722002-01-12 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
64 73
65 * textmodes/flyspell.el (flyspell-check-pre-word-p): Prevent 74 * textmodes/flyspell.el (flyspell-check-pre-word-p): Prevent
@@ -134,7 +143,7 @@
134 143
1352002-01-09 Michael Kifer <kifer@cs.stonybrook.edu> 1442002-01-09 Michael Kifer <kifer@cs.stonybrook.edu>
136 145
137 * viper.el (viper-set-hooks): zap viper-unfriendly bindings in 146 * viper.el (viper-set-hooks): Zap viper-unfriendly bindings in
138 flyspell-mouse-map. 147 flyspell-mouse-map.
139 148
1402002-01-08 Richard M. Stallman <rms@gnu.org> 1492002-01-08 Richard M. Stallman <rms@gnu.org>
@@ -147,8 +156,8 @@
147 156
1482002-01-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz> 1572002-01-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
149 158
150 * progmodes/ada-mode.el (ada-initialize-properties, ada-mode): Do 159 * progmodes/ada-mode.el (ada-initialize-properties, ada-mode):
151 not use make-local-hook. 160 Do not use make-local-hook.
152 161
1532002-01-08 Eli Zaretskii <eliz@is.elta.co.il> 1622002-01-08 Eli Zaretskii <eliz@is.elta.co.il>
154 163
@@ -159,7 +168,7 @@
159 168
1602002-01-08 Michael Kifer <kifer@cs.stonybrook.edu> 1692002-01-08 Michael Kifer <kifer@cs.stonybrook.edu>
161 170
162 * ediff-hook.el: added an autoload cookie. 171 * ediff-hook.el: Add an autoload cookie.
163 172
1642002-01-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz> 1732002-01-08 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
165 174
@@ -177,89 +186,87 @@
177 new macro that replaces viper-emacs-p and viper-xemacs-p in many 186 new macro that replaces viper-emacs-p and viper-xemacs-p in many
178 cases. Used to reduce the number of warnings. 187 cases. Used to reduce the number of warnings.
179 188
180 * viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs. 189 * viper-cmd.el: Use viper-cond-compile-for-xemacs-or-emacs.
181 (viper-standard-value): moved here from viper.el. 190 (viper-standard-value): Move here from viper.el.
182 (viper-set-unread-command-events): moved to viper-util.el 191 (viper-set-unread-command-events): Move to viper-util.el
183 (viper-check-minibuffer-overlay): make sure 192 (viper-check-minibuffer-overlay): Make sure
184 viper-minibuffer-overlay is moved to cover the entire input field. 193 viper-minibuffer-overlay is moved to cover the entire input field.
185 194
186 * viper-util.el: use viper-cond-compile-for-xemacs-or-emacs. 195 * viper-util.el: use viper-cond-compile-for-xemacs-or-emacs.
187 (viper-read-key-sequence, viper-set-unread-command-events, 196 (viper-read-key-sequence, viper-set-unread-command-events)
188 viper-char-symbol-sequence-p, viper-char-array-p): moved here. 197 (viper-char-symbol-sequence-p, viper-char-array-p): Moved here.
189 198
190 * viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs. 199 * viper-ex.el: Use viper-cond-compile-for-xemacs-or-emacs.
191 200
192 * viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs. 201 * viper-keym.el: Use viper-cond-compile-for-xemacs-or-emacs.
193 202
194 * viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs. 203 * viper-mous.el: Use viper-cond-compile-for-xemacs-or-emacs.
195 204
196 * viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p, 205 * viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p)
197 viper-event-vector-p): moved to viper-util.el 206 (viper-event-vector-p): Move to viper-util.el
198 207
199 * viper.el (viper-standard-value): moved to viper-cmd.el. 208 * viper.el (viper-standard-value): Move to viper-cmd.el.
200 Use viper-cond-compile-for-xemacs-or-emacs. 209 Use viper-cond-compile-for-xemacs-or-emacs.
201 210
202 * ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs. 211 * ediff-help.el: Use ediff-cond-compile-for-xemacs-or-emacs.
203 212
204 * ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs. 213 * ediff-hook.el: Use ediff-cond-compile-for-xemacs-or-emacs.
205 214
206 * ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new 215 * ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs):
207 macro designed to be used in many places where ediff-emacs-p or 216 New macro designed to be used in many places where ediff-emacs-p or
208 ediff-xemacs-p was previously used. Reduces the number of 217 ediff-xemacs-p was previously used. Reduces the number of warnings.
209 warnings. 218 Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieu
210 Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue
211 of ediff-xemacs-p. 219 of ediff-xemacs-p.
212 (ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer, 220 (ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer)
213 ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p, 221 (ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p)
214 ediff-whitespace-diff-region-p, ediff-get-region-contents): 222 (ediff-whitespace-diff-region-p, ediff-get-region-contents):
215 moved to ediff-util.el. 223 Move to ediff-util.el.
216 (ediff-event-key): moved here. 224 (ediff-event-key): Moved here.
217 225
218 * ediff-merge.el: got rid of unreferenced variables. 226 * ediff-merge.el: Got rid of unreferenced variables.
219 227
220 * ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs. 228 * ediff-mult.el: Use ediff-cond-compile-for-xemacs-or-emacs.
221 229
222 * ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs. 230 * ediff-util.el: Use ediff-cond-compile-for-xemacs-or-emacs.
223 (ediff-cleanup-mess): improved the way windows are set up after 231 (ediff-cleanup-mess): Improve the way windows are set up after
224 quitting ediff. 232 quitting ediff.
225 (ediff-janitor): use ediff-dispose-of-variant-according-to-user. 233 (ediff-janitor): Use ediff-dispose-of-variant-according-to-user.
226 (ediff-dispose-of-variant-according-to-user): new function 234 (ediff-dispose-of-variant-according-to-user): New function
227 designed to be smarter and also understands indirect buffers. 235 designed to be smarter and also understands indirect buffers.
228 (ediff-highlight-diff-in-one-buffer, 236 (ediff-highlight-diff-in-one-buffer)
229 ediff-unhighlight-diff-in-one-buffer, 237 (ediff-unhighlight-diff-in-one-buffer)
230 ediff-unhighlight-diffs-totally-in-one-buffer, 238 (ediff-unhighlight-diffs-totally-in-one-buffer)
231 ediff-highlight-diff, ediff-highlight-diff, 239 (ediff-highlight-diff, ediff-highlight-diff)
232 ediff-unhighlight-diff, ediff-unhighlight-diffs-totally, 240 (ediff-unhighlight-diff, ediff-unhighlight-diffs-totally)
233 ediff-empty-diff-region-p, ediff-whitespace-diff-region-p, 241 (ediff-empty-diff-region-p, ediff-whitespace-diff-region-p)
234 ediff-get-region-contents, ediff-make-current-diff-overlay): 242 (ediff-get-region-contents, ediff-make-current-diff-overlay):
235 moved here. 243 Moved here.
236 (ediff-format-bindings-of): new function by Hannu Koivisto 244 (ediff-format-bindings-of): New function by Hannu Koivisto
237 <azure@iki.fi>. 245 <azure@iki.fi>.
238 (ediff-setup): make sure the merge buffer is always widened and 246 (ediff-setup): Make sure the merge buffer is always widened and
239 modifiable. 247 modifiable.
240 (ediff-write-merge-buffer-and-maybe-kill): refuse to write the 248 (ediff-write-merge-buffer-and-maybe-kill): Refuse to write the
241 result of a merge into a file visited by another buffer. 249 result of a merge into a file visited by another buffer.
242 (ediff-arrange-autosave-in-merge-jobs): check if the merge file 250 (ediff-arrange-autosave-in-merge-jobs): Check if the merge file
243 is visited by another buffer and ask to save/delete that buffer. 251 is visited by another buffer and ask to save/delete that buffer.
244 (ediff-verify-file-merge-buffer): new function to do the above. 252 (ediff-verify-file-merge-buffer): New function to do the above.
245 253
246 * ediff-vers.el: load ediff-init.el at compile time. 254 * ediff-vers.el: Load ediff-init.el at compile time.
247 255
248 * ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs. 256 * ediff-wind.el: Use ediff-cond-compile-for-xemacs-or-emacs.
249 257
250 * ediff.el (ediff-windows, ediff-regions-wordwise, 258 * ediff.el (ediff-windows, ediff-regions-wordwise)
251 ediff-regions-linewise): use indirect buffers to improve 259 (ediff-regions-linewise): Use indirect buffers to improve
252 robustness and make it possible to compare regions of the same 260 robustness and make it possible to compare regions of the same
253 buffer (even overlapping regions). 261 buffer (even overlapping regions).
254 (ediff-clone-buffer-for-region-comparison, 262 (ediff-clone-buffer-for-region-comparison)
255 ediff-clone-buffer-for-window-comparison): new functions. 263 (ediff-clone-buffer-for-window-comparison): New functions.
256 (ediff-files-internal): refuse to compare identical files. 264 (ediff-files-internal): Refuse to compare identical files.
257 (ediff-regions-internal): get rid of the warning about comparing 265 (ediff-regions-internal): Get rid of the warning about comparing
258 regions of the same buffer. 266 regions of the same buffer.
259 267
260 * ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here. 268 * ediff-diff.el (ediff-convert-fine-diffs-to-overlays): Moved here.
261 Plus the following fixes courtesy of Dave Love: 269 Plus the following fixes courtesy of Dave Love: Doc fixes.
262 Doc fixes.
263 (ediff-word-1): Use word class and move - to the 270 (ediff-word-1): Use word class and move - to the
264 front per regexp documentation. 271 front per regexp documentation.
265 (ediff-wordify): Bind forward-word-function outside loop. 272 (ediff-wordify): Bind forward-word-function outside loop.
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index 4530bb386e0..61b3f151645 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -2233,8 +2233,8 @@ and NOWAIT."
2233 'identity) 2233 'identity)
2234 cmd1) 2234 cmd1)
2235 cmd3 (nth 3 cmd)) 2235 cmd3 (nth 3 cmd))
2236 ;; Need to deal with the HP-UX ftp bug. This should also allow 2236 ;; Need to deal with the HP-UX ftp bug. This should also allow us to
2237 ;; us to resolve symlinks to directories on SysV machines. (Sebastian will 2237 ;; resolve symlinks to directories on SysV machines. (Sebastian will
2238 ;; be happy.) 2238 ;; be happy.)
2239 (and (eq host-type 'unix) 2239 (and (eq host-type 'unix)
2240 (string-match "/$" cmd1) 2240 (string-match "/$" cmd1)
@@ -3876,6 +3876,13 @@ E.g.,
3876 (or val ; is a directory name 3876 (or val ; is a directory name
3877 (not (string-match ange-ftp-completion-ignored-pattern symname)))))) 3877 (not (string-match ange-ftp-completion-ignored-pattern symname))))))
3878 3878
3879(defun ange-ftp-root-dir-p (dir)
3880 ;; Maybe we should use something more like
3881 ;; (equal dir (file-name-directory (directory-file-name dir))) -stef
3882 (or (and (eq system-type 'windows-nt)
3883 (string-match "^[a-zA-Z]:[/\\]$" dir))
3884 (string-equal "/" dir)))
3885
3879(defun ange-ftp-file-name-all-completions (file dir) 3886(defun ange-ftp-file-name-all-completions (file dir)
3880 (let ((ange-ftp-this-dir (expand-file-name dir))) 3887 (let ((ange-ftp-this-dir (expand-file-name dir)))
3881 (if (ange-ftp-ftp-name ange-ftp-this-dir) 3888 (if (ange-ftp-ftp-name ange-ftp-this-dir)
@@ -3901,9 +3908,7 @@ E.g.,
3901 file))) 3908 file)))
3902 completions))) 3909 completions)))
3903 3910
3904 (if (or (and (eq system-type 'windows-nt) 3911 (if (ange-ftp-root-dir-p ange-ftp-this-dir)
3905 (string-match "^[a-zA-Z]:[/\\]$" ange-ftp-this-dir))
3906 (string-equal "/" ange-ftp-this-dir))
3907 (nconc (all-completions file (ange-ftp-generate-root-prefixes)) 3912 (nconc (all-completions file (ange-ftp-generate-root-prefixes))
3908 (ange-ftp-real-file-name-all-completions file 3913 (ange-ftp-real-file-name-all-completions file
3909 ange-ftp-this-dir)) 3914 ange-ftp-this-dir))
@@ -3933,9 +3938,7 @@ E.g.,
3933 file tbl ange-ftp-this-dir 3938 file tbl ange-ftp-this-dir
3934 (function ange-ftp-file-entry-active-p))))))) 3939 (function ange-ftp-file-entry-active-p)))))))
3935 3940
3936 (if (or (and (eq system-type 'windows-nt) 3941 (if (ange-ftp-root-dir-p ange-ftp-this-dir)
3937 (string-match "^[a-zA-Z]:[/\\]$" ange-ftp-this-dir))
3938 (string-equal "/" ange-ftp-this-dir))
3939 (try-completion 3942 (try-completion
3940 file 3943 file
3941 (nconc (ange-ftp-generate-root-prefixes) 3944 (nconc (ange-ftp-generate-root-prefixes)
@@ -4201,7 +4204,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
4201;;;###autoload 4204;;;###autoload
4202(defun ange-ftp-hook-function (operation &rest args) 4205(defun ange-ftp-hook-function (operation &rest args)
4203 (let ((fn (get operation 'ange-ftp))) 4206 (let ((fn (get operation 'ange-ftp)))
4204 (if fn (apply fn args) 4207 (if fn (save-match-data (apply fn args))
4205 (ange-ftp-run-real-handler operation args)))) 4208 (ange-ftp-run-real-handler operation args))))
4206 4209
4207 4210
@@ -4392,7 +4395,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
4392 (if wildcard 4395 (if wildcard
4393 (let ((default-directory (file-name-directory file))) 4396 (let ((default-directory (file-name-directory file)))
4394 (ange-ftp-ls (file-name-nondirectory file) switches nil nil t)) 4397 (ange-ftp-ls (file-name-nondirectory file) switches nil nil t))
4395 (ange-ftp-ls file switches full))))q 4398 (ange-ftp-ls file switches full))))
4396 (ange-ftp-real-insert-directory file switches wildcard full)))) 4399 (ange-ftp-real-insert-directory file switches wildcard full))))
4397 4400
4398(defun ange-ftp-dired-uncache (dir) 4401(defun ange-ftp-dired-uncache (dir)
@@ -4424,8 +4427,8 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
4424 (if (> (length name) 0) ; else it's $HOME 4427 (if (> (length name) 0) ; else it's $HOME
4425 (setq command (concat "cd " name "; " command))) 4428 (setq command (concat "cd " name "; " command)))
4426 ;; Remove port from the hostname 4429 ;; Remove port from the hostname
4427 (string-match "\\(.*\\)#\\(.*\\)" host) 4430 (when (string-match "\\(.*\\)#" host)
4428 (setq host (match-string 1 host)) 4431 (setq host (match-string 1 host)))
4429 (setq command 4432 (setq command
4430 (format "%s %s \"%s\"" ; remsh -l USER does not work well 4433 (format "%s %s \"%s\"" ; remsh -l USER does not work well
4431 ; on a hp-ux machine I tried 4434 ; on a hp-ux machine I tried