GNU bug report logs - #34657
26.1; Some erc hook names lack the expected suffix

Previous Next

Package: emacs;

Reported by: Phil Sainty <psainty <at> orcon.net.nz>

Date: Mon, 25 Feb 2019 23:56:01 UTC

Severity: wishlist

Tags: fixed

Found in version 26.1

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34657 in the body.
You can then email your comments to 34657 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Mon, 25 Feb 2019 23:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Phil Sainty <psainty <at> orcon.net.nz>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 25 Feb 2019 23:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Phil Sainty <psainty <at> orcon.net.nz>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1; Some erc hook names lack the expected suffix
Date: Tue, 26 Feb 2019 12:54:57 +1300
`erc-before-connect' and `erc-after-connect' are abnormal hooks,
so I think they should each have the suffix "-functions" for
consistency, and so that they are easier to discover.

Is is ok to rename them and defvaralias the old names?

All other erc hooks have the -hook or -functions suffix, so far
as I can see.


For reference:

(defcustom erc-before-connect nil
  "Hook called before connecting to a server.
This hook gets executed before `erc' actually invokes `erc-mode'
with your input data.  The functions in here get called with three
parameters, SERVER, PORT and NICK."
  :group 'erc-hooks
  :type 'hook)

(defcustom erc-after-connect nil
  "Hook called after connecting to a server.
This hook gets executed when an end of MOTD has been received.  All
functions in here get called with the parameters SERVER and NICK."
  :group 'erc-hooks
  :type 'hook)





In GNU Emacs 27.0.50 (build 2, x86_64-pc-linux-gnu, X toolkit, Xaw 
scroll bars)
 of 2019-01-07 built on hal
Repository revision: b0b483d714e87ee0a4572f9c541514a1ac1a8226
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 
11.0.11906000
System Description: Ubuntu 18.04.2 LTS

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading erc...done
uncompressing erc.el.gz...done
Mark set

Configured using:
 'configure --prefix=/home/phil/emacs/head/usr/local
 --with-x-toolkit=lucid --without-sound'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK DBUS GSETTINGS GLIB NOTIFY
INOTIFY GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11
XDBE XIM THREADS LCMS2 GMP

Important settings:
  value of $LANG: en_NZ.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny rfc822 mml mml-sec epa
derived epg epg-config gnus-util rmail rmail-loaddefs time-date
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils help-fns radix-tree help-mode easymenu jka-compr find-func
erc-goodies erc erc-backend erc-compat format-spec auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json map seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib thingatpt pp
erc-loaddefs dired dired-loaddefs advice elec-pair mule-util tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 119750 7960)
 (symbols 48 22664 1)
 (strings 32 36457 2107)
 (string-bytes 1 986101)
 (vectors 16 18682)
 (vector-slots 8 549648 11634)
 (floats 8 51 66)
 (intervals 56 588 50)
 (buffers 992 15))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Tue, 26 Feb 2019 03:33:01 GMT) Full text and rfc822 format available.

Message #8 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Phil Sainty <psainty <at> orcon.net.nz>
Cc: 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Tue, 26 Feb 2019 05:32:09 +0200
> Date: Tue, 26 Feb 2019 12:54:57 +1300
> From: Phil Sainty <psainty <at> orcon.net.nz>
> 
> `erc-before-connect' and `erc-after-connect' are abnormal hooks,
> so I think they should each have the suffix "-functions" for
> consistency, and so that they are easier to discover.
> 
> Is is ok to rename them and defvaralias the old names?

Yes, thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Wed, 27 Feb 2019 11:02:02 GMT) Full text and rfc822 format available.

Message #11 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Phil Sainty <psainty <at> orcon.net.nz>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Thu, 28 Feb 2019 00:01:02 +1300
I've pushed branch fix/bug-34657-erc-hooks for this, and I've used
define-obsolete-variable-alias, but there are problems with the
customize behaviour.

The first annoyance is that in customize-group erc-hooks the alias
is displayed (albeit slightly differently) as well as the renamed
option.  I feel that it would be cleaner if the alias did not appear
in the customize UI, as otherwise it can lead to a weird state where
the user edits both of them in the customize UI with different
values, and one value clobbers the other.

The latter aspect is really a more general problem, though, which
we can arrive at more simply:

