unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* cl-macro-expandall symbol definition is void
@ 2014-10-20 22:37 covici
  2014-10-21  0:18 ` Kelvin White
  0 siblings, 1 reply; 16+ messages in thread
From: covici @ 2014-10-20 22:37 UTC (permalink / raw)
  To: emacs-devel

Hi.  I am getting this immediately upon starting emacs 24.4-rc1.  How do
I even troubleshoot as it seems to be something in my .emacs file?

Thanks in advance for any suggestions.

-- 
Your life is like a penny.  You're going to lose it.  The question is:
How do
you spend it?

         John Covici
         covici@ccs.covici.com



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-10-20 22:37 covici
@ 2014-10-21  0:18 ` Kelvin White
  2014-10-21  1:45   ` covici
  0 siblings, 1 reply; 16+ messages in thread
From: Kelvin White @ 2014-10-21  0:18 UTC (permalink / raw)
  To: covici; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 488 bytes --]

You can start emacs with -Q option to exclude your init file... `emacs -Q'
On Oct 20, 2014 6:38 PM, <covici@ccs.covici.com> wrote:

> Hi.  I am getting this immediately upon starting emacs 24.4-rc1.  How do
> I even troubleshoot as it seems to be something in my .emacs file?
>
> Thanks in advance for any suggestions.
>
> --
> Your life is like a penny.  You're going to lose it.  The question is:
> How do
> you spend it?
>
>          John Covici
>          covici@ccs.covici.com
>
>
>

