unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#6390: Should not regexp-quote quote newline?
@ 2010-06-10 14:42 Lennart Borgman
  2010-06-10 15:01 ` Andreas Schwab
                   ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 14:42 UTC (permalink / raw)
  To: 6390

To illustrate the problem eval this

(progn
  (setq x (regexp-quote "a
b"))
  (message "length x=%d" (length x)))

The length of x will be 3 because the string returned by regexp-quote
includes a newline.

Would it not be more practical if the result was "a\nb"?





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 14:42 bug#6390: Should not regexp-quote quote newline? Lennart Borgman
@ 2010-06-10 15:01 ` Andreas Schwab
  2010-06-10 15:02   ` Lennart Borgman
  2010-06-10 15:22 ` Drew Adams
  2010-06-11  4:19 ` MON KEY
  2 siblings, 1 reply; 30+ messages in thread
From: Andreas Schwab @ 2010-06-10 15:01 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

Lennart Borgman <lennart.borgman@gmail.com> writes:

> Would it not be more practical if the result was "a\nb"?

That's exactly what you get.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 15:01 ` Andreas Schwab
@ 2010-06-10 15:02   ` Lennart Borgman
  2010-06-10 15:34     ` Drew Adams
  2010-06-10 16:08     ` Andreas Schwab
  0 siblings, 2 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 15:02 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Thu, Jun 10, 2010 at 5:01 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> Would it not be more practical if the result was "a\nb"?
>
> That's exactly what you get.

;-)

"a\\nb"





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 14:42 bug#6390: Should not regexp-quote quote newline? Lennart Borgman
  2010-06-10 15:01 ` Andreas Schwab
@ 2010-06-10 15:22 ` Drew Adams
  2010-06-10 15:34   ` Lennart Borgman
  2010-06-11  4:19 ` MON KEY
  2 siblings, 1 reply; 30+ messages in thread
From: Drew Adams @ 2010-06-10 15:22 UTC (permalink / raw)
  To: 'Lennart Borgman', 6390

> (setq x (regexp-quote "a
> b"))
> (message "length x=%d" (length x))
> 
> The length of x will be 3 because the string returned
> by regexp-quote includes a newline.
> Would it not be more practical if the result was "a\nb"?

I, for one, do not understand you.

(setq y "a
b")
(setq x (regexp-quote y))
(setq z "a\nb")
(equal x y) = (equal x z) = t
(length x) = (length z) = 3

What are you trying to say?
And what does it mean to "quote newline"?

Please try to explain clearly what the problem is that you see, or what you are
trying to do that does not succeed as you expect.






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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 15:02   ` Lennart Borgman
@ 2010-06-10 15:34     ` Drew Adams
  2010-06-10 16:08     ` Andreas Schwab
  1 sibling, 0 replies; 30+ messages in thread
From: Drew Adams @ 2010-06-10 15:34 UTC (permalink / raw)
  To: 'Lennart Borgman', 'Andreas Schwab'; +Cc: 6390

> >> Would it not be more practical if the result was "a\nb"?
> > That's exactly what you get.
> "a\\nb"

A newline char is not a regexp special char.
Is that what you were thinking?
You are not being very clear, at least to me.






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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 15:22 ` Drew Adams
@ 2010-06-10 15:34   ` Lennart Borgman
  2010-06-10 16:28     ` Juanma Barranquero
  2010-06-10 16:56     ` Andreas Schwab
  0 siblings, 2 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 15:34 UTC (permalink / raw)
  To: Drew Adams; +Cc: 6390

