Mercurial > emacs
comparison lisp/wid-edit.el @ 90237:aa89c814f853
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-88
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 569-579)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 129-132)
- Update from CVS
- Merge from emacs--cvs-trunk--0
author | Miles Bader <miles@gnu.org> |
---|---|
date | Fri, 07 Oct 2005 07:15:40 +0000 |
parents | ee12d75eb214 fb90b962c3cb |
children | 0ca0d9181b5e |
comparison
equal
deleted
inserted
replaced
90236:7871ecd1281b | 90237:aa89c814f853 |
---|---|
55 ;;; Commentary: | 55 ;;; Commentary: |
56 ;; | 56 ;; |
57 ;; See `widget.el'. | 57 ;; See `widget.el'. |
58 | 58 |
59 ;;; Code: | 59 ;;; Code: |
60 | |
61 (defvar widget) | |
60 | 62 |
61 ;;; Compatibility. | 63 ;;; Compatibility. |
62 | 64 |
63 (defun widget-event-point (event) | 65 (defun widget-event-point (event) |
64 "Character position of the end of event if that exists, or nil." | 66 "Character position of the end of event if that exists, or nil." |
3026 | 3028 |
3027 (defun widget-file-complete () | 3029 (defun widget-file-complete () |
3028 "Perform completion on file name preceding point." | 3030 "Perform completion on file name preceding point." |
3029 (interactive) | 3031 (interactive) |
3030 (let* ((end (point)) | 3032 (let* ((end (point)) |
3031 (beg (save-excursion | 3033 (beg (widget-field-start widget)) |
3032 (skip-chars-backward "^ ") | |
3033 (point))) | |
3034 (pattern (buffer-substring beg end)) | 3034 (pattern (buffer-substring beg end)) |
3035 (name-part (file-name-nondirectory pattern)) | 3035 (name-part (file-name-nondirectory pattern)) |
3036 (directory (file-name-directory pattern)) | 3036 ;; I think defaulting to root is right |
3037 ;; because these really should be absolute file names. | |
3038 (directory (or (file-name-directory pattern) "/")) | |
3037 (completion (file-name-completion name-part directory))) | 3039 (completion (file-name-completion name-part directory))) |
3038 (cond ((eq completion t)) | 3040 (cond ((eq completion t)) |
3039 ((null completion) | 3041 ((null completion) |
3040 (message "Can't find completion for \"%s\"" pattern) | 3042 (message "Can't find completion for \"%s\"" pattern) |
3041 (ding)) | 3043 (ding)) |