Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9e08886
Fix build: add missing files and correct PATCHLEVEL derivation
orpheus497 Apr 21, 2026
d4b6490
tc.vers.c: fix startup crash caused by glob metacharacter in $version
orpheus497 Apr 21, 2026
1d93e19
Fix multiple runtime regressions in expression evaluation and if/while
orpheus497 Apr 21, 2026
6157308
feat: predictive autocomplete (fish-style inline history suggestions)
orpheus497 Apr 21, 2026
017d654
fix: predictive autocomplete timing and ghost persistence
orpheus497 Apr 21, 2026
f3f89b0
feat: native git branch awareness in prompt (%g and %G)
orpheus497 Apr 21, 2026
dd332c0
fix: address code review findings across 11 files
orpheus497 Apr 21, 2026
1f7f827
fix: enable color in dot.mcshrc for filetype coloring in completions
orpheus497 Apr 21, 2026
db7c677
feat: rewrite dot.mcshrc merging tcshrc environment
orpheus497 Apr 21, 2026
0d5f32b
fix: address all PR3 Gemini and CodeRabbit review findings
orpheus497 Apr 21, 2026
47612ef
fix: restore execution time reporting, clarify exit status in prompt
orpheus497 Apr 21, 2026
d236aca
fix: alacritty launches mcsh as login shell with -l flag
orpheus497 Apr 21, 2026
e274b7a
fix: correct set time threshold and format
orpheus497 Apr 21, 2026
6169078
fix: set time = 0 to always report timing for every forked command
orpheus497 Apr 21, 2026
13e77ed
feat: set time format supports \n \t \e escape sequences + color
orpheus497 Apr 21, 2026
dc27a88
fix: use putraw for ESC in time format to bypass xputchar vis-encoding
orpheus497 Apr 21, 2026
0983644
fix: remove -l login flag from alacritty shell invocation
orpheus497 Apr 21, 2026
c1f39f6
fix: move set time to end of rc to avoid timing startup commands
orpheus497 Apr 21, 2026
152b5c3
fix: address all CodeRabbit review findings (round 2)
orpheus497 Apr 21, 2026
84f3811
fix: DrawGhost cursor jump on Right-Arrow autocomplete accept
orpheus497 Apr 21, 2026
442145c
fix: address CodeRabbit review round 3 findings
orpheus497 Apr 21, 2026
622fa6a
chore: ignore local build artifacts and untracked dev files
orpheus497 Apr 21, 2026
24b8198
fix: ghost text leaking over real input on every keypress
orpheus497 Apr 21, 2026
e3f9279
fix: ghost erase trashing real input on every keypress (properly)
orpheus497 Apr 21, 2026
8180a32
feat: native interactive syntax highlighting via set syntax (Phase 9)
orpheus497 Apr 21, 2026
cb36252
fix: syntax highlighting reading stale ColorDisplay instead of Vcolor…
orpheus497 Apr 21, 2026
cdc6a93
fix: syntax highlighting not updating on keypress (CC_NORM bypass)
orpheus497 Apr 21, 2026
776395c
fix: syntax colour not updating on unchanged-glyph cells (display dif…
orpheus497 Apr 21, 2026
0d3096c
fix: pack syntax token into Vdisplay Char upper bits (use diff model …
orpheus497 Apr 21, 2026
b8a0547
syntax fix
orpheus497 Apr 21, 2026
85103e3
review: address all PR3 inline and duplicate comment findings
orpheus497 Apr 21, 2026
f4821c9
fix: address all remaining Copilot/CodeRabbit PR3 review findings + z…
orpheus497 Apr 21, 2026
5337037
docs: comprehensive update — README, PLAN, ISSUES reflect current pro…
orpheus497 Apr 21, 2026
543b61f
fix: address PR3 CodeRabbit round-2 review findings
orpheus497 Apr 21, 2026
b33f3a4
fix: revert Dfix skip — breaks variable expansion in if conditions
orpheus497 Apr 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,17 @@ mcsh-*.tar.gz.asc
# Local clangd config (contributors copy .clangd.example to .clangd)
.clangd

# Local terminal config — machine-specific, not for the repo
alacritty.toml

# Editor / OS cruft
*.suo
*~
.DS_Store
ABOUT-NLS
colors-alacritty.toml
dch-template
ktrace.out
mcsh.man
test.c
po/
405 changes: 275 additions & 130 deletions ISSUES.md

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,8 @@ TWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \
tw.comp.${SUF} tw.color.${SUF}

EDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \
ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF}
ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} \
ed.syntax.${SUF}
Comment thread
orpheus497 marked this conversation as resolved.

TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \
tc.disc.${SUF} tc.func.${SUF} tc.nls.${SUF} tc.os.${SUF} tc.printf.${SUF} \
Expand Down Expand Up @@ -707,6 +708,9 @@ EDINC=sh.${SUF} sh.func.${SUF} sh.lex.${SUF} sh.print.${SUF} sh.proc.${SUF} \
tc.sched.${SUF} tw.parse.${SUF} tw.color.${SUF}
${EDOBJS} ${EDINC} : ${EDH}

# ed.syntax.h
ed.syntax.${SUF} ed.screen.${SUF} ed.inputl.${SUF}: ed.syntax.h

# SHH
${OBJS}: config.h ${SHH}

Expand Down
215 changes: 117 additions & 98 deletions PLAN.md

Large diffs are not rendered by default.

323 changes: 235 additions & 88 deletions README.md

Large diffs are not rendered by default.

89 changes: 78 additions & 11 deletions acaux/config.rpath
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,30 +1,97 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
# run time search path of shared libraries in a binary (executable or
# shared library).
#
# Copyright 1996-2022 Free Software Foundation, Inc.
# Copyright 1996-2024 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.

# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.

# func_usage
# outputs to stdout the --help usage message.
func_usage ()
{
echo "\
Usage: config.rpath [OPTION] HOST

Prints shell variable assignments that describe how to hardcode a directory
for the lookup of shared libraries into a binary (executable or shared library).

The first argument passed to this file is the canonical host specification,
CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
or
CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM

The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
should be set by the caller.

The set of defined variables is at the end of this script.

Options:
--help print this help and exit
--version print version information and exit

Send patches and bug reports to <bug-gnulib@gnu.org>."
}

# func_version
# outputs to stdout the --version message.
func_version ()
{
echo "config.rpath (GNU gnulib, module havelib)"
echo "Copyright (C) 2024 Free Software Foundation, Inc.
License: All-Permissive.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
echo
printf 'Written by %s.\n' "Bruno Haible"
}

# func_fatal_error message
# outputs to stderr a fatal error message, and terminates the program.
func_fatal_error ()
{
echo "config.rpath: *** $1" 1>&2
echo "config.rpath: *** Stop." 1>&2
exit 1
}

# Command-line option processing.
while test $# -gt 0; do
case "$1" in
--help | --hel | --he | --h )
func_usage
exit 0 ;;
--version | --versio | --versi | --vers | --ver | --ve | --v )
func_version
exit 0 ;;
-- ) # Stop option processing
shift; break ;;
-* )
func_fatal_error "unrecognized option: $1"
;;
* )
break ;;
esac
done

if test $# -gt 1; then
func_fatal_error "too many arguments"
fi
if test $# -lt 1; then
func_fatal_error "too few arguments"
fi

# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
Expand Down
Loading