2022-12-11  Akib Azmain Turja  <akib@disroot.org>

	Fix invoking commands with eshell/sudo from Tramp

	* eat.el (eat--eshell-adjust-make-process-args): Override
	'start-file-process' on Emacs 28, used by Eshell on Emacs 28.
	Don't override 'make-process' on Emacs 28, Eshell doesn't use
	that on Emacs 28.  Set process filter and sentinel in
	'eshell-exec-hook' instead of 'make-process' advice.

2022-12-11  Akib Azmain Turja  <akib@disroot.org>

	Fix Eshell working directory tracking

	* eat.el (eat--eshell-local-mode): Call
	'eat--eshell-update-cwd'.
	* eat.el (eat-eshell-mode): Don't call
	'eat--eshell-update-cwd'.

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

	* eat.texi (Eshell Terminal): Document
	'eat-eshell-visual-command-mode' and suggest to set
	'eshell-visual-commands' to nil.

2022-11-30  Akib Azmain Turja  <akib@disroot.org>

	Fix compatibility issues with Emacs 28

	* eat.el: Require 'subr-x'.
	* eat.el (eat-yank, eat-yank-pop): Pass three arguments to
	'mapconcat'.
	* eat.el (eat--eshell-term-name): New function.
	* eat.el (eat-eshell-mode): Use 'eat--eshell-term-name' instead
	of using 'eat-term-name' directly.
	* eat.el (eat-eshell-mode) [(< emacs-major-version 29)]: Use
	'eshell-last-async-proc' instead of 'eshell-last-async-procs'.
	* eat.el (eat--eshell-adjust-make-process-args)
	[(< emacs-major-version 29)]: Don't check and set ':filter' and
	':sentinel' of 'make-process' argument plist.  Set process
	filter and sentinel from 'eshell-exec-hook'.
	* eat.el (eat--eshell-adjust-make-process-args): Call
	'eat--eshell-setup-proc-and-term' from 'eshell-exec-hook', not
	just after 'make-process'.

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	Don't put 'error' as the only then part of 'if'

	* eat.el (eat-semi-char-mode, eat-char-mode): Don't put 'error'
	as only then part of 'if'.

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	Use 'mapc' to make & kill multiple local variables

	* eat.el (eat-blink-mode, eat--cursor-blink-mode, eat-mode)
	(eat--eshell-local-mode, eat-trace-replay-mode): Use 'mapc' to
	make & kill multiple local variables.

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	Put declare-function and defvar outside functions

	* eat.el (eat--flip-slow-blink-state)
	(eat--flip-fast-blink-state, eat-blink-mode)
	(eat--eshell-output-filter, eat--eshell-cleanup)
	(eat--eshell-process-output-queue, eat--eshell-sentinel)
	(eat-eshell-mode, eat--eshell-visual-sentinel)
	(eat--eshell-exec-visual, eat-eshell-visual-command-mode)
	(eat-project): Move 'declare-function's and 'defvar's outside.

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	Use 'vector' directly instead of backquote

	* eat.el (eat-term-make-keymap): Use 'vector' directly instead
	of backquote.

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	* eat.el (eat-term-make-keymap): Use 'cl-flet'

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	Use more readable '?\C-\s' instead of '?\C-\ '

	* eat.el (eat-term-input-event, eat-term-make-keymap): Use more
	readable '?\C-\s' instead of '?\C-\ '.

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	* eat.el (eat-mode): Fix char mode 'help-echo'

	* eat.el (eat--bell): Use 'ding' instead of 'beep'

	* eat.el (eat--trace-exec): Use "-*- mode: MD -*-"

