emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master c456627 5/5: Merge from origin/emacs-25


From: Paul Eggert
Subject: [Emacs-diffs] master c456627 5/5: Merge from origin/emacs-25
Date: Mon, 18 Apr 2016 21:09:54 +0000

branch: master
commit c456627ffaf4e73e979883b56117cb91f164936b
Merge: 055a895 5a0cbe5
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Merge from origin/emacs-25
    
    5a0cbe5 Fix Bug#23276
    2007e32 Sync with upstream vhdl mode v3.38.1.
    b6d2552 Tweak configure.ac syntax in recent module patch
---
 configure.ac                |    7 ++++---
 lisp/autorevert.el          |    5 ++++-
 lisp/progmodes/vhdl-mode.el |   27 +++++++++++++++------------
 3 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/configure.ac b/configure.ac
index eec6ce7..dbb5ad2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3389,9 +3389,10 @@ if test "${with_modules}" != "no"; then
       HAVE_MODULES=yes
       ;;
     *)
-      # BSD system have dlopen in the libc
-      AC_CHECK_FUNC(dlopen, [MODULES_SUFFIX=".so"]
-                            [HAVE_MODULES=yes], [])
+      # BSD systems have dlopen in libc.
+      AC_CHECK_FUNC([dlopen],
+        [MODULES_SUFFIX=".so"
+         HAVE_MODULES=yes])
       ;;
   esac
 
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 14e39bd..bc9d58e 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -680,7 +680,10 @@ This is an internal function used by Auto-Revert Mode."
         ;; not to forget that.  This gives undesirable results when
         ;; the file's mode changes, but that is less common.
         (let ((buffer-read-only buffer-read-only))
-          (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes)))
+          ;; Bug#23276: When the file has been deleted, keep the
+          ;; buffer unchanged.
+          (ignore-errors
+            (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes))))
       (when buffer-file-name
         (when eob (goto-char (point-max)))
         (dolist (window eoblist)
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 27ce9fb..a390494 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -13,10 +13,10 @@
 ;; filed in the Emacs bug reporting system against this file, a copy
 ;; of the bug report be sent to the maintainer's email address.
 
-(defconst vhdl-version "3.37.1"
+(defconst vhdl-version "3.38.1"
   "VHDL Mode version number.")
 
-(defconst vhdl-time-stamp "2015-01-15"
+(defconst vhdl-time-stamp "2015-03-12"
   "VHDL Mode time stamp for last update.")
 
 ;; This file is part of GNU Emacs.
@@ -4876,8 +4876,6 @@ Key bindings:
   (set (make-local-variable 'indent-line-function) 'vhdl-indent-line)
   (set (make-local-variable 'comment-start) "--")
   (set (make-local-variable 'comment-end) "")
-  (when vhdl-emacs-21
-    (set (make-local-variable 'comment-padding) ""))
   (set (make-local-variable 'comment-column) vhdl-inline-comment-column)
   (set (make-local-variable 'end-comment-column) vhdl-end-comment-column)
   (set (make-local-variable 'comment-start-skip) "--+\\s-*")
@@ -6001,6 +5999,7 @@ keyword."
           ;; following search list so that we don't run into
           ;; semicolons in the function interface list.
           (backward-sexp)
+          (skip-chars-forward "(")
           (let (foundp)
             (while (and (not foundp)
                         (re-search-backward
@@ -6779,7 +6778,8 @@ statement if already at the beginning of one."
                    ;; start point was not inside leader area
                    ;; set stop point at word after leader
                    (setq pos (point))))
-           (forward-word-strictly 1)
+           (unless (looking-at "\\<else\\s-+generate\\>")
+             (forward-word-strictly 1))
            (vhdl-forward-syntactic-ws here)
            (setq pos (point)))
          (goto-char pos)
@@ -9311,9 +9311,11 @@ a configuration declaration if not within a design unit."
   (let (margin)
     (vhdl-prepare-search-1
      (vhdl-insert-keyword "ELSE")
-     (if (and (save-excursion (vhdl-re-search-backward "\\(\\<when\\>\\|;\\)" 
nil t))
-             (equal "WHEN" (upcase (match-string 1))))
+     (if (and (save-excursion (vhdl-re-search-backward 
"\\(\\(\\<when\\>\\)\\|;\\)" nil t))
+             (match-string 2))
         (insert " ")
+       (unless (vhdl-sequential-statement-p)
+        (vhdl-insert-keyword " GENERATE"))
        (indent-according-to-mode)
        (setq margin (current-indentation))
        (insert "\n")
@@ -9325,15 +9327,16 @@ a configuration declaration if not within a design 
unit."
   (let ((start (point))
        margin)
     (vhdl-insert-keyword "ELSIF ")
-    (when (or (vhdl-sequential-statement-p) (vhdl-standard-p 'ams))
       (when vhdl-conditions-in-parenthesis (insert "("))
       (when (vhdl-template-field "condition" nil t start (point))
        (when vhdl-conditions-in-parenthesis (insert ")"))
        (indent-according-to-mode)
        (setq margin (current-indentation))
        (vhdl-insert-keyword
-        (concat " " (if (vhdl-sequential-statement-p) "THEN" "USE") "\n"))
-       (indent-to (+ margin vhdl-basic-offset))))))
+       (concat " " (cond ((vhdl-sequential-statement-p) "THEN")
+                        ((vhdl-standard-p 'ams) "USE")
+                        (t "GENERATE")) "\n"))
+      (indent-to (+ margin vhdl-basic-offset)))))
 
 (defun vhdl-template-entity ()
   "Insert an entity."
@@ -13001,7 +13004,7 @@ File statistics: \"%s\"\n\
   (let (pos)
     (save-excursion
       (while (and (setq pos (re-search-forward regexp bound noerror count))
-                 (vhdl-in-literal))))
+                 (save-match-data (vhdl-in-literal)))))
     (when pos (goto-char pos))
     pos))
 
@@ -13010,7 +13013,7 @@ File statistics: \"%s\"\n\
   (let (pos)
     (save-excursion
       (while (and (setq pos (re-search-backward regexp bound noerror count))
-                 (vhdl-in-literal))))
+                 (save-match-data (vhdl-in-literal)))))
     (when pos (goto-char pos))
     pos))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]