[-- Attachment #2: Type: text/html, Size: 835 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-10-21  0:18 ` Kelvin White
@ 2014-10-21  1:45   ` covici
  2014-10-21  5:33     ` Stephen J. Turnbull
  0 siblings, 1 reply; 16+ messages in thread
From: covici @ 2014-10-21  1:45 UTC (permalink / raw)
  To: Kelvin White; +Cc: emacs-devel

hmmm, I found that the problem was caused by something called
csharp-mode which I had emerged from the repository, so I don't know
what it is about emacs-24 which caused me to get that error in that
file, no way to debug your init -- is there?  I thought I remembered
some way to do that.


Kelvin White <kwhite@gnu.org> wrote:

> You can start emacs with -Q option to exclude your init file... `emacs -Q'
> On Oct 20, 2014 6:38 PM, <covici@ccs.covici.com> wrote:
> 
> > Hi.  I am getting this immediately upon starting emacs 24.4-rc1.  How do
> > I even troubleshoot as it seems to be something in my .emacs file?
> >
> > Thanks in advance for any suggestions.
> >
> > --
> > Your life is like a penny.  You're going to lose it.  The question is:
> > How do
> > you spend it?
> >
> >          John Covici
> >          covici@ccs.covici.com
> >
> >
> >
> 
> ----------------------------------------------------
> Alternatives:
> 
> ----------------------------------------------------

-- 
Your life is like a penny.  You're going to lose it.  The question is:
How do
you spend it?

         John Covici
         covici@ccs.covici.com



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-10-21  1:45   ` covici
@ 2014-10-21  5:33     ` Stephen J. Turnbull
  2014-10-21  6:59       ` covici
  0 siblings, 1 reply; 16+ messages in thread
From: Stephen J. Turnbull @ 2014-10-21  5:33 UTC (permalink / raw)
  To: covici; +Cc: Kelvin White, emacs-devel

covici@ccs.covici.com writes:

 > file, no way to debug your init -- is there?  I thought I remembered
 > some way to do that.

Your init file is just a library like any other as far as Emacs is
concerned.  As Kelvin said, you just start with `emacs -Q' to ensure a
clean environment, and as he didn't say, then you do whatever you do
to debug any library.  You lose the convenience of your
customizations, that's all.

 > Kelvin White <kwhite@gnu.org> wrote:
 > 
 > > You can start emacs with -Q option to exclude your init file... `emacs -Q'




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-10-21  5:33     ` Stephen J. Turnbull
@ 2014-10-21  6:59       ` covici
  2014-10-21 13:45         ` Stefan Monnier
  0 siblings, 1 reply; 16+ messages in thread
From: covici @ 2014-10-21  6:59 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Kelvin White, emacs-devel

So, does anyone know about csharp-mode and why it would give me this
error?

Stephen J. Turnbull <stephen@xemacs.org> wrote:

> covici@ccs.covici.com writes:
> 
>  > file, no way to debug your init -- is there?  I thought I remembered
>  > some way to do that.
> 
> Your init file is just a library like any other as far as Emacs is
> concerned.  As Kelvin said, you just start with `emacs -Q' to ensure a
> clean environment, and as he didn't say, then you do whatever you do
> to debug any library.  You lose the convenience of your
> customizations, that's all.
> 
>  > Kelvin White <kwhite@gnu.org> wrote:
>  > 
>  > > You can start emacs with -Q option to exclude your init file... `emacs -Q'
> 

-- 
Your life is like a penny.  You're going to lose it.  The question is:
How do
you spend it?

         John Covici
         covici@ccs.covici.com



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-10-21  6:59       ` covici
@ 2014-10-21 13:45         ` Stefan Monnier
  0 siblings, 0 replies; 16+ messages in thread
From: Stefan Monnier @ 2014-10-21 13:45 UTC (permalink / raw)
  To: covici; +Cc: Stephen J. Turnbull, Kelvin White, emacs-devel

> So, does anyone know about csharp-mode and why it would give me this
> error?

I think I have some idea of what's the underlying problem (in cc-mode,
used by csharp-mode).  Try:

    emacs --debug-init

and hopefully you'll get a backtrace.  In any case, open a bug with `M-x
report-emacs-bug` so we can track it there.


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
@ 2014-11-25 21:24 Jostein Kjønigsen
  2014-11-25 22:12 ` Glenn Morris
  0 siblings, 1 reply; 16+ messages in thread
From: Jostein Kjønigsen @ 2014-11-25 21:24 UTC (permalink / raw)
  To: emacs-devel

If you're attempt to open some C#-files using the current Emacs 24.4
Windows-build, a bug in cc-defs.el is triggered during the
initialization of csharp-mode, and the mode fails to load.

This code here, while not the "production" fix, illustrates what goes
wrong:
https://gist.github.com/bsuh/f8b12b0d7e15f75f9a7c

The current fix in the repo can be found here:

237bf45a (Stefan Monnier      2014-10-29 23:50:15 -0400  177)
(eval-and-compile
237bf45a (Stefan Monnier      2014-10-29 23:50:15 -0400  178)  
(defalias 'c--macroexpand-all
237bf45a (Stefan Monnier      2014-10-29 23:50:15 -0400  179)     (if
(fboundp 'macroexpand-all)
237bf45a (Stefan Monnier      2014-10-29 23:50:15 -0400  180)        
'macroexpand-all 'cl-macroexpand-all)))

That commit should (hopefully) contain the rest of the patching needed,
but it's mostly just applying the wrapper function instead of
cl-macroexpand-all directly.

Any chance of getting a new 24.4 build built for the Windows-users with
this patch built in?

-- 
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net


> So, does anyone know about csharp-mode and why it would give me this
> error?

I think I have some idea of what's the underlying problem (in cc-mode,
used by csharp-mode).  Try:

    emacs --debug-init

and hopefully you'll get a backtrace.  In any case, open a bug with `M-x
report-emacs-bug` so we can track it there.


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-25 21:24 cl-macro-expandall symbol definition is void Jostein Kjønigsen
@ 2014-11-25 22:12 ` Glenn Morris
  2014-11-25 22:35   ` Glenn Morris
  0 siblings, 1 reply; 16+ messages in thread
From: Glenn Morris @ 2014-11-25 22:12 UTC (permalink / raw)
  To: jostein; +Cc: emacs-devel


Can't you work around this with just

(require 'cl)

?



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-25 22:12 ` Glenn Morris
@ 2014-11-25 22:35   ` Glenn Morris
  2014-11-26  8:22     ` Jostein Kjønigsen
  0 siblings, 1 reply; 16+ messages in thread
From: Glenn Morris @ 2014-11-25 22:35 UTC (permalink / raw)
  To: jostein; +Cc: emacs-devel


Following diff seems to make csharp-mode-0.8.5.el work fine for me.
(Without the `eval-and-compile', it was uncompilable in any Emacs 24.x.)

Since it uses eg `set-difference', IMO it should in any case explicitly
require cl and not rely on its other dependencies pulling it in.

*** csharp-mode-0.8.5.el.ORIG	2014-11-25 14:32:22.001787092 -0800
--- csharp-mode-0.8.5.el	2014-11-25 14:31:13.608157922 -0800
***************
*** 379,384 ****
--- 379,385 ----
  ;;    0.8.6 DPC 2011 May ??
  ;;          -
  
+ (eval-when-compile (require 'cl))
  
  (require 'cc-mode)
  
***************
*** 472,477 ****
--- 473,479 ----
    "Regex for matching directive blocks in ASP.NET files (.aspx, .ashx, .ascx)")
  
  
+ (eval-and-compile
  (defconst csharp-enum-decl-re
    (concat
     "\\<enum[ \t\n\r\f\v]+"
***************
*** 484,490 ****
     "\\)"
     "\\)?")
    "Regex that captures an enum declaration in C#"
!   )
  
  ;; ==================================================================
  
--- 486,492 ----
     "\\)"
     "\\)?")
    "Regex that captures an enum declaration in C#"
!   ))
  
  ;; ==================================================================
  



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-25 22:35   ` Glenn Morris
@ 2014-11-26  8:22     ` Jostein Kjønigsen
  2014-11-26 14:23       ` Stefan Monnier
  2014-11-26 16:47       ` Glenn Morris
  0 siblings, 2 replies; 16+ messages in thread
From: Jostein Kjønigsen @ 2014-11-26  8:22 UTC (permalink / raw)
  To: Glenn Morris, jostein; +Cc: emacs-devel

While I can work aroud this bug by this patch or a similar, I think it's
worth noting that csharp-mode worked fine prior to Emacs 24.4.

This means that some changes in core emacs now breaks derived c-modes.

So yes, we can work around this in csharp-mode (for now), but are we
100% sure we haven't broken any other derived c-modes in the process?

Wouldn't it be better to have this fixed in the -official- Emacs version
being distrubuted from the GNU website? If building Emacs from source
(master-branch) right now, the issue is already fixed. We might just
need a new build and that's it.

-- 
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net

On Tue, Nov 25, 2014, at 11:35 PM, Glenn Morris wrote:
> 
> Following diff seems to make csharp-mode-0.8.5.el work fine for me.
> (Without the `eval-and-compile', it was uncompilable in any Emacs 24.x.)
> 
> Since it uses eg `set-difference', IMO it should in any case explicitly
> require cl and not rely on its other dependencies pulling it in.
> 
> *** csharp-mode-0.8.5.el.ORIG   2014-11-25 14:32:22.001787092 -0800
> --- csharp-mode-0.8.5.el        2014-11-25 14:31:13.608157922 -0800
> ***************
> *** 379,384 ****
> --- 379,385 ----
>   ;;    0.8.6 DPC 2011 May ??
>   ;;          -
>   
> + (eval-when-compile (require 'cl))
>   
>   (require 'cc-mode)
>   
> ***************
> *** 472,477 ****
> --- 473,479 ----
>     "Regex for matching directive blocks in ASP.NET files (.aspx, .ashx,
>     .ascx)")
>   
>   
> + (eval-and-compile
>   (defconst csharp-enum-decl-re
>     (concat
>      "\\<enum[ \t\n\r\f\v]+"
> ***************
> *** 484,490 ****
>      "\\)"
>      "\\)?")
>     "Regex that captures an enum declaration in C#"
> !   )
>   
>   ;; ==================================================================
>   
> --- 486,492 ----
>      "\\)"
>      "\\)?")
>     "Regex that captures an enum declaration in C#"
> !   ))
>   
>   ;; ==================================================================
>   



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-26  8:22     ` Jostein Kjønigsen
@ 2014-11-26 14:23       ` Stefan Monnier
  2014-11-27  9:58         ` Jostein Kjønigsen
  2014-11-26 16:47       ` Glenn Morris
  1 sibling, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2014-11-26 14:23 UTC (permalink / raw)
  To: Jostein Kjønigsen; +Cc: Alan Mackenzie, emacs-devel, jostein

> This means that some changes in core emacs now breaks derived c-modes.

We don't disagree it's a bug in Emacs-24.4.  We're just pointing out how
to work around it.

> Wouldn't it be better to have this fixed in the -official- Emacs version
> being distrubuted from the GNU website? If building Emacs from source
> (master-branch) right now, the issue is already fixed. We might just
> need a new build and that's it.

It's not just "a new build" but a new *release*.


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-26  8:22     ` Jostein Kjønigsen
  2014-11-26 14:23       ` Stefan Monnier
@ 2014-11-26 16:47       ` Glenn Morris
  2014-11-26 18:41         ` Stefan Monnier
  1 sibling, 1 reply; 16+ messages in thread
From: Glenn Morris @ 2014-11-26 16:47 UTC (permalink / raw)
  To: jostein; +Cc: emacs-devel

Jostein Kjønigsen wrote:

> While I can work aroud this bug by this patch or a similar, I think it's
> worth noting that csharp-mode worked fine prior to Emacs 24.4.

As I noted, for me it fails to compile in any Emacs 24.x.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-26 16:47       ` Glenn Morris
@ 2014-11-26 18:41         ` Stefan Monnier
  2014-11-26 21:34           ` Stefan Monnier
  0 siblings, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2014-11-26 18:41 UTC (permalink / raw)
  To: Glenn Morris; +Cc: jostein, emacs-devel

>> While I can work aroud this bug by this patch or a similar, I think it's
>> worth noting that csharp-mode worked fine prior to Emacs 24.4.
> As I noted, for me it fails to compile in any Emacs 24.x.

Experience shows that lots and lots of people don't compile
their packages.  Even the package's own authors often don't byte-compile
the package on which they work.


        Stefan :-(



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-26 18:41         ` Stefan Monnier
@ 2014-11-26 21:34           ` Stefan Monnier
  0 siblings, 0 replies; 16+ messages in thread
From: Stefan Monnier @ 2014-11-26 21:34 UTC (permalink / raw)
  To: Glenn Morris; +Cc: jostein, emacs-devel

> Experience shows that lots and lots of people don't compile their
> packages.  Even the package's own authors often don't byte-compile the
> package on which they work.

Maybe one way to improve this situation is to get flymake.el to be
enabled by default in Elisp buffers.


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-26 14:23       ` Stefan Monnier
@ 2014-11-27  9:58         ` Jostein Kjønigsen
  2014-11-27 17:09           ` Stefan Monnier
  0 siblings, 1 reply; 16+ messages in thread
From: Jostein Kjønigsen @ 2014-11-27  9:58 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Alan Mackenzie, emacs-devel

On Wed, Nov 26, 2014, at 03:23 PM, Stefan Monnier wrote:
> We don't disagree it's a bug in Emacs-24.4.  We're just pointing out how
> to work around it.
> 
> It's not just "a new build" but a new *release*.
> 
> 
>         Stefan

Fair enough. Since csharp-mode seemed utterly dead (no changes on Google
code since 2011, lots of abandoned issues), I've converted and forked
the repo and put it on Github:

https://github.com/josteink/csharp-mode/

I've applied the fix there, and will contact the relevant package-repo's
for change of package-ownership for csharp-mode and get a publishing
pipeline set up.

Which I guess settles the issue for me.

-- 
Jostein Kjønigsen
jostein@kjonigsen.net / jostein@secure.kjonigsen.net




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: cl-macro-expandall symbol definition is void
  2014-11-27  9:58         ` Jostein Kjønigsen
@ 2014-11-27 17:09           ` Stefan Monnier
  0 siblings, 0 replies; 16+ messages in thread
From: Stefan Monnier @ 2014-11-27 17:09 UTC (permalink / raw)
  To: Jostein Kjønigsen; +Cc: Alan Mackenzie, jostein, emacs-devel

> Fair enough. Since csharp-mode seemed utterly dead (no changes on Google
> code since 2011, lots of abandoned issues), I've converted and forked
> the repo and put it on Github:

> https://github.com/josteink/csharp-mode/

It would be good to get copyright paperwork for it and to move it into
GNU ELPA.


        Stefan



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2014-11-27 17:09 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-25 21:24 cl-macro-expandall symbol definition is void Jostein Kjønigsen
2014-11-25 22:12 ` Glenn Morris
2014-11-25 22:35   ` Glenn Morris
2014-11-26  8:22     ` Jostein Kjønigsen
2014-11-26 14:23       ` Stefan Monnier
2014-11-27  9:58         ` Jostein Kjønigsen
2014-11-27 17:09           ` Stefan Monnier
2014-11-26 16:47       ` Glenn Morris
2014-11-26 18:41         ` Stefan Monnier
2014-11-26 21:34           ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2014-10-20 22:37 covici
2014-10-21  0:18 ` Kelvin White
2014-10-21  1:45   ` covici
2014-10-21  5:33     ` Stephen J. Turnbull
2014-10-21  6:59       ` covici
2014-10-21 13:45         ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).