[ESS] Emacs, ESS and Rmarkdown: Is this the way compile is supposed to work?

Kevin Zembower kev|n @end|ng |rom zembower@org
Sun Apr 23 20:11:17 CEST 2023


Jacob, thanks for your help.

Here's the output. I don't understand much of it, but the first mention 
of anything which seems germane is of "poly-markdown-+r-mode":
===============================================
Debugger entered--Lisp error: "Package cl is deprecated"
   message("%s" "Package cl is deprecated")
   #f(compiled-function (msg) #<bytecode 0x1fd0c5464193>)("Package cl is 
deprecated")
   apply(#f(compiled-function (msg) #<bytecode 0x1fd0c5464193>) "Package 
cl is deprecated")
   timer-event-handler([t 0 0 0 nil #f(compiled-function (msg) 
#<bytecode 0x1fd0c5464193>) ("Package cl is deprecated") idle 0])
   recursive-edit()
   debug(error (cl-no-applicable-method clone nil))
   signal(cl-no-applicable-method (clone nil))
   cl-no-applicable-method(#s(cl--generic :name clone :dispatches ((0 
#s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 
:tagcode-function cl--generic-struct-tag :specializers-function 
#f(compiled-function (tag &rest _) #<bytecode 0x155db7511469>)) 
#s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 
:tagcode-function #f(compiled-function (name &rest _) #<bytecode 
0x1fd0c5305c27>) :specializers-function #f(compiled-function (tag &rest 
_) #<bytecode 0x1fd0c5305c17>)))) :method-table (#s(cl--generic-method 
:specializers (eieio-named) :qualifiers nil :uses-cnm t :function 
#f(compiled-function (obj &rest params) "Clone OBJ, initializing 
`:parent' to OBJ.\nAll slots are unbound, except those initialized with 
PARAMS." #<bytecode 0x155db755ec35>)) #s(cl--generic-method 
:specializers (eieio-instance-inheritor) :qualifiers nil :uses-cnm t 
:function #f(compiled-function (obj &rest params) "Clone OBJ, 
initializing `:parent' to OBJ.\nAll slots are unbound, except those 
initialized with PARAMS." #<bytecode 0x155db74f9af1>)) 
#s(cl--generic-method :specializers (eieio-default-superclass) 
:qualifiers nil :uses-cnm nil :function #f(compiled-function (obj &rest 
params) "Make a copy of OBJ, and then apply PARAMS." #<bytecode 
0x155db7503511>))) :options nil) nil)
   apply(cl-no-applicable-method #s(cl--generic :name clone :dispatches 
((0 #s(cl--generic-generalizer :name eieio--generic-generalizer 
:priority 50 :tagcode-function cl--generic-struct-tag 
:specializers-function #f(compiled-function (tag &rest _) #<bytecode 
0x155db7511469>)) #s(cl--generic-generalizer :name 
cl--generic-t-generalizer :priority 0 :tagcode-function 
#f(compiled-function (name &rest _) #<bytecode 0x1fd0c5305c27>) 
:specializers-function #f(compiled-function (tag &rest _) #<bytecode 
0x1fd0c5305c17>)))) :method-table (#s(cl--generic-method :specializers 
(eieio-named) :qualifiers nil :uses-cnm t :function #f(compiled-function 
(obj &rest params) "Clone OBJ, initializing `:parent' to OBJ.\nAll slots 
are unbound, except those initialized with PARAMS." #<bytecode 
0x155db755ec35>)) #s(cl--generic-method :specializers 
(eieio-instance-inheritor) :qualifiers nil :uses-cnm t :function 
#f(compiled-function (obj &rest params) "Clone OBJ, initializing 
`:parent' to OBJ.\nAll slots are unbound, except those initialized with 
PARAMS." #<bytecode 0x155db74f9af1>)) #s(cl--generic-method 
:specializers (eieio-default-superclass) :qualifiers nil :uses-cnm nil 
:function #f(compiled-function (obj &rest params) "Make a copy of OBJ, 
and then apply PARAMS." #<bytecode 0x155db7503511>))) :options nil) nil)
   #f(compiled-function (&rest args) #<bytecode 0x155db79c1179>)(nil)
   apply(#f(compiled-function (&rest args) #<bytecode 0x155db79c1179>) 
nil nil)
   clone(nil)
   (let ((config (clone poly-markdown+r-mode))) (eieio-oset config 
':minor-mode 'poly-gfm+r-mode) (pm-initialize config))
   (if pm/polymode nil (let ((config (clone poly-markdown+r-mode))) 
(eieio-oset config ':minor-mode 'poly-gfm+r-mode) (pm-initialize config)))
   (let ((last-message (current-message))) (if pm/polymode nil (let 
((config (clone poly-markdown+r-mode))) (eieio-oset config ':minor-mode 
'poly-gfm+r-mode) (pm-initialize config))) (setq poly-gfm+r-mode t) 
(run-hooks 'poly-gfm+r-mode-hook) (if (and (called-interactively-p 'any) 
(or (null (current-message)) (not (equal last-message 
(current-message))))) (progn (message "gfm+r polymode enabled"))) 
(force-mode-line-update))
   (if poly-gfm+r-mode nil (let ((last-message (current-message))) (if 
pm/polymode nil (let ((config (clone poly-markdown+r-mode))) (eieio-oset 
config ':minor-mode 'poly-gfm+r-mode) (pm-initialize config))) (setq 
poly-gfm+r-mode t) (run-hooks 'poly-gfm+r-mode-hook) (if (and 
(called-interactively-p 'any) (or (null (current-message)) (not (equal 
last-message (current-message))))) (progn (message "gfm+r polymode 
enabled"))) (force-mode-line-update)))
   poly-gfm+r-mode()
   set-auto-mode-0(poly-gfm+r-mode nil)
   set-auto-mode()
   normal-mode(t)
   after-find-file(nil t)
   find-file-noselect-1(#<buffer Prob_17_Page_295.Rmd> 
"~/Documents/Dan/Math_Stats/Prob_17_Page_295.Rmd" nil nil 
"~/Documents/Dan/Math_Stats/Prob_17_Page_295.Rmd" (69338481 2067))
 
find-file-noselect("/home/kevin/Documents/Dan/Math_Stats/Prob_17_Page_...")
   #f(compiled-function (displayable-buffers dir line column name) 
#<bytecode 0x1fd0c5450cb9>)((nil) "~/Documents/Dan/Math_Stats/" (0) (0) 
"Prob_17_Page_295.Rmd")
   command-line-1(("Prob_17_Page_295.Rmd"))
   command-line()
   normal-top-level()
========================================

Thanks for any ongoing advice.

-Kevin

On 4/23/23 13:34, Jacob Kasper wrote:
> For package cl is depreciated you can read this thread. I don't think 
> this is causing any issues with markdown.
> https://www.reddit.com/r/emacs/comments/zslyem/package_cl_is_deprecated_debugging/ <https://www.reddit.com/r/emacs/comments/zslyem/package_cl_is_deprecated_debugging/>
> 
> On Sun, Apr 23, 2023, 17:16 Kevin Zembower via ESS-help 
> <ess-help using r-project.org <mailto:ess-help using r-project.org>> wrote:
> 
>     Tyler, thanks again for your help.
> 
>     I'm sorry to burden you with my problems, but I'm stuck again.
> 
>     I think I have everything installed and up to date. Here's an excerpt
>     from M-x package-list-packages:
>         markdown-mode      20220212.728  installed             Major
>     mode for
>     Markdown-formatted text
>         poly-R             20230416.1454 installed             Various
>     polymodes for R language
>         poly-markdown      20230202.1210 installed             Polymode for
>     markdown-mode
>         poly-noweb         20200316.1315 installed             Polymode
>     for noweb
>         polymode           20230317.1218 installed             Extensible
>     framework for multiple major modes
> 
>     With the exception of poly-noweb, they're all 2023 packages.
> 
>     Yet, when I open an *.Rmd file, I get this in the Messages buffer:
> 
>     File mode specification error: (error Autoloading file
>     /home/kevin/.emacs.d/polymode/modes/poly-R.el failed to define function
>     poly-gfm+r-mode)
>     Package cl is deprecated
> 
>     I then added your alternative define-polymode section, and the error
>     about poly-gfm+r-mode went away, but I still have this message in the
>     Messages buffer when I start Emacs with an *.Rmd file:
> 
>     File mode specification error: (cl-no-applicable-method clone nil)
>     Package cl is deprecated
> 
>     I can't find a reference to a 'cl' package in my init.el. In addition,
>     the *.Rmd file is in Fundamental mode, and not ESS or poly-R mode.
> 
>     When I try to manually invoke the poly mode, with 'M-x
>     poly-gfm+r-mode',
>     I get the message:
> 
>     cl-no-applicable-method: No applicable method: clone, nil
> 
>     Any ideas what's going on with my system? I'm so worried I'm just
>     making
>     a hash of things with these changes.
> 
>     Thanks for any advice or guidance.
> 
>     -Kevin
> 
>     On 4/22/23 06:00, ess-help-request using r-project.org
>     <mailto:ess-help-request using r-project.org> wrote:
>      > ------------------------------
>      >
>      > Message: 2
>      > Date: Fri, 21 Apr 2023 11:09:43 -0400
>      > From: "Tyler Smith"<tyler using plantarum.ca <mailto:tyler using plantarum.ca>>
>      > To: ESS-help<ess-help using r-project.org <mailto:ess-help using r-project.org>>
>      > Subject: Re: [ESS] Emacs, ESS and Rmarkdown: Is this the way compile
>      >       is supposed to work?
>      > Message-ID:<a2b88f26-7760-41c2-8e9d-e4ea5de4bf21 using app.fastmail.com
>     <mailto:a2b88f26-7760-41c2-8e9d-e4ea5de4bf21 using app.fastmail.com>>
>      > Content-Type: text/plain; charset="us-ascii"
>      >
>      > Hi Kevin,
>      >
>      > If you have an older version of `poly-R`, the function
>     `poly-gfm+r-mode` might not be present. This was added to `poly-R`
>     dev in July 2021, I'm not sure exactly when it would have been added
>     to the released version.
>      >
>      > If that's the case, updating to the current version of `poly-R`
>     should fix the problem.
>      >
>      > Alternatively, you need the following code evaluated*after* 
>     `(require 'poly-R)` and*before*  `(add-to-list ...)`:
>      >
>      > ```
>      > (define-polymode poly-gfm+r-mode poly-markdown+r-mode
>      >    :lighter " PM-Rmd(gfm)"
>      >    :hostmode 'poly-gfm-hostmode)
>      > ```
>      >
>      > But that really shouldn't be necessary.
>      >
>      > Best,
>      >
>      > Tyler
>      > -- plantarum.ca <http://plantarum.ca>
> 
> 
>     ______________________________________________
>     ESS-help using r-project.org <mailto:ESS-help using r-project.org> mailing list
>     https://stat.ethz.ch/mailman/listinfo/ess-help
>     <https://stat.ethz.ch/mailman/listinfo/ess-help>
> 




More information about the ESS-help mailing list