unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#34657: 26.1; Some erc hook names lack the expected suffix
@ 2019-02-25 23:54 Phil Sainty
  2019-02-26  3:32 ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Phil Sainty @ 2019-02-25 23:54 UTC (permalink / raw)
  To: 34657

`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))






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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2019-02-25 23:54 bug#34657: 26.1; Some erc hook names lack the expected suffix Phil Sainty
@ 2019-02-26  3:32 ` Eli Zaretskii
  2019-02-27 11:01   ` Phil Sainty
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2019-02-26  3:32 UTC (permalink / raw)
  To: Phil Sainty; +Cc: 34657

> Date: Tue, 26 Feb 2019 12:54:57 +1300
> From: Phil Sainty <psainty@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.





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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2019-02-26  3:32 ` Eli Zaretskii
@ 2019-02-27 11:01   ` Phil Sainty
  2019-02-27 16:30     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Phil Sainty @ 2019-02-27 11:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 34657

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@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.
> 






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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2019-02-27 11:01   ` Phil Sainty
@ 2019-02-27 16:30     ` Eli Zaretskii
  2019-02-27 19:30       ` Phil Sainty
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2019-02-27 16:30 UTC (permalink / raw)
  To: Phil Sainty; +Cc: 34657

> Cc: 34657@debbugs.gnu.org
> From: Phil Sainty <psainty@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?)





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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2019-02-27 16:30     ` Eli Zaretskii
@ 2019-02-27 19:30       ` Phil Sainty
  2020-08-03  8:34         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Phil Sainty @ 2019-02-27 19:30 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 34657

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.






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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2019-02-27 19:30       ` Phil Sainty
@ 2020-08-03  8:34         ` Lars Ingebrigtsen
  2020-08-31  9:55           ` Stefan Kangas
  0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-03  8:34 UTC (permalink / raw)
  To: Phil Sainty; +Cc: 34657

Phil Sainty <psainty@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





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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2020-08-03  8:34         ` Lars Ingebrigtsen
@ 2020-08-31  9:55           ` Stefan Kangas
  2020-09-01 14:31             ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Kangas @ 2020-08-31  9:55 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Phil Sainty, 34657

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Phil Sainty <psainty@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?





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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2020-08-31  9:55           ` Stefan Kangas
@ 2020-09-01 14:31             ` Lars Ingebrigtsen
  2021-02-27  4:43               ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2020-09-01 14:31 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Phil Sainty, 34657

Stefan Kangas <stefan@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





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

* bug#34657: 26.1; Some erc hook names lack the expected suffix
  2020-09-01 14:31             ` Lars Ingebrigtsen
@ 2021-02-27  4:43               ` Lars Ingebrigtsen
  0 siblings, 0 replies; 9+ messages in thread
From: Lars Ingebrigtsen @ 2021-02-27  4:43 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Phil Sainty, 34657

Lars Ingebrigtsen <larsi@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





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

end of thread, other threads:[~2021-02-27  4:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-25 23:54 bug#34657: 26.1; Some erc hook names lack the expected suffix Phil Sainty
2019-02-26  3:32 ` Eli Zaretskii
2019-02-27 11:01   ` Phil Sainty
2019-02-27 16:30     ` Eli Zaretskii
2019-02-27 19:30       ` Phil Sainty
2020-08-03  8:34         ` Lars Ingebrigtsen
2020-08-31  9:55           ` Stefan Kangas
2020-09-01 14:31             ` Lars Ingebrigtsen
2021-02-27  4:43               ` Lars Ingebrigtsen

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).