all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Vr Rm <vrrm00@gmail.com>
Cc: Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: Raw strings (experimental patches inside)
Date: Thu, 09 Aug 2012 18:33:10 -0700	[thread overview]
Message-ID: <502464D6.4000103@gmail.com> (raw)
In-Reply-To: <jwv1ujmxm2e.fsf-monnier+emacs@gnu.org>

Hi,

Sorry for jumping in on this thread so late!  But this is the biggest, 
by far, usability problem I have with Emacs.  I don't really have a good 
idea of the amount of effort raw strings would be (in my eyes, pretty 
much all all Emacs changes seem to have been accomplish by 
super-humans.)  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.

Several years ago I finally bit the bullet and decided that I was going 
to figure out how to find and replace buffer carriage returns in a file 
I was editing even if I had to instrument the sum total of Emacs' elisp 
code and single step through it all defun by defun. It took me an 
ungodly amount of time, I think over an hour, before I finally managed 
to find the solution, I know that it had something to do with c-j.  And 
when I blogged about it, it was  and still is by far the most trafficked 
item I have ever posted.  And now that the blog is long defunct, I still 
don't know how to search for tabs, carriage returns or use Emacs regular 
expressions, meaning that I still, to this day -- in 2012!, have to use 
grep and awk to do do regular expression editing operations that were 
standard issue for editors in the 80s.  I do love Emacs and it would 
take vastly more than that to dissuade me from using it for pretty much 
all my editing.  And of course the capability for these things is there, 
I just don't either have the natural aptitude or the inclination to 
learn them.  (though I have tried)

Still, I'm certainly not alone in my inability.  Regular expression 
handling continues I would say is the biggest Bugbear for many people 
learning Emacs or using it to it's full capabilities.  And it's 
obviously a core piece of editor functionality.


On 08/04/2012 04:47 PM, Stefan Monnier wrote:
>>>> When I type a regex I'm always annoyed by the amount of escaping
>>>> I have to do.  I've always wished Emacs Lisp had raw strings
>>>> ie. a syntax to type litteral text without interpretation.
>>> AFAIK, the only real use-case is indeed regexp, and for them a better
>>> solution would be to not escape the parentheses at all.
>> That doesn't handle the horror that is searching for backslashes...
>
> That is not a problem significant enough to warrant the introduction of
> something like raw-strings.
>
>> It would also be nice to have a function which takes a string representation
>> and converts it to an `rx' representation, which I couldn't find in rx when
>> I looked.
>
> Indeed, we don't have that right now.
> My lex.el includes something pretty close, but I'd rather not include
> lex.el into Emacs because it's not clean enough.  OTOH maybe I could add
> it to GNU ELPA.
>
>
>          Stefan
>
>




  parent reply	other threads:[~2012-08-10  1:33 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 [this message]
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
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=502464D6.4000103@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.