On Thu, Jun 10, 2010 at 5:22 PM, Drew Adams <drew.adams@oracle.com> wrote:
>> (setq x (regexp-quote "a
>> b"))
>> (message "length x=%d" (length x))
>>
>> The length of x will be 3 because the string returned
>> by regexp-quote includes a newline.
>> Would it not be more practical if the result was "a\nb"?
>
> I, for one, do not understand you.

Yes, I saw that Andreas probably did not get either what I wanted to say.

I checked the length because looking at x is a bit frustrating because
of the translations between newline <-> \n that might occur.

> (setq y "a
> b")
> (setq x (regexp-quote y))
> (setq z "a\nb")
> (equal x y) = (equal x z) = t
> (length x) = (length z) = 3
>
> What are you trying to say?

That the regexp-quoted string includes the new line character instead
of the two chararcers \n.

The latter is more practical in many situations since this is a regexp.

> And what does it mean to "quote newline"?

Replacing newline char with \n.

You can of course do that yourself, but I really see no reason why
regexp-quote should not do it. (Yes, the regexp works just as well
with newline in it as the two chars \n in it.)

Perhaps people wants it this way, but then I would suggest that the
doc strings tells about the current behaviour.

Maybe there should be a function `string-quote' that does replacements
of newline => \n etc?


> Please try to explain clearly what the problem is that you see, or what you are
> trying to do that does not succeed as you expect.
>
>





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 15:02   ` Lennart Borgman
  2010-06-10 15:34     ` Drew Adams
@ 2010-06-10 16:08     ` Andreas Schwab
  2010-06-10 16:11       ` Lennart Borgman
  1 sibling, 1 reply; 30+ messages in thread
From: Andreas Schwab @ 2010-06-10 16:08 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Thu, Jun 10, 2010 at 5:01 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>
>>> Would it not be more practical if the result was "a\nb"?
>>
>> That's exactly what you get.
>
> ;-)
>
> "a\\nb"

This is a totally different regexp.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 16:08     ` Andreas Schwab
@ 2010-06-10 16:11       ` Lennart Borgman
  2010-06-10 16:22         ` Andreas Schwab
  0 siblings, 1 reply; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 16:11 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Thu, Jun 10, 2010 at 6:08 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> On Thu, Jun 10, 2010 at 5:01 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>>
>>>> Would it not be more practical if the result was "a\nb"?
>>>
>>> That's exactly what you get.
>>
>> ;-)
>>
>> "a\\nb"
>
> This is a totally different regexp.

;-)

Depends on how u "read" it.





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 16:11       ` Lennart Borgman
@ 2010-06-10 16:22         ` Andreas Schwab
  2010-06-10 16:46           ` Lennart Borgman
  0 siblings, 1 reply; 30+ messages in thread
From: Andreas Schwab @ 2010-06-10 16:22 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Thu, Jun 10, 2010 at 6:08 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>
>>> On Thu, Jun 10, 2010 at 5:01 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>>>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>>>
>>>>> Would it not be more practical if the result was "a\nb"?
>>>>
>>>> That's exactly what you get.
>>>
>>> ;-)
>>>
>>> "a\\nb"
>>
>> This is a totally different regexp.
>
> ;-)
>
> Depends on how u "read" it.

If you want a print representation then use print.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 15:34   ` Lennart Borgman
@ 2010-06-10 16:28     ` Juanma Barranquero
  2010-06-10 16:47       ` Lennart Borgman
  2010-06-10 16:56     ` Andreas Schwab
  1 sibling, 1 reply; 30+ messages in thread
From: Juanma Barranquero @ 2010-06-10 16:28 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

On Thu, Jun 10, 2010 at 17:34, Lennart Borgman
<lennart.borgman@gmail.com> wrote:

> Perhaps people wants it this way, but then I would suggest that the
> doc strings tells about the current behaviour.

Do you want the docstring for regexp-quote to list every single
character that it does not quote because they aren't special in
regexps? That's gonna be a long long list.

    Juanma





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 16:22         ` Andreas Schwab
@ 2010-06-10 16:46           ` Lennart Borgman
  2010-06-10 17:03             ` Andreas Schwab
  0 siblings, 1 reply; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 16:46 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Thu, Jun 10, 2010 at 6:22 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>>>>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>>>>
>>>>>> Would it not be more practical if the result was "a\nb"?
>>>>>
>>>>> That's exactly what you get.
>>>>
>>>> ;-)
>>>>
>>>> "a\\nb"
>>>
>>> This is a totally different regexp.
>>
>> ;-)
>>
>> Depends on how u "read" it.
>
> If you want a print representation then use print.


Thanks, but that does not apply to the situation I am talking about.

But since misunderstandings are great here I might clarify the
situation: I am thinking about situations where you want to edit a
regexp. One such situation is for example editing the isearch regexp.





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 16:28     ` Juanma Barranquero
@ 2010-06-10 16:47       ` Lennart Borgman
  0 siblings, 0 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 16:47 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6390

On Thu, Jun 10, 2010 at 6:28 PM, Juanma Barranquero <lekktu@gmail.com> wrote:
> On Thu, Jun 10, 2010 at 17:34, Lennart Borgman
> <lennart.borgman@gmail.com> wrote:
>
>> Perhaps people wants it this way, but then I would suggest that the
>> doc strings tells about the current behaviour.
>
> Do you want the docstring for regexp-quote to list every single
> character that it does not quote because they aren't special in
> regexps? That's gonna be a long long list.

Not necessarily ... ;-)

I thinking about those that are normally quoted in strings.





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 15:34   ` Lennart Borgman
  2010-06-10 16:28     ` Juanma Barranquero
@ 2010-06-10 16:56     ` Andreas Schwab
  2010-06-10 17:00       ` Lennart Borgman
  1 sibling, 1 reply; 30+ messages in thread
From: Andreas Schwab @ 2010-06-10 16:56 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

Lennart Borgman <lennart.borgman@gmail.com> writes:

> That the regexp-quoted string includes the new line character instead
> of the two chararcers \n.

How does that fit into the purpose of regexp-quote?

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 16:56     ` Andreas Schwab
@ 2010-06-10 17:00       ` Lennart Borgman
  0 siblings, 0 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 17:00 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Thu, Jun 10, 2010 at 6:56 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> That the regexp-quoted string includes the new line character instead
>> of the two chararcers \n.
>
> How does that fit into the purpose of regexp-quote?

