Hello Stephen,

The function `poly-gfm+r-mode` is defined in the `poly-R` library. It needs to be loaded before you can call it. The following addition to your code should do it:

```
(require 'poly-R)

(add-to-list 'auto-mode-alist
            '("\\.[rR]md\\'" . poly-gfm+r-mode))
```

As long as the `(require 'poly-R)` line comes before you actually try to open an Rmarkdown file, the specific location doesn't really matter.

I'll update the tutorial. Whether or not (and when) the `require` command is needed does depend on how you have installed `polymode`. I think when I originally wrote this I had set up the package system to load it automatically, which is why I don't provide instructions to do it explicitly in the tutorial.

Best,

Tyler

On Sat, Feb 12 2022, Stephen Bond via ESS-help wrote:

Hello,

I am trying to activate the github flavor by:

(add-to-list 'auto-mode-alist
             '("\\.[rR]md\\'" . poly-gfm+r-mode))

as described in https://plantarum.ca/2021/10/03/emacs-tutorial-rmarkdown/

and get an error:
File mode specification error: (void-function poly-gfm+r-mode)

I have the following in my .emacs

(defun rmd-mode ()
  "ESS Markdown mode for rmd files"
  (interactive)
  ;; (setq load-path
;; (append (list "path/to/polymode/" "path/to/polymode/modes/")
  ;;       load-path))
  (require 'poly-R)
(require 'poly-markdown) (poly-markdown+r-mode))
(add-to-list 'auto-mode-alist '("\\.md" . poly-markdown-mode))
(add-to-list 'auto-mode-alist '("\\.Snw" . poly-noweb+r-mode))
(add-to-list 'auto-mode-alist '("\\.Rnw" . poly-noweb+r-mode))
;; I commented out to emable gfm, markdown+r works
;;(add-to-list 'auto-mode-alist '("\\.Rmd" . poly-markdown+r-mode))
;; associate the new polymode to Rmd files:
(add-to-list 'auto-mode-alist
             '("\\.[rR]md\\'" . poly-gfm+r-mode))

(custom-set-variables
'(markdown-command
(concat "pandoc" " --from=markdown --to=html" " --standalone --
mathjax --highlight-style=pygments"))
 '(org-agenda-files '("~/1.org"))
'(package-selected-packages '(markdown-mode poly-R poly-markdown poly-
org polymode ess))
 '(poly-pandoc-exporter
#s(pm-shell-exporter unbound "pandoc" nil nil nil pm-default-shell-
export-function pm-default-shell-export-sentinel nil)))

I am afraid there is a conflict somewhere.
Please, advise how to cleanup my setup.
Thanks
Stephen

______________________________________________
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help


--
plantarum.ca

______________________________________________
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help
  • [ESS] github flavor Stephen Bond via ESS-help
    • Re: [ESS] github flavor Tyler Smith via ESS-help

Reply via email to