From: Vr Rm <vrrm00@gmail.com>
Cc: Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: Raw strings (experimental patches inside)
Date: Fri, 10 Aug 2012 14:11:05 -0700 [thread overview]
Message-ID: <502578E9.1020407@gmail.com> (raw)
In-Reply-To: <87wr1749m0.fsf@uwakimon.sk.tsukuba.ac.jp>
On 08/09/2012 10:08 PM, Stephen J. Turnbull wrote:
> Vr Rm writes:
>
> > But the difficulty in using Emacs regular expressions shouldn't be
> > underestimated, especially for those of us on the dim side of the
> > superhuman spectrum.
>
> Nothing personal, but if you can't even search for tabs (C-s C-q TAB
> will do), of course you're going to find regexps difficult. It's hard
> to see how they can be simplified -- as used in all languages I know,
> regexps are extremely compact notation. Such notation is going to be
> non-trivial if you can't remember to use C-q to insert command
> characters literally, and I don't think raw strings are going to help.
> (A sane assignment of character classes such that punctuation is
> always an operator, as in Perl or Python, would be much more mnemonic
> help, I think.)
I do totally agree that I'm appealing from the lower 50%, maybe even the
top 90%, of the population of programming proficiency. For myself, I
wish it weren't true but alas it is. (But as a profession does, as a
middle aged man -- for which there's nothing else I'm qualified to do,
nor would anyone have the slightest interest hiring me to learn -- keep
me from going homeless and hungry and from becoming a burden to society.)
However, I have been using Emacs for 20 years, since 1992 when it was
installed in our university's brand new Sparc stations, on a somewhat
continual basis. (And for the last 5 years intensely for more or less
all my programming tasks.) In addition, I use regular expressions, if
not ever day, quite often in a variety of languages, Javascript, Groovy,
Python and Clojure being my favourite implementations. And, while they
all have their own idiosyncrasy I can move between them pretty easily.
Yet every time I try to use Emacs regular expressions, either on the
command line or in elisp, for anything more complex than "ca+dr", I'm
thwarted.
As for the TAB, yes I completely agree, Emacs has a fully complete
regular expression system. Yet, I always fail at using it. I thought
I'd try it again just to see if perhaps things have improved or maybe I
was miss remembering but if I want to search for:
/.*\)$/
i.e. a parenthesis at the end of a line. I can't do it! Same is true
for a search find all tabs not at the beginning of the line and not
preceded by a tab:
/^[^\t]+\t/
It's entirely possible that the above are actually close. Or that the
Emacs versions are even more efficient and compact. But I can't figure
them out without spending a bunch of time reading through info, and
then, by the next time I return to them, I will have forgotten the Emacs
specific quirks. (Or can only remember the quirks of other languages,
if you prefer.)
Again, I'm fully aware that with respect to Emacs proficiency (and
probably programming proficiency in general) I'm far below most
subscribers to this list and certainly the contributors.
And I'm not really arguing this feature for myself, but rather, on
humanitarian grounds if you will :) ... as a single data point of a
population that would dramatically benefit if they could actually use
Emacs regular expressions.
next prev parent reply other threads:[~2012-08-10 21:11 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-03 2:02 Raw strings (experimental patches inside) Aurélien Aptel
2012-08-03 9:45 ` Pascal J. Bourguignon
2012-08-03 17:45 ` Aurélien Aptel
2012-08-04 19:41 ` Pascal J. Bourguignon
2012-08-05 0:16 ` Aurélien Aptel
2012-08-05 11:36 ` Pascal J. Bourguignon
2012-08-05 7:13 ` Lars Brinkhoff
2012-08-06 1:55 ` Stefan Monnier
2012-08-06 10:55 ` Pascal J. Bourguignon
2012-08-06 16:16 ` Stefan Monnier
2012-08-06 16:40 ` Pascal J. Bourguignon
2012-08-03 22:43 ` Stefan Monnier
2012-08-04 14:38 ` Ivan Andrus
2012-08-04 23:47 ` Stefan Monnier
2012-08-05 0:13 ` Aurélien Aptel
2012-08-06 16:17 ` Stefan Monnier
2012-08-10 1:33 ` Vr Rm
2012-08-10 5:08 ` Stephen J. Turnbull
2012-08-10 6:07 ` [OT] " Jambunathan K
2012-08-10 15:13 ` Stefan Monnier
2012-08-10 17:28 ` Stephen J. Turnbull
2012-08-10 18:50 ` Stefan Monnier
2012-08-11 7:27 ` Stephen J. Turnbull
2012-08-11 11:05 ` Dmitri Paduchikh
2012-08-12 0:29 ` Stephen J. Turnbull
2012-08-10 21:11 ` Vr Rm [this message]
2012-08-10 23:03 ` Davis Herring
2012-08-10 23:24 ` Learning Emacs regexp (was: Re: Raw strings (experimental patches inside)) chad
2012-08-11 7:39 ` Raw strings (experimental patches inside) Stephen J. Turnbull
-- strict thread matches above, loose matches on Subject: below --
2012-08-10 22:33 Dmitry Gutov
2012-08-11 7:49 ` Stephen J. Turnbull
2012-08-11 17:05 ` Dmitry Gutov
2012-08-11 17:57 ` Andreas Schwab
2012-08-11 18:22 ` Dmitry Gutov
2012-08-12 0:23 ` Stephen J. Turnbull
2012-08-11 13:30 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=502578E9.1020407@gmail.com \
--to=vrrm00@gmail.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.