Hi,

I had to solve this problem too.

I used these functions:

  (defun w32-shell-execute (operation document &optional parameters
show-flag)
    (if (and operation (not (string= "open" operation)))
        (error "Don't know how to %s %s" operation document)
      (call-process "/mnt/c/Windows/System32/cmd.exe" nil nil t "/c"
"start" "\"\""
                    (concat ""
                            (replace-regexp-in-string "^/mnt/c/" "c:/"

(replace-regexp-in-string "^\\(/mnt/c\\)?/home/Fabrice/" "c:/home/"
document))
                            ""))))
  (defun wsl-open-url (url &rest args)
    (w32-shell-execute "open" url))

    (setq browse-url-browser-function #'wsl-open-url)
    (setq browse-url-mailto-function #'wsl-open-url)

Regards,

Fabrice

Le ven. 27 déc. 2019 à 18:10, Steve Miano <stevem...@comcast.net> a écrit :

> On WSL, using emacs 25.1, in org-mode there is a bug/design issue.
>
> It the issue is:
> When opening a link in org-mode using C-c C-o, org-open-at-point doesn't
> work. It does find the browser, if you have set
>
> (setq browse-url-firefox-program "/mnt/c/PROGRA~1/MOZILL~1/firefox.exe")
>
> and does run the process, but it doesn't bring up a browser. You can
> see the process in list-processes and if you run that command in the
> console it works, but in org-mode the console never show and the
> process remains.
>
> The function browse-url-default-browse finds and runs the correct
> browser. However, it runs the browser using the wrong command
> depending on the case. If you are on WSL, without the graphical
> interface, you need to run the shell-command to use the windows
> browser. This is how it is done when it detects cygwin using
> system-type. However, System-type cannot be used to detect WSL because
> it doesn't find that you are on windows. The uname command detects it.
>
> Obviously this isn't straight forward as in different situations you
> want to do different things, graphical vs non-graphical. Perhaps
> modify the function which sets system-type to return wsl then detect
> graphical environment and use the non shell-command approach?
>
> I humbly bring this to your attention. Thanks in advance.
>
>
> Emacs  : GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
>   of 2017-09-15, modified by Debian
> Package: Org mode version 9.1.14 (9.1.14-9-g131531-elpa @
> /home/XXXX/.emacs.d/elpa/org-20181112/)
>
> current state:
> ==============
> (setq
>   org-src-lang-modes '(("python" . python) ("plantuml" . fundamental)
> ("ocaml" . tuareg) ("elisp" . emacs-lisp) ("ditaa" . artist)
> ("asymptote" . asy)
>                        ("dot" . fundamental) ("sqlite" . sql) ("calc" .
> fundamental) ("C" . c) ("cpp" . c++) ("C++" . c++) ("screen" .
> shell-script)
>                        ("shell" . sh) ("bash" . sh))
>   org-tab-first-hook '(org-babel-hide-result-toggle-maybe
> org-babel-header-arg-expand)
>   org-babel-results-keyword "results"
>   org-speed-command-hook '(org-speed-command-activate
> org-babel-speed-command-activate)
>   org-occur-hook '(org-first-headline-recenter)
>   org-metaup-hook '(org-babel-load-in-session-maybe)
>   org-log-done t
>   org-confirm-shell-link-function 'yes-or-no-p
>   org-link-search-must-match-exact-headline nil
>   org-default-notes-file "~/org/notes.org"
>   org-after-todo-state-change-hook '(org-clock-out-if-current)
>   org-from-is-user-regexp "\\<XXXXXX-XXXXXX\\>"
>   org-src-mode-hook '(org-src-babel-configure-edit-buffer
> org-src-mode-configure-edit-buffer)
>   org-agenda-before-write-hook '(org-agenda-add-entry-text)
>   org-babel-pre-tangle-hook '(save-buffer)
>   org-table-use-standard-references t
>   org-font-lock-set-keywor
>
>
>

-- 
Fabrice Popineau
-----------------------------
CentraleSupelec
Département Informatique
3, rue Joliot Curie
91192 Gif/Yvette Cedex
Tel direct : +33 (0) 169851950
Standard : +33 (0) 169851212
------------------------------

Reply via email to