aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c85
1 files changed, 10 insertions, 75 deletions
diff --git a/src/buffer.c b/src/buffer.c
index d2c7729d1c2..ee1359611c3 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1134,10 +1134,7 @@ BUFFER defaults to the current buffer.
1134Return nil if BUFFER has been killed. */) 1134Return nil if BUFFER has been killed. */)
1135 (register Lisp_Object buffer) 1135 (register Lisp_Object buffer)
1136{ 1136{
1137 if (NILP (buffer)) 1137 return BVAR (decode_buffer (buffer), name);
1138 return BVAR (current_buffer, name);
1139 CHECK_BUFFER (buffer);
1140 return BVAR (XBUFFER (buffer), name);
1141} 1138}
1142 1139
1143DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0, 1140DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0,
@@ -1145,10 +1142,7 @@ DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0,
1145No argument or nil as argument means use the current buffer. */) 1142No argument or nil as argument means use the current buffer. */)
1146 (register Lisp_Object buffer) 1143 (register Lisp_Object buffer)
1147{ 1144{
1148 if (NILP (buffer)) 1145 return BVAR (decode_buffer (buffer), filename);
1149 return BVAR (current_buffer, filename);
1150 CHECK_BUFFER (buffer);
1151 return BVAR (XBUFFER (buffer), filename);
1152} 1146}
1153 1147
1154DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer, 1148DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer,
@@ -1158,21 +1152,8 @@ If BUFFER is not indirect, return nil.
1158BUFFER defaults to the current buffer. */) 1152BUFFER defaults to the current buffer. */)
1159 (register Lisp_Object buffer) 1153 (register Lisp_Object buffer)
1160{ 1154{
1161 struct buffer *base; 1155 struct buffer *base = decode_buffer (buffer)->base_buffer;
1162 Lisp_Object base_buffer; 1156 return base ? (XSETBUFFER (buffer, base), buffer) : Qnil;
1163
1164 if (NILP (buffer))
1165 base = current_buffer->base_buffer;
1166 else
1167 {
1168 CHECK_BUFFER (buffer);
1169 base = XBUFFER (buffer)->base_buffer;
1170 }
1171
1172 if (! base)
1173 return Qnil;
1174 XSETBUFFER (base_buffer, base);
1175 return base_buffer;
1176} 1157}
1177 1158
1178DEFUN ("buffer-local-value", Fbuffer_local_value, 1159DEFUN ("buffer-local-value", Fbuffer_local_value,
@@ -1297,18 +1278,8 @@ Note that storing new VALUEs in these elements doesn't change the variables.
1297No argument or nil as argument means use current buffer as BUFFER. */) 1278No argument or nil as argument means use current buffer as BUFFER. */)
1298 (register Lisp_Object buffer) 1279 (register Lisp_Object buffer)
1299{ 1280{
1300 register struct buffer *buf; 1281 register struct buffer *buf = decode_buffer (buffer);
1301 register Lisp_Object result; 1282 register Lisp_Object result = buffer_lisp_local_variables (buf, 0);
1302
1303 if (NILP (buffer))
1304 buf = current_buffer;
1305 else
1306 {
1307 CHECK_BUFFER (buffer);
1308 buf = XBUFFER (buffer);
1309 }
1310
1311 result = buffer_lisp_local_variables (buf, 0);
1312 1283
1313 /* Add on all the variables stored in special slots. */ 1284 /* Add on all the variables stored in special slots. */
1314 { 1285 {
@@ -1337,15 +1308,7 @@ DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p,
1337No argument or nil as argument means use current buffer as BUFFER. */) 1308No argument or nil as argument means use current buffer as BUFFER. */)
1338 (register Lisp_Object buffer) 1309 (register Lisp_Object buffer)
1339{ 1310{
1340 register struct buffer *buf; 1311 register struct buffer *buf = decode_buffer (buffer);
1341 if (NILP (buffer))
1342 buf = current_buffer;
1343 else
1344 {
1345 CHECK_BUFFER (buffer);
1346 buf = XBUFFER (buffer);
1347 }
1348
1349 return BUF_SAVE_MODIFF (buf) < BUF_MODIFF (buf) ? Qt : Qnil; 1312 return BUF_SAVE_MODIFF (buf) < BUF_MODIFF (buf) ? Qt : Qnil;
1350} 1313}
1351 1314
@@ -1451,16 +1414,7 @@ text in that buffer is changed. It wraps around occasionally.
1451No argument or nil as argument means use current buffer as BUFFER. */) 1414No argument or nil as argument means use current buffer as BUFFER. */)
1452 (register Lisp_Object buffer) 1415 (register Lisp_Object buffer)
1453{ 1416{
1454 register struct buffer *buf; 1417 return make_number (BUF_MODIFF (decode_buffer (buffer)));
1455 if (NILP (buffer))
1456 buf = current_buffer;
1457 else
1458 {
1459 CHECK_BUFFER (buffer);
1460 buf = XBUFFER (buffer);
1461 }
1462
1463 return make_number (BUF_MODIFF (buf));
1464} 1418}
1465 1419
1466DEFUN ("buffer-chars-modified-tick", Fbuffer_chars_modified_tick, 1420DEFUN ("buffer-chars-modified-tick", Fbuffer_chars_modified_tick,
@@ -1475,16 +1429,7 @@ between these calls. No argument or nil as argument means use current
1475buffer as BUFFER. */) 1429buffer as BUFFER. */)
1476 (register Lisp_Object buffer) 1430 (register Lisp_Object buffer)
1477{ 1431{
1478 register struct buffer *buf; 1432 return make_number (BUF_CHARS_MODIFF (decode_buffer (buffer)));
1479 if (NILP (buffer))
1480 buf = current_buffer;
1481 else
1482 {
1483 CHECK_BUFFER (buffer);
1484 buf = XBUFFER (buffer);
1485 }
1486
1487 return make_number (BUF_CHARS_MODIFF (buf));
1488} 1433}
1489 1434
1490DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2, 1435DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2,
@@ -4137,17 +4082,7 @@ BUFFER omitted or nil means delete all overlays of the current
4137buffer. */) 4082buffer. */)
4138 (Lisp_Object buffer) 4083 (Lisp_Object buffer)
4139{ 4084{
4140 register struct buffer *buf; 4085 delete_all_overlays (decode_buffer (buffer));
4141
4142 if (NILP (buffer))
4143 buf = current_buffer;
4144 else
4145 {
4146 CHECK_BUFFER (buffer);
4147 buf = XBUFFER (buffer);
4148 }
4149
4150 delete_all_overlays (buf);
4151 return Qnil; 4086 return Qnil;
4152} 4087}
4153 4088