emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r109801: Do not allow to set major mo


From: Dmitry Antipov
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109801: Do not allow to set major mode for a dead buffer.
Date: Tue, 28 Aug 2012 14:59:17 +0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109801
committer: Dmitry Antipov <address@hidden>
branch nick: trunk
timestamp: Tue 2012-08-28 14:59:17 +0400
message:
  Do not allow to set major mode for a dead buffer.
  * buffer.c (Fset_buffer_major_mode): Signal an error
  if the buffer is dead.
  (Fother_buffer, other_buffer_safely): Remove redundant
  nested declaration.
modified:
  src/ChangeLog
  src/buffer.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-08-28 06:20:08 +0000
+++ b/src/ChangeLog     2012-08-28 10:59:17 +0000
@@ -1,5 +1,13 @@
 2012-08-28  Dmitry Antipov  <address@hidden>
 
+       Do not allow to set major mode for a dead buffer.
+       * buffer.c (Fset_buffer_major_mode): Signal an error
+       if the buffer is dead.
+       (Fother_buffer, other_buffer_safely): Remove redundant
+       nested declaration.
+
+2012-08-28  Dmitry Antipov  <address@hidden>
+
        Always use set_buffer_if_live to restore original buffer at unwind.
        * buffer.h (record_unwind_current_buffer): New function.
        * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c:

=== modified file 'src/buffer.c'
--- a/src/buffer.c      2012-08-28 06:20:08 +0000
+++ b/src/buffer.c      2012-08-28 10:59:17 +0000
@@ -1553,7 +1553,6 @@
 exists, return the buffer `*scratch*' (creating it if necessary).  */)
   (register Lisp_Object buffer, Lisp_Object visible_ok, Lisp_Object frame)
 {
-  Lisp_Object Fset_buffer_major_mode (Lisp_Object buffer);
   Lisp_Object tail, buf, pred;
   Lisp_Object notsogood = Qnil;
 
@@ -1624,7 +1623,6 @@
 Lisp_Object
 other_buffer_safely (Lisp_Object buffer)
 {
-  Lisp_Object Fset_buffer_major_mode (Lisp_Object buffer);
   Lisp_Object tail, buf;
 
   tail = Vbuffer_alist;
@@ -2064,8 +2062,10 @@
 
   CHECK_BUFFER (buffer);
 
-  if (STRINGP (BVAR (XBUFFER (buffer), name))
-      && strcmp (SSDATA (BVAR (XBUFFER (buffer), name)), "*scratch*") == 0)
+  if (NILP (BVAR (XBUFFER (buffer), name)))
+    error ("Attempt to set major mode for a dead buffer");
+
+  if (strcmp (SSDATA (BVAR (XBUFFER (buffer), name)), "*scratch*") == 0)
     function = find_symbol_value (intern ("initial-major-mode"));
   else
     {


reply via email to

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