1. The user has previously customized `erc-before-connect'
   (for example) such that their custom file contains a value.

2. They NOW customize the option under its new name, and this
   `erc-before-connect-functions' value is saved *separately* to
   the custom file.

3. We are now in the same situation as before -- *both* option
   names exist in the custom file, potentially with different
   values.

4. When starting Emacs, the first(?) value processed is the
   one which sticks for both names, which can mean that the user's
   customization of the new name didn't work in practice.


I can think of a possible reason for not deleting the old option
from the custom file (being that the user *potentially* uses their
config with Emacs 27 and Emacs 26, and 26 would only use the old
name).  I'm not sure whether switching back and forth like that is
a supported case, though?

Regardless of that, allowing both options to be written with
*different* values seems like a definite bug?


-Phil




On 26/02/19 4:32 PM, Eli Zaretskii wrote:
>> Date: Tue, 26 Feb 2019 12:54:57 +1300
>> From: Phil Sainty <psainty <at> orcon.net.nz>
>>
>> `erc-before-connect' and `erc-after-connect' are abnormal hooks,
>> so I think they should each have the suffix "-functions" for
>> consistency, and so that they are easier to discover.
>>
>> Is is ok to rename them and defvaralias the old names?
> 
> Yes, thanks.
> 





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Wed, 27 Feb 2019 16:32:02 GMT) Full text and rfc822 format available.

Message #14 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Phil Sainty <psainty <at> orcon.net.nz>
Cc: 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Wed, 27 Feb 2019 18:30:56 +0200
> Cc: 34657 <at> debbugs.gnu.org
> From: Phil Sainty <psainty <at> orcon.net.nz>
> Date: Thu, 28 Feb 2019 00:01:02 +1300
> 
> I've pushed branch fix/bug-34657-erc-hooks for this, and I've used
> define-obsolete-variable-alias, but there are problems with the
> customize behaviour.
> 
> The first annoyance is that in customize-group erc-hooks the alias
> is displayed (albeit slightly differently) as well as the renamed
> option.

Isn't there some precedent for handling this?

If we never did rename a defcustom before, and no simple solution
presents itself, I'd rather drop the idea altogether.  ERC is a niche
package, so it's not a catastrophe if we have exceptions from the rule
here.

Thanks.

(What is the second annoyance?)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Wed, 27 Feb 2019 19:31:02 GMT) Full text and rfc822 format available.

Message #17 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Phil Sainty <psainty <at> orcon.net.nz>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Thu, 28 Feb 2019 08:30:53 +1300
On 28/02/19 5:30 AM, Eli Zaretskii wrote:
> Isn't there some precedent for handling this?

Hopefully.  If not, I guess I'll raise a separate bug for the fact
that renaming defcustoms is problematic, and maybe just add a code
comment referencing that to erc.el.

> (What is the second annoyance?)

A proof-reading failure :)  I'd initially worded things differently,
before deciding that the issues I was seeing were all connected, so
I did cover all the problems I'd observed.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Mon, 03 Aug 2020 08:36:01 GMT) Full text and rfc822 format available.

Message #20 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Phil Sainty <psainty <at> orcon.net.nz>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Mon, 03 Aug 2020 10:34:59 +0200
Phil Sainty <psainty <at> orcon.net.nz> writes:

> On 28/02/19 5:30 AM, Eli Zaretskii wrote:
>> Isn't there some precedent for handling this?
>
> Hopefully.  If not, I guess I'll raise a separate bug for the fact
> that renaming defcustoms is problematic, and maybe just add a code
> comment referencing that to erc.el.

This was over a year ago, and nobody piped up, so I'm guessing that
there isn't a way for defcustom to deal with renamed variables?  

In which case I agree with Eli -- it just isn't worth doing the
renaming.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Sun, 09 Aug 2020 10:49:02 GMT) Full text and rfc822 format available.

