all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: Octave comments in emacs
@ 2008-08-12  2:36 Rosen Diankov
  2008-08-12 20:07 ` Rosen Diankov
  2011-03-10  7:06 ` bug#697: " Glenn Morris
  0 siblings, 2 replies; 4+ messages in thread
From: Rosen Diankov @ 2008-08-12  2:36 UTC (permalink / raw)
  To: Olivier Lefevre; +Cc: bug-gnu-emacs, help

The % also messes up formatting when seen in strings, ie 'my value: %d'

For some reason, the octave syntax does not recognize that single
quotes are strings (it might be because the transpose character is
also ' and it is hard to differentiate between a string and the
transposing).

In any case, writing the above example will treat the % as a comment.
The indenting engine will skip the closing parenthesis )... resulting
in all the rest of the indents looking like garbage.

To fix the weird positioning of single % comments and the following
problems, go tino octave-mod.el and

in octave-mode-syntax-table change
(modify-syntax-entry ?\' "." table)
to
(modify-syntax-entry ?\' "\"" table)

in calculate-octave-indent at the bottom change
((looking-at "\\s<\\S<")
to
((and (looking-at "\\s<\\S<") (not (looking-at "%")))

i use (looking-at octave-comment-char) instead since some people use #
for comments


I'm not sure what the consequences of these changes are. From the
testing I've done, emacs formatting is running more like how the
matlab editor would format. Now if someone can fix the indentation
problems with "end", we'll have perfect indenting.

rosen diankov,


2007/12/28 Olivier Lefevre <lefevrol@yahoo.com>:
> Ah OK. I had read about % vs. %% and %%% but it hadn't registered, perhaps
> because it smelled perl-ish and thus went in one ear, out the other.
> In the brain-damaged language(s) the other gentleman was referring to,
> emacs will automatically indent the comment line according to its position
>  in the code, without need for any of that %% or %%% flummery ;-) That is
> both more natural and more practical, I think. But I can live with %%.
>
> Thanks again,
>
> -- O.L.
>
> _______________________________________________
> Help-octave mailing list
> Help-octave@octave.org
> https://www.cae.wisc.edu/mailman/listinfo/help-octave
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Octave comments in emacs
  2008-08-12  2:36 Octave comments in emacs Rosen Diankov
@ 2008-08-12 20:07 ` Rosen Diankov
  2008-08-14 20:31   ` bug#703: " Stefan Monnier
  2011-03-10  7:06 ` bug#697: " Glenn Morris
  1 sibling, 1 reply; 4+ messages in thread
From: Rosen Diankov @ 2008-08-12 20:07 UTC (permalink / raw)
  To: Olivier Lefevre; +Cc: bug-gnu-emacs, help

Small corrections:

In calculate-octave-indent, just delete the entire expression

((looking-at "\\s<\\S<")
       (setq icol (list comment-column icol)))

that forces comments to comment-column (which is 32). Was there a
reason for this?

Also, it should be noted that forcing single quotes to act like double
quotes in the syntax table really messes up the transposing of
matrices with the ' operator. If you care more about using single
quotes in your scripts (because of matlab compatibility), then just
use the transpose function instead of '

Is there a way to assign two different syntax rules for the same
character in emacs? Ie, one where ' is treated as a string quote (and
suppresses the syntax elements inside the quotes), and one where it is
treated as a suffix operator.

rosen,

2008/8/11 Rosen Diankov <rdiankov@cs.cmu.edu>:
> The % also messes up formatting when seen in strings, ie 'my value: %d'
>
> For some reason, the octave syntax does not recognize that single
> quotes are strings (it might be because the transpose character is
> also ' and it is hard to differentiate between a string and the
> transposing).
>
> In any case, writing the above example will treat the % as a comment.
> The indenting engine will skip the closing parenthesis )... resulting
> in all the rest of the indents looking like garbage.
>
> To fix the weird positioning of single % comments and the following
> problems, go tino octave-mod.el and
>
> in octave-mode-syntax-table change
> (modify-syntax-entry ?\' "." table)
> to
> (modify-syntax-entry ?\' "\"" table)
>
> in calculate-octave-indent at the bottom change
> ((looking-at "\\s<\\S<")
> to
> ((and (looking-at "\\s<\\S<") (not (looking-at "%")))
>
> i use (looking-at octave-comment-char) instead since some people use #
> for comments
>
>
> I'm not sure what the consequences of these changes are. From the
> testing I've done, emacs formatting is running more like how the
> matlab editor would format. Now if someone can fix the indentation
> problems with "end", we'll have perfect indenting.
>
> rosen diankov,
>
>
> 2007/12/28 Olivier Lefevre <lefevrol@yahoo.com>:
>> Ah OK. I had read about % vs. %% and %%% but it hadn't registered, perhaps
>> because it smelled perl-ish and thus went in one ear, out the other.
>> In the brain-damaged language(s) the other gentleman was referring to,
>> emacs will automatically indent the comment line according to its position
>>  in the code, without need for any of that %% or %%% flummery ;-) That is
>> both more natural and more practical, I think. But I can live with %%.
>>
>> Thanks again,
>>
>> -- O.L.
>>
>> _______________________________________________
>> Help-octave mailing list
>> Help-octave@octave.org
>> https://www.cae.wisc.edu/mailman/listinfo/help-octave
>>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#703: Octave comments in emacs
  2008-08-12 20:07 ` Rosen Diankov
@ 2008-08-14 20:31   ` Stefan Monnier
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2008-08-14 20:31 UTC (permalink / raw)
  To: Rosen Diankov; +Cc: Olivier Lefevre, bug-gnu-emacs, 703, help

> Is there a way to assign two different syntax rules for the same
> character in emacs? Ie, one where ' is treated as a string quote (and
> suppresses the syntax elements inside the quotes), and one where it is
> treated as a suffix operator.

Yes, there is, using the `syntax-table' property.
A common way to set this property is via the
font-lock-syntactic-keywords variable.

So all it takes is a regexp good enough to distinguish the two cases ;-)


        Stefan







^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#697: Octave comments in emacs
  2008-08-12  2:36 Octave comments in emacs Rosen Diankov
  2008-08-12 20:07 ` Rosen Diankov
@ 2011-03-10  7:06 ` Glenn Morris
  1 sibling, 0 replies; 4+ messages in thread
From: Glenn Morris @ 2011-03-10  7:06 UTC (permalink / raw)
  To: 697-done


Octave mode has undergone considerable changes in the Emacs trunk.
Please open new reports for any issues that may occur.





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-10  7:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-12  2:36 Octave comments in emacs Rosen Diankov
2008-08-12 20:07 ` Rosen Diankov
2008-08-14 20:31   ` bug#703: " Stefan Monnier
2011-03-10  7:06 ` bug#697: " Glenn Morris

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.