* making curly apostrophe part of a word
@ 2013-09-06 2:47 Eric Abrahamsen
2013-09-06 9:51 ` Andreas Röhler
0 siblings, 1 reply; 6+ messages in thread
From: Eric Abrahamsen @ 2013-09-06 2:47 UTC (permalink / raw)
To: help-gnu-emacs
In certain modes (actually just certain files) I'd like the `’'
character to be treated the same as a `'' character with respect to word
movement: ie I'd like M-f to skip over the entirety of both "don't" and
"don’t". I'm editing externally-created files, and don't have the
liberty of changing this.
I thought this would do it:
(modify-syntax-entry ?’ "w")
To give the quote character word syntax, but word-level commands still
treat it as a word boundary. Looking at describe-syntax, it appears to
have the same status as regular old `'' (apart from the "p" flag, which
I don't think is relevant). What am I doing wrong?
Thanks!
E
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: making curly apostrophe part of a word
2013-09-06 2:47 making curly apostrophe part of a word Eric Abrahamsen
@ 2013-09-06 9:51 ` Andreas Röhler
2013-09-06 9:58 ` Eric Abrahamsen
0 siblings, 1 reply; 6+ messages in thread
From: Andreas Röhler @ 2013-09-06 9:51 UTC (permalink / raw)
To: help-gnu-emacs
Am 06.09.2013 04:47, schrieb Eric Abrahamsen:
> In certain modes (actually just certain files) I'd like the `’'
> character to be treated the same as a `'' character with respect to word
> movement: ie I'd like M-f to skip over the entirety of both "don't" and
> "don’t". I'm editing externally-created files, and don't have the
> liberty of changing this.
>
> I thought this would do it:
>
> (modify-syntax-entry ?’ "w")
>
Works for me in current buffer. `forward-word' passes as expected.
Which command fails for you?
Andreas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: making curly apostrophe part of a word
2013-09-06 9:51 ` Andreas Röhler
@ 2013-09-06 9:58 ` Eric Abrahamsen
2013-09-06 10:37 ` Andreas Röhler
0 siblings, 1 reply; 6+ messages in thread
From: Eric Abrahamsen @ 2013-09-06 9:58 UTC (permalink / raw)
To: help-gnu-emacs
Andreas Röhler <andreas.roehler@easy-emacs.de> writes:
> Am 06.09.2013 04:47, schrieb Eric Abrahamsen:
>> In certain modes (actually just certain files) I'd like the `’'
>> character to be treated the same as a `'' character with respect to word
>> movement: ie I'd like M-f to skip over the entirety of both "don't" and
>> "don’t". I'm editing externally-created files, and don't have the
>> liberty of changing this.
>>
>> I thought this would do it:
>>
>> (modify-syntax-entry ?’ "w")
>>
>
> Works for me in current buffer. `forward-word' passes as expected.
> Which command fails for you?
`forward-word' fails... Hang on, I'll do the emacs -Q dance and see
what's going on. This was originally in an html-mode buffer, but I don't
see why that would matter as long as no third argument was passed to
`modify-syntax-entry'.
Thanks,
E
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: making curly apostrophe part of a word
2013-09-06 9:58 ` Eric Abrahamsen
@ 2013-09-06 10:37 ` Andreas Röhler
2013-09-11 3:39 ` Kevin Rodgers
0 siblings, 1 reply; 6+ messages in thread
From: Andreas Röhler @ 2013-09-06 10:37 UTC (permalink / raw)
To: help-gnu-emacs
Am 06.09.2013 11:58, schrieb Eric Abrahamsen:
> Andreas Röhler <andreas.roehler@easy-emacs.de> writes:
>
>> Am 06.09.2013 04:47, schrieb Eric Abrahamsen:
>>> In certain modes (actually just certain files) I'd like the `’'
>>> character to be treated the same as a `'' character with respect to word
>>> movement: ie I'd like M-f to skip over the entirety of both "don't" and
>>> "don’t". I'm editing externally-created files, and don't have the
>>> liberty of changing this.
>>>
>>> I thought this would do it:
>>>
>>> (modify-syntax-entry ?’ "w")
>>>
>>
>> Works for me in current buffer. `forward-word' passes as expected.
>> Which command fails for you?
>
> `forward-word' fails... Hang on, I'll do the emacs -Q dance and see
> what's going on. This was originally in an html-mode buffer, but I don't
> see why that would matter as long as no third argument was passed to
> `modify-syntax-entry'.
>
> Thanks,
> E
>
>
>
It affects the current buffer only, not the mode in other buffers when done that way - maybe that's it?
Cheers
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: making curly apostrophe part of a word
2013-09-06 10:37 ` Andreas Röhler
@ 2013-09-11 3:39 ` Kevin Rodgers
2013-09-11 6:38 ` Eric Abrahamsen
0 siblings, 1 reply; 6+ messages in thread
From: Kevin Rodgers @ 2013-09-11 3:39 UTC (permalink / raw)
To: help-gnu-emacs
On 9/6/13 4:37 AM, Andreas Röhler wrote:
> Am 06.09.2013 11:58, schrieb Eric Abrahamsen:
>> Andreas Röhler <andreas.roehler@easy-emacs.de> writes:
>>> Am 06.09.2013 04:47, schrieb Eric Abrahamsen:
>>>> In certain modes (actually just certain files) I'd like the `’'
>>>> character to be treated the same as a `'' character with respect to word
>>>> movement: ie I'd like M-f to skip over the entirety of both "don't" and
>>>> "don’t". I'm editing externally-created files, and don't have the
>>>> liberty of changing this.
>>>>
>>>> I thought this would do it:
>>>>
>>>> (modify-syntax-entry ?’ "w")
>>>>
>>>
>>> Works for me in current buffer. `forward-word' passes as expected.
>>> Which command fails for you?
>>
>> `forward-word' fails... Hang on, I'll do the emacs -Q dance and see
>> what's going on. This was originally in an html-mode buffer, but I don't
>> see why that would matter as long as no third argument was passed to
>> `modify-syntax-entry'.
>
> It affects the current buffer only, not the mode in other buffers when done that
> way - maybe that's it?
Not according to its doc string:
The syntax is changed only for table SYNTAX-TABLE, which defaults to
the current buffer's syntax table.
Different buffers in the same major mode usually share the same syntax table.
--
Kevin Rodgers
Denver, Colorado, USA
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: making curly apostrophe part of a word
2013-09-11 3:39 ` Kevin Rodgers
@ 2013-09-11 6:38 ` Eric Abrahamsen
0 siblings, 0 replies; 6+ messages in thread
From: Eric Abrahamsen @ 2013-09-11 6:38 UTC (permalink / raw)
To: help-gnu-emacs
Kevin Rodgers <kevin.d.rodgers@gmail.com> writes:
> On 9/6/13 4:37 AM, Andreas Röhler wrote:
>> Am 06.09.2013 11:58, schrieb Eric Abrahamsen:
>>> Andreas Röhler <andreas.roehler@easy-emacs.de> writes:
>>>> Am 06.09.2013 04:47, schrieb Eric Abrahamsen:
>>>>> In certain modes (actually just certain files) I'd like the `’'
>>>>> character to be treated the same as a `'' character with respect to word
>>>>> movement: ie I'd like M-f to skip over the entirety of both "don't" and
>>>>> "don’t". I'm editing externally-created files, and don't have the
>>>>> liberty of changing this.
>>>>>
>>>>> I thought this would do it:
>>>>>
>>>>> (modify-syntax-entry ?’ "w")
>>>>>
>>>>
>>>> Works for me in current buffer. `forward-word' passes as expected.
>>>> Which command fails for you?
>>>
>>> `forward-word' fails... Hang on, I'll do the emacs -Q dance and see
>>> what's going on. This was originally in an html-mode buffer, but I don't
>>> see why that would matter as long as no third argument was passed to
>>> `modify-syntax-entry'.
>>
>> It affects the current buffer only, not the mode in other buffers when done that
>> way - maybe that's it?
>
> Not according to its doc string:
>
> The syntax is changed only for table SYNTAX-TABLE, which defaults to
> the current buffer's syntax table.
>
> Different buffers in the same major mode usually share the same syntax table.
Ugh, this is very weird. I started emacs -Q (emacs-version "24.3.1"),
went into an empty buffer and turned it into text mode, then put in
these lines:
can’t
bug&bear
bug©bear
All three of "’", "&", and "©" originally act as word boundaries:
invoking M-f from the front of the word and M-b from the back stops once
_before_ the symbol. The next invocation goes to the next whitespace.
Then for each of those three symbols I call (modify-syntax-entry ?[char]
"w"). Now "&" and "©" behave as expected: M-f and M-b jump all the way
across.
But "’" is different: after modifying its syntax, word-movement commands
stop _twice_, once on each side of the character, before moving to the
other end of the word.
I wonder if I've somehow added "w" to its existing syntax definition,
without "clearing" the existing definition, and that's why it's behaving
strangely?
No idea,
E
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-09-11 6:38 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-06 2:47 making curly apostrophe part of a word Eric Abrahamsen
2013-09-06 9:51 ` Andreas Röhler
2013-09-06 9:58 ` Eric Abrahamsen
2013-09-06 10:37 ` Andreas Röhler
2013-09-11 3:39 ` Kevin Rodgers
2013-09-11 6:38 ` Eric Abrahamsen
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).