emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

eval-region may cause error against expressions including (set-buffer ..


From: Tetsuo Tsukamoto
Subject: eval-region may cause error against expressions including (set-buffer ...)
Date: Tue, 29 Nov 2005 00:02:54 +0900
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux)

Kind of expressions may cause error when evaluated by `eval-region'
but not when evaluated by `eval'.

1. Prepare an emacs lisp file.

> % cat foo.el
> (defun foo ()
>   (set-buffer (generate-new-buffer "*bar*")))
>
> (set-buffer (generate-new-buffer "*foo*"))
> (insert "(foo)")
> (eval-region (point-min) (point-max))

2. Execute Emacs

> % emacs -q

3. load foo.el

 M-x load-file [RET]
 Load file: ~/foo.el [RET]

Then an error will be signaled.

 Args out of range: 1, 6

The problem can also be reproduced in batch mode.

> % emacs -batch -q -no-site-file -l foo.el
> Args out of range: 1, 6

Emacs 21.3 does not cause the problem.

Besides, the error can be avoided by:

a) direct evaluation,

> % cat foo1.el
> (defun foo ()
>   (set-buffer (generate-new-buffer "*bar*")))
>
> (set-buffer (generate-new-buffer "*foo*"))
> (foo)

or

b) save-excursion

> % cat foo2.el
> (defun foo ()
>   (set-buffer (generate-new-buffer "*bar*")))
>
> (set-buffer (generate-new-buffer "*foo*"))
> (insert "(save-excursion (foo))")
> (eval-region (point-min) (point-max))

Neither foo1.el nor foo2.el causes the error.


In GNU Emacs 22.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.8.6)
 of 2005-11-28 on jitaku.pasokon
X server distributor `The X.Org Foundation', version 11.0.60802000
configured using `configure '--prefix=/usr' '--with-gtk' 'CFLAGS=-O2 -g''

Important settings:
  value of $LC_ALL: 
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ja_JP.utf8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  auto-compression-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  line-number-mode: t


Backtrace is as follows.

Attachment: Backtrace
Description: Binary data


-- 
Tetsuo Tsukamoto

reply via email to

[Prev in Thread] Current Thread [Next in Thread]