unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#703: Octave comments in emacs
@ 2008-08-13 22:18 Chong Yidong
  2008-08-20 16:55 ` Kurt Hornik
  0 siblings, 1 reply; 7+ messages in thread
From: Chong Yidong @ 2008-08-13 22:18 UTC (permalink / raw)
  To: Kurt Hornik; +Cc: Rosen Diankov, 703

Hi Kurt,

Could you take a look at this bug report?

http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=697
http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=703

Thanks.

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.
>
....
>
> 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?






^ permalink raw reply	[flat|nested] 7+ messages in thread
* bug#703: Octave comments in emacs
@ 2008-08-21 15:55 Chong Yidong
  2008-08-21 18:26 ` Rosen Diankov
  0 siblings, 1 reply; 7+ messages in thread
From: Chong Yidong @ 2008-08-21 15:55 UTC (permalink / raw)
  To: Kurt Hornik; +Cc: Rosen Diankov, 703

Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> > 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

Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> wrote:

> Octave mode has never provided syntax support for single quoted
> strings because there is no way (short of actually parsing the code)
> of telling these apart from single quotes used for transposition.

Maybe we could use a rough heuristic to handle most of the cases.  A '
character that occurs before "[=(] *" is probably the beginning of a
single quoted string, not a transpose operator.  WDYT?






^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: Octave comments in emacs
@ 2008-08-12  2:36 Rosen Diankov
  2008-08-12 20:07 ` Rosen Diankov
  0 siblings, 1 reply; 7+ 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] 7+ messages in thread

end of thread, other threads:[~2008-08-21 18:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-13 22:18 bug#703: Octave comments in emacs Chong Yidong
2008-08-20 16:55 ` Kurt Hornik
2008-08-20 23:21   ` Rosen Diankov
2008-08-20 23:27     ` Rosen Diankov
  -- strict thread matches above, loose matches on Subject: below --
2008-08-21 15:55 Chong Yidong
2008-08-21 18:26 ` Rosen Diankov
2008-08-12  2:36 Rosen Diankov
2008-08-12 20:07 ` Rosen Diankov
2008-08-14 20:31   ` bug#703: " Stefan Monnier

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).