GNU bug report logs - #15275
24.3; replace-string function does not respect current region

Previous Next

Package: emacs;

Reported by: Jarek Czekalski <jarekczek <at> poczta.onet.pl>

Date: Thu, 5 Sep 2013 15:34:03 UTC

Severity: minor

Found in version 24.3

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15275 in the body.
You can then email your comments to 15275 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#15275; Package emacs. (Thu, 05 Sep 2013 15:34:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jarek Czekalski <jarekczek <at> poczta.onet.pl>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 05 Sep 2013 15:34:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jarek Czekalski <jarekczek <at> poczta.onet.pl>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3; replace-string function does not respect current region
Date: Thu, 05 Sep 2013 14:55:32 +0200
emacs started with -Q. Documentation of function (replace-string)
says:

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

However I can't make it work on a region and it always replaces
from the point up to the end of buffer. For example this call:

(replace-string "a" "x")

If I execute it through M-x, it works correctly, working only on the region.


In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601)
 of 2013-03-17 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --with-gcc (4.7) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'

Important settings:
  value of $LANG: PLK
  locale-coding-system: cp1250
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<up> <up> <up> <up> <S-down> M-: ( r e p l a c e -
s t r i n g SPC " i " SPC " * " ) <return> M-x r e
p o r <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set [2 times]
Replaced 8 occurrences
nil

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win
w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
w32 multi-tty emacs)





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15275; Package emacs. (Thu, 05 Sep 2013 15:48:02 GMT) Full text and rfc822 format available.

Message #8 received at 15275 <at> debbugs.gnu.org (full text, mbox):

From: Jambunathan K <kjambunathan <at> gmail.com>
To: Jarek Czekalski <jarekczek <at> poczta.onet.pl>
Cc: 15275 <at> debbugs.gnu.org
Subject: Re: bug#15275: 24.3;
 replace-string function does not respect current region
Date: Thu, 05 Sep 2013 21:19:19 +0530
Jarek Czekalski <jarekczek <at> poczta.onet.pl> writes:

> emacs started with -Q. Documentation of function (replace-string)
> says:
>
> In Transient Mark mode, if the mark is active, operate on the contents
> of the region.  Otherwise, operate from point to the end of the buffer.
>
> However I can't make it work on a region and it always replaces
> from the point up to the end of buffer. For example this call:
>
> (replace-string "a" "x")
>
> If I execute it through M-x, it works correctly, working only on the
> region.

1. Mark a region
2. Replace string

      M-x replace-string RET a RET x RET

3. Do 

     M-x list-command-histort RET

4. You will find something like this.

    (replace-string "a" "x" nil
                    (if (and transient-mark-mode mark-active)
                        (region-beginning))
                    (if (and transient-mark-mode mark-active)
                        (region-end)))

This will probably provide some clue on what you are looking for.
    
>
>
> In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601)
>  of 2013-03-17 on MARVIN
> Windowing system distributor `Microsoft Corp.', version 6.1.7601
> Configured using:
>  `configure --with-gcc (4.7) --cflags
>  -ID:/devel/emacs/libs/libXpm-3.5.8/include
>  -ID:/devel/emacs/libs/libXpm-3.5.8/src
>  -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
>  -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
>  -ID:/devel/emacs/libs/giflib-4.1.4-1/include
>  -ID:/devel/emacs/libs/jpeg-6b-4/include
>  -ID:/devel/emacs/libs/tiff-3.8.2-1/include
>  -ID:/devel/emacs/libs/gnutls-3.0.9/include
>  -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
>  -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'
>
> Important settings:
>   value of $LANG: PLK
>   locale-coding-system: cp1250
>   default enable-multibyte-characters: t
>
> Major mode: Lisp Interaction
>
> Minor modes in effect:
>   tooltip-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Recent input:
> <up> <up> <up> <up> <S-down> M-: ( r e p l a c e -
> s t r i n g SPC " i " SPC " * " ) <return> M-x r e
> p o r <tab> <return>
>
> Recent messages:
> For information about GNU Emacs and the GNU system, type C-h C-a.
> Mark set [2 times]
> Replaced 8 occurrences
> nil
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
> easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
> mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
> mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
> lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win
> w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list
> newcomment lisp-mode register page menu-bar rfn-eshadow timer select
> scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese hebrew greek romanian slovak czech european ethiopic
> indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
> abbrev minibuffer loaddefs button faces cus-face macroexp files
> text-properties overlay sha1 md5 base64 format env code-pages mule
> custom widget hashtable-print-readable backquote make-network-process
> w32 multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15275; Package emacs. (Thu, 05 Sep 2013 16:41:02 GMT) Full text and rfc822 format available.

Message #11 received at 15275 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Jarek Czekalski <jarekczek <at> poczta.onet.pl>
Cc: 15275 <at> debbugs.gnu.org
Subject: Re: bug#15275: 24.3;
 replace-string function does not respect current region
Date: Thu, 05 Sep 2013 12:40:02 -0400
In non-interactive use, you need to specify START and END explicitly.
This is fairly common for Emacs commands.
But note that the doc-string says: "This function is usually the wrong
thing to use in a Lisp program."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15275; Package emacs. (Thu, 05 Sep 2013 21:14:02 GMT) Full text and rfc822 format available.

Message #14 received at 15275 <at> debbugs.gnu.org (full text, mbox):

From: Jarek Czekalski <jarekczek <at> poczta.onet.pl>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 15275 <at> debbugs.gnu.org
Subject: Re: bug#15275: 24.3; replace-string function does not respect current
 region
Date: Thu, 05 Sep 2013 23:14:13 +0200
W dniu 09/05/2013 06:40 PM, Glenn Morris pisze:
> In non-interactive use, you need to specify START and END explicitly.
> This is fairly common for Emacs commands.
> But note that the doc-string says: "This function is usually the wrong
> thing to use in a Lisp program."
>

I was not going to use it from Lisp program. I just find it convenient 
to have the whole replacement command on one line. If the function 
worked the way it is described in docs, it would be perfect.

But I am emacs newbie, you decide. A newbie just reads the docs and 
hopes the program works according to docs.

Cheers
Jarek





Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Fri, 06 Sep 2013 01:40:02 GMT) Full text and rfc822 format available.

Notification sent to Jarek Czekalski <jarekczek <at> poczta.onet.pl>:
bug acknowledged by developer. (Fri, 06 Sep 2013 01:40:06 GMT) Full text and rfc822 format available.

Message #19 received at 15275-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 15275-done <at> debbugs.gnu.org
Subject: Re: bug#15275: 24.3;
 replace-string function does not respect current region
Date: Thu, 05 Sep 2013 21:39:24 -0400
Version: 24.4

Clarified the doc.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 04 Oct 2013 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 113 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.