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))