Yes, that is a good question. That is why I said I am not sure and
maybe there should be another function to do that backslash quoting I
am asking for.





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 16:46           ` Lennart Borgman
@ 2010-06-10 17:03             ` Andreas Schwab
  2010-06-10 18:07               ` Lennart Borgman
  0 siblings, 1 reply; 30+ messages in thread
From: Andreas Schwab @ 2010-06-10 17:03 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

Lennart Borgman <lennart.borgman@gmail.com> writes:

> Thanks, but that does not apply to the situation I am talking about.

No, it is exactly what you want.

> But since misunderstandings are great here I might clarify the
> situation: I am thinking about situations where you want to edit a
> regexp. One such situation is for example editing the isearch regexp.

You want to edit a (kind of) print representation of a string, not a
quoted regexp (the only purpose of which is to create a regexp that
matches exactly a given string).

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 17:03             ` Andreas Schwab
@ 2010-06-10 18:07               ` Lennart Borgman
  2010-06-10 23:11                 ` Lennart Borgman
  0 siblings, 1 reply; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 18:07 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Thu, Jun 10, 2010 at 7:03 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> Thanks, but that does not apply to the situation I am talking about.
>
> No, it is exactly what you want.


Yes, you are right. Something like this seems to do what I want:

(defun my-quote-string (str)
  "Return string STR quoted like `prin1' do it."
  (let ((ret (prin1-to-string str)))
    (substring ret 1 -1)))


>> But since misunderstandings are great here I might clarify the
>> situation: I am thinking about situations where you want to edit a
>> regexp. One such situation is for example editing the isearch regexp.
>
> You want to edit a (kind of) print representation of a string, not a
> quoted regexp (the only purpose of which is to create a regexp that
> matches exactly a given string).


Yes, I agree now. It is better to keep it conceptually separated like
that. However I then miss the function above.





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 18:07               ` Lennart Borgman
@ 2010-06-10 23:11                 ` Lennart Borgman
  2010-06-11  0:44                   ` Lennart Borgman
  0 siblings, 1 reply; 30+ messages in thread
From: Lennart Borgman @ 2010-06-10 23:11 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Thu, Jun 10, 2010 at 8:07 PM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
> On Thu, Jun 10, 2010 at 7:03 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>
>>> Thanks, but that does not apply to the situation I am talking about.
>>
>> No, it is exactly what you want.
>
>
> Yes, you are right. Something like this seems to do what I want:
>
> (defun my-quote-string (str)
>  "Return string STR quoted like `prin1' do it."
>  (let ((ret (prin1-to-string str)))
>    (substring ret 1 -1)))

For the record here is a better version

(defun reb-quote-string (str)
 "Return string STR quoted like `prin1' do it."
 (let* ((print-escape-newlines t)
        (ret (prin1-to-string str)))
   (substring ret 1 -1)))

Something changed print-escape-newlines somewhere ...





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 23:11                 ` Lennart Borgman
@ 2010-06-11  0:44                   ` Lennart Borgman
  0 siblings, 0 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-11  0:44 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 6390

On Fri, Jun 11, 2010 at 1:11 AM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
> On Thu, Jun 10, 2010 at 8:07 PM, Lennart Borgman
> <lennart.borgman@gmail.com> wrote:
>> On Thu, Jun 10, 2010 at 7:03 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>>
>>>> Thanks, but that does not apply to the situation I am talking about.
>>>
>>> No, it is exactly what you want.
>>
>>
>> Yes, you are right. Something like this seems to do what I want:
>>
>> (defun my-quote-string (str)
>>  "Return string STR quoted like `prin1' do it."
>>  (let ((ret (prin1-to-string str)))
>>    (substring ret 1 -1)))
>
> For the record here is a better version
>
> (defun reb-quote-string (str)
>  "Return string STR quoted like `prin1' do it."
>  (let* ((print-escape-newlines t)
>        (ret (prin1-to-string str)))
>   (substring ret 1 -1)))
>
> Something changed print-escape-newlines somewhere ...

Unfortunately print-escape-newlines does not quote tab, only newline
and form-feed. Which in my opinion is a bug. To fix this just copy 5
lines in print.c at line 1667 and replace form-feed with tab. (I have
just done that in my patched copy, but it is easier to do this by hand
then to use a patch.)

Is there any objections to this change?





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-10 14:42 bug#6390: Should not regexp-quote quote newline? Lennart Borgman
  2010-06-10 15:01 ` Andreas Schwab
  2010-06-10 15:22 ` Drew Adams
@ 2010-06-11  4:19 ` MON KEY
  2010-06-11  4:43   ` Lennart Borgman
  2 siblings, 1 reply; 30+ messages in thread
From: MON KEY @ 2010-06-11  4:19 UTC (permalink / raw)
  To: 6390

> Unfortunately print-escape-newlines does not quote tab, only newline
> and form-feed.

This is not at all unfortunate.

> Which in my opinion is a bug.

Which would make you wrong.

