unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: npostavs@users.sourceforge.net
To: <richard.wiseman@bt.com>
Cc: 24848@debbugs.gnu.org
Subject: bug#24848: [sh-script] How to save "Local rules set" result from sh-learn-buffer-indent?
Date: Fri, 25 Aug 2017 08:07:43 -0400	[thread overview]
Message-ID: <87d17jam0g.fsf@users.sourceforge.net> (raw)
In-Reply-To: <1503648698123.80907@bt.com> (richard wiseman's message of "Fri,  25 Aug 2017 08:11:38 +0000")

<richard.wiseman@bt.com> writes:

> I don't know whether my Emacs uses smie for sh-mode but there's
> apparently no sh-use-smie variable set by default.

What Emacs version do you have?  (Based on what you said below, it
sounds like smie is being used.)

> The bash script I've used as a test here is:
>
> #!/usr/bin/env bash
>
> if [ "$1" ]
> then
>   echo "First argument is: $1"
> else
>   echo "No arguments"
> fi

Ah, so you've set sh-basic-offset to 2, right?  That's Bug#21751.  Hmm,
it looks like the smie code is following sh-indentation instead of
sh-basic-offset.  It's not clear to me why both of those variables
exist...

> 3. I ran customize-variable on smie-config and its value is now ((2
> :elem basic 4)) which doesn't make any mention of indenting after
> "then" which is weird, because as I said, it does now indent correctly
> in this buffer.

When I set sh-basic-offset to 2, I get that value for smie-config as
well.

> 7. As feared, indentation is back to the way I don't like.
>
> However, running smie-config-guess seems to have the same effect as
> sm-learn-buffer-indent so perhaps it does.  Unfortunately, I've still
> not managed to save the config.

I followed your steps and got similar results.  The problem is actually
that the config doesn't get loaded properly.  It works if I then do

8. M-x customize-option RET smie-config RET

9. Modify the text of the value field, e.g., by adding a space at the
end, so that the "State" turns to EDITED.

10. Click the "Apply" button (this is equivalent to the
(customize-set-variable 'smie-config ...) expression I mentioned
before).

11. Go to the bash script buffer and run M-x normal-mode RET so that the
mode hooks are run again.

12. Indentation is correct.






  parent reply	other threads:[~2017-08-25 12:07 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-01 15:07 bug#24848: 24.5; "Local rules set" richard.wiseman
2017-08-24 11:39 ` bug#24848: Any progress? richard.wiseman
2017-08-24 12:41   ` bug#24848: [sh-script] How to save "Local rules set" result from sh-learn-buffer-indent? npostavs
2017-08-24 13:44     ` richard.wiseman
2017-08-25  1:12       ` npostavs
2017-08-25  8:11         ` richard.wiseman
2017-08-25  8:37           ` richard.wiseman
2017-08-25 12:07           ` npostavs [this message]
2017-08-25 13:44             ` richard.wiseman
2017-08-25 14:31               ` richard.wiseman
2017-08-26 20:08                 ` Noam Postavsky
2017-08-29  7:43                   ` richard.wiseman
2017-08-30 23:49               ` npostavs
2017-09-04  8:30                 ` richard.wiseman
2017-09-08 23:15                   ` npostavs
2017-09-11  7:44                     ` richard.wiseman
2017-09-11  9:53                       ` richard.wiseman
2017-09-11 18:48                         ` npostavs
2017-09-12  7:09                           ` richard.wiseman
2017-09-22 22:46                         ` Noam Postavsky
2017-09-25 11:10                           ` richard.wiseman
2017-09-25 12:19                             ` Noam Postavsky
2017-09-25 13:06                               ` richard.wiseman
2017-09-25 23:41                                 ` Noam Postavsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d17jam0g.fsf@users.sourceforge.net \
    --to=npostavs@users.sourceforge.net \
    --cc=24848@debbugs.gnu.org \
    --cc=richard.wiseman@bt.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).