[elpa] master 8acc296: * register-list/register-list.el: Use cursor-intangible-mode

2015-08-18 Thread Stefan Monnier
branch: master
commit 8acc296b693c71bcde29cdd0d3b21f2540b08043
Author: Stefan Monnier 
Commit: Stefan Monnier 

* register-list/register-list.el: Use cursor-intangible-mode

(register-list--intangible): New const.
(register-list-set-mark, register-list): Use it.
(register-list-mode): Enable cursor-intangible-mode if available.
---
 packages/register-list/register-list.el |   15 ++-
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/packages/register-list/register-list.el 
b/packages/register-list/register-list.el
index 1bbcb72..f817e4d 100755
--- a/packages/register-list/register-list.el
+++ b/packages/register-list/register-list.el
@@ -1,6 +1,6 @@
 ;;; register-list.el ---  Interactively list/edit registers  -*- 
lexical-binding:t -*-
 ;;
-;; Copyright (C) 2011-2014  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015  Free Software Foundation, Inc.
 ;;
 ;; Filename: register-list.el
 ;; Author: Bastien Guerry 
@@ -220,11 +220,15 @@ If FORCE-LINE is non-nil, force moving to this line."
 (goto-char (point-min))
 (line-move (- line 2) t)))
 
+(defconst register-list--intangible
+  (if (fboundp 'cursor-intangible-mode)
+  'cursor-intangible 'intangible))
+
 (defun register-list-set-mark (mark)
   "Set mark at the beginning of the line."
   (let ((inhibit-read-only t))
 (beginning-of-line)
-(unless (get-text-property (point) 'intangible)
+(unless (get-text-property (point) register-list--intangible)
   (delete-char 1)
   (save-excursion (insert mark))
   (unless (save-excursion (forward-line 1) (eobp))
@@ -320,6 +324,7 @@ copy the string to the kill ring or jump to the location.
 \\[register-list-tab] -- cycle between the key, the type and the value.
 \\[register-list-quit] -- quit the register menu."
   (setq truncate-lines t)
+  (if (fboundp 'cursor-intangible-mode) (cursor-intangible-mode 1))
   (setq buffer-read-only t))
 
 ;;\\[register-list-edit-key-or-value] -- edit the key for this register.
@@ -363,12 +368,12 @@ The list is displayed in a buffer named `*Register List*' 
in
 (setq register-alist ;; TODO better sorting.
  (sort register-alist (lambda (a b) (< (car a) (car b)
 (erase-buffer)
-;; FIXME: Why `intangible'?
+;; FIXME: Why intangible?
 (insert (concat (propertize "% Key  Type  Value\n"
'face 'font-lock-type-face
-   'intangible t) ;; 'front-sticky t)
+   register-list--intangible t) ;; 'front-sticky t)
(propertize "- ---    -\n"
-   'intangible t
+   register-list--intangible t
'face 'font-lock-comment-delimiter-face)))
 (dolist (register register-alist)
   (let* ((key (char-to-string (car register)))



[elpa] master 28154cf 08/21: Update README.mkd

2015-08-18 Thread Stefan Monnier
branch: master
commit 28154cfe195e575f8c7b0900aaa48877dd056658
Author: Ben Gamari 
Commit: Ben Gamari 

Update README.mkd
---
 README.mkd |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/README.mkd b/README.mkd
index 51328f3..2cb8ad1 100644
--- a/README.mkd
+++ b/README.mkd
@@ -8,4 +8,4 @@ pretty; pull requests welcome.
 
 ## Installation
 
-Available through [melpa](http://melpa.milkbox.net/#/). Alternatively ensure 
`dts-mode.el` is available in `load-path` and `(require 'dts-mode)`.
+Available through [MELPA](http://melpa.milkbox.net/#/). Alternatively ensure 
`dts-mode.el` is available in `load-path` and `(require 'dts-mode)`.



[elpa] master updated (8acc296 -> 72e1086)

2015-08-18 Thread Stefan Monnier
monnier pushed a change to branch master.

  from  8acc296   * register-list/register-list.el: Use 
cursor-intangible-mode
   new  c31adb4   Initial commit
   new  ab852b2   Add README
   new  90c6ac3   More readme
   new  4f50e89   Proper em-dash
   new  872d58f   Addresses are hex digits, not decimal
   new  c3624e9   Update README.mkd
   new  a303f72   Update README.mkd
   new  28154cf   Update README.mkd
   new  20043ee   Add ends here
   new  4fd4484   A few fixes
   new  42ed276   Spell Device Tree with a space
   new  565565e   Merge pull request #1 from purcell/patch-1
   new  b66e6f9   Add autoload statements
   new  87eefb3   Merge pull request #2 from jamienicol/master
   new  41ed3b6   add indentation support
   new  bd9038d   Merge pull request #3 from mgalgs/indentation
   new  7f10920   respect the user's indent-tabs-mode
   new  a5d6412   Merge pull request #4 from mgalgs/tabsplz
   new  6ec1443   Merge branch 'master' of github.com:bgamari/dts-mode
   new  daab780   Add 'packages/dts-mode/' from commit 
'6ec1443ead16105234765f9b48df9b4aca562e61'
   new  72e1086   packages/dts-mode: New major mode


Summary of changes:
 externals-list|1 +
 packages/dts-mode/README.mkd  |   12 
 packages/dts-mode/dts-mode.el |  117 +
 3 files changed, 130 insertions(+), 0 deletions(-)
 create mode 100644 packages/dts-mode/README.mkd
 create mode 100644 packages/dts-mode/dts-mode.el



[elpa] master 4fd4484 10/21: A few fixes

2015-08-18 Thread Stefan Monnier
branch: master
commit 4fd44844d0e9a783ea7ed5ee94a34fe86f253e36
Author: Steve Purcell 
Commit: Steve Purcell 

A few fixes

- Use standard header
- Avoid Emacs 24-only features in order to allow use in Emacs 23
- Remove unused code
---
 dts-mode.el |   58 +-
 1 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 565e2ff..1d26151 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -1,28 +1,43 @@
-;;; dts-mode.el --- A major emacs mode for editing Devicetree source code
+;;; dts-mode.el --- Major mode for Devicetree source code
+
+;; Copyright (C) 2014  Ben Gamari
 
 ;; Version: 0.1.0
 ;; Author: Ben Gamari 
-;; Url: http://github.com/bgamari/dts-mode
+;; Keywords: languages
 
 ;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License version 2 as
-;; published by the Free Software Foundation.
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;;
 
-(defconst dts-re-ident "[[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*")
-(defun dts-re-word (inner) (concat "\\<" inner "\\>"))
-(defun dts-re-grab (inner) (concat "\\(" inner "\\)"))
+;;; Code:
+
+(defconst dts-re-ident "\\([[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*\\)")
 
 (defvar dts-mode-font-lock-keywords
   `(
 ;; names like `name: hi {`
-(,(concat (dts-re-grab dts-re-ident) ":") 1 font-lock-variable-name-face)
+(,(concat dts-re-ident ":") 1 font-lock-variable-name-face)
 ;; nodes
-(,(concat (dts-re-grab dts-re-ident) "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 
1 font-lock-type-face)
+(,(concat dts-re-ident "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 1 
font-lock-type-face)
 ;; assignments
-(,(concat (dts-re-grab dts-re-ident) "[[:space:]]*=") 1 
font-lock-variable-name-face)
-(,(concat (dts-re-grab dts-re-ident) "[[:space:]]*;") 1 
font-lock-variable-name-face)
+(,(concat dts-re-ident "[[:space:]]*=") 1 font-lock-variable-name-face)
+(,(concat dts-re-ident "[[:space:]]*;") 1 font-lock-variable-name-face)
 ;; references
-(,(concat "\\&" (dts-re-grab dts-re-ident)) 1 font-lock-variable-name-face)
+(,(concat "\\&" dts-re-ident) 1 font-lock-variable-name-face)
 )
   )
 
@@ -52,23 +67,24 @@
 
 table))
 
-(define-derived-mode dts-mode prog-mode "Devicetree"
+(defalias 'dts-parent-mode
+  (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
+
+(define-derived-mode dts-mode dts-parent-mode "Devicetree"
   "Major mode for editing Devicetrees"
   :group 'dts-mode
   :syntax-table dts-mode-syntax-table
 
   ;; Fonts
-  (setq-local font-lock-defaults '(dts-mode-font-lock-keywords nil nil nil 
nil))
+  (set (make-local-variable 'font-lock-defaults) '(dts-mode-font-lock-keywords 
nil nil nil nil))
 
-  (setq-local comment-start "/* ")
-  (setq-local comment-end   " */")
-  (setq-local indent-tabs-mode nil)
-  (setq-local comment-multi-line t)
-)
-
-(provide 'dts-mode)
+  (set (make-local-variable 'comment-start) "/* ")
+  (set (make-local-variable 'comment-end)   " */")
+  (set (make-local-variable 'indent-tabs-mode) nil)
+  (set (make-local-variable 'comment-multi-line) t))
 
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))
 
+(provide 'dts-mode)
 ;;; dts-mode.el ends here



[elpa] master a5d6412 17/21: Merge pull request #4 from mgalgs/tabsplz

2015-08-18 Thread Stefan Monnier
branch: master
commit a5d6412858ea11576564fda28c640c79cb11a666
Merge: bd9038d 7f10920
Author: Ben Gamari 
Commit: Ben Gamari 

Merge pull request #4 from mgalgs/tabsplz

respect the user's indent-tabs-mode
---
 dts-mode.el |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 883a8d8..2ee2f44 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -105,7 +105,6 @@
 
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
-  (set (make-local-variable 'indent-tabs-mode) nil)
   (set (make-local-variable 'comment-multi-line) t)
   (set (make-local-variable 'indent-line-function) 'dts-indent-line))
 



[elpa] master 41ed3b6 14/21: add indentation support

2015-08-18 Thread Stefan Monnier
branch: master
commit 41ed3b6ccd4c5161fe0a79428da94dc05d740eec
Author: Mitchel Humpherys 
Commit: Mitchel Humpherys 

add indentation support

Add a simple indentation function that looks at nothing but opening and
closes braces.

Ideally we should use `smie' to do indentation, but this works for now.

Given the following file:

/ {
cpus {
cpu-map {
cluster1 {
core0 {
cpu = <&CPU0>;
};
core1 {
cpu = <&CPU1>;
};
};
};
};

widget: pizza,feast@a0 {
compatible = "pizza,feast-v1";
things = <1 2 3>;
};
};

With this change we get the following indentation:

/ {
cpus {
cpu-map {
cluster1 {
core0 {
cpu = <&CPU0>;
};
core1 {
cpu = <&CPU1>;
};
};
};
};

widget: pizza,feast@a0 {
compatible = "pizza,feast-v1";
things = <1 2 3>;
};
};
---
 dts-mode.el |   27 ++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 3f2e1ae..883a8d8 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -67,6 +67,30 @@
 
 table))
 
+(defun dts--calculate-indentation ()
+  (interactive)
+  (save-excursion
+(let ((end (point-at-eol))
+  (cnt 0)
+  (initial-point (point)))
+  (goto-char 0)
+  (while (re-search-forward "\\([{}]\\)" end t)
+(if (string= (match-string-no-properties 0) "{")
+(setq cnt (1+ cnt))
+  (setq cnt (1- cnt
+  ;; subtract one if the current line has an opening brace since we
+  ;; shouldn't add the indentation level until the following line
+  (goto-char initial-point)
+  (beginning-of-line)
+  (when (re-search-forward "{" (point-at-eol) t)
+(setq cnt (1- cnt)))
+  cnt)))
+
+(defun dts-indent-line ()
+  (interactive)
+  (let ((indent (dts--calculate-indentation)))
+(indent-line-to (* indent tab-width
+
 (defalias 'dts-parent-mode
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
@@ -82,7 +106,8 @@
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
   (set (make-local-variable 'indent-tabs-mode) nil)
-  (set (make-local-variable 'comment-multi-line) t))
+  (set (make-local-variable 'comment-multi-line) t)
+  (set (make-local-variable 'indent-line-function) 'dts-indent-line))
 
 ;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))



[elpa] master 565565e 11/21: Merge pull request #1 from purcell/patch-1

2015-08-18 Thread Stefan Monnier
branch: master
commit 565565e04d85d845c792729218b85f0a6525c1da
Merge: 20043ee 4fd4484
Author: Ben Gamari 
Commit: Ben Gamari 

Merge pull request #1 from purcell/patch-1

A few fixes
---
 dts-mode.el |   58 +-
 1 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 565e2ff..1d26151 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -1,28 +1,43 @@
-;;; dts-mode.el --- A major emacs mode for editing Devicetree source code
+;;; dts-mode.el --- Major mode for Devicetree source code
+
+;; Copyright (C) 2014  Ben Gamari
 
 ;; Version: 0.1.0
 ;; Author: Ben Gamari 
-;; Url: http://github.com/bgamari/dts-mode
+;; Keywords: languages
 
 ;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License version 2 as
-;; published by the Free Software Foundation.
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;;
 
-(defconst dts-re-ident "[[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*")
-(defun dts-re-word (inner) (concat "\\<" inner "\\>"))
-(defun dts-re-grab (inner) (concat "\\(" inner "\\)"))
+;;; Code:
+
+(defconst dts-re-ident "\\([[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*\\)")
 
 (defvar dts-mode-font-lock-keywords
   `(
 ;; names like `name: hi {`
-(,(concat (dts-re-grab dts-re-ident) ":") 1 font-lock-variable-name-face)
+(,(concat dts-re-ident ":") 1 font-lock-variable-name-face)
 ;; nodes
-(,(concat (dts-re-grab dts-re-ident) "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 
1 font-lock-type-face)
+(,(concat dts-re-ident "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 1 
font-lock-type-face)
 ;; assignments
-(,(concat (dts-re-grab dts-re-ident) "[[:space:]]*=") 1 
font-lock-variable-name-face)
-(,(concat (dts-re-grab dts-re-ident) "[[:space:]]*;") 1 
font-lock-variable-name-face)
+(,(concat dts-re-ident "[[:space:]]*=") 1 font-lock-variable-name-face)
+(,(concat dts-re-ident "[[:space:]]*;") 1 font-lock-variable-name-face)
 ;; references
-(,(concat "\\&" (dts-re-grab dts-re-ident)) 1 font-lock-variable-name-face)
+(,(concat "\\&" dts-re-ident) 1 font-lock-variable-name-face)
 )
   )
 
@@ -52,23 +67,24 @@
 
 table))
 
-(define-derived-mode dts-mode prog-mode "Devicetree"
+(defalias 'dts-parent-mode
+  (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
+
+(define-derived-mode dts-mode dts-parent-mode "Devicetree"
   "Major mode for editing Devicetrees"
   :group 'dts-mode
   :syntax-table dts-mode-syntax-table
 
   ;; Fonts
-  (setq-local font-lock-defaults '(dts-mode-font-lock-keywords nil nil nil 
nil))
+  (set (make-local-variable 'font-lock-defaults) '(dts-mode-font-lock-keywords 
nil nil nil nil))
 
-  (setq-local comment-start "/* ")
-  (setq-local comment-end   " */")
-  (setq-local indent-tabs-mode nil)
-  (setq-local comment-multi-line t)
-)
-
-(provide 'dts-mode)
+  (set (make-local-variable 'comment-start) "/* ")
+  (set (make-local-variable 'comment-end)   " */")
+  (set (make-local-variable 'indent-tabs-mode) nil)
+  (set (make-local-variable 'comment-multi-line) t))
 
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))
 
+(provide 'dts-mode)
 ;;; dts-mode.el ends here



[elpa] master c31adb4 01/21: Initial commit

2015-08-18 Thread Stefan Monnier
branch: master
commit c31adb4420a428c34971a9e9a2555244af912f93
Author: Ben Gamari 
Commit: Ben Gamari 

Initial commit
---
 dts-mode.el |   72 +++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
new file mode 100644
index 000..e46c84b
--- /dev/null
+++ b/dts-mode.el
@@ -0,0 +1,72 @@
+;;; dts-mode.el --- A major emacs mode for editing Devicetree source code
+
+;; Version: 0.1.0
+;; Author: Ben Gamari 
+;; Url: http://github.com/bgamari/dts-mode
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License version 2 as
+;; published by the Free Software Foundation.
+
+(defconst dts-re-ident "[[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*")
+(defun dts-re-word (inner) (concat "\\<" inner "\\>"))
+(defun dts-re-grab (inner) (concat "\\(" inner "\\)"))
+
+(defvar dts-mode-font-lock-keywords
+  `(
+;; names like `name: hi {`
+(,(concat (dts-re-grab dts-re-ident) ":") 1 font-lock-variable-name-face)
+;; nodes
+(,(concat (dts-re-grab dts-re-ident) "\\(@[[:digit:]]+\\)?[[:space:]]*{") 
1 font-lock-type-face)
+;; assignments
+(,(concat (dts-re-grab dts-re-ident) "[[:space:]]*=") 1 
font-lock-variable-name-face)
+(,(concat (dts-re-grab dts-re-ident) "[[:space:]]*;") 1 
font-lock-variable-name-face)
+;; references
+(,(concat "\\&" (dts-re-grab dts-re-ident)) 1 font-lock-variable-name-face)
+)
+  )
+
+(defvar dts-mode-syntax-table
+  (let ((table (make-syntax-table)))
+(modify-syntax-entry ?<  "(" table)
+(modify-syntax-entry ?>  ")" table)
+
+(modify-syntax-entry ?&  "." table)
+(modify-syntax-entry ?|  "." table)
+(modify-syntax-entry ?&  "." table)
+(modify-syntax-entry ?~  "." table)
+
+;; _ and , are both word characters
+(modify-syntax-entry ?,  "_" table)
+(modify-syntax-entry ?_  "w" table)
+
+;; Strings
+(modify-syntax-entry ?\" "\"" table)
+(modify-syntax-entry ?\\ "\\" table)
+
+;; Comments
+(modify-syntax-entry ?/  ". 124b" table)
+(modify-syntax-entry ?*  ". 23"   table)
+(modify-syntax-entry ?\n "> b"table)
+(modify-syntax-entry ?\^m "> b"   table)
+
+table))
+
+(define-derived-mode dts-mode prog-mode "Devicetree"
+  "Major mode for editing Devicetrees"
+  :group 'dts-mode
+  :syntax-table dts-mode-syntax-table
+
+  ;; Fonts
+  (setq-local font-lock-defaults '(dts-mode-font-lock-keywords nil nil nil 
nil))
+
+  (setq-local comment-start "/* ")
+  (setq-local comment-end   " */")
+  (setq-local indent-tabs-mode nil)
+  (setq-local comment-multi-line t)
+)
+
+(provide 'dts-mode)
+
+(add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
+(add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))



[elpa] master 42ed276 18/21: Spell Device Tree with a space

2015-08-18 Thread Stefan Monnier
branch: master
commit 42ed276e8b68a35ee4befa83e8a32dd6225fa0e4
Author: Ben Gamari 
Commit: Ben Gamari 

Spell Device Tree with a space
---
 README.mkd |9 +
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/README.mkd b/README.mkd
index 2cb8ad1..8de2d90 100644
--- a/README.mkd
+++ b/README.mkd
@@ -1,11 +1,12 @@
-# dts-mode — A devicetree major mode for emacs
+# dts-mode — A Device Tree major mode for emacs
 
-This is a quick attempt at getting basic highlighting for
-[devicetree][] syntax in emacs. While it's fairly functional, it's not
+This is a quick attempt at getting basic highlighting for [Device
+Tree][devicetree] syntax in emacs. While it's fairly functional, it's not
 pretty; pull requests welcome.
 
 [devicetree]: http://www.devicetree.org/
 
 ## Installation
 
-Available through [MELPA](http://melpa.milkbox.net/#/). Alternatively ensure 
`dts-mode.el` is available in `load-path` and `(require 'dts-mode)`.
+Available through [MELPA](http://melpa.milkbox.net/#/). Alternatively ensure
+`dts-mode.el` is available in `load-path` and `(require 'dts-mode)`.



[elpa] master ab852b2 02/21: Add README

2015-08-18 Thread Stefan Monnier
branch: master
commit ab852b2b45068fc7767f8ce9b3f0221118afdd3b
Author: Ben Gamari 
Commit: Ben Gamari 

Add README
---
 README.mkd |5 +
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/README.mkd b/README.mkd
new file mode 100644
index 000..d390f17
--- /dev/null
+++ b/README.mkd
@@ -0,0 +1,5 @@
+# dts-mode --- A devicetree major mode for emacs
+
+This is a quick attempt at getting basic highlighting for [devicetree][] 
syntax in emacs.
+
+[devicetree]: http://www.devicetree.org/



[elpa] master a303f72 07/21: Update README.mkd

2015-08-18 Thread Stefan Monnier
branch: master
commit a303f7200230520f965cb81c2809937d5aa068c5
Author: Ben Gamari 
Commit: Ben Gamari 

Update README.mkd
---
 README.mkd |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/README.mkd b/README.mkd
index 9850b4a..51328f3 100644
--- a/README.mkd
+++ b/README.mkd
@@ -8,4 +8,4 @@ pretty; pull requests welcome.
 
 ## Installation
 
-Simply `(require 'dts-mode)`.
+Available through [melpa](http://melpa.milkbox.net/#/). Alternatively ensure 
`dts-mode.el` is available in `load-path` and `(require 'dts-mode)`.



[elpa] master daab780 20/21: Add 'packages/dts-mode/' from commit '6ec1443ead16105234765f9b48df9b4aca562e61'

2015-08-18 Thread Stefan Monnier
branch: master
commit daab7802cdb5efacc482dddc5714c853b49bfac6
Merge: 8acc296 6ec1443
Author: Stefan Monnier 
Commit: Stefan Monnier 

Add 'packages/dts-mode/' from commit 
'6ec1443ead16105234765f9b48df9b4aca562e61'

git-subtree-dir: packages/dts-mode
git-subtree-mainline: 8acc296b693c71bcde29cdd0d3b21f2540b08043
git-subtree-split: 6ec1443ead16105234765f9b48df9b4aca562e61
---
 packages/dts-mode/README.mkd  |   12 
 packages/dts-mode/dts-mode.el |  117 +
 2 files changed, 129 insertions(+), 0 deletions(-)

diff --git a/packages/dts-mode/README.mkd b/packages/dts-mode/README.mkd
new file mode 100644
index 000..8de2d90
--- /dev/null
+++ b/packages/dts-mode/README.mkd
@@ -0,0 +1,12 @@
+# dts-mode — A Device Tree major mode for emacs
+
+This is a quick attempt at getting basic highlighting for [Device
+Tree][devicetree] syntax in emacs. While it's fairly functional, it's not
+pretty; pull requests welcome.
+
+[devicetree]: http://www.devicetree.org/
+
+## Installation
+
+Available through [MELPA](http://melpa.milkbox.net/#/). Alternatively ensure
+`dts-mode.el` is available in `load-path` and `(require 'dts-mode)`.
diff --git a/packages/dts-mode/dts-mode.el b/packages/dts-mode/dts-mode.el
new file mode 100644
index 000..2ee2f44
--- /dev/null
+++ b/packages/dts-mode/dts-mode.el
@@ -0,0 +1,117 @@
+;;; dts-mode.el --- Major mode for Devicetree source code
+
+;; Copyright (C) 2014  Ben Gamari
+
+;; Version: 0.1.0
+;; Author: Ben Gamari 
+;; Keywords: languages
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;;
+
+;;; Code:
+
+(defconst dts-re-ident "\\([[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*\\)")
+
+(defvar dts-mode-font-lock-keywords
+  `(
+;; names like `name: hi {`
+(,(concat dts-re-ident ":") 1 font-lock-variable-name-face)
+;; nodes
+(,(concat dts-re-ident "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 1 
font-lock-type-face)
+;; assignments
+(,(concat dts-re-ident "[[:space:]]*=") 1 font-lock-variable-name-face)
+(,(concat dts-re-ident "[[:space:]]*;") 1 font-lock-variable-name-face)
+;; references
+(,(concat "\\&" dts-re-ident) 1 font-lock-variable-name-face)
+)
+  )
+
+(defvar dts-mode-syntax-table
+  (let ((table (make-syntax-table)))
+(modify-syntax-entry ?<  "(" table)
+(modify-syntax-entry ?>  ")" table)
+
+(modify-syntax-entry ?&  "." table)
+(modify-syntax-entry ?|  "." table)
+(modify-syntax-entry ?&  "." table)
+(modify-syntax-entry ?~  "." table)
+
+;; _ and , are both word characters
+(modify-syntax-entry ?,  "_" table)
+(modify-syntax-entry ?_  "w" table)
+
+;; Strings
+(modify-syntax-entry ?\" "\"" table)
+(modify-syntax-entry ?\\ "\\" table)
+
+;; Comments
+(modify-syntax-entry ?/  ". 124b" table)
+(modify-syntax-entry ?*  ". 23"   table)
+(modify-syntax-entry ?\n "> b"table)
+(modify-syntax-entry ?\^m "> b"   table)
+
+table))
+
+(defun dts--calculate-indentation ()
+  (interactive)
+  (save-excursion
+(let ((end (point-at-eol))
+  (cnt 0)
+  (initial-point (point)))
+  (goto-char 0)
+  (while (re-search-forward "\\([{}]\\)" end t)
+(if (string= (match-string-no-properties 0) "{")
+(setq cnt (1+ cnt))
+  (setq cnt (1- cnt
+  ;; subtract one if the current line has an opening brace since we
+  ;; shouldn't add the indentation level until the following line
+  (goto-char initial-point)
+  (beginning-of-line)
+  (when (re-search-forward "{" (point-at-eol) t)
+(setq cnt (1- cnt)))
+  cnt)))
+
+(defun dts-indent-line ()
+  (interactive)
+  (let ((indent (dts--calculate-indentation)))
+(indent-line-to (* indent tab-width
+
+(defalias 'dts-parent-mode
+  (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
+
+;;;###autoload
+(define-derived-mode dts-mode dts-parent-mode "Devicetree"
+  "Major mode for editing Devicetrees"
+  :group 'dts-mode
+  :syntax-table dts-mode-syntax-table
+
+  ;; Fonts
+  (set (make-local-variable 'font-lock-defaults) '(dts-mode-font-lock-keywords 
nil nil nil nil))
+
+  (set (make-local-variable 'comment-start) "/* ")
+  (set (make-local-variable 'comment-end)   " */")
+  (set (make-local-variable 'comment-multi-line) t)
+  (set (make-local-variable 'indent-line-function) 

[elpa] master 20043ee 09/21: Add ends here

2015-08-18 Thread Stefan Monnier
branch: master
commit 20043ee0950730c8036e1ff0c67e92e7bc2fdf4e
Author: Ben Gamari 
Commit: Ben Gamari 

Add ends here
---
 dts-mode.el |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 2b6285b..565e2ff 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -70,3 +70,5 @@
 
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))
+
+;;; dts-mode.el ends here



[elpa] master bd9038d 15/21: Merge pull request #3 from mgalgs/indentation

2015-08-18 Thread Stefan Monnier
branch: master
commit bd9038dd601f285b8d0f451cf92d7b43efec7edb
Merge: 87eefb3 41ed3b6
Author: Ben Gamari 
Commit: Ben Gamari 

Merge pull request #3 from mgalgs/indentation

add indentation support
---
 dts-mode.el |   27 ++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 3f2e1ae..883a8d8 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -67,6 +67,30 @@
 
 table))
 
+(defun dts--calculate-indentation ()
+  (interactive)
+  (save-excursion
+(let ((end (point-at-eol))
+  (cnt 0)
+  (initial-point (point)))
+  (goto-char 0)
+  (while (re-search-forward "\\([{}]\\)" end t)
+(if (string= (match-string-no-properties 0) "{")
+(setq cnt (1+ cnt))
+  (setq cnt (1- cnt
+  ;; subtract one if the current line has an opening brace since we
+  ;; shouldn't add the indentation level until the following line
+  (goto-char initial-point)
+  (beginning-of-line)
+  (when (re-search-forward "{" (point-at-eol) t)
+(setq cnt (1- cnt)))
+  cnt)))
+
+(defun dts-indent-line ()
+  (interactive)
+  (let ((indent (dts--calculate-indentation)))
+(indent-line-to (* indent tab-width
+
 (defalias 'dts-parent-mode
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
@@ -82,7 +106,8 @@
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
   (set (make-local-variable 'indent-tabs-mode) nil)
-  (set (make-local-variable 'comment-multi-line) t))
+  (set (make-local-variable 'comment-multi-line) t)
+  (set (make-local-variable 'indent-line-function) 'dts-indent-line))
 
 ;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))



[elpa] master 312b3e8: packages/dts-mode: Fix copyright

2015-08-18 Thread Stefan Monnier
branch: master
commit 312b3e863e0e5aef3484df831dda1ccc4152d3fd
Author: Stefan Monnier 
Commit: Stefan Monnier 

packages/dts-mode: Fix copyright
---
 packages/dts-mode/dts-mode.el |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/packages/dts-mode/dts-mode.el b/packages/dts-mode/dts-mode.el
index 2ee2f44..fcb37b5 100644
--- a/packages/dts-mode/dts-mode.el
+++ b/packages/dts-mode/dts-mode.el
@@ -1,6 +1,6 @@
 ;;; dts-mode.el --- Major mode for Devicetree source code
 
-;; Copyright (C) 2014  Ben Gamari
+;; Copyright (C) 2014  Free Software Foundation, Inc
 
 ;; Version: 0.1.0
 ;; Author: Ben Gamari 



[elpa] master b66e6f9 12/21: Add autoload statements

2015-08-18 Thread Stefan Monnier
branch: master
commit b66e6f9993f34a54d609e98e2671baa837cb845c
Author: Jamie Nicol 
Commit: Jamie Nicol 

Add autoload statements
---
 dts-mode.el |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 1d26151..3f2e1ae 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -70,6 +70,7 @@
 (defalias 'dts-parent-mode
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
+;;;###autoload
 (define-derived-mode dts-mode dts-parent-mode "Devicetree"
   "Major mode for editing Devicetrees"
   :group 'dts-mode
@@ -83,7 +84,9 @@
   (set (make-local-variable 'indent-tabs-mode) nil)
   (set (make-local-variable 'comment-multi-line) t))
 
+;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
+;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))
 
 (provide 'dts-mode)



[elpa] master 7f10920 16/21: respect the user's indent-tabs-mode

2015-08-18 Thread Stefan Monnier
branch: master
commit 7f10920f189aeeb6a268e6cf82cd2e94f11c7a8a
Author: Mitchel Humpherys 
Commit: Mitchel Humpherys 

respect the user's indent-tabs-mode

Not everyone (myself included) wants spaces instead of tabs.  Just leave
indent-tabs-mode alone.
---
 dts-mode.el |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 883a8d8..2ee2f44 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -105,7 +105,6 @@
 
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
-  (set (make-local-variable 'indent-tabs-mode) nil)
   (set (make-local-variable 'comment-multi-line) t)
   (set (make-local-variable 'indent-line-function) 'dts-indent-line))
 



[elpa] master 6ec1443 19/21: Merge branch 'master' of github.com:bgamari/dts-mode

2015-08-18 Thread Stefan Monnier
branch: master
commit 6ec1443ead16105234765f9b48df9b4aca562e61
Merge: 42ed276 a5d6412
Author: Ben Gamari 
Commit: Ben Gamari 

Merge branch 'master' of github.com:bgamari/dts-mode
---
 dts-mode.el |   31 +--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 1d26151..2ee2f44 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -67,9 +67,34 @@
 
 table))
 
+(defun dts--calculate-indentation ()
+  (interactive)
+  (save-excursion
+(let ((end (point-at-eol))
+  (cnt 0)
+  (initial-point (point)))
+  (goto-char 0)
+  (while (re-search-forward "\\([{}]\\)" end t)
+(if (string= (match-string-no-properties 0) "{")
+(setq cnt (1+ cnt))
+  (setq cnt (1- cnt
+  ;; subtract one if the current line has an opening brace since we
+  ;; shouldn't add the indentation level until the following line
+  (goto-char initial-point)
+  (beginning-of-line)
+  (when (re-search-forward "{" (point-at-eol) t)
+(setq cnt (1- cnt)))
+  cnt)))
+
+(defun dts-indent-line ()
+  (interactive)
+  (let ((indent (dts--calculate-indentation)))
+(indent-line-to (* indent tab-width
+
 (defalias 'dts-parent-mode
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
+;;;###autoload
 (define-derived-mode dts-mode dts-parent-mode "Devicetree"
   "Major mode for editing Devicetrees"
   :group 'dts-mode
@@ -80,10 +105,12 @@
 
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
-  (set (make-local-variable 'indent-tabs-mode) nil)
-  (set (make-local-variable 'comment-multi-line) t))
+  (set (make-local-variable 'comment-multi-line) t)
+  (set (make-local-variable 'indent-line-function) 'dts-indent-line))
 
+;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
+;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))
 
 (provide 'dts-mode)



[elpa] master c3624e9 06/21: Update README.mkd

2015-08-18 Thread Stefan Monnier
branch: master
commit c3624e9741e7e6872ce27b2ca6b2347070fd04b1
Author: Ben Gamari 
Commit: Ben Gamari 

Update README.mkd
---
 README.mkd |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/README.mkd b/README.mkd
index 5e3b5f8..9850b4a 100644
--- a/README.mkd
+++ b/README.mkd
@@ -5,3 +5,7 @@ This is a quick attempt at getting basic highlighting for
 pretty; pull requests welcome.
 
 [devicetree]: http://www.devicetree.org/
+
+## Installation
+
+Simply `(require 'dts-mode)`.



[elpa] master 87eefb3 13/21: Merge pull request #2 from jamienicol/master

2015-08-18 Thread Stefan Monnier
branch: master
commit 87eefb34b9198d99d124cca69abc1859ee364627
Merge: 565565e b66e6f9
Author: Ben Gamari 
Commit: Ben Gamari 

Merge pull request #2 from jamienicol/master

Add autoload statements
---
 dts-mode.el |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index 1d26151..3f2e1ae 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -70,6 +70,7 @@
 (defalias 'dts-parent-mode
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
+;;;###autoload
 (define-derived-mode dts-mode dts-parent-mode "Devicetree"
   "Major mode for editing Devicetrees"
   :group 'dts-mode
@@ -83,7 +84,9 @@
   (set (make-local-variable 'indent-tabs-mode) nil)
   (set (make-local-variable 'comment-multi-line) t))
 
+;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dts\\'" . dts-mode))
+;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . dts-mode))
 
 (provide 'dts-mode)



[elpa] master 90c6ac3 03/21: More readme

2015-08-18 Thread Stefan Monnier
branch: master
commit 90c6ac396a712bd09e4e7bf740c4dd5411d1f328
Author: Ben Gamari 
Commit: Ben Gamari 

More readme
---
 README.mkd |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/README.mkd b/README.mkd
index d390f17..8cab9ad 100644
--- a/README.mkd
+++ b/README.mkd
@@ -1,5 +1,7 @@
 # dts-mode --- A devicetree major mode for emacs
 
-This is a quick attempt at getting basic highlighting for [devicetree][] 
syntax in emacs.
+This is a quick attempt at getting basic highlighting for
+[devicetree][] syntax in emacs. While it's fairly functional, it's not
+pretty; pull requests welcome.
 
 [devicetree]: http://www.devicetree.org/



[elpa] master 72e1086 21/21: packages/dts-mode: New major mode

2015-08-18 Thread Stefan Monnier
branch: master
commit 72e10861bfdcb2ae6d1fce0334790010415d2967
Author: Stefan Monnier 
Commit: Stefan Monnier 

packages/dts-mode: New major mode
---
 externals-list |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/externals-list b/externals-list
index 84d4d53..15f28f3 100644
--- a/externals-list
+++ b/externals-list
@@ -28,6 +28,7 @@
  ("dbus-codegen"   :subtree "https://github.com/ueno/dbus-codegen-el.git";)
  ("diff-hl":subtree "https://github.com/dgutov/diff-hl.git";)
  ("dismal" :external nil)
+ ("dts-mode"   :subtree "https://github.com/bgamari/dts-mode.git";)
  ("easy-kill"  :subtree "https://github.com/leoliu/easy-kill";)
  ("eldoc-eval" :subtree 
"https://github.com/thierryvolpiatto/eldoc-eval.git";)
  ("enwc"   :subtree 
"bzr::bzr://bzr.savannah.nongnu.org/enwc/trunk")



[elpa] master 872d58f 05/21: Addresses are hex digits, not decimal

2015-08-18 Thread Stefan Monnier
branch: master
commit 872d58fb2032aeccc21968ee9ed483112ddf3ade
Author: Ben Gamari 
Commit: Ben Gamari 

Addresses are hex digits, not decimal
---
 dts-mode.el |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dts-mode.el b/dts-mode.el
index e46c84b..2b6285b 100644
--- a/dts-mode.el
+++ b/dts-mode.el
@@ -17,7 +17,7 @@
 ;; names like `name: hi {`
 (,(concat (dts-re-grab dts-re-ident) ":") 1 font-lock-variable-name-face)
 ;; nodes
-(,(concat (dts-re-grab dts-re-ident) "\\(@[[:digit:]]+\\)?[[:space:]]*{") 
1 font-lock-type-face)
+(,(concat (dts-re-grab dts-re-ident) "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 
1 font-lock-type-face)
 ;; assignments
 (,(concat (dts-re-grab dts-re-ident) "[[:space:]]*=") 1 
font-lock-variable-name-face)
 (,(concat (dts-re-grab dts-re-ident) "[[:space:]]*;") 1 
font-lock-variable-name-face)



[elpa] master 4f50e89 04/21: Proper em-dash

2015-08-18 Thread Stefan Monnier
branch: master
commit 4f50e89c76e6af4e4b391086a0d79e5e924e9e54
Author: Ben Gamari 
Commit: Ben Gamari 

Proper em-dash
---
 README.mkd |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/README.mkd b/README.mkd
index 8cab9ad..5e3b5f8 100644
--- a/README.mkd
+++ b/README.mkd
@@ -1,4 +1,4 @@
-# dts-mode --- A devicetree major mode for emacs
+# dts-mode — A devicetree major mode for emacs
 
 This is a quick attempt at getting basic highlighting for
 [devicetree][] syntax in emacs. While it's fairly functional, it's not



[elpa] master 3837427: * dts-mode/dts-mode.el: Add new SMIE-based indentation

2015-08-18 Thread Stefan Monnier
branch: master
commit 383742704db2b559138d8a66226a05b905f5209b
Author: Stefan Monnier 
Commit: Stefan Monnier 

* dts-mode/dts-mode.el: Add new SMIE-based indentation

Fit within 80 columns.
(dts-re-ident): Use :alpha: and :alnum:.
(dts-mode-syntax-table): Remove redundant entry for &.
Complete entries for < and >.  Change entry for _ since only letters
should have word syntax.
(dts-use-smie): New var.
(dts-grammar): New constant.
(dts-indent-rules): New function.
(dts-mode): Remove redundant :syntax-table.  Remove :group since that
group doesn't exist anyway.
Set syntax-propertize-function to recognize #include's <...> as a string.
Use dts-grammar depending on dts-use-smie.
(auto-mode-alist): Merge the two entries.
---
 packages/dts-mode/dts-mode.el |   86 ++--
 1 files changed, 64 insertions(+), 22 deletions(-)

diff --git a/packages/dts-mode/dts-mode.el b/packages/dts-mode/dts-mode.el
index fcb37b5..8bbd98d 100644
--- a/packages/dts-mode/dts-mode.el
+++ b/packages/dts-mode/dts-mode.el
@@ -1,6 +1,6 @@
-;;; dts-mode.el --- Major mode for Devicetree source code
+;;; dts-mode.el --- Major mode for Device Tree source files
 
-;; Copyright (C) 2014  Free Software Foundation, Inc
+;; Copyright (C) 2014-2015  Free Software Foundation, Inc.
 
 ;; Version: 0.1.0
 ;; Author: Ben Gamari 
@@ -25,35 +25,35 @@
 
 ;;; Code:
 
-(defconst dts-re-ident "\\([[:word:]_][[:word:][:multibyte:]_,[:digit:]-]*\\)")
+(defconst dts-re-ident "\\([[:alpha:]_][[:alnum:]_,-]*\\)")
 
 (defvar dts-mode-font-lock-keywords
   `(
-;; names like `name: hi {`
+;; Names like `name: hi {`
 (,(concat dts-re-ident ":") 1 font-lock-variable-name-face)
-;; nodes
-(,(concat dts-re-ident "\\(@[[:xdigit:]]+\\)?[[:space:]]*{") 1 
font-lock-type-face)
-;; assignments
+;; Nodes
+(,(concat dts-re-ident "\\(@[[:xdigit:]]+\\)?[[:space:]]*{")
+ (1 font-lock-type-face))
+;; Assignments
 (,(concat dts-re-ident "[[:space:]]*=") 1 font-lock-variable-name-face)
 (,(concat dts-re-ident "[[:space:]]*;") 1 font-lock-variable-name-face)
-;; references
-(,(concat "\\&" dts-re-ident) 1 font-lock-variable-name-face)
+;; References
+(,(concat "&" dts-re-ident) 1 font-lock-variable-name-face)
 )
   )
 
 (defvar dts-mode-syntax-table
   (let ((table (make-syntax-table)))
-(modify-syntax-entry ?<  "(" table)
-(modify-syntax-entry ?>  ")" table)
+(modify-syntax-entry ?<  "(>" table)
+(modify-syntax-entry ?>  ")<" table)
 
 (modify-syntax-entry ?&  "." table)
 (modify-syntax-entry ?|  "." table)
-(modify-syntax-entry ?&  "." table)
 (modify-syntax-entry ?~  "." table)
 
-;; _ and , are both word characters
+;; _ and , are both symbol constituents.
 (modify-syntax-entry ?,  "_" table)
-(modify-syntax-entry ?_  "w" table)
+(modify-syntax-entry ?_  "_" table)
 
 ;; Strings
 (modify-syntax-entry ?\" "\"" table)
@@ -67,6 +67,8 @@
 
 table))
 
+ Original manual indentation code.
+
 (defun dts--calculate-indentation ()
   (interactive)
   (save-excursion
@@ -91,27 +93,67 @@
   (let ((indent (dts--calculate-indentation)))
 (indent-line-to (* indent tab-width
 
+ New SMIE-based indentation code.
+
+(require 'smie nil t)
+
+(defvar dts-use-smie (fboundp 'smie-prec2->grammar))
+
+(defconst dts-grammar
+  ;; FIXME: The syntax-table gives symbol-constituent syntax to the comma,
+  ;; but the comma is also used as a separator!
+  (when (fboundp 'smie-prec2->grammar)
+(smie-prec2->grammar
+ (smie-bnf->prec2
+  '((id) (val ("<" val ">"))
+(exp ("{" exps "}")
+ ;; The "foo,bar = toto" can be handled either by considering
+ ;; "foo,bar" as a single token or as 3 tokens.
+ ;; Currently I consider it as 3 tokens, so the LHS of "=" can't be
+ ;; just `id' but has to be `vals'.
+ (vals "=" vals))
+(exps (exp) (exps ";" exps))
+(vals  (val "," val)))
+  '((assoc ";")) '((assoc ","))
+
+(defun dts-indent-rules (kind token)
+  (pcase (cons kind token)
+(`(:elem . basic) tab-width)
+;; (`(:elem . args) 0)
+(`(:list-intro . "");FIXME: Not sure why we get "" here!
+ ;; After < we either have a plain list of data, as in: "operating-points =
+ ;;  <1008000 140 ...>" or we have sometimes "refs with args" as in
+ ;; "clocks = <&apb1_gates 6>;".
+ (and (eq (char-before) ?<) (not (looking-at "&"
+(`(:before . "{") (smie-rule-parent))
+(`(:after . "=") (dts-indent-rules :elem 'basic))
+))
+
+ The major mode itself.
+
 (defalias 'dts-parent-mode
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
 ;;;###autoload
 (define-derived-mode dts-mode dts-parent-mode "Devicetree"
-  "Major mode for editing Devicetrees"
-  :group 'dts-mode
-  :syntax-table dts-mode-syntax-table
+  "Major mode for editin

[elpa] master f84099b: register-list.el: Update author's email

2015-08-18 Thread Bastien Guerry
branch: master
commit f84099bb5a12998e22ba1384d6da35f5cb0bf7ae
Author: Bastien 
Commit: Bastien 

register-list.el: Update author's email

* register-list.el: Update author's email.
---
 packages/register-list/register-list.el |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/register-list/register-list.el 
b/packages/register-list/register-list.el
index f817e4d..1c87d62 100755
--- a/packages/register-list/register-list.el
+++ b/packages/register-list/register-list.el
@@ -3,8 +3,8 @@
 ;; Copyright (C) 2011-2015  Free Software Foundation, Inc.
 ;;
 ;; Filename: register-list.el
-;; Author: Bastien Guerry 
-;; Maintainer: Bastien Guerry 
+;; Author: Bastien Guerry 
+;; Maintainer: Bastien Guerry 
 ;; Keywords: register
 ;; Description: List and edit the register
 ;; Version: 0.1



[elpa] master 9a371f4 2/2: Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs/elpa

2015-08-18 Thread Stefan Monnier
branch: master
commit 9a371f402efe2ec5853c971114bf4c167819f51b
Merge: a311d4d f84099b
Author: Stefan Monnier 
Commit: Stefan Monnier 

Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs/elpa
---
 packages/register-list/register-list.el |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/register-list/register-list.el 
b/packages/register-list/register-list.el
index f817e4d..1c87d62 100755
--- a/packages/register-list/register-list.el
+++ b/packages/register-list/register-list.el
@@ -3,8 +3,8 @@
 ;; Copyright (C) 2011-2015  Free Software Foundation, Inc.
 ;;
 ;; Filename: register-list.el
-;; Author: Bastien Guerry 
-;; Maintainer: Bastien Guerry 
+;; Author: Bastien Guerry 
+;; Maintainer: Bastien Guerry 
 ;; Keywords: register
 ;; Description: List and edit the register
 ;; Version: 0.1



[elpa] master a311d4d 1/2: * dts-mode/dts-mode.el: Improve compatibility with Emacs<24

2015-08-18 Thread Stefan Monnier
branch: master
commit a311d4daf86d5d5b24856954b8cb0f0549d4ffe5
Author: Stefan Monnier 
Commit: Stefan Monnier 

* dts-mode/dts-mode.el: Improve compatibility with Emacs<24

(dts--using-macro): New macro.
(dts-mode, dts-indent-rules): Use it.
---
 packages/dts-mode/dts-mode.el |   42 +---
 1 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/packages/dts-mode/dts-mode.el b/packages/dts-mode/dts-mode.el
index 8bbd98d..f150f33 100644
--- a/packages/dts-mode/dts-mode.el
+++ b/packages/dts-mode/dts-mode.el
@@ -95,9 +95,17 @@
 
  New SMIE-based indentation code.
 
+;; Compatibility macro.
+(defmacro dts--using-macro (name exp)
+  (declare (indent 1) (debug (symbol form)))
+  (if (fboundp name);If macro exists at compiler-time, just use it.
+  exp
+`(when (fboundp ',name);Else, check if it exists at run-time.
+   (eval ',exp ;If it does, then run the code.
+
 (require 'smie nil t)
 
-(defvar dts-use-smie (fboundp 'smie-prec2->grammar))
+(defvar dts-use-smie (and (fboundp 'smie-prec2->grammar) (fboundp 'pcase)))
 
 (defconst dts-grammar
   ;; FIXME: The syntax-table gives symbol-constituent syntax to the comma,
@@ -117,17 +125,18 @@
   '((assoc ";")) '((assoc ","))
 
 (defun dts-indent-rules (kind token)
-  (pcase (cons kind token)
-(`(:elem . basic) tab-width)
-;; (`(:elem . args) 0)
-(`(:list-intro . "");FIXME: Not sure why we get "" here!
- ;; After < we either have a plain list of data, as in: "operating-points =
- ;;  <1008000 140 ...>" or we have sometimes "refs with args" as in
- ;; "clocks = <&apb1_gates 6>;".
- (and (eq (char-before) ?<) (not (looking-at "&"
-(`(:before . "{") (smie-rule-parent))
-(`(:after . "=") (dts-indent-rules :elem 'basic))
-))
+  (dts--using-macro pcase
+(pcase (cons kind token)
+  (`(:elem . basic) tab-width)
+  ;; (`(:elem . args) 0)
+  (`(:list-intro . "");FIXME: Not sure why we get "" here!
+   ;; After < we either have a plain list of data, as in: "operating-points
+   ;;  = <1008000 140 ...>" or we have sometimes "refs with args" as in
+   ;;  "clocks = <&apb1_gates 6>;".
+   (and (eq (char-before) ?<) (not (looking-at "&"
+  (`(:before . "{") (smie-rule-parent))
+  (`(:after . "=") (dts-indent-rules :elem 'basic))
+  )))
 
  The major mode itself.
 
@@ -135,7 +144,7 @@
   (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
 
 ;;;###autoload
-(define-derived-mode dts-mode dts-parent-mode "Devicetree"
+(define-derived-mode dts-mode dts-parent-mode "Devicetree";DTS would be 
shorter!
   "Major mode for editing Device Tree source files."
 
   ;; Fonts
@@ -145,9 +154,10 @@
   (set (make-local-variable 'comment-start) "/* ")
   (set (make-local-variable 'comment-end)   " */")
   (set (make-local-variable 'comment-multi-line) t)
-  (set (make-local-variable 'syntax-propertize-function)
-   (syntax-propertize-rules
-("#include[ \t]+\\(<\\).*\\(>\\)" (1 "|") (2 "|"
+  (dts--using-macro syntax-propertize-rules
+(set (make-local-variable 'syntax-propertize-function)
+ (syntax-propertize-rules
+  ("#include[ \t]+\\(<\\).*\\(>\\)" (1 "|") (2 "|")
   (if dts-use-smie
   (smie-setup dts-grammar #'dts-indent-rules)
 (set (make-local-variable 'indent-line-function) #'dts-indent-line)))