Message #23 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Mingde (Matthew) Zeng" <matthewzmd <at> gmail.com>
Cc: 34657 <at> debbugs.gnu.org, bandali <at> gnu.org
Subject: Re: [PATCH] erc: fix erc-reuse-buffers (bug#40121)
Date: Sun, 09 Aug 2020 12:48:16 +0200
(Note that I've moved this from emacs-devel to the bug report.)

"Mingde (Matthew) Zeng" <matthewzmd <at> gmail.com> writes:

> * lisp/erc/erc.el (erc-generate-new-buffer-name): since `target' is
> always non-nil, buffer-name is non-nil, erc-reuse-buffers is t, it
> will always use the first candidate, resulting in behavior 1.

Is this correct, though?

Otherwise I think the patch looks OK, but there's unfortunately been
further changes to these functions, and your patch no longer applies.
Can you re-spin the patch?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Mon, 10 Aug 2020 03:52:01 GMT) Full text and rfc822 format available.

Message #26 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: "Mingde (Matthew) Zeng" <matthewzmd <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: "Mingde \(Matthew\) Zeng" <matthewzmd <at> gmail.com>, 34657 <at> debbugs.gnu.org,
 bandali <at> gnu.org
Subject: Re: [PATCH] erc: fix erc-reuse-buffers (bug#40121)
Date: Sun, 09 Aug 2020 23:34:31 -0400
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> (Note that I've moved this from emacs-devel to the bug report.)
>
> "Mingde (Matthew) Zeng" <matthewzmd <at> gmail.com> writes:
>
>> * lisp/erc/erc.el (erc-generate-new-buffer-name): since `target' is
>> always non-nil, buffer-name is non-nil, erc-reuse-buffers is t, it
>> will always use the first candidate, resulting in behavior 1.
>
> Is this correct, though?

Incorrect (after our previous discussion), I'll change it in my next patch.

>
> Otherwise I think the patch looks OK, but there's unfortunately been
> further changes to these functions, and your patch no longer applies.
> Can you re-spin the patch?

Sure, but in a day or two, a bit busy at the moment.

Matthew

--
Mingde (Matthew) Zeng




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Mon, 31 Aug 2020 09:56:01 GMT) Full text and rfc822 format available.

Message #29 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Phil Sainty <psainty <at> orcon.net.nz>, Eli Zaretskii <eliz <at> gnu.org>,
 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Mon, 31 Aug 2020 09:55:26 +0000
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Phil Sainty <psainty <at> orcon.net.nz> writes:
>
>> On 28/02/19 5:30 AM, Eli Zaretskii wrote:
>>> Isn't there some precedent for handling this?
>>
>> Hopefully.  If not, I guess I'll raise a separate bug for the fact
>> that renaming defcustoms is problematic, and maybe just add a code
>> comment referencing that to erc.el.
>
> This was over a year ago, and nobody piped up, so I'm guessing that
> there isn't a way for defcustom to deal with renamed variables?
>
> In which case I agree with Eli -- it just isn't worth doing the
> renaming.

Shouldn't we just fix defcustom?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Tue, 01 Sep 2020 14:32:02 GMT) Full text and rfc822 format available.

Message #32 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Phil Sainty <psainty <at> orcon.net.nz>, Eli Zaretskii <eliz <at> gnu.org>,
 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Tue, 01 Sep 2020 16:31:07 +0200
Stefan Kangas <stefan <at> marxist.se> writes:

>>> Hopefully.  If not, I guess I'll raise a separate bug for the fact
>>> that renaming defcustoms is problematic, and maybe just add a code
>>> comment referencing that to erc.el.
>>
>> This was over a year ago, and nobody piped up, so I'm guessing that
>> there isn't a way for defcustom to deal with renamed variables?
>>
>> In which case I agree with Eli -- it just isn't worth doing the
>> renaming.
>
> Shouldn't we just fix defcustom?

From :type 'hook to 'function or something?  Yup.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34657; Package emacs. (Sat, 27 Feb 2021 04:44:02 GMT) Full text and rfc822 format available.

Message #35 received at 34657 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Phil Sainty <psainty <at> orcon.net.nz>, Eli Zaretskii <eliz <at> gnu.org>,
 34657 <at> debbugs.gnu.org
Subject: Re: bug#34657: 26.1; Some erc hook names lack the expected suffix
Date: Sat, 27 Feb 2021 05:43:25 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

>>> In which case I agree with Eli -- it just isn't worth doing the
>>> renaming.
>>
>> Shouldn't we just fix defcustom?
>
>>From :type 'hook to 'function or something?  Yup.

Now done in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 27 Feb 2021 04:44:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 34657 <at> debbugs.gnu.org and Phil Sainty <psainty <at> orcon.net.nz> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 27 Feb 2021 04:44:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 27 Mar 2021 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.