• Phil Sainty's avatar
    Avoid creating inconsistent buffer states in term-char-mode · 0d8e4f45
    Phil Sainty authored
    * lisp/term.el (term-mode, term-char-mode, term-line-mode)
    (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
    except for the process filter's output.  Use 'read-only-mode-hook' to
    track and restore the user-set state of 'buffer-read-only' for
    'term-line-mode'.  (Bug#24837)
    (term-char-mode-buffer-read-only): New user option.
    (term-line-mode-buffer-read-only): New buffer-local variable.
    (term-line-mode-buffer-read-only-update): New function.
    (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
    in pre-command-hook, and 'term-goto-process-mark-maybe' in
    post-command-hook to counter-act unexpected changes to point when
    using 'term-char-mode'.
    (term-char-mode-point-at-process-mark): New user option.
    (term-goto-process-mark): New buffer-local variable.
    (term-set-goto-process-mark): New function.
    (term-goto-process-mark-maybe): New function.
    (term-process-mark): New function.
    
    * etc/NEWS: Mention the new behavior and user options.
    0d8e4f45
term.el 177 KB