diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/buffer.h | 22 | ||||
| -rw-r--r-- | src/eval.c | 2 |
2 files changed, 22 insertions, 2 deletions
diff --git a/src/buffer.h b/src/buffer.h index 14d3aa6d5ee..930424b0b49 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -906,8 +906,26 @@ extern int last_per_buffer_idx; | |||
| 906 | (B)->local_flags[IDX] = (VAL); \ | 906 | (B)->local_flags[IDX] = (VAL); \ |
| 907 | } while (0) | 907 | } while (0) |
| 908 | 908 | ||
| 909 | /* Return the index of the per-buffer variable at offset OFFSET in the | 909 | /* Return the index value of the per-buffer variable at offset OFFSET |
| 910 | buffer structure. */ | 910 | in the buffer structure. |
| 911 | |||
| 912 | If the slot OFFSET has a corresponding default value in | ||
| 913 | buffer_defaults, the index value is positive and has only one | ||
| 914 | nonzero bit. When a buffer has its own local value for a slot, the | ||
| 915 | bit for that slot (found in the same slot in this structure) is | ||
| 916 | turned on in the buffer's local_flags array. | ||
| 917 | |||
| 918 | If the index value is -1, even though there may be a | ||
| 919 | DEFVAR_PER_BUFFER for the slot, there is no default value for it; | ||
| 920 | and the corresponding slot in buffer_defaults is not used. | ||
| 921 | |||
| 922 | If the index value is -2, then there is no DEFVAR_PER_BUFFER for | ||
| 923 | the slot, but there is a default value which is copied into each | ||
| 924 | new buffer. | ||
| 925 | |||
| 926 | If a slot in this structure corresponding to a DEFVAR_PER_BUFFER is | ||
| 927 | zero, that is a bug */ | ||
| 928 | |||
| 911 | 929 | ||
| 912 | #define PER_BUFFER_IDX(OFFSET) \ | 930 | #define PER_BUFFER_IDX(OFFSET) \ |
| 913 | XINT (*(Lisp_Object *)((OFFSET) + (char *) &buffer_local_flags)) | 931 | XINT (*(Lisp_Object *)((OFFSET) + (char *) &buffer_local_flags)) |
diff --git a/src/eval.c b/src/eval.c index e5dba1b888f..8a6d0d3ff54 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -2641,6 +2641,8 @@ call6 (fn, arg1, arg2, arg3, arg4, arg5, arg6) | |||
| 2641 | #endif /* not NO_ARG_ARRAY */ | 2641 | #endif /* not NO_ARG_ARRAY */ |
| 2642 | } | 2642 | } |
| 2643 | 2643 | ||
| 2644 | /* The caller should GCPRO all the elements of ARGS. */ | ||
| 2645 | |||
| 2644 | DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, | 2646 | DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, |
| 2645 | doc: /* Call first argument as a function, passing remaining arguments to it. | 2647 | doc: /* Call first argument as a function, passing remaining arguments to it. |
| 2646 | Return the value that function returns. | 2648 | Return the value that function returns. |