GNU bug report logs -
#36107
Be explicit here. Make a statement or ask a question.
Previous Next
Reported by: <d40547914 <at> dvuadmin.net>
Date: Wed, 5 Jun 2019 20:28:01 UTC
Severity: normal
Done: Mats Lidell <matsl <at> gillsatra.se>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 36107 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
This is indeed a bug. Evaluate this function after loading Hyperbole and I
believe this will resolve it. The default-directory was not set properly
in this function.
(defun hpath:find (filename &optional display-where)
"Edits file FILENAME using user customizable settings of display program
and location.
FILENAME may start with a special prefix character which is
handled as follows:
!filename - execute as a non-windowed program within a shell;
&filename - execute as a windowed program;
-filename - load as an Emacs Lisp program.
Otherwise, if FILENAME matches a regular expression in the alist returned by
\(hpath:get-external-display-alist), the associated external display
program is invoked.
If not, `hpath:internal-display-alist' is consulted for a specialized
internal
display function to use. If no matches are found there,
`hpath:display-where-alist' is consulted using the optional argument,
DISPLAY-WHERE (a symbol) or if that is nil, the value of
`hpath:display-where', and the matching display function is used.
Allows for hash-style link references to HTML, Markdown or Emacs outline
headings of the form, <file>#<anchor-name>.
Returns non-nil iff file is displayed within a buffer (not with an external
program)."
(interactive "FFind file: ")
(let ((case-fold-search t)
modifier loc default-directory anchor hash path)
(if (string-match hpath:prefix-regexp filename)
(setq modifier (aref filename 0)
filename (substring filename (match-end 0))))
(setq path (hpath:substitute-value
(if (string-match hpath:markup-link-anchor-regexp filename)
(progn (setq hash t
anchor (match-string 3 filename))
(substring filename 0 (match-end 1)))
filename))
loc (hattr:get 'hbut:current 'loc)
default-directory (file-name-directory
;; Loc may be a buffer without a file
(if (stringp loc) loc default-directory))
filename (hpath:absolute-to path default-directory))
(let ((remote-filename (hpath:remote-p path)))
(or modifier remote-filename
(file-exists-p filename)
(error "(hpath:find): \"%s\" does not exist" filename))
(or modifier remote-filename
(file-readable-p filename)
(error "(hpath:find): \"%s\" is not readable" filename))
;; If filename is a remote file (not a directory, we have to copy it
to
;; a temporary local file and then display that.
(when (and remote-filename (not (file-directory-p remote-filename)))
(copy-file remote-filename
(setq path (concat hpath:tmp-prefix
(file-name-nondirectory remote-filename)))
t t)
(setq filename (cond (anchor (concat remote-filename "#" anchor))
(hash (concat remote-filename "#"))
(t path)))))
(cond (modifier (cond ((eq modifier ?!)
(hact 'exec-shell-cmd filename))
((eq modifier ?&)
(hact 'exec-window-cmd filename))
((eq modifier ?-)
(load filename)))
nil)
(t (let ((display-executables (hpath:find-program path))
executable)
(cond ((stringp display-executables)
(hact 'exec-window-cmd
(hpath:command-string display-executables
filename))
nil)
((hypb:functionp display-executables)
(funcall display-executables filename)
t)
((and (listp display-executables) display-executables)
(setq executable (hpath:find-executable
display-executables))
(if executable
(hact 'exec-window-cmd
(hpath:command-string executable
filename))
(error "(hpath:find): No available executable from: %s"
display-executables)))
(t (setq path (hpath:validate path))
(if (null display-where)
(setq display-where hpath:display-where))
(funcall
(car (cdr (or (assq display-where
hpath:display-where-alist)
(assq 'other-window
hpath:display-where-alist))))
path)
(if (or hash anchor) (hpath:to-markup-anchor hash anchor))
t)))))))
On Wed, Jun 5, 2019 at 5:20 PM <d40547914 <at> dvuadmin.net> wrote:
>
>
> I just realized I didn't put a subject on my report -- oops! Sorry!
>
> etb
>
> _______________________________________________
> Bug-hyperbole mailing list
> Bug-hyperbole <at> gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-hyperbole
[Message part 2 (text/html, inline)]
This bug report was last modified 4 years and 224 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.