2022-11-29  Akib Azmain Turja  <akib@disroot.org>

	Use 'setf' + 'plist-get' instead of 'plist-put'

	* eat.el (eat--eshell-adjust-make-process-args): Use (setf (plist-get
	...) ...) instead of 'plist-put' without taking the result, which is
	not guaranteed to always work.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Prefer 'and-let*' and 'when-let*' over 'when-let'

	* eat.el (eat--t-set-sgr-params): Use 'and-let*' instead of 'when-let'
	for side-effect free 'when-let'.
	* eat.el (eat--flip-cursor-blink-state, eat--synchronize-scroll)
	(eat-exec, eat--eshell-setup-proc-and-term)
	(eat--eshell-synchronize-scroll, eat--eshell-visual-sentinel)
	(eat--trace-replay-eval-next): Use 'when-let*' instead of 'when-let'
	for 'when-let's with side-effect.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Prefer 'pcase-exhaustive' over 'pcase'

	* eat.el (eat--t-erase-in-line, eat--t-erase-in-disp)
	(eat--t-set-mouse-mode, eat--t-send-device-attrs)
	(eat--t-handle-output, eat-term-input-event)
	(eat--manipulate-kill-ring, eat--trace-replay-eval):
	Prefer 'pcase-exhaustive' over 'pcase'.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	* eat.el (eat--t-change-charset): Assert argument

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Combine multiple setq/setf/setq-local into one

	* eat.el (eat--t-reset, eat--t-goto, eat--t-write)
	(eat--t-save-cur, eat--t-enable-alt-disp)
	(eat--t-change-scroll-region, eat--t-set-sgr-params)
	(eat--t-manipulate-selection, eat--t-handle-output)
	(eat--t-resize, eat--flip-slow-blink-state)
	(eat--flip-fast-blink-state, 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-local-mode)
	(eat--eshell-exec-visual, eat--trace-exec)
	(eat--eshell-trace-adjust-make-process-args)
	(eat--trace-replay-eval, eat-trace-replay, eat-trace--cleanup):
	Combine multiple setq/setf/setq-local into one wherever
	possible.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Avoid copying STR to the extent possible

	* eat.el (eat--t-write): Take two more optional arguments BEG
	and END to avoid copying STR multiple times unneccessarily.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Support multi-column characters properly

	* eat.el (eat--t-write): Use 'char-width' instead of the
	unpredictable 'string-width' to support multi-column characters
	properly.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Use hash table to convert from charset

	* eat.el (eat--t-dec-line-drawing-chars): New constant
	containing the hash table.
	* eat.el (eat--t-write): Use hash-table instead alist while
	converting from DEC Line Drawing charset.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Use as less let-bindings as possible

	* eat.el (eat--t-goto-bol, eat--t-goto-eol)
	(eat--t-repeated-insert, eat--t-cur-right, eat--t-cur-left)
	(eat--t-cur-horizontal-abs, eat--t-beg-of-next-line)
	(eat--t-beg-of-prev-line, eat--t-cur-down, eat--t-cur-up)
	(eat--t-cur-vertical-abs, eat--t-scroll-up, eat--t-scroll-down)
	(eat--t-write, eat--t-horizontal-tab)
	(eat--t-horizontal-backtab, eat--t-reverse-index)
	(eat--t-erase-in-line, eat--t-erase-in-disp)
	(eat--t-insert-char, eat--t-delete-char, eat--t-erase-char)
	(eat--t-insert-line, eat--t-delete-line)
	(eat--t-repeat-last-char, eat--t-change-scroll-region)
	(eat--t-send-device-attrs): Minimize let-binding count.
	* eat.el (eat--t-break-long-line, eat--t-write)
	(eat-trace-replay): Use replace 'propertize' call with already
	propertized string.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Replace 'let*' with 'let' wherever possible

	* eat.el (eat--t-eol, eat--t-reset, eat--t-erase-in-disp)
	(eat--t-disable-alt-disp, eat--t-resize, eat-term-redisplay)
	(eat-term-input-event, eat--adjust-process-window-size): Use
	'let' instead of 'let*' wherever possible.
	* eat.el (eat--eshell-exec-visual): Use (VAR nil) form instead
	of VAR form in 'let*' variable list.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	* README.org (NonGNU ELPA Devel): New section

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	Experimentally support for multi-column characters

	* eat.el (eat--t-move-before-to-safe, eat--t-make-pos-safe)
	(eat--t-fix-partial-multi-col-char): New function.
	* eat.el (eat--t-write): Handle multi-column characters.
	* eat.el (eat--t-insert-char, eat--t-delete-char)
	(eat--t-erase-char): Handle multi-column characters on the
	display while manipulating text.

2022-11-28  Akib Azmain Turja  <akib@disroot.org>

	* .elpaignore: New file.

2022-11-25  Akib Azmain Turja  <akib@disroot.org>

	Use third argument of posn-col-row on Emacs >= 29

	* eat.el (eat-term-input-event): Use USE-WINDOW argument of
	'posn-col-row' to support text scaling properly, but only on
	Emacs >= 29 since on Emacs 28 'posn-col-row' takes only one
	argument.

2022-11-24  Akib Azmain Turja  <akib@disroot.org>

	* Makefile (all): Remove "check" and "changelog."

2022-11-24  Akib Azmain Turja  <akib@disroot.org>

	Add documentation file generation code to Makefile

	* Makefile (info, dvi, html, pdf, eat.info, eat.dvi, eat.html)
	(eat.pdf): New targets.
	* Makefile (all): New dependency "info."
	* Makefile (.PHONY): Add "info", "dvi", "html" and "pdf."

2022-11-24  Akib Azmain Turja  <akib@disroot.org>

	Add proper dependencies to targets in Makefile

	* Makefile (TIC): New variable.
	* Makefile (eat.elc): Depend on eat.el.
	* Makefile (e/eat-mono, e/eat-color, eat-256color)
	(e/eat-truecolor): Depend on eat.ti.

2022-11-24  Akib Azmain Turja  <akib@disroot.org>

	Implement the terminal

	This includes everything written from 2022-08-15 up to now.
	* .dir-locals.el:
	* CONTRIBUTE:
	* COPYING:
	* Makefile:
	* NEWS:
	* README.org:
	* eat-tests.el:
	* eat.el:
	* eat.texi:
	* eat.ti:
	* fdl.texi:
	* gitlog-to-changelog:
	* gpl.texi:
	* make-changelog:
	* texinfo.tex:
	New file.

;; Local Variables:
;; coding: utf-8
;; End:

  Copyright (C) 2022 Akib Azmain Turja.

  This file is not part of GNU Emacs.

  GNU Emacs is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  GNU Emacs is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.