Planner-multi used to work OK with XEmacs 21.4.17 under Ubuntu Breezy
(05.10) using the multiple-prompt fallback method. As of 21.4.18 in
Dapper (06.06), the crm package is included with the XEmacs packages.
This is also the case for xemacs beta.

This causes planner-multi to try and use the fancier
completing-read-multiple function, which seems incompatible with
planner-multi in xemacs.

The first problem is the variable minibuffer-prompt-properties which is
unset by default. This results in a "Symbol's value as variable is void:
minibuffer-prompt-propertie" when trying to add a task. I tried working
around this by doing (setq minibuffer-prompt-properties nil), which gets
me one step further.

Now I can type up to one plan page, but typing space (the mult-prompt
separator) results in a backtrace that ends like this:

Debugger entered--Lisp error: (wrong-type-argument vectorp "TaskPool")
  self-insert-command(1)
  call-interactively(self-insert-command)
  (dispatch-event "[internal]")
  read-minibuffer-internal("Page: (default: TaskPool) ")
  byte-code("..." [standard-output standard-input prompt recursion-depth
minibuffer-depth t read-minibuffer-internal] 2)
  read-from-minibuffer("Page: (default: TaskPool) " nil #<keymap size 1
0xe3478> nil planner-history-list "TaskPool" nil)
  completing-read-multiple("Page: (default: TaskPool)
" (("ACES2006Conf" . "/home/brick/lewe/planner/ACES2006Conf.muse")
("BankInligting" . "/home/brick/lewe/planner/BankInligting.muse")
("BlahPool" . "/home/brick/lewe/planner/BlahPool.muse")
("ClimbKilimanjaro" . "/home/brick/lewe/planner/ClimbKilimanjaro.muse")
("ComputerStuff" . "/home/brick/lewe/planner/ComputerStuff.muse")
("EMSS" . "/home/brick/lewe/planner/EMSS.muse") ("GeldSake" .
"/home/brick/lewe/planner/GeldSake.muse") ("GoedOmTePak" .
"/home/brick/lewe/planner/GoedOmTePak.muse") ("MenseEnDinge" .
"/home/brick/lewe/planner/MenseEnDinge.muse")
("MusePlannerRemoteShare" .
"/home/brick/lewe/planner/MusePlannerRemoteShare.muse") ("PhotoStuff" .
"/home/brick/lewe/planner/PhotoStuff.muse") ("PlannerHacking" .
"/home/brick/lewe/planner/PlannerHacking.muse")
("PreDepartureChecklist" .
"/home/brick/lewe/planner/PreDepartureChecklist.muse") ("SortVAT" .
"/home/brick/lewe/planner/SortVAT.muse") ("Task149" .
"/home/brick/lewe/planner/Task149.muse") ("TaskPool" .
"/home/brick/lewe/planner/TaskPool.muse") ("Travel2006" .
"/home/brick/lewe/planner/Travel2006.muse") ("super" .
"/home/brick/lewe/planner/super.muse")) nil nil nil planner-history-list
"TaskPool")
  (if (fboundp (quote completing-read-multiple))
(completing-read-multiple prompt file-alist nil nil initial (quote
planner-history-list) planner-default-page) (planner-multi-split
(read-string prompt initial ... planner-default-page)))

The trace ends in the self-insert-command call, and figuring out what's
going on seems to be beyond my meagre elisp hacking abilities.

I found that I can at least restore the old multiple-prompts behaviour
by doing:

--- orig/planner-multi.el
+++ mod/planner-multi.el
@@ -819,9 +819,10 @@
        (setq more nil)))
     (setq planner-default-page (planner-multi-make-link list))))
 
-(if (fboundp 'completing-read-multiple)
-    (setq planner-read-name-function 'planner-multi-read-name)
-  (setq planner-read-name-function
'planner-multi-read-name-multiple-prompts))
+; (if (fboundp 'completing-read-multiple)
+;     (setq planner-read-name-function 'planner-multi-read-name)
+;   (setq planner-read-name-function
'planner-multi-read-name-multiple-prompts))
+(setq planner-read-name-function
'planner-multi-read-name-multiple-prompts)
 
 ;;;###autoload
 (defun planner-multi-remove-task-from-pool (old-status new-status)

Thanks
Neilen


_______________________________________________
Planner-el-discuss mailing list
Planner-el-discuss@gna.org
https://mail.gna.org/listinfo/planner-el-discuss

Reply via email to