Buffer (jEdit API Documentation)
Date: 2018-04-10

org.gjt.sp.jedit

## Class Buffer

- java.lang.Object
- - org.gjt.sp.jedit.buffer.JEditBuffer
  - - org.gjt.sp.jedit.Buffer

-     public class Buffer
      extends JEditBuffer

  A `Buffer` represents the contents of an open text file as it is maintained in the computer's memory (as opposed to how it may be stored on a disk).

  In a BeanShell script, you can obtain the current buffer instance from the `buffer` variable.

  This class does not have a public constructor. Buffers can be opened and closed using methods in the `jEdit` class.

  This class is partially thread-safe, however you must pay attention to two very important guidelines:

  - Operations such as insert() and remove(), undo(), change Buffer data in a writeLock(), and must be called from the AWT thread.
  - When accessing the buffer from another thread, you must call readLock() before and readUnLock() after, if you plan on performing more than one read, to ensure that the buffer contents are not changed by the AWT thread for the duration of the lock. Only methods whose descriptions specify thread safety can be invoked from other threads.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.gjt.sp.jedit.buffer.JEditBuffer

      `JEditBuffer.PropValue`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `BACKED_UP` Backed up property.
    `static java.lang.String` | `CARET` Caret info properties.
    `static java.lang.String` | `CARET_POSITIONED`
    `static java.lang.String` | `ENCODING_AUTODETECT` Should jEdit try to set the encoding based on a UTF8, UTF16 or XML signature at the beginning of the file?
    `static int` | `FILE_CHANGED`
    `static int` | `FILE_DELETED`
    `static int` | `FILE_NOT_CHANGED`
    `static java.lang.String` | `GZIPPED` This property is set to 'true' if the file should be GZipped.
    `static java.lang.String` | `SCROLL_HORIZ`
    `static java.lang.String` | `SCROLL_VERT` This should be a physical line number, so that the scroll position is preserved correctly across reloads (which will affect virtual line numbers, due to fold being reset)
    `static java.lang.String` | `SELECTION` Stores a List of `Selection` instances.
    `static java.lang.String` | `TRAILING_EOL` This property is set to 'true' if the file has a trailing newline.

    - ### Fields inherited from class org.gjt.sp.jedit.buffer.JEditBuffer

      `columnBlockLock, contextInsensitive, elasticTabstopsOn, ENCODING, HIGH_PRIORITY, LINESEP, mode, NORMAL_PRIORITY, tokenMarker, undoMgr`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBufferUndoListener(BufferUndoListener listener)` Adds a buffer undo listener.
    `void` | `addMarker(char shortcut, int pos)` Adds a marker to this buffer.
    `void` | `addOrRemoveMarker(char shortcut, int pos)` If a marker is set on the line of the position, it is removed.
    `void` | `autosave()` Autosaves this buffer.
    `void` | `autosave(boolean force)` Autosaves this buffer.
    `int` | `checkFileStatus(View view)` Check if the buffer has changed on disk.
    `protected void` | `fireBeginRedo()`
    `protected void` | `fireBeginUndo()`
    `protected void` | `fireEndRedo()`
    `protected void` | `fireEndUndo()`
    `boolean` | `getAutoReload()`
    `boolean` | `getAutoReloadDialog()`
    `java.io.File` | `getAutosaveFile()`
    `java.lang.String` | `getContextSensitiveProperty(int offset, java.lang.String name)` Some settings, like comment start and end strings, can vary between different parts of a buffer (HTML text and inline JavaScript, for example).
    `java.lang.Object` | `getDefaultProperty(java.lang.String name)`
    `java.lang.String` | `getDirectory()`
    `java.io.File` | `getFile()` Deprecated. Do not call this method, use `getPath()` instead.
    `javax.swing.Icon` | `getIcon()`
    `int` | `getIndex()`
    `long` | `getLastModified()`
    `Marker` | `getMarker(char shortcut)`
    `Marker` | `getMarkerAtLine(int line)`
    `Marker` | `getMarkerInRange(int start, int end)`
    `java.lang.String` | `getMarkerNameString()`
    `java.util.Vector<Marker>` | `getMarkers()`
    `static java.lang.String` | `getMarkersPath(VFS vfs, java.lang.String path)` Returns the path for this buffer's markers file
    `java.lang.String` | `getMarkerStatusPrompt(java.lang.String action)`
    `java.lang.String` | `getName()`
    `Buffer` | `getNext()`
    `java.lang.String` | `getPath()`
    `java.lang.String` | `getPath(java.lang.Boolean shortVersion)`
    `Buffer` | `getPrev()`
    `java.lang.String` | `getSymlinkPath()`
    `VFS` | `getVFS()` Returns the virtual filesystem responsible for loading and saving this buffer.
    `boolean` | `insertFile(View view, java.lang.String path)` Loads a file from disk, and inserts it into this buffer.
    `boolean` | `isBackup()`
    `boolean` | `isClosed()`
    `boolean` | `isEditable()`
    `boolean` | `isLoaded()`
    `boolean` | `isLocked()`
    `boolean` | `isNewFile()`
    `boolean` | `isTemporary()`
    `boolean` | `isUntitled()`
    `boolean` | `load(View view, boolean reload)` Loads the buffer from disk.
    `boolean` | `markersChanged()`
    `protected TokenMarker.LineContext` | `markTokens(javax.swing.text.Segment seg, TokenMarker.LineContext prevContext, TokenHandler _tokenHandler)`
    `void` | `propertiesChanged()` Reloads settings from the properties.
    `void` | `reload(View view)` Reloads the buffer from disk, asking for confirmation if the buffer has unsaved changes.
    `void` | `removeAllMarkers()` Removes all defined markers.
    `void` | `removeAutosaveFile()` Remove the autosave file.
    `void` | `removeBufferUndoListener(BufferUndoListener listener)` Removes a buffer undo listener.
    `void` | `removeMarker(int line)` Removes all markers at the specified line.
    `boolean` | `save(View view, java.lang.String path)` Saves this buffer to the specified path name, or the current path name if it's null.
    `boolean` | `save(View view, java.lang.String path, boolean rename)` Saves this buffer to the specified path name, or the current path name if it's null.
    `boolean` | `save(View view, java.lang.String path, boolean rename, boolean disableFileStatusCheck)` Saves this buffer to the specified path name, or the current path name if it's null.
    `boolean` | `saveAs(View view, boolean rename)` Prompts the user for a file to save this buffer to.
    `void` | `setAutoReload(boolean value)` Sets the status of the AUTORELOAD flag
    `void` | `setAutoReloadDialog(boolean value)` Sets the status of the AUTORELOAD_DIALOG flag
    `void` | `setDirty(boolean d)` Sets the 'dirty' (changed since last save) flag of this buffer.
    `void` | `setLastModified(long modTime)` Sets the last time jEdit modified the file on disk.
    `void` | `setLocked(boolean locked)` Changes locked state of the buffer.
    `void` | `setMarkersChanged(boolean changed)` Sets/unsets the MARKERS_CHANGED flag
    `void` | `setMode()` Sets this buffer's edit mode by calling the accept() method of each registered edit mode.
    `void` | `setNewFile(boolean newFile)` Sets the new file flag.
    `protected void` | `setUntitled(boolean untitled)`
    `void` | `setWaitSocket(java.net.Socket waitSocket)` This socket is closed when the buffer is closed.
    `void` | `toggleAutoIndent(View view)` Toggles automatic indentation on and off.
    `void` | `toggleLineSeparator(View view)` Toggles the line separator between the three available settings.
    `void` | `toggleLocked(View view)` Toggles locked state of the buffer.
    `void` | `toggleWordWrap(View view)` Toggles word wrap between the three available modes.
    `java.lang.String` | `toString()` Returns a string representation of this buffer.
    `boolean` | `updateMarkersFile(View view)` Save the markers file, or delete it when there are mo markers left Handling markers is now independent from saving the buffer.

    - ### Methods inherited from class org.gjt.sp.jedit.buffer.JEditBuffer

      `addBufferListener, addBufferListener, beginCompoundEdit, canRedo, canUndo, createPosition, endCompoundEdit, fireBufferLoaded, fireContentInserted, fireContentRemoved, fireFoldHandlerChanged, fireFoldLevelChanged, firePreContentInserted, firePreContentRemoved, fireTransactionComplete, getBooleanProperty, getBooleanProperty, getBufferListeners, getColumnBlock, getCurrentIndentForLine, getFoldAtLine, getFoldHandler, getFoldLevel, getIdealIndentForLine, getIndentSize, getIntegerProperty, getKeywordMapAtOffset, getLength, getLineContext, getLineCount, getLineEndOffset, getLineLength, getLineOfOffset, getLineSegment, getLineStartOffset, getLineText, getLineText, getLineText, getMode, getOffsetOfVirtualColumn, getPatternProperty, getPriorNonEmptyLine, getProperty, getRuleSetAtOffset, getSegment, getStringProperty, getTabSize, getTabStopPosition, getText, getText, getText, getTokenMarker, getUndoId, getVirtualWidth, indentLine, indentLines, indentLines, indentUsingElasticTabstops, insert, insert, insert, insertAtColumn, insertIndented, insideCompoundEdit, invalidateCachedFoldLevels, invalidateFoldLevels, isContextInsensitive, isDirty, isElectricKey, isFileReadOnly, isFoldEnd, isFoldStart, isLoading, isPerformingIO, isReadOnly, isTransactionInProgress, isUndoInProgress, loadText, markTokens, parseBufferLocalProperties, readLock, readUnlock, redo, remove, removeBufferListener, removeTrailingWhiteSpace, resetCachedProperties, setBooleanProperty, setContextInsensitive, setDefaultProperty, setEditable, setFileReadOnly, setFoldHandler, setIntegerProperty, setLoading, setMode, setMode, setMode, setPerformingIO, setProperty, setReadOnly, setStringProperty, setTokenMarker, setUndoLimit, shiftIndentLeft, shiftIndentRight, simpleIndentLine, undo, unsetProperty, updateColumnBlocks, writeLock, writeUnlock`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### BACKED_UP

          public static final java.lang.String BACKED_UP

      Backed up property.
      Since:
        jEdit 3.2pre2
      See Also:
        Constant Field Values

    - #### CARET

          public static final java.lang.String CARET

      Caret info properties.
      Since:
        jEdit 3.2pre1
      See Also:
        Constant Field Values

    - #### CARET_POSITIONED

          public static final java.lang.String CARET_POSITIONED

      See Also:
        Constant Field Values

    - #### SELECTION

          public static final java.lang.String SELECTION

      Stores a List of `Selection` instances.
      See Also:
        Constant Field Values

    - #### SCROLL_VERT

          public static final java.lang.String SCROLL_VERT

      This should be a physical line number, so that the scroll position is preserved correctly across reloads (which will affect virtual line numbers, due to fold being reset)
      See Also:
        Constant Field Values

    - #### SCROLL_HORIZ

          public static final java.lang.String SCROLL_HORIZ

      See Also:
        Constant Field Values

    - #### ENCODING_AUTODETECT

          public static final java.lang.String ENCODING_AUTODETECT

      Should jEdit try to set the encoding based on a UTF8, UTF16 or XML signature at the beginning of the file?
      See Also:
        Constant Field Values

    - #### TRAILING_EOL

          public static final java.lang.String TRAILING_EOL

      This property is set to 'true' if the file has a trailing newline.
      Since:
        jEdit 4.0pre1
      See Also:
        Constant Field Values

    - #### GZIPPED

          public static final java.lang.String GZIPPED

      This property is set to 'true' if the file should be GZipped.
      Since:
        jEdit 4.0pre4
      See Also:
        Constant Field Values

    - #### FILE_NOT_CHANGED

          public static final int FILE_NOT_CHANGED

      See Also:
        Constant Field Values

    - #### FILE_CHANGED

          public static final int FILE_CHANGED

      See Also:
        Constant Field Values

    - #### FILE_DELETED

          public static final int FILE_DELETED

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### reload

          public void reload(View view)

      Reloads the buffer from disk, asking for confirmation if the buffer has unsaved changes.
      Parameters:
        `view` - The view
      Since:
        jEdit 2.7pre2

    - #### load

          public boolean load(View view,
                              boolean reload)

      Loads the buffer from disk.
      Parameters:
        `view` - The view
        `reload` - If true, user will not be asked to recover autosave file, if any
      Returns:
        true if loaded
      Since:
        2.5pre1

    - #### insertFile

          public boolean insertFile(View view,
                                    java.lang.String path)

      Loads a file from disk, and inserts it into this buffer.
      Parameters:
        `view` - The view
        `path` - the path of the file to insert
      Returns:
        true if the file was inserted
      Since:
        4.0pre1

    - #### autosave

          public void autosave()

      Autosaves this buffer.

    - #### autosave

          public void autosave(boolean force)

      Autosaves this buffer.
      Parameters:
        `force` - save even if AUTOSAVE_DIRTY not set
      Since:
        jEdit 5.5pre1

    - #### saveAs

          public boolean saveAs(View view,
                                boolean rename)

      Prompts the user for a file to save this buffer to.
      Parameters:
        `view` - The view
        `rename` - True if the buffer's path should be changed, false if only a copy should be saved to the specified filename
      Returns:
        true if the buffer was successfully saved
      Since:
        jEdit 2.6pre5

    - #### save

          public boolean save(View view,
                              java.lang.String path)

      Saves this buffer to the specified path name, or the current path name if it's null.
      Parameters:
        `view` - The view
        `path` - The path name to save the buffer to, or null to use
      Returns:
        true if the buffer was successfully saved the existing path

    - #### save

          public boolean save(View view,
                              java.lang.String path,
                              boolean rename)

      Saves this buffer to the specified path name, or the current path name if it's null.
      Parameters:
        `view` - The view
        `path` - The path name to save the buffer to, or null to use the existing path
        `rename` - True if the buffer's path should be changed, false if only a copy should be saved to the specified filename
      Returns:
        true if the buffer was successfully saved
      Since:
        jEdit 2.6pre5

    - #### save

          public boolean save(View view,
                              java.lang.String path,
                              boolean rename,
                              boolean disableFileStatusCheck)

      Saves this buffer to the specified path name, or the current path name if it's null.
      Parameters:
        `view` - The view
        `path` - The path name to save the buffer to, or null to use the existing path
        `rename` - True if the buffer's path should be changed, false if only a copy should be saved to the specified filename
        `disableFileStatusCheck` - Disables file status checking regardless of the state of the checkFileStatus property
      Returns:
        true if the buffer was successfully saved

    - #### checkFileStatus

          public int checkFileStatus(View view)

      Check if the buffer has changed on disk.
      Parameters:
        `view` - the View
      Returns:
        One of `FILE_NOT_CHANGED`, `FILE_CHANGED`, or `FILE_DELETED`.
      Since:
        jEdit 4.2pre1

    - #### getLastModified

          public long getLastModified()

      Returns:
        the last time jEdit modified the file on disk. This method is thread-safe.

    - #### setLastModified

          public void setLastModified(long modTime)

      Sets the last time jEdit modified the file on disk.
      Parameters:
        `modTime` - The new modification time

    - #### getAutoReload

          public boolean getAutoReload()

      Returns:
        the status of the AUTORELOAD flag If true, reload changed files automatically

    - #### setAutoReload

          public void setAutoReload(boolean value)

      Sets the status of the AUTORELOAD flag
      Parameters:
        `value` - # If true, reload changed files automatically

    - #### getAutoReloadDialog

          public boolean getAutoReloadDialog()

      Returns:
        the status of the AUTORELOAD_DIALOG flag If true, prompt for reloading or notify user when the file has changed on disk

    - #### setAutoReloadDialog

          public void setAutoReloadDialog(boolean value)

      Sets the status of the AUTORELOAD_DIALOG flag
      Parameters:
        `value` - # If true, prompt for reloading or notify user when the file has changed on disk

    - #### getVFS

          public VFS getVFS()

      Returns the virtual filesystem responsible for loading and saving this buffer. This method is thread-safe.
      Returns:
        the VFS

    - #### getAutosaveFile

          public java.io.File getAutosaveFile()

      Returns:
        the autosave file for this buffer. This may be null if the file is non-local.

    - #### removeAutosaveFile

          public void removeAutosaveFile()

      Remove the autosave file.
      Since:
        jEdit 4.3pre12

    - #### getName

          public java.lang.String getName()

      Returns:
        the name of this buffer. This method is thread-safe.

    - #### getPath

          public java.lang.String getPath()

      Returns:
        the path name of this buffer. This method is thread-safe.

    - #### getPath

          public java.lang.String getPath(java.lang.Boolean shortVersion)

      Parameters:
        `shortVersion` - if true, replaces home path with ~/ on unix
      Returns:
        the path

    - #### getSymlinkPath

          public java.lang.String getSymlinkPath()

      Returns:
        If this file is a symbolic link, returns the link destination. Otherwise returns the file's path. This method is thread-safe.
      Since:
        jEdit 4.2pre1

    - #### getDirectory

          public java.lang.String getDirectory()

      Returns:
        the directory containing this buffer.
      Since:
        jEdit 4.1pre11

    - #### isClosed

          public boolean isClosed()

      Returns:
        true if this buffer has been closed with `jEdit.closeBuffer(View,Buffer)`. This method is thread-safe.

    - #### isLoaded

          public boolean isLoaded()

      Returns:
        true if the buffer is loaded. This method is thread-safe.

    - #### isNewFile

          public boolean isNewFile()

      Returns:
        whether this buffer lacks a corresponding version on disk. This method is thread-safe.

    - #### setNewFile

          public void setNewFile(boolean newFile)

      Sets the new file flag.
      Parameters:
        `newFile` - The new file flag

    - #### isUntitled

          public boolean isUntitled()

      Returns:
        true if this file is 'untitled'. This method is thread-safe.

    - #### setUntitled

          protected void setUntitled(boolean untitled)

      Parameters:
        `untitled` - untitled value to set
      Since:
        jEdit 5.5pre1

    - #### setDirty

          public void setDirty(boolean d)

      Sets the 'dirty' (changed since last save) flag of this buffer.
      Overrides:
        `setDirty` in class `JEditBuffer`
      Parameters:
        `d` - Sets the 'dirty' (changed since last save) flag of this buffer.

    - #### isTemporary

          public boolean isTemporary()

      Returns:
        if this is a temporary buffer. This method is thread-safe.
      Since:
        jEdit 2.2pre7
      See Also:
        `jEdit.openTemporary(View,String,String,boolean)`, `jEdit.commitTemporary(Buffer)`

    - #### isBackup

          public boolean isBackup()

      Returns:
        if this buffer most probably contains backup file

    - #### isEditable

          public boolean isEditable()

      Overrides:
        `isEditable` in class `JEditBuffer`
      Returns:
        true if this file is editable, false otherwise. A file may become uneditable if it is read only, or if I/O is in progress. This method is thread-safe.

    - #### isLocked

          public boolean isLocked()

      Returns:
        if this buffer is locked for editing

    - #### setLocked

          public void setLocked(boolean locked)

      Changes locked state of the buffer.
      Parameters:
        `locked` - true to lock, false to unlock

    - #### toggleLocked

          public void toggleLocked(View view)

      Toggles locked state of the buffer.
      Parameters:
        `view` - We show a message in the view's status bar

    - #### getIcon

          public javax.swing.Icon getIcon()

      Returns:
        this buffer's icon.
      Since:
        jEdit 2.6pre6

    - #### propertiesChanged

          public void propertiesChanged()

      Reloads settings from the properties. This should be called after the `syntax` or `folding` buffer-local properties are changed.
      Overrides:
        `propertiesChanged` in class `JEditBuffer`

    - #### getDefaultProperty

          public java.lang.Object getDefaultProperty(java.lang.String name)

      Overrides:
        `getDefaultProperty` in class `JEditBuffer`

    - #### toggleWordWrap

          public void toggleWordWrap(View view)

      Toggles word wrap between the three available modes. This is used by the status bar.
      Parameters:
        `view` - We show a message in the view's status bar
      Since:
        jEdit 4.1pre3

    - #### toggleAutoIndent

          public void toggleAutoIndent(View view)

      Toggles automatic indentation on and off.
      Parameters:
        `view` - This view's status bar will display the message
      Since:
        jEdit 5.0

    - #### toggleLineSeparator

          public void toggleLineSeparator(View view)

      Toggles the line separator between the three available settings. This is used by the status bar.
      Parameters:
        `view` - We show a message in the view's status bar
      Since:
        jEdit 4.1pre3

    - #### getContextSensitiveProperty

          public java.lang.String getContextSensitiveProperty(int offset,
                                                              java.lang.String name)

      Some settings, like comment start and end strings, can vary between different parts of a buffer (HTML text and inline JavaScript, for example).
      Overrides:
        `getContextSensitiveProperty` in class `JEditBuffer`
      Parameters:
        `offset` - The offset
        `name` - The property name
      Returns:
        the property value
      Since:
        jEdit 4.0pre3

    - #### setMode

          public void setMode()

      Sets this buffer's edit mode by calling the accept() method of each registered edit mode.

    - #### getFile

          @Deprecated
          public java.io.File getFile()

      Deprecated. Do not call this method, use `getPath()` instead.
      Returns:
        the file

    - #### getMarkers

          public java.util.Vector<Marker> getMarkers()

      Returns:
        a vector of markers.
      Since:
        jEdit 3.2pre1

    - #### getMarkerStatusPrompt

          public java.lang.String getMarkerStatusPrompt(java.lang.String action)

      Parameters:
        `action` - some action
      Returns:
        the status prompt for the given marker action. Only intended to be called from `actions.xml`.
      Since:
        jEdit 4.2pre2

    - #### getMarkerNameString

          public java.lang.String getMarkerNameString()

      Returns:
        a string of all set markers, used by the status bar (eg, "a b $ % ^").
      Since:
        jEdit 4.2pre2

    - #### addOrRemoveMarker

          public void addOrRemoveMarker(char shortcut,
                                        int pos)

      If a marker is set on the line of the position, it is removed. Otherwise a new marker with the specified shortcut is added.
      Parameters:
        `pos` - The position of the marker
        `shortcut` - The shortcut ('\0' if none)
      Since:
        jEdit 3.2pre5

    - #### addMarker

          public void addMarker(char shortcut,
                                int pos)

      Adds a marker to this buffer.
      Parameters:
        `pos` - The position of the marker
        `shortcut` - The shortcut ('\0' if none)
      Since:
        jEdit 3.2pre1

    - #### getMarkerInRange

          public Marker getMarkerInRange(int start,
                                         int end)

      Parameters:
        `start` - The start offset
        `end` - The end offset
      Returns:
        the first marker within the specified range.
      Since:
        jEdit 4.0pre4

    - #### getMarkerAtLine

          public Marker getMarkerAtLine(int line)

      Parameters:
        `line` - The line number
      Returns:
        the first marker at the specified line, or `null` if there is none.
      Since:
        jEdit 3.2pre2

    - #### removeMarker

          public void removeMarker(int line)

      Removes all markers at the specified line.
      Parameters:
        `line` - The line number
      Since:
        jEdit 3.2pre2

    - #### removeAllMarkers

          public void removeAllMarkers()

      Removes all defined markers.
      Since:
        jEdit 2.6pre1

    - #### getMarker

          public Marker getMarker(char shortcut)

      Parameters:
        `shortcut` - The shortcut
      Returns:
        the marker with the specified shortcut.
      Since:
        jEdit 3.2pre2

    - #### getMarkersPath

          public static java.lang.String getMarkersPath(VFS vfs,
                                                        java.lang.String path)

      Returns the path for this buffer's markers file
      Parameters:
        `vfs` - The appropriate VFS
        `path` - the path of the buffer, it can be different from the field when using save-as
      Returns:
        the marker path
      Since:
        jEdit 4.3pre10

    - #### updateMarkersFile

          public boolean updateMarkersFile(View view)

      Save the markers file, or delete it when there are mo markers left Handling markers is now independent from saving the buffer. Changing markers will not set the buffer dirty any longer.
      Parameters:
        `view` - The current view
      Returns:
        true if markers were updated
      Since:
        jEdit 4.3pre7

    - #### markersChanged

          public boolean markersChanged()

      Returns:
        true when markers have changed and the markers file needs to be updated
      Since:
        jEdit 4.3pre7

    - #### setMarkersChanged

          public void setMarkersChanged(boolean changed)

      Sets/unsets the MARKERS_CHANGED flag
      Parameters:
        `changed` - changed
      Since:
        jEdit 4.3pre7

    - #### setWaitSocket

          public void setWaitSocket(java.net.Socket waitSocket)

      This socket is closed when the buffer is closed.
      Parameters:
        `waitSocket` - the socket

    - #### getNext

          public Buffer getNext()

      Returns:
        the next buffer in the list.

    - #### getPrev

          public Buffer getPrev()

      Returns:
        the previous buffer in the list.

    - #### getIndex

          public int getIndex()

      Returns:
        the position of this buffer in the buffer list.

    - #### toString

          public java.lang.String toString()

      Returns a string representation of this buffer. This simply returns the path name.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### addBufferUndoListener

          public void addBufferUndoListener(BufferUndoListener listener)

      Adds a buffer undo listener.
      Parameters:
        `listener` - The listener
      Since:
        jEdit 4.3pre18

    - #### removeBufferUndoListener

          public void removeBufferUndoListener(BufferUndoListener listener)

      Removes a buffer undo listener.
      Parameters:
        `listener` - The listener
      Since:
        jEdit 4.3pre18

    - #### markTokens

          protected TokenMarker.LineContext markTokens(javax.swing.text.Segment seg,
                                                       TokenMarker.LineContext prevContext,
                                                       TokenHandler _tokenHandler)

      Overrides:
        `markTokens` in class `JEditBuffer`

    - #### fireBeginUndo

          protected void fireBeginUndo()

      Overrides:
        `fireBeginUndo` in class `JEditBuffer`

    - #### fireEndUndo

          protected void fireEndUndo()

      Overrides:
        `fireEndUndo` in class `JEditBuffer`

    - #### fireBeginRedo

          protected void fireBeginRedo()

      Overrides:
        `fireBeginRedo` in class `JEditBuffer`

    - #### fireEndRedo

          protected void fireEndRedo()

      Overrides:
        `fireEndRedo` in class `JEditBuffer`