[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25552: 26.0.50; load cl unintendedly
From: |
Mike Kupfer |
Subject: |
bug#25552: 26.0.50; load cl unintendedly |
Date: |
Thu, 02 Feb 2017 18:05:55 -0800 |
npostavs@users.sourceforge.net wrote:
> Mike Kupfer <mkupfer@alum.berkeley.edu> writes:
>
> > Hi Katsumi and Glenn, I applied Glenn's patch to 25.1.90, and I'm afraid
> > that it introduced a failure.
[...]
> I guess it's because defun-mh checks whether the alias target is fbound
> at compile time:
>
> (defmacro defun-mh (name function arg-list &rest body)
> "Create function NAME.
> If FUNCTION exists, then NAME becomes an alias for FUNCTION.
> Otherwise, create function NAME with ARG-LIST and BODY."
> (let ((defined-p (fboundp function)))
> (if defined-p
> `(defalias ',name ',function)
> `(defun ,name ,arg-list ,@body))))
>
> It would be better to check at runtime:
>
> (defmacro defun-mh (name function arg-list &rest body)
> `(if (fboundp ',function)
> (defalias ',name ',function)
> (defun ,name ,arg-list ,@body)))
>
> And/or require `mail-abbrev' at compile time
>
> --- i/lisp/mh-e/mh-compat.el
> +++ w/lisp/mh-e/mh-compat.el
> @@ -260,7 +260,7 @@ 'mh-line-end-position
> 'line-end-position
> 'point-at-eol))
>
> -(mh-require 'mailabbrev nil t)
> +(eval-and-compile (mh-require 'mailabbrev nil t))
> (defun-mh mh-mail-abbrev-make-syntax-table
> mail-abbrev-make-syntax-table ()
> "Emacs 21 and XEmacs don't have `mail-abbrev-make-syntax-table'.
Thanks, Noam!
I did some light testing of Noam's change to defun-mh plus Glenn's
patch. The problem that I reported is gone, and I haven't seen any
other issues. I did the testing with both Emacs 25.1.90 and master
(7cb7a58).
Does anyone on the MH-E dev team have any concerns about this
combination of changes?
mike