Subject: bug#15862: closed (Re: bug#15862: Status: aliases to macros at compile time)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 04 May 2020 12:13:01 +0000

Your bug report

#15862: aliases to macros at compile time

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
15862: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15862
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#15862: Status: aliases to macros at compile time
From: Stefan Kangas <[email-masked]>
To: Lars Ingebrigtsen <[email-masked]>
Cc: bug#15862 <[email-masked]>
Date: Mon, 04 May 2020 14:12:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Lars Ingebrigtsen <[email-masked]> writes:

> I don't get anything about invalid functions.  So has this been fixed,
> or am I misinterpreting what the invalid function issue is?

More information was requested, but none was given within 6 months, so
I'm closing this bug.

If this is still an issue, please reply to this email (use "Reply to
all" in your email client) and we can reopen the bug report.

Best regards,
Stefan Kangas

Subject: aliases to macros at compile time
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Mon, 11 Nov 2013 15:03:08 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Package: emacs
Version: 24.3
Severity: minor

[ From http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00354.html ]

(defvar foo-var 0)

(defmacro foo-mac ()
  '(setq foo-var (1+ foo-var)))

(define-obsolete-function-alias 'old-mac #'foo-mac "24.4")

(defun foo-fails ()
  (old-mac))

(defun foo-works ()
  (foo-mac))

Compile:
foo.el:13:4:Warning: the function `foo-mac' is not known to be defined.

Load compiled version:
(foo-fails) ; -> (invalid-function old-mac)

Also, neither version warns that old-mac is obsolete.

I see now that

(eval-and-compile
  (define-obsolete-function-alias 'old-mac #'foo-mac "24.4"))

works. So maybe that should happen automatically at top-level.