aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorKenichi Handa2003-09-08 12:53:41 +0000
committerKenichi Handa2003-09-08 12:53:41 +0000
commit8f924df7df019cce90537647de2627581043b5c4 (patch)
tree6c40bd05679425e710d6b2e5649eae3da5e40a52 /src/buffer.h
parent463f5630a5e7cbe7f042bc1175d1fa1c4e98860f (diff)
parent9d4807432a01f9b3cc519fcfa3ea92a70ffa7f43 (diff)
downloademacs-8f924df7df019cce90537647de2627581043b5c4.tar.gz
emacs-8f924df7df019cce90537647de2627581043b5c4.zip
*** empty log message ***
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/buffer.h b/src/buffer.h
index 8c340a23d23..b52f83a6e06 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -319,7 +319,6 @@ else
319 319
320/* Variables used locally in FETCH_MULTIBYTE_CHAR. */ 320/* Variables used locally in FETCH_MULTIBYTE_CHAR. */
321extern unsigned char *_fetch_multibyte_char_p; 321extern unsigned char *_fetch_multibyte_char_p;
322extern int _fetch_multibyte_char_len;
323 322
324/* Return character code of multi-byte form at position POS. If POS 323/* Return character code of multi-byte form at position POS. If POS
325 doesn't point the head of valid multi-byte form, only the byte at 324 doesn't point the head of valid multi-byte form, only the byte at
@@ -327,10 +326,18 @@ extern int _fetch_multibyte_char_len;
327 326
328#define FETCH_MULTIBYTE_CHAR(pos) \ 327#define FETCH_MULTIBYTE_CHAR(pos) \
329 (_fetch_multibyte_char_p = (((pos) >= GPT_BYTE ? GAP_SIZE : 0) \ 328 (_fetch_multibyte_char_p = (((pos) >= GPT_BYTE ? GAP_SIZE : 0) \
330 + (pos) + BEG_ADDR - BEG_BYTE), \ 329 + (pos) + BEG_ADDR - BEG_BYTE), \
331 _fetch_multibyte_char_len \ 330 STRING_CHAR (_fetch_multibyte_char_p, 0))
332 = ((pos) >= GPT_BYTE ? ZV_BYTE : GPT_BYTE) - (pos), \ 331
333 STRING_CHAR (_fetch_multibyte_char_p, _fetch_multibyte_char_len)) 332/* Return character at position POS. If the current buffer is unibyte
333 and the character is not ASCII, make the returning character
334 multibyte. */
335
336#define FETCH_CHAR_AS_MULTIBYTE(pos) \
337 (!NILP (current_buffer->enable_multibyte_characters) \
338 ? FETCH_MULTIBYTE_CHAR ((pos)) \
339 : unibyte_char_to_multibyte (FETCH_BYTE ((pos))))
340
334 341
335/* Macros for accessing a character or byte, 342/* Macros for accessing a character or byte,
336 or converting between byte positions and addresses, 343 or converting between byte positions and addresses,
@@ -379,10 +386,7 @@ extern int _fetch_multibyte_char_len;
379 (_fetch_multibyte_char_p \ 386 (_fetch_multibyte_char_p \
380 = (((pos) >= BUF_GPT_BYTE (buf) ? BUF_GAP_SIZE (buf) : 0) \ 387 = (((pos) >= BUF_GPT_BYTE (buf) ? BUF_GAP_SIZE (buf) : 0) \
381 + (pos) + BUF_BEG_ADDR (buf) - BEG_BYTE), \ 388 + (pos) + BUF_BEG_ADDR (buf) - BEG_BYTE), \
382 _fetch_multibyte_char_len \ 389 STRING_CHAR (_fetch_multibyte_char_p, 0))
383 = (((pos) >= BUF_GPT_BYTE (buf) ? BUF_ZV_BYTE (buf) : BUF_GPT_BYTE (buf)) \
384 - (pos)), \
385 STRING_CHAR (_fetch_multibyte_char_p, _fetch_multibyte_char_len))
386 390
387/* Define the actual buffer data structures. */ 391/* Define the actual buffer data structures. */
388 392
@@ -820,6 +824,7 @@ extern void buffer_slot_type_mismatch P_ ((int));
820extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT)); 824extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT));
821extern void mmap_set_vars P_ ((int)); 825extern void mmap_set_vars P_ ((int));
822 826
827EXFUN (Fbuffer_live_p, 1);
823EXFUN (Fbuffer_name, 1); 828EXFUN (Fbuffer_name, 1);
824EXFUN (Fget_file_buffer, 1); 829EXFUN (Fget_file_buffer, 1);
825EXFUN (Fnext_overlay_change, 1); 830EXFUN (Fnext_overlay_change, 1);