emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/eat b6caebb0ab: ; Release 0.2


From: ELPA Syncer
Subject: [nongnu] elpa/eat b6caebb0ab: ; Release 0.2
Date: Sat, 10 Dec 2022 06:58:36 -0500 (EST)

branch: elpa/eat
commit b6caebb0abb6220950ec26c0edd39be2be7c9f12
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>

    ; Release 0.2
    
    * eat.el:
    * eat.texi:
    Bump version.
    * ChangeLog: Update with new entries.
---
 ChangeLog | 410 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 eat.el    |   2 +-
 eat.texi  |   6 +-
 3 files changed, 414 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 927d830928..250f9035c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,413 @@
+2022-12-10  Akib Azmain Turja  <akib@disroot.org>
+
+       Fix yanking text into terminal
+
+       * eat.el (eat-yank): Use simpler, saner and better approach to get the
+       yanked string instead of the previous stupid, insane and buggy
+       approach.
+       * eat.el (eat-yank-pop): Remove, because it's not cancel the text
+       already sent to the terminal.
+       * eat.el (eat-yank-from-kill-ring): New function.  Behaves essentially
+       the same the previous (not properly working) 'eat-yank-pop'.
+       * eat.el (eat-semi-char-mode-map, eat-eshell-semi-char-mode-map):
+       Replace 'eat-yank-pop' with 'eat-yank-from-kill-ring'.
+
+2022-12-10  Akib Azmain Turja  <akib@disroot.org>
+
+       Implement terminal parameters
+
+       * eat.el (eat--t-term): New slot: 'params'.
+       * eat.el (eat-term-parameter): New function and generalized
+       variable.
+       * eat.el (eat-set-term-parameter): New function.
+
+2022-12-09  Akib Azmain Turja  <akib@disroot.org>
+
+       Fix terminal color reporting in text terminals
+
+       * eat.el (eat--t-report-foreground-color): Fix foreground color
+       reporting in text terminals.
+       * eat.el (eat--t-report-background-color): Fix background color
+       reporting in text terminals.
+
+2022-12-08  Akib Azmain Turja  <akib@disroot.org>
+
+       Break combined 'setq'/'setf'/'setq-local's
+
+       When giving more than two arguments to 'setq', it becomes hard
+       to figure out what is assigned to what.  As the number of
+       argument increases, the readablity of code decreases.  This is
+       also true for 'setq-local'.  For 'setf', the problem is even
+       greater, unlike 'setq', all arguments to 'setf' look the same.
+
+       * eat.el (eat--t-reset, eat--t-write, eat--t-save-cur)
+       (eat--t-restore-cur, eat--t-enable-alt-disp)
+       (eat--t-disable-alt-disp, eat--t-change-scroll-region)
+       (eat--t-set-sgr-params, eat--t-manipulate-selection)
+       (eat--t-resize, eat--blink-start-timers, eat-blink-mode)
+       (eat--cursor-blink-mode, eat--set-cursor, eat-self-input)
+       (eat-mode, eat-exec, eat--eshell-setup-proc-and-term)
+       (eat--eshell-cleanup, eat--eshell-adjust-make-process-args)
+       (eat--eshell-local-mode, eat--eshell-exec-visual)
+       (eat--trace-exec, eat--trace-eshell-adjust-make-process-args)
+       (eat--trace-replay-eval, eat-trace-replay, eat-trace--cleanup):
+       Break combined 'setq'/'setf'/'setq-local's.
+
+2022-12-08  Akib Azmain Turja  <akib@disroot.org>
+
+       Don't 'cd' as root when using 'sudo' from Tramp
+
+       * eat.el (eat--eshell-setup-proc-and-term): Don't set
+       'eat--eshell-invocation-directory'.
+       * eat.el (eat--eshell-update-cwd): New function.
+       * eat.el (eat--eshell-local-mode): Call
+       'eat--eshell-update-cwd' when enabling the mode and add it to
+       'eshell-directory-change-hook' to keep track of Eshell's
+       working directory.
+
+2022-12-08  Akib Azmain Turja  <akib@disroot.org>
+
+       Fix prompt annotation bug trigger when shell exits
+
+       * eat.el (eat--correct-shell-prompt-mark-overlays): Make sure
+       'eat--terminal' is non-nil.
+       * eat.el (eat--sentinel): Cancel timers, correct shell prompt
+       annotations for the final time, reset shell prompt annotation
+       related local variables.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Synchronize scrolling only when point is on cursor
+
+       * eat.el (eat--adjust-process-window-size): Synchronize
+       scrolling only when point is on cursor.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Escape control characters in trace output
+
+       * eat.el (eat--trace-log): Escape control
+       characters (codepoints from 0 to 31) in trace output.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Auto update 'eat-term-shell-integration-directory'
+
+       * eat.el: Auto update 'eat-term-shell-integration-directory' if
+       not modified.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Move Bash global variables to function
+
+       * integration/bash (__eat_current_command, __eat_exit_status)
+       (__eat_inhibit_preexec): Move to '__eat_enable_integration'.
+       * integration/bash (__eat_prompt_start, __eat_prompt_end)
+       (__eat_continuation_start, __eat_continuation_end): Move to
+       '__eat_enable_integration' and make local there.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Document annotation correction delay user option
+
+       * eat.texi (Performance Tuning): Document the purpose and the
+       use of 'eat-shell-prompt-annotation-correction-delay' user
+       option.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Don't accept 'nil' as annotation correction delay
+
+       * eat.el (eat-shell-prompt-annotation-correction-delay): Don't
+       accept 'nil'.
+       * eat.el (eat--process-output-queue): Don't accept value 'nil'
+       for 'eat-shell-prompt-annotation-correction-delay'.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       Rename some symbols to reflect their purposes
+
+       * eat.el (eat-shell-prompt-annotation-delay): Rename to
+       'eat-shell-prompt-annotation-correction-delay'.
+       * eat.el (eat--update-shell-prompt-mark-overlays): Rename to
+       'eat--correct-shell-prompt-mark-overlays'.
+       * eat.el (eat--shell-prompt-annotation-update-timer): Rename to
+       'eat--shell-prompt-annotation-correction-timer'.
+       * eat.el (eat-mode, eat--process-output-queue, eat--filter):
+       Update references to renamed symbols.
+
+2022-12-07  Akib Azmain Turja  <akib@disroot.org>
+
+       * README.org: Add shell integration instructions
+
+       * eat-tests.el (eat-test-set-cwd): Update test
+
+       * eat.el (eat--t-term): Fix initial value of 'cwd'
+
+2022-12-06  Akib Azmain Turja  <akib@disroot.org>
+
+       Document everything about shell integration
+
+       * eat.texi (Shell Integration): Move to be the first chapter of
+       Part III.  Document everything about shell integration.
+       * eat.texi (Directory Tracking): Merge with the node 'Shell
+       Integration'.
+
+2022-12-06  Akib Azmain Turja  <akib@disroot.org>
+
+       Fix prompt navigation when annotation is disabled
+
+       * eat.el (eat--pre-prompt): Always set
+       'eat--shell-prompt-begin'.
+       * eat.el (eat--post-prompt): Always put special prompt end
+       marking text property.
+
+2022-12-06  Akib Azmain Turja  <akib@disroot.org>
+
+       Add shell prompt navigation commands
+
+       * eat.el (eat--post-prompt): Add special text property on the
+       last character of shell prompt.
+       * eat.el (eat-previous-shell-prompt, eat-next-shell-prompt):
+       New command.
+       * eat.el (eat-mode-map): Bind 'eat-previous-shell-prompt' and
+       'eat-next-shell-prompt' to 'C-c C-p' and 'C-c C-n'
+       respectively.
+
+2022-12-06  Akib Azmain Turja  <akib@disroot.org>
+
+       Annotate shell prompts
+
+       * eat.el (eat-enable-shell-prompt-annotation)
+       (eat-shell-prompt-annotation-position)
+       (eat-shell-prompt-annotation-running-margin-indicator)
+       (eat-shell-prompt-annotation-success-margin-indicator)
+       (eat-shell-prompt-annotation-failure-margin-indicator)
+       (eat-shell-prompt-annotation-delay): New user option.
+       * eat.el (eat-shell-prompt-annotation-running)
+       (eat-shell-prompt-annotation-success)
+       (eat-shell-prompt-annotation-failure): New face.
+       * eat.el (eat--shell-command-status, eat--shell-prompt-begin)
+       (eat--shell-prompt-mark, eat--shell-prompt-mark-overlays): New
+       variable.
+       * eat.el (eat--pre-prompt, eat--post-prompt)
+       (eat--update-shell-prompt-mark-overlays, eat--pre-cmd)
+       (eat--set-cmd-status): New function.
+       * eat.el (eat-mode): Make 'eat--shell-command-status',
+       'eat--shell-prompt-begin', 'eat--shell-prompt-mark',
+       'eat--shell-prompt-mark-overlays' and
+       'eat--shell-prompt-annotation-update-timer' local.  Set margin
+       width if shell prompt annotation is enabled.
+       * eat.el (eat--shell-prompt-annotation-update-timer): New
+       variable.
+       * eat.el (eat--process-output-queue): Call or schedule
+       'eat--update-shell-prompt-mark-overlays' call.
+       * eat.el (eat--filter): Cancel timer
+       'eat--shell-prompt-annotation-update-timer'.
+       * eat.el (eat-exec): Set prompt start & end and command start &
+       end functions.
+
+2022-12-06  Akib Azmain Turja  <akib@disroot.org>
+
+       Add shell commands run in Eat to Emacs history
+
+       * eat.el (eat-enable-shell-command-history): New user option.
+       * eat.el (eat--set-cmd): New function.
+       * eat.el (eat-exec, eat--eshell-setup-proc-and-term): Call
+       'eat--set-cmd' when the shell reports the command being run.
+
+2022-12-06  Akib Azmain Turja  <akib@disroot.org>
+
+       Tighter shell integration
+
+       * eat.el (eat--t-term): New slots: 'prompt-start-fn',
+       'prompt-end-fn', 'cont-prompt-start-fn', 'cont-prompt-end-fn',
+       'set-cmd-fn', 'cmd-start-fn', 'cmd-finish-fn'
+       * eat.el (eat--t-set-cwd): Accept three arguments in two
+       different formats.
+       * eat.el (eat--t-prompt-start, eat--t-prompt-end)
+       (eat--t-cont-prompt-start, eat--t-cont-prompt-end)
+       (eat--t-set-cmd, eat--t-cmd-start, eat--t-cmd-finish): New
+       function.
+       * eat.el (eat--t-handle-output): Accept Eat's own
+       OSC 51 ; e ; ... ST sequences.
+       * eat.el (eat-term-prompt-start-function)
+       (eat-term-prompt-end-function)
+       (eat-term-continuation-prompt-start-function)
+       (eat-term-continuation-prompt-end-function)
+       (eat-term-set-cmd-function, eat-term-cmd-start-function)
+       (eat-term-cmd-finish-function): New generalized variable.
+       * integration/bash (__eat_current_command, __eat_exit_status):
+       New variable.
+       * integration/bash (__eat_prompt_command): Send exit status of
+       last command, if applicable.  Use Eat specific sequence to
+       report working directory.  Set title.
+       * integration/bash (__eat_preexec): Report current command and
+       execution start.
+       * integration/bash (__eat_before_prompt_command): Set
+       '__eat_exit_status' to the exit status of the last command.
+       * integration/bash (__eat_prompt_start, __eat_prompt_end)
+       (__eat_continuation_start, __eat_continuation_end): New
+       variable, used as constant only to make the code more readable.
+       * integration/bash (__eat_enable_integration): Wrap 'PS1' and
+       'PS2'.  Don't set title from 'PS1'.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Calculate the number of lines on window properly
+
+       * eat.el (eat-exec, eat--eshell-setup-proc-and-term)
+       (eat--eshell-adjust-make-process-args)
+       (eat--eshell-synchronize-scroll): Calculate the number of
+       available lines on window properly.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Remap 'insert-char' to read and input a character
+
+       * eat.el (eat-input-char): New function.
+       * eat.el (eat-semi-char-mode-map)
+       (eat-eshell-semi-char-mode-map): Remap 'insert-char' to
+       'eat-input-char'.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Use full command as title in shell integration
+
+       * integration/bash (__eat_in_prompt_command): Rename to
+       '__eat_inhibit_preexec'.
+       * integration/bash (__eat_before_exec): Inhibit further
+       '__eat_preexec' calls until next prompt.
+       * integration/bash (__eat_preexec): Use 'history' to get the
+       real command typed by the user.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Fix Bash integration
+
+       * integration/bash (__eat_enable_integration): Fix moving
+       'PROMPT_COMMAND' array elements.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       * eat.el: Fix bright faces face definitions
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Refactor shell integration enabling code
+
+       * integration/bash (__eat_enable_integration): New function.
+       * integration/bash: Move enabling code to dedicated function.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Update title automatically in shell integration
+
+       * integration/bash (__eat_prompt_command): Remove extra '\'s.
+       * integration/bash (__eat_in_prompt_command): New variable.
+       * integration/bash (__eat_preexec, __eat_before_prompt_command)
+       (__eat_after_prompt_command, __eat_before_exec): New function.
+       * integration/bash: Modify PS1 to update terminal title when
+       displaying prompt.  Add '__eat_before_exec' as 'DEBUG' trap
+       handler to update terminal title just before executing a
+       command.  Prepend and append '__eat_before_prompt_command' and
+       '__eat_after_prompt_command' to 'PROMPT_COMMAND' to avoid
+       getting trapped in 'DEBUG' trap.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       * README.org (Quelpa): Update recipe.
+
+       * term/eat.el: New file.
+
+2022-12-04  Akib Azmain Turja  <akib@disroot.org>
+
+       Refer to NonGNU ELPA in README
+
+       * README.org (NonGNU ELPA Devel): Rename to NonGNU ELPA.
+       Change the code-snippet to use NonGNU ELPA (stable).
+
+2022-12-03  Akib Azmain Turja  <akib@disroot.org>
+
+       * integration/bash: Add copyright notice.
+
+       * integration/bash: Use '__' prefix
+
+       * integration/bash: Append to array more cleanly
+
+       * integration/bash: Don't setup again on reload
+
+2022-12-03  Akib Azmain Turja  <akib@disroot.org>
+
+       Use more uniform names for tracer functions
+
+       * eat.el: Rename 'eat--eshell-trace-...' symbols to
+       'eat--trace-eshell-...'.
+
+2022-12-03  Akib Azmain Turja  <akib@disroot.org>
+
+       Add shell integration script for GNU Bash
+
+       * integration/bash: New file.
+       * eat.el (eat-term-shell-integration-directory): New variable.
+       Contains path to the directory containing the scripts,
+       automatically updated when Eat is updated.
+       * eat.el (eat-exec, eat-eshell-mode): New enviroment variable
+       'EAT_SHELL_INTEGRATION_DIR'.
+       * eat.texi (Shell Integration): New chapter.
+       * eat.texi (Directory Tracking): Refer to 'Shell Integration'.
+
+2022-12-01  Akib Azmain Turja  <akib@disroot.org>
+
+       Check terminal contents while testing bell
+
+       * eat-tests.el (eat-test-character-sets): Check terminal
+       contents.
+
+2022-12-01  Akib Azmain Turja  <akib@disroot.org>
+
+       Refer to Info manual to setup directory tracking
+
+       * eat.el (eat-enable-directory-tracking): Refer to Info manual.
+
+2022-12-01  Akib Azmain Turja  <akib@disroot.org>
+
+       Support directory tracking with OSC 7
+
+       * eat.el: Require 'url'.
+       * eat.el (eat-enable-directory-tracking): New user option.
+       * eat.el (eat--t-term): New slots: 'cwd' and 'set-cwd-fn'.
+       * eat.el (eat--t-set-cwd, eat-term-cwd): New function.
+       * eat.el (eat-term-set-cwd-function): New function and
+       generalized variable.
+       * eat.el (eat--t-handle-output): Handle OSC 7.
+       * eat.el (eat--set-cwd): New function.
+       * eat.el (eat-exec): Use 'eat--set-cwd' to change current
+       working directory.
+       * eat.el (eat--eshell-invocation-directory): New variable,
+       local in Eshell buffers when 'eat-eshell-mode' is enabled.
+       * eat.el (eat--eshell-setup-proc-and-term): Save the invocation
+       directory of process.
+       * eat.el (eat--eshell-cleanup): Revert working directory to
+       invocation directory.
+       * eat.el (eat--eshell-local-mode): When enabling, make
+       'eat--eshell-invocation-directory' local variable and kill when
+       disabling.
+       * eat-tests.el (eat-test-set-cwd): New test.
+       * eat.texi (Directory Tracking): New chapter.
+
+2022-11-30  Akib Azmain Turja  <akib@disroot.org>
+
+       Fix byte-compilation warnings on Emacs 28
+
+       * eat.el (eat-term-input-event): Fix byte-compilation warnings
+       on Emacs 28, caused by calling 'posn-col-row' with two
+       arguments on Emacs >= 29, which is not available on Emacs 28.
+
+2022-11-30  Akib Azmain Turja  <akib@disroot.org>
+
+       * eat.el: Use loop to define color and font faces
+
 2022-11-30  Akib Azmain Turja  <akib@disroot.org>
 
        Document eat-eshell-visual-command-mode in manual
diff --git a/eat.el b/eat.el
index 6d935b0760..2953aeb231 100644
--- a/eat.el
+++ b/eat.el
@@ -4,7 +4,7 @@
 
 ;; Author: Akib Azmain Turja <akib@disroot.org>
 ;; Created: 2022-08-15
-;; Version: 0.1.1
+;; Version: 0.2
 ;; Package-Requires: ((emacs "28.1"))
 ;; Keywords: terminals processes
 ;; Homepage: https://codeberg.org/akib/emacs-eat
diff --git a/eat.texi b/eat.texi
index 9c16407263..b8d2c9455d 100644
--- a/eat.texi
+++ b/eat.texi
@@ -2,9 +2,9 @@
 
 @comment %**start of header
 @setfilename eat.info
-@set UPDATED 30 November 2022
-@set EDITION 0.1.1
-@set VERSION 0.1.1
+@set UPDATED 10 December 2022
+@set EDITION 0.2
+@set VERSION 0.2
 @documentencoding UTF-8
 @codequotebacktick on
 @codequoteundirected on



reply via email to

[Prev in Thread] Current Thread [Next in Thread]