Here is the fix/patch for your problem. -- Bob
Copy all of the following lines to the *scratch* buffer in your Emacs
and follow the directions:
Activate the following link with M-RETURN: <link-to-string-match "link-to-ebut" 1 "${hyperb:dir}/hactypes.el">
Replace the defact you see in the file with
the one defined below.
Then byte-compile and reload the file
by activating the following key series: {C-x b hactypes.el RET M-: (byte-compile-buffer t) RET}
(defact link-to-ebut (key &optional key-file)
"Perform action given by an explicit button, specified by KEY and optional KEY-FILE.
Interactively, KEY-FILE defaults to the current buffer's file name."
(interactive
(let (but-lbl
but-file)
(while (cond ((setq but-file
(read-file-name
"File of button to link to: " nil nil t))
(if (string-equal but-file "")
(progn (beep) t)))
((not (file-readable-p but-file))
(message "(link-to-ebut): You cannot read `%s'."
but-file)
(beep) (sit-for 3))))
(list (progn
(find-file-noselect but-file)
(while (string-equal "" (setq but-lbl
(hargs:read-match
"Button to link to: "
(ebut:alist but-file)
nil nil nil 'ebut)))
(beep))
(ebut:label-to-key but-lbl))
but-file)))
(let (but
normalized-file)
(if key-file
(setq normalized-file (hpath:normalize key-file))
(setq normalized-file buffer-file-name))
(if (setq but (when normalized-file (ebut:get key nil normalized-file)))
(hbut:act but)
(hypb:error "(link-to-ebut): No button `%s' in `%s'"
(ebut:key-to-label key)
key-file))))