Now on revision 106553. ------------------------------------------------------------ revno: 106553 committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-11-30 06:05:47 +0000 message: gnus-art.el (gnus-article-browse-html-parts): Fix previous commit. diff: === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-11-30 01:07:46 +0000 +++ lisp/gnus/gnus-art.el 2011-11-30 06:05:47 +0000 @@ -2880,12 +2880,13 @@ gnus-article-mime-handles) cid-dir)) (when (eq system-type 'cygwin) - (setq cid-file (substring - (with-output-to-string - (call-process "cygpath" nil - standard-output - nil "-m" cid-file)) - 0 -1))) + (setq cid-file + (concat "/" (substring + (with-output-to-string + (call-process "cygpath" nil + standard-output + nil "-m" cid-file)) + 0 -1)))) (replace-match (concat "file://" cid-file) nil nil nil 1)))) (unless content (setq content (buffer-string)))) ------------------------------------------------------------ revno: 106552 committer: Ken Brown branch nick: trunk timestamp: Tue 2011-11-29 22:18:33 -0500 message: Fix gdb-mi.el bug#9853, bug#9858, and bug#9878. * lisp/progmodes/gdb-mi.el (gdb-version): Remove defvar. (gdb-supports-non-stop): New defvar, replacing `gdb-version'. (gdb-gud-context-command, gdb-non-stop-handler) (gdb-current-context-command, gdb-stopped): Use it. (gdb-init-1): Enable pretty printing here. (gdb-non-stop-handler): Don't enable pretty-printing here. Check to see if the target supports non-stop mode; if not, turn off non-stop mode. Use the following. (gdb-check-target-async): New defun. (gud-watch, gdb-stopped): Fix whitespace. (gdb-get-source-file): Don't try to display the source file if `gdb-main-file' is nil. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-29 20:21:28 +0000 +++ lisp/ChangeLog 2011-11-30 03:18:33 +0000 @@ -1,3 +1,19 @@ +2011-11-29 Ken Brown + + * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878. + (gdb-version): Remove defvar. + (gdb-supports-non-stop): New defvar, replacing `gdb-version'. + (gdb-gud-context-command, gdb-non-stop-handler) + (gdb-current-context-command, gdb-stopped): Use it. + (gdb-init-1): Enable pretty printing here. + (gdb-non-stop-handler): Don't enable pretty-printing here. Check + to see if the target supports non-stop mode; if not, turn off + non-stop mode. Use the following. + (gdb-check-target-async): New defun. + (gud-watch, gdb-stopped): Fix whitespace. + (gdb-get-source-file): Don't try to display the source file if + `gdb-main-file' is nil. + 2011-11-29 Stefan Monnier * align.el: Try to generate fewer markers (bug#10047). === modified file 'lisp/progmodes/gdb-mi.el' --- lisp/progmodes/gdb-mi.el 2011-11-27 08:33:25 +0000 +++ lisp/progmodes/gdb-mi.el 2011-11-30 03:18:33 +0000 @@ -214,7 +214,7 @@ (defvar gdb-source-window nil) (defvar gdb-inferior-status nil) (defvar gdb-continuation nil) -(defvar gdb-version nil) +(defvar gdb-supports-non-stop nil) (defvar gdb-filter-output nil "Message to be shown in GUD console. @@ -574,7 +574,7 @@ (if gdb-non-stop (if (and gdb-gud-control-all-threads (not noall) - (string-equal gdb-version "7.0+")) + gdb-supports-non-stop) (concat command " --all ") (gdb-current-context-command command)) command)) @@ -872,6 +872,8 @@ (when gdb-non-stop (gdb-input (list "-gdb-set non-stop 1" 'gdb-non-stop-handler))) + (gdb-input (list "-enable-pretty-printing" 'ignore)) + ;; find source file and compilation directory here (if gdb-create-source-file-list (gdb-input @@ -890,10 +892,18 @@ (message "This version of GDB doesn't support non-stop mode. Turning it off.") (setq gdb-non-stop nil) - (setq gdb-version "pre-7.0")) - (setq gdb-version "7.0+") + (setq gdb-supports-non-stop nil)) + (setq gdb-supports-non-stop t) (gdb-input (list "-gdb-set target-async 1" 'ignore)) - (gdb-input (list "-enable-pretty-printing" 'ignore)))) + (gdb-input (list "-list-target-features" 'gdb-check-target-async)))) + +(defun gdb-check-target-async () + (goto-char (point-min)) + (unless (re-search-forward "async" nil t) + (message + "Target doesn't support non-stop mode. Turning it off.") + (setq gdb-non-stop nil) + (gdb-input (list "-gdb-set non-stop 0" 'ignore)))) (defvar gdb-define-alist nil "Alist of #define directives for GUD tooltips.") @@ -1071,7 +1081,7 @@ (tooltip-identifier-from-point (point))))))) (set-text-properties 0 (length expr) nil expr) (gdb-input - (list (concat"-var-create - * " expr "") + (list (concat "-var-create - * " expr "") `(lambda () (gdb-var-create-handler ,expr))))))) (message "gud-watch is a no-op in this mode.")))) @@ -1699,7 +1709,7 @@ (defun gdb-current-context-command (command) "Add --thread to gdb COMMAND when needed." (if (and gdb-thread-number - (string-equal gdb-version "7.0+")) + gdb-supports-non-stop) (concat command " --thread " gdb-thread-number) command)) @@ -1983,8 +1993,8 @@ (when (not gdb-register-names) (gdb-input (list (concat "-data-list-register-names" - (if (string-equal gdb-version "7.0+") - (concat" --thread " thread-id))) + (if gdb-supports-non-stop + (concat " --thread " thread-id))) 'gdb-register-names-handler))) ;;; Don't set gud-last-frame here as it's currently done in gdb-frame-handler @@ -4133,7 +4143,7 @@ (if gdb-many-windows (gdb-setup-windows) (gdb-get-buffer-create 'gdb-breakpoints-buffer) - (if gdb-show-main + (if (and gdb-show-main gdb-main-file) (let ((pop-up-windows t)) (display-buffer (gud-find-file gdb-main-file)))))) ------------------------------------------------------------ revno: 106551 committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-11-30 01:07:46 +0000 message: gnus-art.el (gnus-article-browse-html-parts): Convert link file names for Cygwin. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-11-27 18:17:40 +0000 +++ lisp/gnus/ChangeLog 2011-11-30 01:07:46 +0000 @@ -1,3 +1,8 @@ +2011-11-30 Katsumi Yamaoka + + * gnus-art.el (gnus-article-browse-html-parts): Convert link file names + for Cygwin. + 2011-11-24 Glenn Morris * starttls.el: Fix case of "GnuTLS". === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-11-22 02:17:20 +0000 +++ lisp/gnus/gnus-art.el 2011-11-30 01:07:46 +0000 @@ -2879,6 +2879,13 @@ (with-current-buffer gnus-article-buffer gnus-article-mime-handles) cid-dir)) + (when (eq system-type 'cygwin) + (setq cid-file (substring + (with-output-to-string + (call-process "cygpath" nil + standard-output + nil "-m" cid-file)) + 0 -1))) (replace-match (concat "file://" cid-file) nil nil nil 1)))) (unless content (setq content (buffer-string)))) ------------------------------------------------------------ revno: 106550 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10047 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-11-29 15:21:28 -0500 message: * lisp/align.el: Try to generate fewer markers. (align--set-marker): New macro. (align-region): Use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-29 20:11:23 +0000 +++ lisp/ChangeLog 2011-11-29 20:21:28 +0000 @@ -1,7 +1,13 @@ +2011-11-29 Stefan Monnier + + * align.el: Try to generate fewer markers (bug#10047). + (align--set-marker): New macro. + (align-region): Use it. + 2011-11-29 Michael McNamara - * progmodes/verilog-mode.el (verilog-pretty-expr): Rework - verilog-pretty-expr to handle new assignment operators in system + * progmodes/verilog-mode.el (verilog-pretty-expr): + Rework verilog-pretty-expr to handle new assignment operators in system verilog, such as += *= and the like. (verilog-assignment-operator-re): Regular expression to find the assigment operator in a verilog assignment. @@ -44,26 +50,26 @@ (verilog-auto-reset-blocking-in-non): Fix AUTORESET including temporary signals in reset list if verilog-auto-reset-blocking-in-non is nil, and match assignment - style to each signal's assignment type, bug381. Reported by - Thomas Esposito. + style to each signal's assignment type, bug381. + Reported by Thomas Esposito. (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) (verilog-uvm-statement-re): Support UVM indentation and highlighting, with old OVM keywords only. - (verilog-auto-tieoff, verilog-auto-tieoff-declaration): Support - AUTOTIEOFF creating non-wire data types. Suggested by Jonathan + (verilog-auto-tieoff, verilog-auto-tieoff-declaration): + Support AUTOTIEOFF creating non-wire data types. Suggested by Jonathan Greenlaw. (verilog-auto-insert-lisp, verilog-delete-to-paren) (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) (verilog-inject-sense, verilog-read-inst-pins) - (verilog-read-sub-decls, verilog-read-sub-decls-line): Fix - mismatching parenthesis inside commented out code when deleting + (verilog-read-sub-decls, verilog-read-sub-decls-line): + Fix mismatching parenthesis inside commented out code when deleting AUTOINST, bug383. Reported by Jonathan Greenlaw. (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with non-numeric vector width. Reported by Alex Reed. (verilog-auto-ascii-enum): Add "onehot" option to work around not detecting signals with parameter widths. Reported by Alex Reed. - (verilog-auto-delete-trailing-whitespace): With - `verilog-auto-delete-trailing-whitespace' remove trailing + (verilog-auto-delete-trailing-whitespace): + With `verilog-auto-delete-trailing-whitespace' remove trailing whitespace in auto expansion, bug371. Reported by Brad Dobbie. (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): Fix verilog-scan-cache corruption when running user AUTO expansion @@ -77,8 +83,8 @@ "C-c?" to report differences in AUTO expansion, ignoring spaces. (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) (verilog-in-paren-quick, verilog-re-search-backward-quick) - (verilog-re-search-forward-quick, verilog-syntax-ppss): Fix - calling `syntax-ppss' when inside auto expansions as the ppss hook + (verilog-re-search-forward-quick, verilog-syntax-ppss): + Fix calling `syntax-ppss' when inside auto expansions as the ppss hook is disabled and its cache will get corrupt, causing AUTOS not to expand. Instead use only -quick functions. (verilog-scan-region): Fix scanning over escaped quotes. @@ -87,20 +93,20 @@ (verilog-re-search-forward-quick, verilog-scan): verilog-scan and related functions now ignore strings, to fix misparsing of strings with magic comments embedded in them. - (verilog-read-auto-template): Fix - 'verilog-auto-inst-template-numbers' with extra newline before (. - Reported by Brad Dobbie. - (verilog-read-auto-template): Fix - 'verilog-auto-inst-template-numbers' with comments. Reported by - Brad Dobbie. + (verilog-read-auto-template): + Fix 'verilog-auto-inst-template-numbers' with extra newline before (. + Reported by Brad Dobbie. + (verilog-read-auto-template): + Fix 'verilog-auto-inst-template-numbers' with comments. + Reported by Brad Dobbie. (verilog-auto-inst, verilog-auto-inst-param) (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. (verilog-auto-inst-template-numbers): Add 'lhs' policy for - debugging templates without merge conflicts, bug357. Reported by - Brad Dobbie. - (verilog-read-auto-template): Fix - verilog-auto-inst-template-numbers with multiple templates. + debugging templates without merge conflicts, bug357. + Reported by Brad Dobbie. + (verilog-read-auto-template): + Fix verilog-auto-inst-template-numbers with multiple templates. Reported by Brad Dobbie. (verilog-define-abbrev): Fix verilog-mode abbrevs to be system abbrevs so user won't be asked to save. @@ -121,15 +127,15 @@ structure to represent SystemVerilog concepts. (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) - (verilog-auto-wire-type, verilog-insert-definition): Add - verilog-auto-wire-type and AUTOLOGIC to support using + (verilog-auto-wire-type, verilog-insert-definition): + Add verilog-auto-wire-type and AUTOLOGIC to support using SystemVerilog "logic" keyword instead of "wire"/"reg". (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE to declares outputs that also have assignments (presumably in an - ifdef or generate if so there's not a driver conflict). Reported - by Matthew Myers. - (verilog-auto-declare-nettype, verilog-insert-definition): Add - verilog-auto-declare-nettype to fix declarations using + ifdef or generate if so there's not a driver conflict). + Reported by Matthew Myers. + (verilog-auto-declare-nettype, verilog-insert-definition): + Add verilog-auto-declare-nettype to fix declarations using `default_nettype none. Reported by Julian Gorfajn. (verilog-read-always-signals-recurse, verilog-read-decls) (verilog-read-sub-decls-gate): Fix infinite loop with (*) and @@ -263,8 +269,8 @@ 2011-11-23 Eli Zaretskii - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): On - MS-DOS and MS-Windows, compare with loaddefs.el + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + On MS-DOS and MS-Windows, compare with loaddefs.el case-insensitively. 2011-11-23 Mark Lillibridge (tiny change) === modified file 'lisp/align.el' --- lisp/align.el 2011-04-19 13:44:55 +0000 +++ lisp/align.el 2011-11-29 20:21:28 +0000 @@ -1246,6 +1246,11 @@ (car props) (cdr props))))))))))) (setq areas (cdr areas)))))) +(defmacro align--set-marker (marker-var pos &optional type) + `(if ,marker-var + (move-marker ,marker-var ,pos) + (setq ,marker-var (copy-marker ,pos ,type)))) + (defun align-region (beg end separate rules exclude-rules &optional func) "Align a region based on a given set of alignment rules. @@ -1370,8 +1375,8 @@ (if (not here) (goto-char end)) (forward-line) - (setq end (point) - end-mark (copy-marker end t)) + (setq end (point)) + (align--set-marker end-mark end t) (goto-char beg))) ;; If we have a region to align, and `func' is set and @@ -1467,10 +1472,9 @@ ;; test whether we have found a match on the same ;; line as a previous match (if (> (point) eol) - (setq same nil - eol (save-excursion - (end-of-line) - (point-marker)))) + (progn + (setq same nil) + (align--set-marker eol (line-end-position)))) ;; lookup the `repeat' attribute the first time (or repeat-c @@ -1504,10 +1508,9 @@ (progn (align-regions regions align-props rule func) - (setq last-point (copy-marker b t) - regions nil - align-props nil)) - (setq last-point (copy-marker b t))) + (setq regions nil) + (setq align-props nil))) + (align--set-marker last-point b t) ;; restore the match data (set-match-data save-match-data) ------------------------------------------------------------ revno: 106549 author: Wilson Snyder , Michael McNamara committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2011-11-29 13:11:23 -0700 message: Update verilog-mode.el from master. * progmodes/verilog-mode.el (verilog-pretty-expr): Rework verilog-pretty-expr to handle new assignment operators in system verilog, such as += *= and the like. (verilog-assignment-operator-re): Regular expression to find the assigment operator in a verilog assignment. (verilog-assignment-operation-re): Regular expression to find an assignment statement for pretty-expr. (verilog-in-attribute-p): Query returns true if point is in an attribute context; used to skip these for expression line up from pretty-expr. (verilog-in-parameter-p): Query returns true if point is in an parameter definition context; used to skip these for expression line up from pretty-expr. (verilog-in-parenthesis-p): Query returns true if point is in a parenthetical expression, specifically ( ) but not [ ] or { }; used by pretty-expr. (verilog-just-one-space): If there is no space, don't add one. (verilog-get-lineup-indent-2): Specifically skip just attribute contexts for expression lineup, rather than skipping all parenthetical expressions. (verilog-calculate-indent): Fix comment, and fix indent. (verilog-do-indent): Indent declarations in lists (suggested by Joachim Lechner). (verilog-mode-abbrev-table): Populate abbrev mode with the various skeleton items. (verilog-sk-ovm-class): Add skeleton for OVM classes (reported by Alain Mellan). 29 Wilson Snyder * verilog-mode.el (verilog-read-defines): Fix reading parameters with embedded comments. Reported by Ray Stevens. (verilog-calc-1, verilog-fork-wait-re) (verilog-forward-sexp, verilog-wait-fork-re): Fix indentation of "wait fork", bug407. Reported by Tim Holt. (verilog-auto): Fix AUTOing a upper module then AUTOing module instantiated by upper module causing wrong expansion until AUTOed a second time. Reported by K C Buckenmaier. (verilog-diff-auto): Fix showing .* as a difference when `verilog-auto-star-save' off. Reported by Dan Dever. (verilog-auto-reset, verilog-read-always-signals) (verilog-auto-reset-blocking-in-non): Fix AUTORESET including temporary signals in reset list if verilog-auto-reset-blocking-in-non is nil, and match assignment style to each signal's assignment type, bug381. Reported by Thomas Esposito. (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) (verilog-uvm-statement-re): Support UVM indentation and highlighting, with old OVM keywords only. (verilog-auto-tieoff, verilog-auto-tieoff-declaration): Support AUTOTIEOFF creating non-wire data types. Suggested by Jonathan Greenlaw. (verilog-auto-insert-lisp, verilog-delete-to-paren) (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) (verilog-inject-sense, verilog-read-inst-pins) (verilog-read-sub-decls, verilog-read-sub-decls-line): Fix mismatching parenthesis inside commented out code when deleting AUTOINST, bug383. Reported by Jonathan Greenlaw. (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with non-numeric vector width. Reported by Alex Reed. (verilog-auto-ascii-enum): Add "onehot" option to work around not detecting signals with parameter widths. Reported by Alex Reed. (verilog-auto-delete-trailing-whitespace): With `verilog-auto-delete-trailing-whitespace' remove trailing whitespace in auto expansion, bug371. Reported by Brad Dobbie. (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): Fix verilog-scan-cache corruption when running user AUTO expansion hooks that call indentation routines. (verilog-simplify-range-expression): Fix typo ignoring lower case identifiers. (verilog-delete-auto): Fix delete-autos to also remove user created automatics, as long as they start with AUTO. (verilog-batch-diff-auto, verilog-diff-auto) (verilog-diff-function): Add `verilog-diff-auto' and bind to "C-c?" to report differences in AUTO expansion, ignoring spaces. (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) (verilog-in-paren-quick, verilog-re-search-backward-quick) (verilog-re-search-forward-quick, verilog-syntax-ppss): Fix calling `syntax-ppss' when inside auto expansions as the ppss hook is disabled and its cache will get corrupt, causing AUTOS not to expand. Instead use only -quick functions. (verilog-scan-region): Fix scanning over escaped quotes. (verilog-inside-comment-or-string-p, verilog-inside-comment-p) (verilog-re-search-backward-quick) (verilog-re-search-forward-quick, verilog-scan): verilog-scan and related functions now ignore strings, to fix misparsing of strings with magic comments embedded in them. (verilog-read-auto-template): Fix 'verilog-auto-inst-template-numbers' with extra newline before (. Reported by Brad Dobbie. (verilog-read-auto-template): Fix 'verilog-auto-inst-template-numbers' with comments. Reported by Brad Dobbie. (verilog-auto-inst, verilog-auto-inst-param) (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. (verilog-auto-inst-template-numbers): Add 'lhs' policy for debugging templates without merge conflicts, bug357. Reported by Brad Dobbie. (verilog-read-auto-template): Fix verilog-auto-inst-template-numbers with multiple templates. Reported by Brad Dobbie. (verilog-define-abbrev): Fix verilog-mode abbrevs to be system abbrevs so user won't be asked to save. (verilog-read-auto-lisp-present): Fix to start at beginning of buffer in case called outside of verilog-auto. (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1" to "X-2". Reported by Matthew Myers. (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating all inputs from module templates. Reported by Leith Johnson. (verilog-module-inside-filename-p): Fix locating programs as with modules. (verilog-auto-inst-port): Fix vl-width expressions when using verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn. (verilog-decls-get-regs, verilog-decls-get-signals, verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new, verilog-modi-cache-add-vars, verilog-modi-cache-add-wires, verilog-read-decls): Combine reg and wire structures into one var structure to represent SystemVerilog concepts. (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) (verilog-auto-wire-type, verilog-insert-definition): Add verilog-auto-wire-type and AUTOLOGIC to support using SystemVerilog "logic" keyword instead of "wire"/"reg". (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE to declares outputs that also have assignments (presumably in an ifdef or generate if so there's not a driver conflict). Reported by Matthew Myers. (verilog-auto-declare-nettype, verilog-insert-definition): Add verilog-auto-declare-nettype to fix declarations using `default_nettype none. Reported by Julian Gorfajn. (verilog-read-always-signals-recurse, verilog-read-decls) (verilog-read-sub-decls-gate): Fix infinite loop with (*) and malformed end statement, bug325. Reported by Joshua Wise and Andrew Drake. (verilog-auto-star-safe, verilog-delete-auto-star-implicit) (verilog-inst-comment-re): Fix not deleting Interfaced comment when expanding .* in interfaces, bug320. Reported by Pierre-David Pfister. (verilog-read-module-name): Fix import statements between module name and open parenthesis, bug317. Reported by Pierre-David Pfister. (verilog-simplify-range-expression): Fix simplification of multiplications inside AUTOWIRE connections, bug303. (verilog-auto-inst-port): Support parameter expansion in multidimensional arrays. (verilog-read-decls): Fix AUTOREG etc looking for "endproperty" after "assert property". Reported by Julian Gorfajn. (verilog-simplify-range-expression): Fix "couldn't merge" errors with multiplication, bug303. (verilog-read-decls): Fix parsing of unsigned data types, bug302. Reported by Jan Frode Lonnum. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-29 18:39:16 +0000 +++ lisp/ChangeLog 2011-11-29 20:11:23 +0000 @@ -1,3 +1,158 @@ +2011-11-29 Michael McNamara + + * progmodes/verilog-mode.el (verilog-pretty-expr): Rework + verilog-pretty-expr to handle new assignment operators in system + verilog, such as += *= and the like. + (verilog-assignment-operator-re): Regular expression to find the + assigment operator in a verilog assignment. + (verilog-assignment-operation-re): Regular expression to find an + assignment statement for pretty-expr. + (verilog-in-attribute-p): Query returns true if point is in an + attribute context; used to skip these for expression line up from + pretty-expr. + (verilog-in-parameter-p): Query returns true if point is in an + parameter definition context; used to skip these for expression + line up from pretty-expr. + (verilog-in-parenthesis-p): Query returns true if point is in a + parenthetical expression, specifically ( ) but not [ ] or { }; + used by pretty-expr. + (verilog-just-one-space): If there is no space, don't add one. + (verilog-get-lineup-indent-2): Specifically skip just attribute + contexts for expression lineup, rather than skipping all + parenthetical expressions. + (verilog-calculate-indent): Fix comment, and fix indent. + (verilog-do-indent): Indent declarations in lists (suggested by + Joachim Lechner). + (verilog-mode-abbrev-table): Populate abbrev mode with the various + skeleton items. + (verilog-sk-ovm-class): Add skeleton for OVM classes (reported + by Alain Mellan). + +2011-11-29 Wilson Snyder + + * progmodes/verilog-mode.el (verilog-read-defines): Fix reading + parameters with embedded comments. Reported by Ray Stevens. + (verilog-calc-1, verilog-fork-wait-re) (verilog-forward-sexp, + verilog-wait-fork-re): Fix indentation of "wait fork", bug407. + Reported by Tim Holt. + (verilog-auto): Fix AUTOing a upper module then AUTOing module + instantiated by upper module causing wrong expansion until AUTOed a + second time. Reported by K C Buckenmaier. + (verilog-diff-auto): Fix showing .* as a difference when + `verilog-auto-star-save' off. Reported by Dan Dever. + (verilog-auto-reset, verilog-read-always-signals) + (verilog-auto-reset-blocking-in-non): Fix AUTORESET including + temporary signals in reset list if + verilog-auto-reset-blocking-in-non is nil, and match assignment + style to each signal's assignment type, bug381. Reported by + Thomas Esposito. + (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) + (verilog-uvm-statement-re): Support UVM indentation and + highlighting, with old OVM keywords only. + (verilog-auto-tieoff, verilog-auto-tieoff-declaration): Support + AUTOTIEOFF creating non-wire data types. Suggested by Jonathan + Greenlaw. + (verilog-auto-insert-lisp, verilog-delete-to-paren) + (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) + (verilog-inject-sense, verilog-read-inst-pins) + (verilog-read-sub-decls, verilog-read-sub-decls-line): Fix + mismatching parenthesis inside commented out code when deleting + AUTOINST, bug383. Reported by Jonathan Greenlaw. + (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with + non-numeric vector width. Reported by Alex Reed. + (verilog-auto-ascii-enum): Add "onehot" option to work around not + detecting signals with parameter widths. Reported by Alex Reed. + (verilog-auto-delete-trailing-whitespace): With + `verilog-auto-delete-trailing-whitespace' remove trailing + whitespace in auto expansion, bug371. Reported by Brad Dobbie. + (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): + Fix verilog-scan-cache corruption when running user AUTO expansion + hooks that call indentation routines. + (verilog-simplify-range-expression): Fix typo ignoring lower case + identifiers. + (verilog-delete-auto): Fix delete-autos to also remove user created + automatics, as long as they start with AUTO. + (verilog-batch-diff-auto, verilog-diff-auto) + (verilog-diff-function): Add `verilog-diff-auto' and bind to + "C-c?" to report differences in AUTO expansion, ignoring spaces. + (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) + (verilog-in-paren-quick, verilog-re-search-backward-quick) + (verilog-re-search-forward-quick, verilog-syntax-ppss): Fix + calling `syntax-ppss' when inside auto expansions as the ppss hook + is disabled and its cache will get corrupt, causing AUTOS not to + expand. Instead use only -quick functions. + (verilog-scan-region): Fix scanning over escaped quotes. + (verilog-inside-comment-or-string-p, verilog-inside-comment-p) + (verilog-re-search-backward-quick) + (verilog-re-search-forward-quick, verilog-scan): verilog-scan and + related functions now ignore strings, to fix misparsing of strings + with magic comments embedded in them. + (verilog-read-auto-template): Fix + 'verilog-auto-inst-template-numbers' with extra newline before (. + Reported by Brad Dobbie. + (verilog-read-auto-template): Fix + 'verilog-auto-inst-template-numbers' with comments. Reported by + Brad Dobbie. + (verilog-auto-inst, verilog-auto-inst-param) + (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce + merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. + (verilog-auto-inst-template-numbers): Add 'lhs' policy for + debugging templates without merge conflicts, bug357. Reported by + Brad Dobbie. + (verilog-read-auto-template): Fix + verilog-auto-inst-template-numbers with multiple templates. + Reported by Brad Dobbie. + (verilog-define-abbrev): Fix verilog-mode abbrevs to be system + abbrevs so user won't be asked to save. + (verilog-read-auto-lisp-present): Fix to start at beginning of + buffer in case called outside of verilog-auto. + (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1" + to "X-2". Reported by Matthew Myers. + (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating + all inputs from module templates. Reported by Leith Johnson. + (verilog-module-inside-filename-p): Fix locating programs as with + modules. + (verilog-auto-inst-port): Fix vl-width expressions when using + verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn. + (verilog-decls-get-regs, verilog-decls-get-signals, + verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new, + verilog-modi-cache-add-vars, verilog-modi-cache-add-wires, + verilog-read-decls): Combine reg and wire structures into one var + structure to represent SystemVerilog concepts. + (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) + (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) + (verilog-auto-wire-type, verilog-insert-definition): Add + verilog-auto-wire-type and AUTOLOGIC to support using + SystemVerilog "logic" keyword instead of "wire"/"reg". + (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE + to declares outputs that also have assignments (presumably in an + ifdef or generate if so there's not a driver conflict). Reported + by Matthew Myers. + (verilog-auto-declare-nettype, verilog-insert-definition): Add + verilog-auto-declare-nettype to fix declarations using + `default_nettype none. Reported by Julian Gorfajn. + (verilog-read-always-signals-recurse, verilog-read-decls) + (verilog-read-sub-decls-gate): Fix infinite loop with (*) and + malformed end statement, bug325. Reported by Joshua Wise and + Andrew Drake. + (verilog-auto-star-safe, verilog-delete-auto-star-implicit) + (verilog-inst-comment-re): Fix not deleting Interfaced comment + when expanding .* in interfaces, bug320. Reported by Pierre-David + Pfister. + (verilog-read-module-name): Fix import statements between module + name and open parenthesis, bug317. Reported by Pierre-David + Pfister. + (verilog-simplify-range-expression): Fix simplification of + multiplications inside AUTOWIRE connections, bug303. + (verilog-auto-inst-port): Support parameter expansion in + multidimensional arrays. + (verilog-read-decls): Fix AUTOREG etc looking for "endproperty" + after "assert property". Reported by Julian Gorfajn. + (verilog-simplify-range-expression): Fix "couldn't merge" errors + with multiplication, bug303. + (verilog-read-decls): Fix parsing of unsigned data types, bug302. + Reported by Jan Frode Lonnum. + 2011-11-29 Stefan Monnier * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022). ------------------------------------------------------------ revno: 106548 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10022 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-11-29 13:39:16 -0500 message: * lisp/isearch.el (isearch-yank-x-selection): Deactivate mark. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-29 15:55:54 +0000 +++ lisp/ChangeLog 2011-11-29 18:39:16 +0000 @@ -1,3 +1,7 @@ +2011-11-29 Stefan Monnier + + * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022). + 2011-11-29 Chong Yidong * indent.el (indent-for-tab-command, indent-according-to-mode): === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-11-27 18:17:40 +0000 +++ lisp/isearch.el 2011-11-29 18:39:16 +0000 @@ -1548,7 +1548,10 @@ (defun isearch-yank-x-selection () "Pull current X selection into search string." (interactive) - (isearch-yank-string (x-get-selection))) + (isearch-yank-string (x-get-selection)) + ;; If `x-get-selection' returned the text from the active region, + ;; then it "used" the mark which we should hence deactivate. + (when select-active-regions (deactivate-mark))) (defun isearch-mouse-2 (click) ------------------------------------------------------------ revno: 106547 fixes bug(s): http://debbugs.gnu.org/10002 committer: Jan D. branch nick: trunk timestamp: Tue 2011-11-29 19:08:53 +0100 message: * xterm.c (handle_one_xevent): Only set async_visible and friends if net_wm_state_hidden_seen is non-zero (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if _NET_WM_STATE_HIDDEN is in NET_WM_STATE. * xterm.h (struct x_output): net_wm_state_hidden_seen is new. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-11-28 08:20:58 +0000 +++ src/ChangeLog 2011-11-29 18:08:53 +0000 @@ -1,3 +1,12 @@ +2011-11-29 Jan Djärv + + * xterm.h (struct x_output): net_wm_state_hidden_seen is new. + + * xterm.c (handle_one_xevent): Only set async_visible and friends + if net_wm_state_hidden_seen is non-zero (Bug#10002) + (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if + _NET_WM_STATE_HIDDEN is in NET_WM_STATE. + 2011-11-28 Paul Eggert Remove GCPRO-related macros that exist only to avoid shadowing locals. === modified file 'src/xterm.c' --- src/xterm.c 2011-11-21 18:01:04 +0000 +++ src/xterm.c 2011-11-29 18:08:53 +0000 @@ -6114,7 +6114,8 @@ last_user_time = event.xproperty.time; f = x_top_window_to_frame (dpyinfo, event.xproperty.window); if (f && event.xproperty.atom == dpyinfo->Xatom_net_wm_state) - if (x_handle_net_wm_state (f, &event.xproperty) && f->iconified) + if (x_handle_net_wm_state (f, &event.xproperty) && f->iconified + && f->output_data.x->net_wm_state_hidden_seen) { /* Gnome shell does not iconify us when C-z is pressed. It hides the frame. So if our state says we aren't hidden anymore, @@ -6124,6 +6125,7 @@ f->async_visible = 1; f->async_iconified = 0; f->output_data.x->has_been_visible = 1; + f->output_data.x->net_wm_state_hidden_seen = 0; inev.ie.kind = DEICONIFY_EVENT; XSETFRAME (inev.ie.frame_or_window, f); } @@ -8480,7 +8482,10 @@ { Atom a = ((Atom*)tmp_data)[i]; if (a == dpyinfo->Xatom_net_wm_state_hidden) - is_hidden = 1; + { + is_hidden = 1; + f->output_data.x->net_wm_state_hidden_seen = 1; + } else if (a == dpyinfo->Xatom_net_wm_state_maximized_horz) { if (*size_state == FULLSCREEN_HEIGHT) === modified file 'src/xterm.h' --- src/xterm.h 2011-11-15 00:54:19 +0000 +++ src/xterm.h 2011-11-29 18:08:53 +0000 @@ -632,6 +632,9 @@ x_check_expected_move. */ int left_before_move; int top_before_move; + + /* Non-zero if _NET_WM_STATE_HIDDEN is set for this frame. */ + int net_wm_state_hidden_seen; }; #define No_Cursor (None) ------------------------------------------------------------ revno: 106546 committer: Chong Yidong branch nick: trunk timestamp: Tue 2011-11-29 23:55:54 +0800 message: Update doc for behavior of TAB in Text based modes. * lisp/indent.el (indent-for-tab-command, indent-according-to-mode): Doc fix. (indent-region): Doc fix. Switch nested ifs to equivalent cond. diff: === modified file 'etc/NEWS' --- etc/NEWS 2011-11-28 15:28:04 +0000 +++ etc/NEWS 2011-11-29 15:55:54 +0000 @@ -551,6 +551,13 @@ in the middle (when this variable is nil) forces more expensive updates later on, and Emacs appears to be unable to keep up. ++++ +** The behavior of for active regions in Text mode has changed. +In Text and related modes, typing (`indent-for-tab-command') +when the region is active causes Emacs to indent all the lines in the +region, aligning them with the line previous to the first line in the +region (or with the left margin if there is no previous line). + * Changes in Specialized Modes and Packages in Emacs 24.1 === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-29 14:59:24 +0000 +++ lisp/ChangeLog 2011-11-29 15:55:54 +0000 @@ -1,3 +1,9 @@ +2011-11-29 Chong Yidong + + * indent.el (indent-for-tab-command, indent-according-to-mode): + Doc fix. + (indent-region): Doc fix. Switch nested ifs to equivalent cond. + 2011-11-29 Michael Albinus * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' === modified file 'lisp/indent.el' --- lisp/indent.el 2011-04-19 13:44:55 +0000 +++ lisp/indent.el 2011-11-29 15:55:54 +0000 @@ -63,9 +63,11 @@ (defun indent-according-to-mode () "Indent line in proper way for current major mode. -The buffer-local variable `indent-line-function' determines how to do this, -but the functions `indent-relative' and `indent-relative-maybe' are -special; we don't actually use them here." +Normally, this is done by calling the function specified by the +variable `indent-line-function'. However, if the value of that +variable is `indent-relative' or `indent-relative-maybe', handle +it specially (since those functions are used for tabbing); in +that case, indent by aligning to the previous non-blank line." (interactive) (syntax-propertize (line-end-position)) (if (memq indent-line-function @@ -84,22 +86,25 @@ (funcall indent-line-function))) (defun indent-for-tab-command (&optional arg) - "Indent line or region in proper way for current major mode or insert a tab. -Depending on `tab-always-indent', either insert a tab or indent. - -In most major modes, if point was in the current line's indentation, -it is moved to the first non-whitespace character after indenting; -otherwise it stays at the same position in the text. - -If a prefix argument is given, also rigidly indent the entire + "Indent the current line or region, or insert a tab, as appropriate. +This function either inserts a tab, or indents the current line, +or performs symbol completion, depending on `tab-always-indent'. +The function called to actually indent the line or insert a tab +is given by the variable `indent-line-function'. + +If a prefix argument is given, after this function indents the +current line or inserts a tab, it also rigidly indents the entire balanced expression which starts at the beginning of the current -line to reflect the current line's change in indentation. +line, to reflect the current line's indentation. + +In most major modes, if point was in the current line's +indentation, it is moved to the first non-whitespace character +after indenting; otherwise it stays at the same position relative +to the text. If `transient-mark-mode' is turned on and the region is active, -indent the region (in this case, any prefix argument is ignored). - -The function actually called to indent the line is determined by the value of -`indent-line-function'." +this function instead calls `indent-region'. In this case, any +prefix argument is ignored." (interactive "P") (cond ;; The region is active, indent it. @@ -393,34 +398,14 @@ with it. 2) If `indent-region-function' is non-nil, call that function to indent the region. - 3) Indent each line as specified by the variable `indent-line-function'. + 3) Indent each line via `indent-according-to-mode'. Called from a program, START and END specify the region to indent. If the third argument COLUMN is an integer, it specifies the column to indent to; if it is nil, use one of the three methods above." (interactive "r\nP") - (if (null column) - (if fill-prefix - (save-excursion - (goto-char end) - (setq end (point-marker)) - (goto-char start) - (let ((regexp (regexp-quote fill-prefix))) - (while (< (point) end) - (or (looking-at regexp) - (and (bolp) (eolp)) - (insert fill-prefix)) - (forward-line 1)))) - (if indent-region-function - (funcall indent-region-function start end) - (save-excursion - (setq end (copy-marker end)) - (goto-char start) - (while (< (point) end) - (or (and (bolp) (eolp)) - (indent-according-to-mode)) - (forward-line 1)) - (move-marker end nil)))) + (cond + (column (setq column (prefix-numeric-value column)) (save-excursion (goto-char end) @@ -433,6 +418,28 @@ (indent-to column 0)) (forward-line 1)) (move-marker end nil))) + (fill-prefix + (save-excursion + (goto-char end) + (setq end (point-marker)) + (goto-char start) + (let ((regexp (regexp-quote fill-prefix))) + (while (< (point) end) + (or (looking-at regexp) + (and (bolp) (eolp)) + (insert fill-prefix)) + (forward-line 1))))) + (indent-region-function + (funcall indent-region-function start end)) + (t + (save-excursion + (setq end (copy-marker end)) + (goto-char start) + (while (< (point) end) + (or (and (bolp) (eolp)) + (indent-according-to-mode)) + (forward-line 1)) + (move-marker end nil)))) ;; In most cases, reindenting modifies the buffer, but it may also ;; leave it unmodified, in which case we have to deactivate the mark ;; by hand. ------------------------------------------------------------ revno: 106545 committer: Michael Albinus branch nick: trunk timestamp: Tue 2011-11-29 15:59:24 +0100 message: * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' aware of remote file names. (Bug#10124) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-29 06:07:51 +0000 +++ lisp/ChangeLog 2011-11-29 14:59:24 +0000 @@ -1,3 +1,8 @@ +2011-11-29 Michael Albinus + + * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' + aware of remote file names. (Bug#10124) + 2011-11-29 Chong Yidong * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. === modified file 'lisp/vc/diff-mode.el' --- lisp/vc/diff-mode.el 2011-11-28 18:03:11 +0000 +++ lisp/vc/diff-mode.el 2011-11-29 14:59:24 +0000 @@ -815,9 +815,11 @@ (diff-find-file-name old noprompt (match-string 1))) ;; if all else fails, ask the user (unless noprompt - (let ((file (read-file-name (format "Use file %s: " - (or (first fs) "")) - nil (first fs) t (first fs)))) + (let ((file (expand-file-name (or (first fs) "")))) + (setq file + (read-file-name (format "Use file %s: " file) + (file-name-directory file) file t + (file-name-nondirectory file))) (set (make-local-variable 'diff-remembered-files-alist) (cons (cons fs file) diff-remembered-files-alist)) file)))))) ------------------------------------------------------------ revno: 106544 committer: Chong Yidong branch nick: trunk timestamp: Tue 2011-11-29 14:07:51 +0800 message: * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-11-28 19:43:52 +0000 +++ lisp/ChangeLog 2011-11-29 06:07:51 +0000 @@ -1,3 +1,7 @@ +2011-11-29 Chong Yidong + + * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. + 2011-11-28 Stefan Monnier * files.el (find-file): Don't use force-same-window (bug#10144). === modified file 'lisp/frame.el' --- lisp/frame.el 2011-11-15 17:37:37 +0000 +++ lisp/frame.el 2011-11-29 06:07:51 +0000 @@ -1133,15 +1133,21 @@ (list (cons 'border-color color-name)))) (define-minor-mode auto-raise-mode - "Toggle whether or not the selected frame should auto-raise. + "Toggle whether or not selected frames should auto-raise. With a prefix argument ARG, enable Auto Raise mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. -Note that this controls Emacs's own auto-raise feature. -Some window managers allow you to enable auto-raise for certain windows. -You can use that for Emacs windows if you wish, but if you do, -that is beyond the control of Emacs and this command has no effect on it." +Auto Raise mode does nothing under most window managers, which +switch focus on mouse clicks. It only has an effect if your +window manager switches focus on mouse movement (in which case +you should also change `focus-follows-mouse' to t). Then, +enabling Auto Raise mode causes any graphical Emacs frame which +acquires focus to be automatically raised. + +Note that this minor mode controls Emacs's own auto-raise +feature. Window managers that switch focus on mouse movement +often have their own auto-raise feature." :variable (frame-parameter nil 'auto-raise) (if (frame-parameter nil 'auto-raise) (raise-frame))) @@ -1152,10 +1158,16 @@ positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. -Note that this controls Emacs's own auto-lower feature. -Some window managers allow you to enable auto-lower for certain windows. -You can use that for Emacs windows if you wish, but if you do, -that is beyond the control of Emacs and this command has no effect on it." +Auto Lower mode does nothing under most window managers, which +switch focus on mouse clicks. It only has an effect if your +window manager switches focus on mouse movement (in which case +you should also change `focus-follows-mouse' to t). Then, +enabling Auto Lower Mode causes any graphical Emacs frame which +loses focus to be automatically lowered. + +Note that this minor mode controls Emacs's own auto-lower +feature. Window managers that switch focus on mouse movement +often have their own features for raising or lowering frames." :variable (frame-parameter nil 'auto-lower)) (defun set-frame-name (name)