Mercurial > emacs
comparison lisp/progmodes/prolog.el @ 111440:b72ff43b041f
* lisp/emacs-lisp/smie.el: Simplify the smie-rules-function return values.
(smie-precs->prec2): Rename from smie-precs-precedence-table.
(smie-bnf->prec2): Rename from smie-bnf-precedence-table.
(smie-prec2->grammar): Rename from smie-prec2-levels.
(smie-grammar): Rename from smie-op-levels.
(smie-indent--hanging-p): Rename from smie-hanging-p.
(smie-rule-hanging-p): New alias.
(smie-indent--bolp): Rename from smie-bolp.
(smie-indent--hanging-p): New alias.
(smie--token): New dynamically bound variable.
(smie-indent--parent): New function.
(smie-rule-parent-p): Use it; rename from smie-parent-p.
(smie-rule-next-p): Rename from smie-next-p.
(smie-rule-prev-p): Rename from smie-prev-p.
(smie-rule-sibling-p, smie-rule-parent)
(smie-indent--separator-outdent, smie-rule-separator): New functions.
(smie-rule-separator-outdent): New var.
(smie-indent--rule): Merge with smie-indent--column.
(smie-indent-forward-token, smie-indent-backward-token):
Also recognize close parens.
(smie-indent-keyword): Don't use smie-indent--column any more.
(smie-indent-after-keyword): Ignore closers by default.
(smie-indent-line): Use with-demoted-errors.
* lisp/progmodes/octave-mod.el (octave-smie-grammar):
Rename from octave-smie-op-levels.
(octave-smie-rules): Adjust to new behavior.
* lisp/progmodes/prolog.el (prolog-smie-grammar):
Rename from prolog-smie-op-levels.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sun, 07 Nov 2010 10:45:45 -0500 |
parents | 249a1455856a |
children | b47e85affa59 |
comparison
equal
deleted
inserted
replaced
111439:8426207480fa | 111440:b72ff43b041f |
---|---|
121 ((not (zerop (skip-syntax-backward "w_'")))) | 121 ((not (zerop (skip-syntax-backward "w_'")))) |
122 ;; In case of non-ASCII punctuation. | 122 ;; In case of non-ASCII punctuation. |
123 ((not (zerop (skip-syntax-backward "."))))) | 123 ((not (zerop (skip-syntax-backward "."))))) |
124 (point)))) | 124 (point)))) |
125 | 125 |
126 (defconst prolog-smie-op-levels | 126 (defconst prolog-smie-grammar |
127 ;; Rather than construct the operator levels table from the BNF, | 127 ;; Rather than construct the operator levels table from the BNF, |
128 ;; we directly provide the operator precedences from GNU Prolog's | 128 ;; we directly provide the operator precedences from GNU Prolog's |
129 ;; manual (7.14.10 op/3). The only problem is that GNU Prolog's | 129 ;; manual (7.14.10 op/3). The only problem is that GNU Prolog's |
130 ;; manual uses precedence levels in the opposite sense (higher | 130 ;; manual uses precedence levels in the opposite sense (higher |
131 ;; numbers bind less tightly) than SMIE, so we use negative numbers. | 131 ;; numbers bind less tightly) than SMIE, so we use negative numbers. |
186 (setq paragraph-ignore-fill-prefix t) | 186 (setq paragraph-ignore-fill-prefix t) |
187 (make-local-variable 'imenu-generic-expression) | 187 (make-local-variable 'imenu-generic-expression) |
188 (setq imenu-generic-expression '((nil "^\\sw+" 0))) | 188 (setq imenu-generic-expression '((nil "^\\sw+" 0))) |
189 | 189 |
190 ;; Setup SMIE. | 190 ;; Setup SMIE. |
191 (smie-setup prolog-smie-op-levels #'prolog-smie-rules | 191 (smie-setup prolog-smie-grammar #'prolog-smie-rules |
192 :forward-token #'prolog-smie-forward-token | 192 :forward-token #'prolog-smie-forward-token |
193 :backward-token #'prolog-smie-backward-token) | 193 :backward-token #'prolog-smie-backward-token) |
194 (set (make-local-variable 'smie-blink-matching-triggers) '(?.)) | 194 (set (make-local-variable 'smie-blink-matching-triggers) '(?.)) |
195 (set (make-local-variable 'smie-closer-alist) '((t . "."))) | 195 (set (make-local-variable 'smie-closer-alist) '((t . "."))) |
196 (add-hook 'post-self-insert-hook #'smie-blink-matching-open 'append 'local) | 196 (add-hook 'post-self-insert-hook #'smie-blink-matching-open 'append 'local) |