Module Ecaml.Current_buffer
There are, in general, many buffers in an Emacs session. At any time, one of them is designated as the "current buffer". This is the buffer in which most editing takes place, because most of the primitives for examining or changing text in a buffer operate implicitly on the current buffer. Normally the buffer that is displayed on the screen in the selected window is the current buffer, but this is not always so: a program can temporarily designate any buffer as current in order to operate on its contents, without changing what is displayed on the screen.
(Info-goto-node "(elisp)Current Buffer")
.
include Ecaml__.Current_buffer0_intf.Current_buffer0_public
val get : unit -> Ecaml__.Buffer0.t
(describe-function 'current-buffer)
val set : Ecaml__.Buffer0.t -> unit
(describe-function 'set-buffer)
val set_temporarily : (_, 'a) Sync_or_async.t -> Ecaml__.Buffer0.t -> f:(unit -> 'a) -> 'a
set_temporarily t ~f
runsf
with the current buffer set tot
.(describe-function 'with-current-buffer)
.
val variable_is_defined : Symbol.t -> bool
(describe-function 'boundp)
variable_is_defined
can be locally false in a buffer but true for that symbol globally, so it is defined inCurrent_buffer
.
val symbol_value : Symbol.t -> Ecaml__.Import0.Value.t
(describe-function 'symbol-value)
val value : 'a Var.t -> 'a option
(describe-function 'symbol-value)
val value_exn : 'a Var.t -> 'a
(describe-function 'symbol-value)
val value_opt_exn : 'a option Var.t -> 'a
value_opt_exn
is likevalue_exn
, except that it raises if the variable is defined butNone
. This is useful for buffer-local variables of type'a option
, with a default value of nil.
val set_value : 'a Var.t -> 'a -> unit
(describe-function 'set)
val set_values : Var.And_value.t list -> unit
val clear_value : 'a Var.t -> unit
(describe-function 'makunbound)
val set_value_temporarily : (_, 'b) Sync_or_async.t -> 'a Var.t -> 'a -> f:(unit -> 'b) -> 'b
val set_values_temporarily : (_, 'a) Sync_or_async.t -> Var.And_value.t list -> f:(unit -> 'a) -> 'a
val has_non_null_value : _ Var.t -> bool
(describe-function 'bound-and-true-p)
val get_buffer_local : 'a Buffer_local.t -> 'a
val get_buffer_local_exn : 'a option Buffer_local.t -> 'a
val set_buffer_local : 'a Buffer_local.t -> 'a -> unit
val set_buffer_local_temporarily : (_, 'a) Sync_or_async.t -> 'b Buffer_local.t -> 'b -> f:(unit -> 'a) -> 'a
val directory : Ecaml__.Ecaml_filename.Filename.t option Buffer_local.t
(describe-variable 'default-directory)
(Info-goto-node "(elisp)File Name Expansion")
val undo_list : unit -> Ecaml__.Import.Value.t
(describe-variable 'buffer-undo-list)
(Info-goto-node "(elisp)Undo")
(Info-goto-node "(elisp)Maintaining Undo")
val is_undo_enabled : unit -> bool
val set_undo_enabled : bool -> unit
val file_name : unit -> string option
(describe-function 'buffer-file-name)
(Info-goto-node "(elisp)Buffer File Name")
val file_name_var : Ecaml__.Ecaml_filename.Filename.t option Buffer_local.t
(describe-variable 'buffer-file-name)
(Info-goto-node "(elisp)Buffer File Name")
module Coding_system : sig ... end
val file_coding_system : Coding_system.t option Buffer_local.t
(describe-variable 'file-coding-system)
val add_undo_boundary : unit -> unit
(describe-function 'undo-boundary)
(Info-goto-node "(elisp)Undo")
val describe_mode : unit -> unit
(describe-function 'describe-mode)
(Info-goto-node "(elisp)Mode Help")
val set_temporarily_to_temp_buffer : (_, 'a) Sync_or_async.t -> (unit -> 'a) -> 'a
set_temporarily_to_temp_buffer f
creates a temporary buffer and runsf
with the current buffer set to the temporary buffer.(describe-function 'with-temp-buffer)
.
val fill_column : int Buffer_local.t
(describe-variable 'fill-column)
(Info-goto-node "(elisp)Margins")
val paragraph_start : Regexp.t Var.t
(describe-variable 'paragraph-start)
(Info-goto-node "(elisp)Standard Regexps ")
val paragraph_separate : Regexp.t Var.t
(describe-variable 'paragraph-separate)
(Info-goto-node "(elisp)Standard Regexps ")
val read_only : bool Buffer_local.t
(describe-variable 'buffer-read-only)
(Info-goto-node "(elisp)Read-Only Buffers")
val transient_mark_mode : bool Var.t
(describe-variable 'transient-mark-mode)
(describe-function 'transient-mark-mode)
(Info-goto-node "(elisp)The Mark")
val major_mode : unit -> Major_mode.t
(describe-variable 'major-mode)
(Info-goto-node "(elisp)Auto Major Mode")
val change_major_mode : Major_mode.t -> unit Async_kernel.Deferred.t
val set_auto_mode : ?keep_mode_if_same:bool -> unit -> unit Async_kernel.Deferred.t
(describe-function 'set-auto-mode)
val make_buffer_local : _ Var.t -> unit
(describe-function 'make-local-variable)
(Info-goto-node "(elisp)Creating Buffer-Local")
val is_buffer_local : _ Var.t -> bool
(describe-function 'local-variable-p)
(Info-goto-node "(elisp)Creating Buffer-Local")
val is_buffer_local_if_set : _ Var.t -> bool
(describe-function 'local-variable-if-set-p)
(Info-goto-node "(elisp)Creating Buffer-Local")
val buffer_local_variables : unit -> (Symbol.t * Ecaml__.Import.Value.t option) list
(describe-function 'buffer-local-variables)
(Info-goto-node "(elisp)Creating Buffer-Local")
val kill_buffer_local : _ Var.t -> unit
(describe-function 'kill-local-variable)
(Info-goto-node "(elisp)Creating Buffer-Local")
val local_keymap : unit -> Keymap.t option
(describe-function 'current-local-map)
(Info-goto-node "(elisp)Controlling Active Maps")
val set_local_keymap : Keymap.t -> unit
(describe-function 'use-local-map)
(Info-goto-node "(elisp)Controlling Active Maps")
val minor_mode_keymaps : unit -> Keymap.t list
(describe-function 'current-minor-mode-maps)
(Info-goto-node "(elisp)Controlling Active Maps")
val contents : ?start:Position.t -> ?end_:Position.t -> ?text_properties:bool -> unit -> Text.t
(describe-function 'buffer-substring)
(describe-function 'buffer-substring-no-properties)
val kill : unit -> unit Async_kernel.Deferred.t
(Info-goto-node "(elisp)Killing Buffers")
(describe-function 'kill-buffer)
val save : unit -> unit Async_kernel.Deferred.t
(Info-goto-node "(elisp)Saving Buffers")
(describe-function 'save-buffer)
val delete_region : start:Position.t -> end_:Position.t -> unit
(describe-function 'delete-region)
(Info-goto-node "(elisp)Deletion")
val kill_region : start:Position.t -> end_:Position.t -> unit
(describe-function 'kill-region)
val save_current_buffer : (_, 'a) Sync_or_async.t -> (unit -> 'a) -> 'a
(describe-function 'save-current-buffer)
val save_excursion : (_, 'a) Sync_or_async.t -> (unit -> 'a) -> 'a
(describe-function 'save-excursion)
val save_mark_and_excursion : (_, 'a) Sync_or_async.t -> (unit -> 'a) -> 'a
(describe-function 'save-mark-and-excursion)
val save_restriction : (_, 'a) Sync_or_async.t -> (unit -> 'a) -> 'a
(describe-function 'save-restriction)
val set_multibyte : bool -> unit
(describe-function 'set-buffer-multibyte)
.(Info-goto-node "(elisp)Selecting a Representation")
.
val rename_exn : ?unique:bool -> unit -> name:string -> unit
rename_exn
renames the current buffer, raising ifname
is already taken andunique = false
; withunique = true
it generates a new name.(describe-function 'rename-buffer)
.
val set_text_property : ?start:Position.t -> ?end_:Position.t -> 'a Text.Property_name.t -> 'a -> unit
(describe-function 'put-text-property)
(Info-goto-node "(elisp)Changing Properties")
.
val set_text_property_staged : 'a Text.Property_name.t -> 'a -> (start:int -> end_:int -> unit) Core_kernel.Staged.t
set_text_property_staged
is an optimization ofset_text_property
for the same text property on a number of regions, where the positions areint
s. It precomputes the Elisp property value once, and reuses it for each region.
val set_text_properties : ?start:Position.t -> ?end_:Position.t -> Text.Property.t list -> unit
(describe-function 'set-text-properties)
(Info-goto-node "(elisp)Changing Properties")
.
val set_text_properties_staged : Text.Property.t list -> (start:int -> end_:int -> unit) Core_kernel.Staged.t
set_text_properties_staged
is an optimization ofset_text_properties
for the same text property on a number of regions, where the positions areint
s. It precomputes the Elisp property value once, and reuses it for each region.
val get_text_property : Position.t -> 'a Text.Property_name.t -> 'a option
(describe-function 'get-text-property)
val add_text_properties : ?start:Position.t -> ?end_:Position.t -> Text.Property.t list -> unit
(describe-function 'add-text-properties)
(Info-goto-node "(elisp)Changing Properties")
.
val add_text_properties_staged : Text.Property.t list -> (start:int -> end_:int -> unit) Core_kernel.Staged.t
add_text_properties_staged
is an optimization ofadd_text_properties
for the same text property on a number of regions, where the positions areint
s. It precomputes the Elisp property value once, and reuses it for each region.
val text_property_is_present : ?start:Position.t -> ?end_:Position.t -> _ Text.Property_name.t -> bool
text_property_is_present property_name
returnstrue
if any text in the region fromstart
toend_
usesproperty_name
.(describe-function 'text-property-not-all)
val set_marker_position : Marker.t -> Position.t -> unit
(describe-function 'set-marker)
(Info-goto-node "(elisp)Moving Markers")
val mark : unit -> Marker.t
(describe-function 'mark-marker)
(Info-goto-node "(elisp)The Mark")
val set_mark : Position.t -> unit
(describe-function 'set-mark)
(Info-goto-node "(elisp)The Mark")
val mark_is_active : unit -> bool
(describe-variable 'mark-active)
(Info-goto-node "(elisp)The Mark")
val active_region : unit -> (Position.t * Position.t) option
(describe-function 'region-beginning)
(describe-function 'region-end)
Returns
(region-beginning), (region-end)
if the mark is active.
val deactivate_mark : unit -> unit
(describe-function 'deactivate-mark)
(Info-goto-node "(elisp)The Mark")
val syntax_class : Char_code.t -> Syntax_table.Class.t
(describe-function 'char-syntax)
(Info-goto-node "(elisp)Syntax Table Functions")
val syntax_table : unit -> Syntax_table.t
(describe-function 'syntax-table)
(Info-goto-node "(elisp)Syntax Table Functions")
val set_syntax_table : Syntax_table.t -> unit
(describe-function 'set-syntax-table)
(Info-goto-node "(elisp)Syntax Table Functions")
val delete_lines_matching : ?start:Position.t -> ?end_:Position.t -> Regexp.t -> unit
(describe-function 'flush-lines)
val sort_lines : ?start:Position.t -> ?end_:Position.t -> unit -> unit
(describe-function 'sort-lines)
(Info-goto-node "(elisp)Sorting")
val delete_duplicate_lines : ?start:Position.t -> ?end_:Position.t -> unit -> unit
(describe-function 'delete-duplicate-lines)
val indent_region : ?start:Position.t -> ?end_:Position.t -> unit -> unit
(describe-function 'indent-region)
(Info-goto-node "(elisp)Region Indent")
val revert : ?confirm:bool -> unit -> unit Async_kernel.Deferred.t
(describe-function 'revert-buffer)
(Info-goto-node "(elisp)Reverting")
val set_revert_buffer_function : Core_kernel.Source_code_position.t -> (unit, 'a) Defun.Returns.t -> (confirm:bool -> 'a) -> unit
(describe-variable 'revert-buffer-function)
val replace_buffer_contents : (Ecaml__.Import.Buffer.t -> unit) Core_kernel.Or_error.t
(describe-function 'replace-buffer-contents)
This function was introduced in Emacs 26 and the value is an error if an earlier version of emacs is used.
val replace_string : ?start:Position.t -> ?end_:Position.t -> from:string -> to_:string -> unit -> unit
replace_string ~from ~to_
replaces all occurrences offrom
withto_
. It is like(describe-function 'replace-string)
, but doesn't actually call that, because its documentation says:This function is for interactive use only; in Lisp code use `search-forward' and `replace-match' instead.
val truncate_lines : bool Buffer_local.t
(describe-variable 'truncate-lines)
val chars_modified_tick : unit -> Modified_tick.t
(describe-function 'buffer-chars-modified-tick)
(Info-goto-node "(elisp)Buffer Modification")
val append_to : string -> unit
append_to string
appendsstring
to the end of the current buffer, and preserves point-at-max for windows that display it.
val inhibit_read_only : (_, 'a) Sync_or_async.t -> (unit -> 'a) -> 'a
val line_and_column_of_position : Position.t -> Line_and_column.t
val position_of_line_and_column : Line_and_column.t -> Position.t