* bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28]
@ 2020-09-11 3:25 Kaushal Modi
2022-06-06 16:20 ` Lars Ingebrigtsen
0 siblings, 1 reply; 6+ messages in thread
From: Kaushal Modi @ 2020-09-11 3:25 UTC (permalink / raw)
To: 43324, monnier
[-- Attachment #1: Type: text/plain, Size: 538 bytes --]
Hello,
I had some old csh auto-indentation code from
https://github.com/Tux/tcsh/blob/tux/csh-mode.el that worked pretty well
but relied on the code that got removed in
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=f9504ffba2e2604338c243dd77c877bbb8162e4a
I had this code that relied on the now-removed code:
https://github.com/kaushalmodi/.emacs.d/blob/fec110f5281e0bd4fe5c16ca18832e1df1c8f27f/setup-files/setup-shell.el#L43-L148
Can you please add SMIE auto-indentation support for csh/tcsh shell scripts?
--
Kaushal Modi
[-- Attachment #2: Type: text/html, Size: 1098 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28]
2020-09-11 3:25 bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28] Kaushal Modi
@ 2022-06-06 16:20 ` Lars Ingebrigtsen
2022-06-06 16:44 ` Kaushal Modi
2022-06-06 17:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-06 16:20 UTC (permalink / raw)
To: Kaushal Modi; +Cc: 43324, monnier
Kaushal Modi <kaushal.modi@gmail.com> writes:
> I had this code that relied on the now-removed code:
> https://github.com/kaushalmodi/.emacs.d/blob/fec110f5281e0bd4fe5c16ca18832e1df1c8f27f/setup-files/setup-shell.el#L43-L148
>
> Can you please add SMIE auto-indentation support for csh/tcsh shell scripts?
(I'm going through old bug reports that unfortunately weren't resolved
at the time.)
Does this mean that indentation doesn't work for tcsh in
shell-script-mode? I had a brief look at a tcsh script and did some
indentation, and it seemed to work OK for me.
What are the bits that are missing?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28]
2022-06-06 16:20 ` Lars Ingebrigtsen
@ 2022-06-06 16:44 ` Kaushal Modi
2022-06-06 16:58 ` Kaushal Modi
2022-06-07 9:20 ` Lars Ingebrigtsen
2022-06-06 17:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 2 replies; 6+ messages in thread
From: Kaushal Modi @ 2022-06-06 16:44 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 43324, Stefan Monnier
[-- Attachment #1: Type: text/plain, Size: 1810 bytes --]
On Mon, Jun 6, 2022 at 12:20 PM Lars Ingebrigtsen <larsi@gnus.org> wrote:
> Does this mean that indentation doesn't work for tcsh in
> shell-script-mode? I had a brief look at a tcsh script and did some
> indentation, and it seemed to work OK for me.
>
> What are the bits that are missing?
Hi Lars,
Thank you for following up on this. tcsh script indentation is still
broken on the 28.1 release for me.
Here's a GIF recording (attached with this email) showing me opening a
tcsh script in emacs -Q and attempting to auto-indent the whole buffer
and also a region. Both mess up the whole indentation.
Example script:
=====
#!/bin/tcsh -f
# Time-stamp: <2015-05-22 10:30:53 kmodi>
# This script splits the pane depending on the current panes height and width
# The result is to not result in too narrow or too wide panes after split
set pane_height=`tmux display -p -F '#{pane_height}'`
set pane_width=`tmux display -p -F '#{pane_width}'`
# echo "Pane Height = $pane_height"
# echo "Pane Width = $pane_width"
# for the small Dell monitor when the terminal is full screen
# Small Dell monitor resolution = 1600 x 1200
# width in chars = 174, height in chars = 59
# Normalize the pane height and width (resolution/char)
set height_factor = `expr 1200 / 59`
set width_factor = `expr 1600 / 174`
set pane_height_norm = `expr $pane_height \* $height_factor`
set pane_width_norm = `expr $pane_width \* $width_factor`
# echo "Pane Height factor = $height_factor"
# echo "Pane Width factor = $width_factor"
# echo "Pane Height normalized = $pane_height_norm"
# echo "Pane Width normalized = $pane_width_norm"
if ( $pane_width_norm > $pane_height_norm ) then
tmux split-window -h "$*" # splits current pane vertically
else
tmux split-window -v "$*" # splits current pane horizontally
endif
=====
[-- Attachment #2: tcsh_auto_indentation.gif --]
[-- Type: image/gif, Size: 23779 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28]
2022-06-06 16:44 ` Kaushal Modi
@ 2022-06-06 16:58 ` Kaushal Modi
2022-06-07 9:20 ` Lars Ingebrigtsen
1 sibling, 0 replies; 6+ messages in thread
From: Kaushal Modi @ 2022-06-06 16:58 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 43324, Stefan Monnier
> Here's a GIF recording (attached with this email) showing me opening a
> tcsh script in emacs -Q and attempting to auto-indent the whole buffer
> and also a region. Both mess up the whole indentation.
Oops! That GIF decided not to get recorded. Here's my second attempt:
https://i.imgur.com/sQg1yXS.gif
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28]
2022-06-06 16:44 ` Kaushal Modi
2022-06-06 16:58 ` Kaushal Modi
@ 2022-06-07 9:20 ` Lars Ingebrigtsen
1 sibling, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-07 9:20 UTC (permalink / raw)
To: Kaushal Modi; +Cc: 43324, Stefan Monnier
Kaushal Modi <kaushal.modi@gmail.com> writes:
> Here's a GIF recording (attached with this email) showing me opening a
> tcsh script in emacs -Q and attempting to auto-indent the whole buffer
> and also a region. Both mess up the whole indentation.
>
> Example script:
Thanks for the example.
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Does this mean that indentation doesn't work for tcsh in
>> shell-script-mode?
>
> IIRC sh-script.el provides usable indentation (based on SMIE) for `sh`
> and for `rc` but for `csh` there's basically nothing (or if there's
> something it's naive enough to be nearly unusable).
Ah, I see.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28]
2022-06-06 16:20 ` Lars Ingebrigtsen
2022-06-06 16:44 ` Kaushal Modi
@ 2022-06-06 17:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-06-06 17:03 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 43324, Kaushal Modi
> Does this mean that indentation doesn't work for tcsh in
> shell-script-mode?
IIRC sh-script.el provides usable indentation (based on SMIE) for `sh`
and for `rc` but for `csh` there's basically nothing (or if there's
something it's naive enough to be nearly unusable).
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-07 9:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-11 3:25 bug#43324: Auto-indenting csh/tcsh shell scripts [emacs-28] Kaushal Modi
2022-06-06 16:20 ` Lars Ingebrigtsen
2022-06-06 16:44 ` Kaushal Modi
2022-06-06 16:58 ` Kaushal Modi
2022-06-07 9:20 ` Lars Ingebrigtsen
2022-06-06 17:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).