(describe-variable 'print-escape-newlines)
,----
| Non-nil means print newlines in strings as `\n'.
| Also print formfeeds as `\f'.
`----

Where is \t mentioned?

> Is there any objections to this change?

Sure. I object on the grounds that what you propose is madness.

But, if others do agree with the proposed changed may I suggest then
that we also replace newline with SPACE that way we needn't needlessly
concern ourselves with vertical motion in general...


--
/s_P\





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-11  4:19 ` MON KEY
@ 2010-06-11  4:43   ` Lennart Borgman
  2010-06-11 20:09     ` MON KEY
  0 siblings, 1 reply; 30+ messages in thread
From: Lennart Borgman @ 2010-06-11  4:43 UTC (permalink / raw)
  To: MON KEY; +Cc: 6390

On Fri, Jun 11, 2010 at 6:19 AM, MON KEY <monkey@sandpframing.com> wrote:
>> Unfortunately print-escape-newlines does not quote tab, only newline
>> and form-feed.
>
>> Is there any objections to this change?
>
> Sure. I object on the grounds that what you propose is madness.

I can see no objection at all. What is it?





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-11  4:43   ` Lennart Borgman
@ 2010-06-11 20:09     ` MON KEY
  2010-06-11 20:37       ` Lennart Borgman
  0 siblings, 1 reply; 30+ messages in thread
From: MON KEY @ 2010-06-11 20:09 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

On Fri, Jun 11, 2010 at 12:43 AM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
>> Sure. I object on the grounds that what you propose is madness.
>
> I can see no objection at all. What is it?
>

You've confirmed my suspicion ;)

The objection is that what you propose is madness, i.e lunacy!

It is absolutely NTRT to interpolate any such chars routed through the
elisp printer simply b/c you disagree with how an ASCII standard
character has been historically (mis)interpreted. Its the _users_
prerogative to dictate her intention here; it certainly isn't yours,
or Microsofts', or Emacs'.

IMHO it would be _insane_ to replace "\f" linefeed with "\t"

Evaluate these to see why:

 (progn
   (insert-char 12 1)
   (describe-char (1- (point))))

 (progn
   (insert-char 9 1)
   (describe-char (1- (point))))

Among other things, you may notice the inserted glyph `^L' which is used
throughout Emacs as the default value for indication of page boundaries.
e.g. `page-delimiter' and her buddy `forward-page'...

Not only are you asking to have the form-feed value replaced with an entirely
different _non-visible_ character but you are asking to fundamentally alter the
semantics from:
 "Occurences of this character indicate vertical movement of the
print-head at EOL"
to:
 "Occurences of this character indicate tabbed horizontal movement at EOL"

Blech! Why would you want to do something so silly?

Check out this history of the form-feed and (one of) its early
intended applications:

:SEE (URL `http://www.rfc-editor.org/EOLstory.txt')

:SEE-ALSO (URL `http://en.wikipedia.org/wiki/Linefeed')

P.S. I've taken on faith that you aren't instead suggesting to replace
"\f" with the line tabulation char `^K' ASCII 11 e.g. (insert 11)
Which would make only slightly more sense than the folly you've proposed.

--
/s_P\





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-11 20:09     ` MON KEY
@ 2010-06-11 20:37       ` Lennart Borgman
  2010-06-12  6:18         ` MON KEY
  2010-06-12  6:51         ` Kevin Rodgers
  0 siblings, 2 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-11 20:37 UTC (permalink / raw)
  To: MON KEY; +Cc: 6390

On Fri, Jun 11, 2010 at 10:09 PM, MON KEY <monkey@sandpframing.com> wrote:
> On Fri, Jun 11, 2010 at 12:43 AM, Lennart Borgman
> <lennart.borgman@gmail.com> wrote:
>>> Sure. I object on the grounds that what you propose is madness.
>>
>> I can see no objection at all. What is it?
>>
>
> You've confirmed my suspicion ;)
>
> The objection is that what you propose is madness, i.e lunacy!


I still see no objection because I have not the slightest idea how you
mean all the things you are telling are related to my proposal.

The only interpretation I can make is that the madness is already here
since linefeed and form-feed already may be written as \n and \f if
you set print-escape-newlines to t. All I proposed was that it should
write tab as \t too.

I might not have proposed that if I knew it was that utterly
disturbing to someone. ;-)

On a brighter side I think you have misunderstood my question and
suggestion. Please read it again and especially the conversation with
Andreas.



> It is absolutely NTRT to interpolate any such chars routed through the
> elisp printer simply b/c you disagree with how an ASCII standard
> character has been historically (mis)interpreted. Its the _users_
> prerogative to dictate her intention here; it certainly isn't yours,
> or Microsofts', or Emacs'.
>
> IMHO it would be _insane_ to replace "\f" linefeed with "\t"
>
> Evaluate these to see why:
>
>  (progn
>   (insert-char 12 1)
>   (describe-char (1- (point))))
>
>  (progn
>   (insert-char 9 1)
>   (describe-char (1- (point))))
>
> Among other things, you may notice the inserted glyph `^L' which is used
> throughout Emacs as the default value for indication of page boundaries.
> e.g. `page-delimiter' and her buddy `forward-page'...
>
> Not only are you asking to have the form-feed value replaced with an entirely
> different _non-visible_ character but you are asking to fundamentally alter the
> semantics from:
>  "Occurences of this character indicate vertical movement of the
> print-head at EOL"
> to:
>  "Occurences of this character indicate tabbed horizontal movement at EOL"
>
> Blech! Why would you want to do something so silly?
>
> Check out this history of the form-feed and (one of) its early
> intended applications:
>
> :SEE (URL `http://www.rfc-editor.org/EOLstory.txt')
>
> :SEE-ALSO (URL `http://en.wikipedia.org/wiki/Linefeed')
>
> P.S. I've taken on faith that you aren't instead suggesting to replace
> "\f" with the line tabulation char `^K' ASCII 11 e.g. (insert 11)
> Which would make only slightly more sense than the folly you've proposed.
>
> --
> /s_P\
>





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-11 20:37       ` Lennart Borgman
@ 2010-06-12  6:18         ` MON KEY
  2010-06-12 13:28           ` Lennart Borgman
  2010-06-12  6:51         ` Kevin Rodgers
  1 sibling, 1 reply; 30+ messages in thread
From: MON KEY @ 2010-06-12  6:18 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

On Fri, Jun 11, 2010 at 4:37 PM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
> All I proposed was that it should write tab as \t too.

 i) This is not the extent of what you proposed;
ii) It is none-the-less a bad idea;

Newline and formfeed are control characters which affect the display
and interpretation of vertical character motion and display. Tab OTOH
is horizontal whitespace and doesn't affect vertical display in the
same manner (either syntactically or visually).

Regardless, the function name `print-escape-newlines' and its
documentation SAY NOTHING ABOUT ESCAPING TAB CHARACTERS!!!!!

What you really want is `print-escape-arbitrarily-for-lennart' :P
You can implement such a feature by cobbling together various
bits of code from format-spec.el format.el descr-text.el pp.el and
`filter-buffer-substring'.

> On a brighter side I think you have misunderstood my question and
> suggestion.

I well understood your suggestion as presented:

,----
| Unfortunately print-escape-newlines does not quote tab, only newline
| and form-feed. Which in my opinion is a bug. To fix this just copy 5
| lines in print.c at line 1667 and replace form-feed with tab. (I have
| just done that in my patched copy, but it is easier to do this by hand
| then to use a patch.)
`----

If you want your suggestions to be understood by others with as little
ambiguity as possible you _must_ submit patches or example code.

As written I read your 'suggestion' to say:

 "... replace form-feed with tab ..."

In the absence of a patch/example how else could/should it have been
read? FWIW I _did_ take time to examine lines ~1667 of print.c and it
certainly wasn't clear to me what you intended.

Thanks for wasting my time twice. Once in attempting to understand
what you meant and now a second time to clarify a mutual
misunderstanding.

Multiply this type of waste by the number of people (now and in the
future) whom reference this bug report and you've potentially wasted
alot of people's time.

> I might not have proposed that if I knew it was that utterly
> disturbing to someone. ;-)

I doubt that.

You seem all too ready to file ambiguous bug reports without
backtraces and/or to suggest changes/fixes to vacuous `bugs' without
an accompanying patch or example source which is illustrative of both
a problem and of a proposed solution.

Indeed, I do find this utterly disturbing on your part (esp. in the
aggregate).

--
/s_P\





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-11 20:37       ` Lennart Borgman
  2010-06-12  6:18         ` MON KEY
@ 2010-06-12  6:51         ` Kevin Rodgers
  2010-06-12 13:37           ` Lennart Borgman
  2011-07-09  5:30           ` Glenn Morris
  1 sibling, 2 replies; 30+ messages in thread
From: Kevin Rodgers @ 2010-06-12  6:51 UTC (permalink / raw)
  To: bug-gnu-emacs

Lennart Borgman wrote:
...
> The only interpretation I can make is that the madness is already here
> since linefeed and form-feed already may be written as \n and \f if
> you set print-escape-newlines to t. All I proposed was that it should
> write tab as \t too.

Perhaps there should be a separate variable to print escape sequences for all
the ASCII control characters (see the Basic Char Syntax node of the Emacs Lisp
manual):

\a, \b, \t, \n, \v, \f, \r, \e, \d

It would probably be controversial to include \s and \\ , since they aren't
control characters.

> I might not have proposed that if I knew it was that utterly
> disturbing to someone. ;-)

Perhaps MON KEY objects to backwards-incompatibility.

-- 
Kevin Rodgers
Denver, Colorado, USA






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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-12  6:18         ` MON KEY
@ 2010-06-12 13:28           ` Lennart Borgman
  2010-06-14  3:00             ` MON KEY
  0 siblings, 1 reply; 30+ messages in thread
From: Lennart Borgman @ 2010-06-12 13:28 UTC (permalink / raw)
  To: MON KEY; +Cc: 6390

On Sat, Jun 12, 2010 at 8:18 AM, MON KEY <monkey@sandpframing.com> wrote:
> On Fri, Jun 11, 2010 at 4:37 PM, Lennart Borgman
> <lennart.borgman@gmail.com> wrote:
>> All I proposed was that it should write tab as \t too.
>
>  i) This is not the extent of what you proposed;

I guess you mean "this is not what I thought you proposed".

> Regardless, the function name `print-escape-newlines' and its
> documentation SAY NOTHING ABOUT ESCAPING TAB CHARACTERS!!!!!

Yes, it is a terribly bad name for the feature it provides. And it is
variable, not a function

  print-escape-newlines is a variable defined in `C source code'.
  Its value is nil

  Documentation:
  Non-nil means print newlines in strings as `\n'.
  Also print formfeeds as `\f'.

As I understand it the purpose of it is make all the
print/prin1/format/pp functions make the written representation of a
string easier to handle in certain cases.

I think that is very useful some times, but I can't think of a single
reason why it should not be good to handel TAB the same way in those
cases. Can you? Don't you think getting a printed representation of
this kind is useful.


To clarify things I pointed to what Andreas wrote. The most important
part of that is that the printed representation and the string are
different things. The important quality of the printed representation
that I think you care about is that it is understood by the function
`read' and that when `read' parses the printed representation it gives
you back exactly the original string.

Is not this what you have been trying to say?



> ,----
> | Unfortunately print-escape-newlines does not quote tab, only newline
> | and form-feed. Which in my opinion is a bug. To fix this just copy 5
> | lines in print.c at line 1667 and replace form-feed with tab. (I have
> | just done that in my patched copy, but it is easier to do this by hand
> | then to use a patch.)
> `----
>
> If you want your suggestions to be understood by others with as little
> ambiguity as possible you _must_ submit patches or example code.
>
> As written I read your 'suggestion' to say:
>
>  "... replace form-feed with tab ..."


Hm, sorry, I could not imagine that ... ;-)


> In the absence of a patch/example how else could/should it have been
> read? FWIW I _did_ take time to examine lines ~1667 of print.c and it
> certainly wasn't clear to me what you intended.
>
> Thanks for wasting my time twice. Once in attempting to understand
> what you meant and now a second time to clarify a mutual
> misunderstanding.


Sorry. But thanks for clarifying this.


> Multiply this type of waste by the number of people (now and in the
> future) whom reference this bug report and you've potentially wasted
> alot of people's time.


Maybe. Or it has clarified a few things for many people.


>> I might not have proposed that if I knew it was that utterly
>> disturbing to someone. ;-)
>
> I doubt that.


;-)


> You seem all too ready to file ambiguous bug reports without
> backtraces and/or to suggest changes/fixes to vacuous `bugs' without
> an accompanying patch or example source which is illustrative of both
> a problem and of a proposed solution.


You can't get backtraces in all cases. If you think the bugs are not
there because you do not understand what I mean you can ask for
clarification. Mail me privately if you want to.


> Indeed, I do find this utterly disturbing on your part (esp. in the
> aggregate).
>
> --
> /s_P\
>





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-12  6:51         ` Kevin Rodgers
@ 2010-06-12 13:37           ` Lennart Borgman
  2011-07-09  5:30           ` Glenn Morris
  1 sibling, 0 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-12 13:37 UTC (permalink / raw)
  To: Kevin Rodgers; +Cc: bug-gnu-emacs

On Sat, Jun 12, 2010 at 8:51 AM, Kevin Rodgers
<kevin.d.rodgers@gmail.com> wrote:
> Lennart Borgman wrote:
> ...
>>
>> The only interpretation I can make is that the madness is already here
>> since linefeed and form-feed already may be written as \n and \f if
>> you set print-escape-newlines to t. All I proposed was that it should
>> write tab as \t too.
>
> Perhaps there should be a separate variable to print escape sequences for
> all
> the ASCII control characters (see the Basic Char Syntax node of the Emacs
> Lisp
> manual):
>
> \a, \b, \t, \n, \v, \f, \r, \e, \d
>
> It would probably be controversial to include \s and \\ , since they aren't
> control characters.


Maybe the variable should be a list of the ASCII control chars that
the print string function should translate to \t etc?


>> I might not have proposed that if I knew it was that utterly
>> disturbing to someone. ;-)
>
> Perhaps MON KEY objects to backwards-incompatibility.


Yes, I think it was a misunderstanding. And I guess the reason was my
bad proposal in the start of this where I did not distinguish between
the printed string and the actual string. So I guess it is my fault.
(I actually rather confused the regexp syntax with the printed string
syntax, of course.)





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-12 13:28           ` Lennart Borgman
@ 2010-06-14  3:00             ` MON KEY
  2010-06-14  5:33               ` Lennart Borgman
  0 siblings, 1 reply; 30+ messages in thread
From: MON KEY @ 2010-06-14  3:00 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 6390

On Sat, Jun 12, 2010 at 9:28 AM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
>
> I guess you mean "this is not what I thought you proposed".

I meant what I wrote.

>
>> Regardless, the function name `print-escape-newlines' and its
>> documentation SAY NOTHING ABOUT ESCAPING TAB CHARACTERS!!!!!
>
> Yes, it is a terribly bad name for the feature it provides.

It is reasonably named, it says what it does.
Prob. it is only terrible should one want \t escaped as well.

> And it is variable, not a function

Yes. Of course it is. Sorry.

> As I understand it the purpose of it is make all the
> print/prin1/format/pp functions make the written representation of a
> string easier to handle in certain cases.

Understand whatever you want - this isn't what it
`print-escape-newlines' _does_.

You might find it exceedingly informative and interesting to look over
Emacs sources from pre GNU days when coming to grips with the C
vagaries inflicted on the Emacs read eval print loop.

It recently came as a great surprise to learn that in the past RMS
maintained an Emacs which saw `\' as `/'. Google is your friend.

Most likely the `print-escape-newlines' function is a bastardized
holdover of the <STAR>d READ-EVAL-PRINT variables and # reader macros
from Maclisp days.
:SEE (URL `http://maclisp.info/pitmanual/repl.html')
:SEE (URL `http://maclisp.info/pitmanual/syntax.html').

Indeed, the transgression upon our poor (e)lisp REPL by the cult of the
curly braced are many, and in the absence of a more maleable readtable
and reader syntax she has been afforded little with which retaliate
against the mighty C, his `\' escape syntax, and the hordes of bastard
regexps his syntax has spawned.

> but I can't think of a single reason why it should not be good to
> handel TAB the same way in those cases.

It is a mistake to extend your lack of foresight on other users of
this feature.

>  Can you?

Yes, I believe I can. So what?

> Don't you think getting a printed representation of this kind is useful.

No, it is absolutely not useful for `print-escape-newlines' to do this.

Yes, I might find it useful as a dedicated function under another
name.  Though I don't think it would be difficult to implement if/when
needed, and it certainly doesn't need to be piggy-backed onto the
existing feature.

> To clarify things I pointed to what Andreas wrote.

Nonsense. This was your attempt to deflect my objection to one of your
ill conceived proposals to another persons objection to yet another of
your ill conceived proposals.  IOW recursive nonsense...

Which FWIW, is my principal objection to this and other such similar
bug reports of yours. They often amount to nothing more than veiled
feature requests which if presented/exposed/discussed as such would be
received poorly.

> The most important part of that is that the printed representation
> and the string are different things.

Of course they are, but this absolutely _not_ the concern here.

> The important quality of the printed representation
> that I think you care about is that it is understood by the function
> `read' and that when `read' parses the printed representation it gives
> you back exactly the original string.

There is a saying among a certain type of American from the
Northeastern U.S.:

 "You cahn't get theyah from heeah"

> Is not this what you have been trying to say?

No.

I am saying this:

It is patently ridiculous to consider adding \t as an escaped char for
`print-escape-newlines'.

It is a bad idea.

It is not the right thing.

It is not a bug that \t is not escaped by `print-escape-newlines'.

It is, at best, a limitation of C and associated libs utilized to
implement the Emacs dialect of lisp. No amount of mucking via C with
the elisp REPL in the manner you propose can reliably and reasonably
resolve these issues.

> Maybe. Or it has clarified a few things for many people.

If that is your intention blog it or post it to the Emacswiki's
elisp-cookbook.  Just don't call it a bug and don't report it as such.

> You can't get backtraces in all cases. If you think the bugs are not
> there because you do not understand what I mean you can ask for
> clarification.

One should not, as a matter of course, be required to request
clarification on a one or two sentence `bug report' when there is no
bug. It is bad form for you to suggest that others accommodate this
sort of behavior by you or anyone else. This goes doubly when the
sender's subject line of such `bug report's are phrased in the
form of a question which routinely match the pattern:

 "Should not the <FEATURE-X> .*?"


--
/s_P\





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-14  3:00             ` MON KEY
@ 2010-06-14  5:33               ` Lennart Borgman
  0 siblings, 0 replies; 30+ messages in thread
From: Lennart Borgman @ 2010-06-14  5:33 UTC (permalink / raw)
  To: MON KEY; +Cc: 6390

On Mon, Jun 14, 2010 at 5:00 AM, MON KEY <monkey@sandpframing.com> wrote:
> On Sat, Jun 12, 2010 at 9:28 AM, Lennart Borgman
> <lennart.borgman@gmail.com> wrote:
>>
>> I guess you mean "this is not what I thought you proposed".
>
> I meant what I wrote.


So you think you understood what I proposed better than me? That is
very strange.


>>> Regardless, the function name `print-escape-newlines' and its
>>> documentation SAY NOTHING ABOUT ESCAPING TAB CHARACTERS!!!!!
>>
>> Yes, it is a terribly bad name for the feature it provides.
>
> It is reasonably named, it says what it does.
> Prob. it is only terrible should one want \t escaped as well.


Why do you print-escape-newlines is a good name for something that
controls both escaping of newlines and form-feeds?


>> As I understand it the purpose of it is make all the
>> print/prin1/format/pp functions make the written representation of a
>> string easier to handle in certain cases.
>
> Understand whatever you want - this isn't what it
> `print-escape-newlines' _does_.
>
> You might find it exceedingly informative and interesting to look over
> Emacs sources from pre GNU days when coming to grips with the C
> vagaries inflicted on the Emacs read eval print loop.


Thanks, but no.


> Indeed, the transgression upon our poor (e)lisp REPL by the cult of the
> curly braced are many, and in the absence of a more maleable readtable
> and reader syntax she has been afforded little with which retaliate
> against the mighty C, his `\' escape syntax, and the hordes of bastard
> regexps his syntax has spawned.


Using the same character for read escapes and regexp backslash makes
things difficult, yes.

And lead to confusing discussions like this one.


>> but I can't think of a single reason why it should not be good to
>> handel TAB the same way in those cases.
>
> It is a mistake to extend your lack of foresight on other users of
> this feature.
>
>>  Can you?
>
> Yes, I believe I can. So what?


It seemed important to you so I thought you might want to tell.


>> Don't you think getting a printed representation of this kind is useful.
>
> No, it is absolutely not useful for `print-escape-newlines' to do this.
>
> Yes, I might find it useful as a dedicated function under another
> name.  Though I don't think it would be difficult to implement if/when
> needed, and it certainly doesn't need to be piggy-backed onto the
> existing feature.


I would be glad if you gave some arguments.


>> To clarify things I pointed to what Andreas wrote.
>
> Nonsense. This was your attempt to deflect my objection to one of your
> ill conceived proposals to another persons objection to yet another of
> your ill conceived proposals.  IOW recursive nonsense...


Please don't waste our time! If you have something to say then do it!


> Which FWIW, is my principal objection to this and other such similar
> bug reports of yours. They often amount to nothing more than veiled
> feature requests which if presented/exposed/discussed as such would be
> received poorly.


I think it would be better if you asked me if you do not understand
them. There is no reason wasting other peoples time too. Mail me
privately.


> sender's subject line of such `bug report's are phrased in the
> form of a question which routinely match the pattern:
>
>  "Should not the <FEATURE-X> .*?"


I am sorry, but you are misunderstanding. We also use the bug database
for wishes and suggestions so they do not get lost.





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

* bug#6390: Should not regexp-quote quote newline?
  2010-06-12  6:51         ` Kevin Rodgers
  2010-06-12 13:37           ` Lennart Borgman
@ 2011-07-09  5:30           ` Glenn Morris
  2011-07-09 10:03             ` Lennart Borgman
  1 sibling, 1 reply; 30+ messages in thread
From: Glenn Morris @ 2011-07-09  5:30 UTC (permalink / raw)
  To: 6390-done


I don't see a need to keep open this particular report, which was marked
"wontfix" some time ago.





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

* bug#6390: Should not regexp-quote quote newline?
  2011-07-09  5:30           ` Glenn Morris
@ 2011-07-09 10:03             ` Lennart Borgman
  0 siblings, 0 replies; 30+ messages in thread
From: Lennart Borgman @ 2011-07-09 10:03 UTC (permalink / raw)
  To: 6390, rgm; +Cc: 6390-done

On Sat, Jul 9, 2011 at 07:30, Glenn Morris <rgm@gnu.org> wrote:
>
> I don't see a need to keep open this particular report, which was marked
> "wontfix" some time ago.

This was a long time ago. I just reread the thread. My initial
proposal was bad which Andreas pointed out.

However the proposal to escape \t along with \n and \f which are
currently escaped still seems valid.





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

end of thread, other threads:[~2011-07-09 10:03 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-10 14:42 bug#6390: Should not regexp-quote quote newline? Lennart Borgman
2010-06-10 15:01 ` Andreas Schwab
2010-06-10 15:02   ` Lennart Borgman
2010-06-10 15:34     ` Drew Adams
2010-06-10 16:08     ` Andreas Schwab
2010-06-10 16:11       ` Lennart Borgman
2010-06-10 16:22         ` Andreas Schwab
2010-06-10 16:46           ` Lennart Borgman
2010-06-10 17:03             ` Andreas Schwab
2010-06-10 18:07               ` Lennart Borgman
2010-06-10 23:11                 ` Lennart Borgman
2010-06-11  0:44                   ` Lennart Borgman
2010-06-10 15:22 ` Drew Adams
2010-06-10 15:34   ` Lennart Borgman
2010-06-10 16:28     ` Juanma Barranquero
2010-06-10 16:47       ` Lennart Borgman
2010-06-10 16:56     ` Andreas Schwab
2010-06-10 17:00       ` Lennart Borgman
2010-06-11  4:19 ` MON KEY
2010-06-11  4:43   ` Lennart Borgman
2010-06-11 20:09     ` MON KEY
2010-06-11 20:37       ` Lennart Borgman
2010-06-12  6:18         ` MON KEY
2010-06-12 13:28           ` Lennart Borgman
2010-06-14  3:00             ` MON KEY
2010-06-14  5:33               ` Lennart Borgman
2010-06-12  6:51         ` Kevin Rodgers
2010-06-12 13:37           ` Lennart Borgman
2011-07-09  5:30           ` Glenn Morris
2011-07-09 10:03             ` Lennart Borgman

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