# HG changeset patch # User John Wiegley # Date 987004201 0 # Node ID 570c667b4d1c76039243d797dfd8c6cacc153e61 # Parent 11b33211a9087380f8142dcec0fd5fe2c9133467 (timeclock-completing-read): new function. (timeclock-ask-for-project, timeclock-ask-for-reason): Call `timeclock-completing-read', which works under XEmacs as well. diff -r 11b33211a908 -r 570c667b4d1c lisp/calendar/timeclock.el --- a/lisp/calendar/timeclock.el Wed Apr 11 15:49:31 2001 +0000 +++ b/lisp/calendar/timeclock.el Wed Apr 11 15:50:01 2001 +0000 @@ -540,21 +540,31 @@ (defvar timeclock-project-list nil) (defvar timeclock-last-project nil) +(defun timeclock-completing-read (prompt alist &optional default) + "A version of `completing-read' that works on both Emacs and XEmacs." + (if (featurep 'xemacs) + (let ((str (completing-read prompt alist))) + (if (or (null str) (= (length str) 0)) + default + str)) + (completing-read prompt alist nil nil nil nil default))) + (defun timeclock-ask-for-project () "Ask the user for the project they are clocking into." - (completing-read (format "Clock into which project (default \"%s\"): " - (or timeclock-last-project - (car timeclock-project-list))) - (mapcar 'list timeclock-project-list) - nil nil nil nil (or timeclock-last-project - (car timeclock-project-list)))) + (timeclock-completing-read + (format "Clock into which project (default \"%s\"): " + (or timeclock-last-project + (car timeclock-project-list))) + (mapcar 'list timeclock-project-list) + (or timeclock-last-project + (car timeclock-project-list)))) (defvar timeclock-reason-list nil) (defun timeclock-ask-for-reason () "Ask the user for the reason they are clocking out." - (completing-read "Reason for clocking out: " - (mapcar 'list timeclock-reason-list))) + (timeclock-completing-read "Reason for clocking out: " + (mapcar 'list timeclock-reason-list))) (defun timeclock-update-modeline () "Update the `timeclock-mode-string' displayed in the modeline."