* bug#19505: 25.0.50; Defining a chomp function breaks electric pairing
@ 2015-01-04 14:53 Tom Willemse
2015-01-04 20:14 ` Stefan Monnier
2015-04-19 1:09 ` Glenn Morris
0 siblings, 2 replies; 5+ messages in thread
From: Tom Willemse @ 2015-01-04 14:53 UTC (permalink / raw)
To: 19505
[-- Attachment #1: Type: text/plain, Size: 404 bytes --]
The attached patch fixes the situation where a function `chomp' exists
and `electric-pair-skip-whitespace' has the value `chomp'. Since that
specific symbol is mentioned as a special case for this variable, it
seems that it shouldn't try to call a function named as such.
Basically, defining a function named `chomp' will break electric pairing
if the `electric-pair-skip-whitespace' is set to chomp.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Always-treat-chomp-as-a-symbol.patch --]
[-- Type: text/x-diff, Size: 1548 bytes --]
From d7e6e8f2ff3572afb4131ea64966b2a9253f9ac6 Mon Sep 17 00:00:00 2001
From: Tom Willemse <tom@ryuslash.org>
Date: Sun, 4 Jan 2015 05:37:02 +0100
Subject: [PATCH] Always treat chomp as a symbol
---
lisp/ChangeLog | 5 +++++
lisp/elec-pair.el | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index aa79a8d..b031f25 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-04 Tom Willemse <tom@ryuslash.org>
+
+ * elec-pair.el (electric-pair-post-self-insert-function): Make
+ sure chomp isn't used as a function.
+
2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
Less 'make' chatter for lisp dir
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 2cede62..65c3dbf 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -475,7 +475,8 @@ (defun electric-pair-post-self-insert-function
(when (and (not (and unconditional
(eq syntax ?\")))
(setq skip-whitespace-info
- (if (functionp electric-pair-skip-whitespace)
+ (if (and (not (eq electric-pair-skip-whitespace 'chomp))
+ (functionp electric-pair-skip-whitespace))
(funcall electric-pair-skip-whitespace)
electric-pair-skip-whitespace)))
(electric-pair--skip-whitespace))
--
2.2.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#19505: 25.0.50; Defining a chomp function breaks electric pairing
2015-01-04 14:53 bug#19505: 25.0.50; Defining a chomp function breaks electric pairing Tom Willemse
@ 2015-01-04 20:14 ` Stefan Monnier
2015-01-04 20:25 ` Tom Willemse
2015-01-06 20:09 ` Tom Willemse
2015-04-19 1:09 ` Glenn Morris
1 sibling, 2 replies; 5+ messages in thread
From: Stefan Monnier @ 2015-01-04 20:14 UTC (permalink / raw)
To: Tom Willemse; +Cc: 19505
> The attached patch fixes the situation where a function `chomp' exists
> and `electric-pair-skip-whitespace' has the value `chomp'. Since that
> specific symbol is mentioned as a special case for this variable, it
> seems that it shouldn't try to call a function named as such.
Maybe a better option is to use the value `:chomp' instead of `chomp',
since defining a function `:chomp' should be considered an error anyway,
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#19505: 25.0.50; Defining a chomp function breaks electric pairing
2015-01-04 20:14 ` Stefan Monnier
@ 2015-01-04 20:25 ` Tom Willemse
2015-01-06 20:09 ` Tom Willemse
1 sibling, 0 replies; 5+ messages in thread
From: Tom Willemse @ 2015-01-04 20:25 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 19505
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> The attached patch fixes the situation where a function `chomp' exists
>> and `electric-pair-skip-whitespace' has the value `chomp'. Since that
>> specific symbol is mentioned as a special case for this variable, it
>> seems that it shouldn't try to call a function named as such.
>
> Maybe a better option is to use the value `:chomp' instead of `chomp',
> since defining a function `:chomp' should be considered an error anyway,
Certainly an option, but wouldn't that break people's configuration in
an annoying way?
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#19505: 25.0.50; Defining a chomp function breaks electric pairing
2015-01-04 20:14 ` Stefan Monnier
2015-01-04 20:25 ` Tom Willemse
@ 2015-01-06 20:09 ` Tom Willemse
1 sibling, 0 replies; 5+ messages in thread
From: Tom Willemse @ 2015-01-06 20:09 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 19505
[-- Attachment #1: Type: text/plain, Size: 976 bytes --]
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> The attached patch fixes the situation where a function `chomp' exists
>> and `electric-pair-skip-whitespace' has the value `chomp'. Since that
>> specific symbol is mentioned as a special case for this variable, it
>> seems that it shouldn't try to call a function named as such.
>
> Maybe a better option is to use the value `:chomp' instead of `chomp',
> since defining a function `:chomp' should be considered an error anyway,
I've attached a patch with the change as you suggested. It seems to me
this change might need an entry in the NEWS file, since it changes the
value of `electric-pair-skip-whitespace' from a symbol to a keyword,
people might be confused that their configuration suddenly stopped
working. I just had no idea how to describe this in a NEWS-friendly way.
Perhaps a test should be written for this as well? If someone could
suggest where to put such a test I would happily (try to) write it.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Use-a-keyword-not-symbol-to-delete-whitespace.patch --]
[-- Type: text/x-diff, Size: 2392 bytes --]
From c9dfaff53b11f6db401d8ed7a7d25e1efb45c461 Mon Sep 17 00:00:00 2001
From: Tom Willemse <tom@ryuslash.org>
Date: Tue, 6 Jan 2015 20:37:29 +0100
Subject: [PATCH] Use a keyword, not symbol, to delete whitespace
* elec-pair.el (electric-pair-skip-whitespace): Use `:chomp' instead
of `chomp'.
(electric-pair-post-self-insert-function): Check for a keyword
`:chomp' instead of the symbol `chomp' to prevent naming conflicts.
---
lisp/ChangeLog | 8 ++++++++
lisp/elec-pair.el | 6 +++---
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 76ba2cd..cd7cd2a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-06 Tom Willemse <tom@ryuslash.org>
+
+ * elec-pair.el (electric-pair-skip-whitespace): Use `:chomp'
+ instead of `chomp'.
+ (electric-pair-post-self-insert-function): Check for a keyword
+ `:chomp' instead of the symbol `chomp' to prevent naming
+ conflicts.
+
2015-01-05 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/xref.el (xref--insert-xrefs): Add `help-echo' property
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 2cede62..270f4a3 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -129,7 +129,7 @@ (defcustom electric-pair-skip-whitespace
The specific kind of whitespace skipped is given by the variable
`electric-pair-skip-whitespace-chars'.
-The symbol `chomp' specifies that the skipped-over whitespace
+The keyword `:chomp' specifies that the skipped-over whitespace
should be deleted.
Can also be a function of no arguments, in which case that function's
@@ -138,7 +138,7 @@ (defcustom electric-pair-skip-whitespace
:group 'electricity
:type '(choice
(const :tag "Yes, jump over whitespace" t)
- (const :tag "Yes, and delete whitespace" chomp)
+ (const :tag "Yes, and delete whitespace" :chomp)
(const :tag "No, no whitespace skipping" nil)
function))
@@ -487,7 +487,7 @@ (defun electric-pair-post-self-insert-function
;; live with it for now.
(when skip-whitespace-info
(electric-pair--skip-whitespace))
- (delete-region (1- pos) (if (eq skip-whitespace-info 'chomp)
+ (delete-region (1- pos) (if (eq skip-whitespace-info :chomp)
(point)
pos))
(forward-char))
--
2.2.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#19505: 25.0.50; Defining a chomp function breaks electric pairing
2015-01-04 14:53 bug#19505: 25.0.50; Defining a chomp function breaks electric pairing Tom Willemse
2015-01-04 20:14 ` Stefan Monnier
@ 2015-04-19 1:09 ` Glenn Morris
1 sibling, 0 replies; 5+ messages in thread
From: Glenn Morris @ 2015-04-19 1:09 UTC (permalink / raw)
To: 19505-done
Version: 25.1
Tom Willemse wrote:
> The attached patch fixes the situation where a function `chomp' exists
> and `electric-pair-skip-whitespace' has the value `chomp'. Since that
> specific symbol is mentioned as a special case for this variable, it
> seems that it shouldn't try to call a function named as such.
Thanks; applied.
(While it might have been nicer to use :chomp, it doesn't seem worth an
incompatible change to me.)
BTW, you have a few "tiny changes" installed in Emacs now.
If you expect to contribute more, please consider completing the form at
http://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/Copyright/request-assign.future
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-04-19 1:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-04 14:53 bug#19505: 25.0.50; Defining a chomp function breaks electric pairing Tom Willemse
2015-01-04 20:14 ` Stefan Monnier
2015-01-04 20:25 ` Tom Willemse
2015-01-06 20:09 ` Tom Willemse
2015-04-19 1:09 ` Glenn Morris
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).