Merge from emacs-23
This commit is contained in:
commit
d607b96bc2
32 changed files with 586 additions and 465 deletions
|
@ -2,6 +2,8 @@
|
|||
(sentence-end-double-space . t)
|
||||
(fill-column . 70)))
|
||||
(c-mode . ((c-file-style . "GNU")))
|
||||
(log-edit-mode . ((log-edit-rewrite-fixes
|
||||
" (bug#\\([0-9]+\\))" . "debbugs:\\1")))
|
||||
(change-log-mode . ((add-log-time-zone-rule . t)
|
||||
(fill-column . 74)
|
||||
(bug-reference-url-format . "http://debbugs.gnu.org/%s")
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* .dir-locals.el (log-edit-mode): Set log-edit-rewrite-fixes.
|
||||
|
||||
2010-11-09 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* configure.in: Don't write a warning for D-Bus anymore.
|
||||
|
||||
2010-11-06 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* configure.in: Fix indentation.
|
||||
|
|
|
@ -3737,11 +3737,6 @@ to run if these resources are not installed."
|
|||
echo
|
||||
fi
|
||||
|
||||
if test "$HAVE_DBUS" = yes && test "${opsys}" != "gnu-linux"; then
|
||||
echo "D-Bus integration has been tested for GNU/Linux only."
|
||||
echo
|
||||
fi
|
||||
|
||||
|
||||
# Remove any trailing slashes in these variables.
|
||||
[test "${prefix}" != NONE &&
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-11-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* msdog.texi (Windows HOME): Add information regarding startup
|
||||
directory when invoking Emacs from a desktop shortcut. (bug#7300)
|
||||
|
||||
2010-10-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in (MAKEINFO): Add explicit -I$srcdir.
|
||||
|
|
|
@ -31,7 +31,8 @@ here.
|
|||
* Text and Binary:: Text files use CRLF to terminate lines.
|
||||
* Windows Files:: File-name conventions on Windows.
|
||||
* ls in Lisp:: Emulation of @code{ls} for Dired.
|
||||
* Windows HOME:: Where Emacs looks for your @file{.emacs}.
|
||||
* Windows HOME:: Where Emacs looks for your @file{.emacs} and
|
||||
where it starts up.
|
||||
* Windows Keyboard:: Windows-specific keyboard features.
|
||||
* Windows Mouse:: Windows-specific mouse features.
|
||||
* Windows Processes:: Running subprocesses on Windows.
|
||||
|
@ -329,7 +330,7 @@ names, which might cause misalignment of columns in Dired display.
|
|||
@end ifnottex
|
||||
|
||||
@node Windows HOME
|
||||
@section HOME Directory on MS-Windows
|
||||
@section HOME and Startup Directories on MS-Windows
|
||||
@cindex @code{HOME} directory on MS-Windows
|
||||
|
||||
The Windows equivalent of the @code{HOME} directory is the
|
||||
|
@ -371,6 +372,13 @@ names, the Windows port of Emacs supports an alternative name
|
|||
@file{_emacs} as a fallback, if such a file exists in the home
|
||||
directory, whereas @file{.emacs} does not.
|
||||
|
||||
@cindex start directory, MS-Windows
|
||||
@cindex directory where Emacs starts on MS-Windows
|
||||
If you use a Windows desktop shortcut to start Emacs, it starts in
|
||||
the directory specified by the shortcut. To control where that is,
|
||||
right-click on the shortcut, select ``Properties'', and in the
|
||||
``Shortcut'' tab modify the ``Start in'' field to your liking.
|
||||
|
||||
@node Windows Keyboard
|
||||
@section Keyboard Usage on MS-Windows
|
||||
@cindex keyboard, MS-Windows
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2010-11-09 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc.texi: Use emacsver.texi to determine Emacs version.
|
||||
|
||||
2010-11-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Customizing the IMAP Connection): Remove nnir mention,
|
||||
|
|
|
@ -41,7 +41,10 @@ This can be used in place of the default appt-message-warning-time.
|
|||
|
||||
|
||||
* New Modes and Packages in Emacs 23.3
|
||||
|
||||
** smie.el is a generic navigation and indentation engine.
|
||||
It takes a simple BNF description of the grammar, and provides both
|
||||
sexp-style navigation (jumping over begin..end pairs) as well as
|
||||
indentation, which can be adjusted via ad-hoc indentation rules.
|
||||
|
||||
* Incompatible Lisp Changes in Emacs 23.3
|
||||
|
||||
|
@ -51,7 +54,7 @@ This can be used in place of the default appt-message-warning-time.
|
|||
** `e' and `pi' are now called `float-e' and `float-pi'.
|
||||
The old names are obsolete.
|
||||
** The use of unintern without an obarray arg is declared obsolete.
|
||||
|
||||
** The function `princ-list' is declared obsolete.
|
||||
** New function byte-to-string, like char-to-string but for bytes.
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,63 @@
|
|||
2010-11-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
|
||||
|
||||
2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* minibuffer.el (minibuffer-completion-help): Specify the end of the
|
||||
completion field (bug#7211).
|
||||
|
||||
* progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
|
||||
Fix handling of backslash escapes.
|
||||
(python-quote-syntax): Adjust accordingly.
|
||||
|
||||
2010-11-09 Richard Levitte <richard@levitte.org> (tiny change)
|
||||
2010-11-09 Richard Levitte <richard@levitte.org> (tiny patch)
|
||||
|
||||
* vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
|
||||
(vc-mtn-workfile-branch): Adjust to new output format.
|
||||
|
||||
2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* international/mule-cmds.el (princ-list): Mark as obsolete.
|
||||
|
||||
2010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/smie.el: New package.
|
||||
|
||||
2010-11-09 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* files.el (backup-by-copying-when-mismatch):
|
||||
Set `permanent-local' property.
|
||||
|
||||
* net/tramp.el (tramp-handle-insert-file-contents): Do not set
|
||||
`permanent-local' property for `backup-by-copying-when-mismatch'.
|
||||
|
||||
2010-11-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* ls-lisp.el (insert-directory): Doc fix. (bug#7285)
|
||||
|
||||
2010-11-09 Wilson Snyder <wsnyder@wsnyder.org>
|
||||
|
||||
* progmodes/verilog-mode.el (verilog-insert-one-definition)
|
||||
(verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
|
||||
AUTOINOUT for SV style multidimensional arrays, bug294.
|
||||
Reported by Eric Mastromarchi.
|
||||
(verilog-preprocess): Use with-current-buffer and
|
||||
font-lock-fontify-buffer to cleanup style issues.
|
||||
|
||||
2010-11-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* locate.el (locate, locate-mode): Doc fixes.
|
||||
|
||||
2010-11-09 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* server.el (server-start): New arg INHIBIT-PROMPT prevents asking
|
||||
user for confirmation.
|
||||
(server-force-stop): Use it.
|
||||
(server-start): Use server-force-stop for kill-emacs-hook, to
|
||||
avoid user interaction while killing Emacs.
|
||||
|
||||
2010-11-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* progmodes/meta-mode.el: Remove leading `*' from defcustom docs.
|
||||
|
|
|
@ -180,6 +180,7 @@ TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptags
|
|||
els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \
|
||||
${ETAGS} -o $@ $$els
|
||||
|
||||
$(lisp)/emacs-lisp/smie.elc \
|
||||
# The src/Makefile.in has its own set of dependencies and when they decide
|
||||
# that one Lisp file needs to be re-compiled, we had better recompile it as
|
||||
# well, otherwise every subsequent make will again call us, until we finally
|
||||
|
|
|
@ -3539,7 +3539,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
|
|||
;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
|
||||
;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
|
||||
;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
|
||||
;;;;;; dired-diff) "dired-aux" "dired-aux.el" "416d272299fd4774c47c2f677ee640a4")
|
||||
;;;;;; dired-diff) "dired-aux" "dired-aux.el" "1628b7a7d379fb4da8ae4bf29faad4b5")
|
||||
;;; Generated autoloads from dired-aux.el
|
||||
|
||||
(autoload 'dired-diff "dired-aux" "\
|
||||
|
|
|
@ -282,7 +282,7 @@ Not documented
|
|||
;;;;;; do-all-symbols do-symbols dotimes dolist do* do loop return-from
|
||||
;;;;;; return block etypecase typecase ecase case load-time-value
|
||||
;;;;;; eval-when destructuring-bind function* defmacro* defun* gentemp
|
||||
;;;;;; gensym) "cl-macs" "cl-macs.el" "82f8370745a60dc26536a0237cba893f")
|
||||
;;;;;; gensym) "cl-macs" "cl-macs.el" "979862b54946a5fcbbccdd90fa3f84d8")
|
||||
;;; Generated autoloads from cl-macs.el
|
||||
|
||||
(autoload 'gensym "cl-macs" "\
|
||||
|
|
|
@ -124,6 +124,7 @@ the default for a new file created there by you.
|
|||
This variable is relevant only if `backup-by-copying' is nil."
|
||||
:type 'boolean
|
||||
:group 'backup)
|
||||
(put 'backup-by-copying-when-mismatch 'permanent-local t)
|
||||
|
||||
(defcustom backup-by-copying-when-privileged-mismatch 200
|
||||
"Non-nil means create backups by copying to preserve a privileged owner.
|
||||
|
|
|
@ -2033,10 +2033,11 @@ See `set-language-info-alist' for use in programs."
|
|||
"Do various unibyte-mode setups for language environment LANGUAGE-NAME."
|
||||
(set-display-table-and-terminal-coding-system language-name))
|
||||
|
||||
(defsubst princ-list (&rest args)
|
||||
(defun princ-list (&rest args)
|
||||
"Print all arguments with `princ', then print \"\\n\"."
|
||||
(while args (princ (car args)) (setq args (cdr args)))
|
||||
(princ "\n"))
|
||||
(make-obsolete 'princ-list "use mapc and princ instead" "23.3")
|
||||
|
||||
(put 'describe-specified-language-support 'apropos-inhibit t)
|
||||
|
||||
|
|
|
@ -270,7 +270,7 @@ that is, with a prefix arg, you get the default behavior."
|
|||
(defun locate (search-string &optional filter arg)
|
||||
"Run the program `locate', putting results in `*Locate*' buffer.
|
||||
Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING.
|
||||
With prefix arg, prompt for the exact shell command to run instead.
|
||||
With prefix arg ARG, prompt for the exact shell command to run instead.
|
||||
|
||||
This program searches for those file names in a database that match
|
||||
SEARCH-STRING and normally outputs all matching absolute file names,
|
||||
|
@ -286,7 +286,8 @@ the variables `locate-command' or `locate-make-command-line'.
|
|||
The main use of FILTER is to implement `locate-with-filter'. See
|
||||
the docstring of that function for its meaning.
|
||||
|
||||
ARG is the interactive prefix arg."
|
||||
After preparing the results buffer, this runs `dired-mode-hook' and
|
||||
then `locate-post-command-hook'."
|
||||
(interactive
|
||||
(list
|
||||
(locate-prompt-for-search-string)
|
||||
|
@ -300,8 +301,7 @@ ARG is the interactive prefix arg."
|
|||
(locate-cmd-args (cdr locate-cmd-list))
|
||||
(run-locate-command
|
||||
(or (and arg (not locate-prompt-for-command))
|
||||
(and (not arg) locate-prompt-for-command)))
|
||||
)
|
||||
(and (not arg) locate-prompt-for-command))))
|
||||
|
||||
;; Find the Locate buffer
|
||||
(save-window-excursion
|
||||
|
@ -323,16 +323,13 @@ ARG is the interactive prefix arg."
|
|||
(and filter
|
||||
(locate-filter-output filter))
|
||||
|
||||
(locate-do-setup search-string)
|
||||
))
|
||||
(locate-do-setup search-string)))
|
||||
(and (not (string-equal (buffer-name) locate-buffer-name))
|
||||
(pop-to-buffer locate-buffer-name))
|
||||
|
||||
(run-hooks 'dired-mode-hook)
|
||||
(dired-next-line 3) ;move to first matching file.
|
||||
(run-hooks 'locate-post-command-hook)
|
||||
)
|
||||
)
|
||||
(run-hooks 'locate-post-command-hook)))
|
||||
|
||||
;;;###autoload
|
||||
(defun locate-with-filter (search-string filter &optional arg)
|
||||
|
@ -447,6 +444,7 @@ file name or is inside a subdirectory."
|
|||
\\<locate-mode-map>\
|
||||
In that buffer, you can use almost all the usual dired bindings.
|
||||
\\[locate-find-directory] visits the directory of the file on the current line.
|
||||
This function runs `locate-mode-hook' before returning.
|
||||
|
||||
Operating on listed files works, but does not always
|
||||
automatically update the buffer as in ordinary Dired.
|
||||
|
@ -687,5 +685,4 @@ the database on the command line."
|
|||
|
||||
(provide 'locate)
|
||||
|
||||
;; arch-tag: 60c4d098-b5d5-4b3c-a3e0-51a2e9f43898
|
||||
;;; locate.el ends here
|
||||
|
|
|
@ -220,7 +220,8 @@ The Lisp emulation does not run any external programs or shells. It
|
|||
supports ordinary shell wildcards if `ls-lisp-support-shell-wildcards'
|
||||
is non-nil; otherwise, it interprets wildcards as regular expressions
|
||||
to match file names. It does not support all `ls' switches -- those
|
||||
that work are: A a c i r S s t u U X g G B C R n and F partly."
|
||||
that work are: A a B C c F G g h i n R r S s t U u X. The l switch
|
||||
is assumed to be always present and cannot be turned off."
|
||||
(if ls-lisp-use-insert-directory-program
|
||||
(funcall original-insert-directory
|
||||
file switches wildcard full-directory-p)
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
;; provide the start info but not the end info in
|
||||
;; completion-base-position.
|
||||
;; - quoting is problematic. E.g. the double-dollar quoting used in
|
||||
;; substitie-in-file-name (and hence read-file-name-internal) bumps
|
||||
;; substitute-in-file-name (and hence read-file-name-internal) bumps
|
||||
;; into various bugs:
|
||||
;; - choose-completion doesn't know how to quote the text it inserts.
|
||||
;; E.g. it fails to double the dollars in file-name completion, or
|
||||
|
@ -1133,6 +1133,7 @@ variables.")
|
|||
(interactive)
|
||||
(message "Making completion list...")
|
||||
(lexical-let* ((start (field-beginning))
|
||||
(end (field-end))
|
||||
(string (field-string))
|
||||
(completions (completion-all-completions
|
||||
string
|
||||
|
@ -1164,10 +1165,12 @@ variables.")
|
|||
completions)))
|
||||
(with-current-buffer standard-output
|
||||
(set (make-local-variable 'completion-base-position)
|
||||
;; FIXME: We should provide the END part as well, but
|
||||
;; currently completion-all-completions does not give
|
||||
;; us the necessary information.
|
||||
(list (+ start base-size) nil)))
|
||||
(list (+ start base-size)
|
||||
;; FIXME: We should pay attention to completion
|
||||
;; boundaries here, but currently
|
||||
;; completion-all-completions does not give us the
|
||||
;; necessary information.
|
||||
end)))
|
||||
(display-completion-list completions)))
|
||||
|
||||
;; If there are no completions, or if the current input is already the
|
||||
|
|
|
@ -2864,8 +2864,7 @@ User is always nil."
|
|||
(set-buffer-modified-p nil)
|
||||
;; For root, preserve owner and group when editing files.
|
||||
(when (string-equal (file-remote-p filename 'user) "root")
|
||||
(set (make-local-variable 'backup-by-copying-when-mismatch) t)
|
||||
(put 'backup-by-copying-when-mismatch 'permanent-local t)))
|
||||
(set (make-local-variable 'backup-by-copying-when-mismatch) t)))
|
||||
(when (and (stringp local-copy)
|
||||
(or remote-copy (null tramp-temp-buffer-file-name)))
|
||||
(delete-file local-copy))
|
||||
|
|
|
@ -171,21 +171,9 @@
|
|||
;; string delimiters. Fixme: Is there a better way?
|
||||
;; First avoid a sequence preceded by an odd number of backslashes.
|
||||
(syntax-propertize-rules
|
||||
(;; (rx (not (any ?\\))
|
||||
;; ?\\ (* (and ?\\ ?\\))
|
||||
;; (group (syntax string-quote))
|
||||
;; (backref 1)
|
||||
;; (group (backref 1)))
|
||||
;; ¡Backrefs don't work in syntax-propertize-rules!
|
||||
"[^\\]\\\\\\(\\\\\\\\\\)*\\(?:''\\('\\)\\|\"\"\\(?2:\"\\)\\)"
|
||||
(2 "\"")) ; dummy
|
||||
(;; (rx (optional (group (any "uUrR"))) ; prefix gets syntax property
|
||||
;; (optional (any "rR")) ; possible second prefix
|
||||
;; (group (syntax string-quote)) ; maybe gets property
|
||||
;; (backref 2) ; per first quote
|
||||
;; (group (backref 2))) ; maybe gets property
|
||||
;; ¡Backrefs don't work in syntax-propertize-rules!
|
||||
"\\([RUru]\\)?[Rr]?\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)"
|
||||
(;; ¡Backrefs don't work in syntax-propertize-rules!
|
||||
(concat "\\(?:\\([RUru]\\)[Rr]?\\|^\\|[^\\]\\(?:\\\\.\\)*\\)" ;Prefix.
|
||||
"\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)")
|
||||
(3 (ignore (python-quote-syntax))))
|
||||
;; This doesn't really help.
|
||||
;;((rx (and ?\\ (group ?\n))) (1 " "))
|
||||
|
|
|
@ -607,15 +607,11 @@ Commands:
|
|||
(set (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) "[$!]")
|
||||
(set (make-local-variable 'dabbrev-abbrev-char-regexp) "\\sw\\|\\s_")
|
||||
|
||||
;; This can only be set to t in Emacs 19 and XEmacs.
|
||||
;; Emacs 18 and Epoch lose.
|
||||
(set (make-local-variable 'parse-sexp-ignore-comments) t)
|
||||
;; XEmacs has defun-prompt-regexp, but I don't believe
|
||||
;; that it works for end-of-defun -- only for
|
||||
;; beginning-of-defun.
|
||||
(set (make-local-variable 'defun-prompt-regexp) tcl-omit-ws-regexp)
|
||||
;; The following doesn't work in Lucid Emacs 19.6, but maybe
|
||||
;; it will appear in later versions.
|
||||
(set (make-local-variable 'add-log-current-defun-function)
|
||||
'tcl-add-log-defun)
|
||||
|
||||
|
@ -1201,11 +1197,7 @@ semicolon, opening brace, or opening bracket on the same line."
|
|||
"Determine if point is in a comment.
|
||||
Returns a list of the form `(FLAG . STATE)'. STATE can be used
|
||||
as input to future invocations. FLAG is nil if not in comment,
|
||||
t otherwise. If in comment, leaves point at beginning of comment.
|
||||
|
||||
This function does not work in Emacs 18.
|
||||
See also `tcl-simple-scan-for-comment', a
|
||||
simpler version that is often right, and works in Emacs 18."
|
||||
t otherwise. If in comment, leaves point at beginning of comment."
|
||||
(let ((bol (save-excursion
|
||||
(goto-char end)
|
||||
(line-beginning-position)))
|
||||
|
|
|
@ -124,9 +124,9 @@
|
|||
;;; Code:
|
||||
|
||||
;; This variable will always hold the version number of the mode
|
||||
(defconst verilog-mode-version "647"
|
||||
(defconst verilog-mode-version "650"
|
||||
"Version of this Verilog mode.")
|
||||
(defconst verilog-mode-release-date "2010-10-20-GNU"
|
||||
(defconst verilog-mode-release-date "2010-11-05-GNU"
|
||||
"Release date of this Verilog mode.")
|
||||
(defconst verilog-mode-release-emacs t
|
||||
"If non-nil, this version of Verilog mode was released with Emacs itself.")
|
||||
|
@ -4551,16 +4551,18 @@ FILENAME or defaults to `buffer-file-name`."
|
|||
default nil nil
|
||||
'verilog-preprocess-history default)))))
|
||||
(unless command (setq command (verilog-expand-command verilog-preprocessor)))
|
||||
(let* ((dir (file-name-directory (or filename buffer-file-name)))
|
||||
(let* ((fontlocked (and (boundp 'font-lock-mode) font-lock-mode))
|
||||
(dir (file-name-directory (or filename buffer-file-name)))
|
||||
(file (file-name-nondirectory (or filename buffer-file-name)))
|
||||
(cmd (concat "cd " dir "; " command " " file)))
|
||||
(with-output-to-temp-buffer "*Verilog-Preprocessed*"
|
||||
(save-excursion
|
||||
(set-buffer "*Verilog-Preprocessed*")
|
||||
(with-current-buffer (get-buffer "*Verilog-Preprocessed*")
|
||||
(insert (concat "// " cmd "\n"))
|
||||
(shell-command cmd "*Verilog-Preprocessed*")
|
||||
(verilog-mode)
|
||||
(font-lock-mode)))))
|
||||
;; Without this force, it takes a few idle seconds
|
||||
;; to get the color, which is very jarring
|
||||
(when fontlocked (font-lock-fontify-buffer))))))
|
||||
|
||||
|
||||
;;
|
||||
|
@ -7266,7 +7268,10 @@ Return a array of [outputs inouts inputs wire reg assign const]."
|
|||
((looking-at "\\s-*\\(\\[[^]]+\\]\\)")
|
||||
(goto-char (match-end 0))
|
||||
(cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3)
|
||||
(setcar (cdr (cdr (cdr newsig))) (match-string 1)))
|
||||
(setcar (cdr (cdr (cdr newsig)))
|
||||
(if (verilog-sig-memory newsig)
|
||||
(concat (verilog-sig-memory newsig) (match-string 1))
|
||||
(match-string 1))))
|
||||
(vec ;; Multidimensional
|
||||
(setq multidim (cons vec multidim))
|
||||
(setq vec (verilog-string-replace-matches
|
||||
|
@ -7404,7 +7409,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
|
|||
(cons (verilog-sig-new
|
||||
sig
|
||||
(if dotname (verilog-sig-bits portdata) vec)
|
||||
(concat "To/From " comment) nil nil
|
||||
(concat "To/From " comment)
|
||||
(verilog-sig-memory portdata)
|
||||
nil
|
||||
(verilog-sig-signed portdata)
|
||||
(verilog-sig-type portdata)
|
||||
multidim nil)
|
||||
|
@ -7415,7 +7422,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
|
|||
(cons (verilog-sig-new
|
||||
sig
|
||||
(if dotname (verilog-sig-bits portdata) vec)
|
||||
(concat "From " comment) nil nil
|
||||
(concat "From " comment)
|
||||
(verilog-sig-memory portdata)
|
||||
nil
|
||||
(verilog-sig-signed portdata)
|
||||
(verilog-sig-type portdata)
|
||||
multidim nil)
|
||||
|
@ -7426,7 +7435,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
|
|||
(cons (verilog-sig-new
|
||||
sig
|
||||
(if dotname (verilog-sig-bits portdata) vec)
|
||||
(concat "To " comment) nil nil
|
||||
(concat "To " comment)
|
||||
(verilog-sig-memory portdata)
|
||||
nil
|
||||
(verilog-sig-signed portdata)
|
||||
(verilog-sig-type portdata)
|
||||
multidim nil)
|
||||
|
@ -7436,7 +7447,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
|
|||
(cons (verilog-sig-new
|
||||
sig
|
||||
(if dotname (verilog-sig-bits portdata) vec)
|
||||
(concat "To/From " comment) nil nil
|
||||
(concat "To/From " comment)
|
||||
(verilog-sig-memory portdata)
|
||||
nil
|
||||
(verilog-sig-signed portdata)
|
||||
(verilog-sig-type portdata)
|
||||
multidim nil)
|
||||
|
@ -7448,7 +7461,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
|
|||
(cons (verilog-sig-new
|
||||
sig
|
||||
(if dotname (verilog-sig-bits portdata) vec)
|
||||
(concat "To/From " comment) nil nil
|
||||
(concat "To/From " comment)
|
||||
(verilog-sig-memory portdata)
|
||||
nil
|
||||
(verilog-sig-signed portdata)
|
||||
(verilog-sig-type portdata)
|
||||
multidim nil)
|
||||
|
@ -8862,7 +8877,9 @@ with appropriate INDENT-PT indentation."
|
|||
(indent-to (max 24 (+ indent-pt 16)))
|
||||
(unless (= (char-syntax (preceding-char)) ?\ )
|
||||
(insert " ")) ; Need space between "]name" if indent-to did nothing
|
||||
(insert (verilog-sig-name sig)))
|
||||
(insert (verilog-sig-name sig))
|
||||
(when (verilog-sig-memory sig)
|
||||
(insert " " (verilog-sig-memory sig))))
|
||||
|
||||
(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort)
|
||||
"Print out a definition for a list of SIGS of the given DIRECTION,
|
||||
|
|
|
@ -498,7 +498,7 @@ See variable `server-auth-dir' for details."
|
|||
(error "The directory `%s' is unsafe" dir)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun server-start (&optional leave-dead)
|
||||
(defun server-start (&optional leave-dead inhibit-prompt)
|
||||
"Allow this Emacs process to be a server for client processes.
|
||||
This starts a server communications subprocess through which
|
||||
client \"editors\" can send your editing commands to this Emacs
|
||||
|
@ -508,7 +508,10 @@ Emacs distribution as your standard \"editor\".
|
|||
Optional argument LEAVE-DEAD (interactively, a prefix arg) means just
|
||||
kill any existing server communications subprocess.
|
||||
|
||||
If a server is already running, the server is not started.
|
||||
If a server is already running, restart it. If clients are
|
||||
running, ask the user for confirmation first, unless optional
|
||||
argument INHIBIT-PROMPT is non-nil.
|
||||
|
||||
To force-start a server, do \\[server-force-delete] and then
|
||||
\\[server-start]."
|
||||
(interactive "P")
|
||||
|
@ -516,12 +519,14 @@ To force-start a server, do \\[server-force-delete] and then
|
|||
;; Ask the user before deleting existing clients---except
|
||||
;; when we can't get user input, which may happen when
|
||||
;; doing emacsclient --eval "(kill-emacs)" in daemon mode.
|
||||
(if (and (daemonp)
|
||||
(null (cdr (frame-list)))
|
||||
(eq (selected-frame) terminal-frame))
|
||||
leave-dead
|
||||
(yes-or-no-p
|
||||
"The current server still has clients; delete them? ")))
|
||||
(cond
|
||||
((and (daemonp)
|
||||
(null (cdr (frame-list)))
|
||||
(eq (selected-frame) terminal-frame))
|
||||
leave-dead)
|
||||
(inhibit-prompt t)
|
||||
(t (yes-or-no-p
|
||||
"The current server still has clients; delete them? "))))
|
||||
(let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))
|
||||
(server-file (expand-file-name server-name server-dir)))
|
||||
(when server-process
|
||||
|
@ -560,7 +565,7 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
|
|||
(add-hook 'delete-frame-functions 'server-handle-delete-frame)
|
||||
(add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
|
||||
(add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
|
||||
(add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit.
|
||||
(add-hook 'kill-emacs-hook 'server-force-stop) ;Cleanup upon exit.
|
||||
(setq server-process
|
||||
(apply #'make-network-process
|
||||
:name server-name
|
||||
|
@ -601,6 +606,11 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
|
|||
" " (number-to-string (emacs-pid)) ; Kept for compatibility
|
||||
"\n" auth-key)))))))))
|
||||
|
||||
(defun server-force-stop ()
|
||||
"Kill all connections to the current server.
|
||||
This function is meant to be called from `kill-emacs-hook'."
|
||||
(server-start nil t))
|
||||
|
||||
;;;###autoload
|
||||
(defun server-force-delete (&optional name)
|
||||
"Unconditionally delete connection file for server NAME.
|
||||
|
|
|
@ -110,7 +110,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
|
|||
(defun vc-mtn-after-dir-status (update-function)
|
||||
(let (result)
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)" nil t)
|
||||
(re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)" nil t)
|
||||
(while (re-search-forward
|
||||
"^ \\(?:\\(patched \\)\\|\\(added \\)\\)\\(.*\\)$" nil t)
|
||||
(cond ((match-end 1) (push (list (match-string 3) 'edited) result))
|
||||
|
@ -129,7 +129,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
|
|||
(with-temp-buffer
|
||||
(vc-mtn-command t 0 file "status")
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)")
|
||||
(re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)")
|
||||
(match-string 2))))
|
||||
|
||||
(defun vc-mtn-workfile-branch (file)
|
||||
|
@ -139,7 +139,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
|
|||
(with-temp-buffer
|
||||
(vc-mtn-command t 0 file "status")
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)")
|
||||
(re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)")
|
||||
(match-string 1))))
|
||||
|
||||
(defun vc-mtn-workfile-unchanged-p (file)
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2010-11-09 Elias Pipping <pipping.elias@googlemail.com> (tiny change)
|
||||
|
||||
Make Emacs compile with clang (bug#7309).
|
||||
* XMakeAssoc.c (XMakeAssoc):
|
||||
* XDelAssoc.c (XDeleteAssoc): Declare the return type.
|
||||
|
||||
2010-07-12 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* XMenu.h: Include <stdlib.h>.
|
||||
|
|
|
@ -17,6 +17,7 @@ void emacs_remque(struct qelem*);
|
|||
* an XId. An association may be removed only once. Redundant
|
||||
* deletes are meaningless (but cause no problems).
|
||||
*/
|
||||
void
|
||||
XDeleteAssoc(register Display *dpy, register XAssocTable *table, register XID x_id)
|
||||
{
|
||||
int hash;
|
||||
|
|
|
@ -26,6 +26,7 @@ void emacs_insque (struct qelem *elem, struct qelem *prev);
|
|||
* meaningless (but cause no problems). The queue in each association
|
||||
* bucket is sorted (lowest XId to highest XId).
|
||||
*/
|
||||
void
|
||||
XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id, register caddr_t data)
|
||||
{
|
||||
int hash;
|
||||
|
|
|
@ -1,3 +1,26 @@
|
|||
2010-11-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xfns.c (x_real_positions): Fix declaration-after-statement
|
||||
problem.
|
||||
|
||||
2010-11-09 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* image.c (free_image): Don't garbage the frame here, since this
|
||||
function can be called while redisplaying (Bug#7210).
|
||||
(uncache_image): Garbage the frame here (Bug#6426).
|
||||
|
||||
2010-11-09 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
|
||||
parent is the root window. Check this after traversing window tree.
|
||||
|
||||
* xterm.c (x_term_init): Initialize Xatom_net_frame_extents.
|
||||
|
||||
* xterm.h (struct x_display_info): Xatom_net_frame_extents is new.
|
||||
|
||||
* xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first
|
||||
before traversing window tree (Bug#5721).
|
||||
|
||||
2010-11-07 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* xfns.c (set_machine_and_pid_properties): Let X set WM_CLIENT_MACHINE.
|
||||
|
|
|
@ -1059,9 +1059,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
#undef pid_t
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
||||
/* Define to any substitute for sys_siglist. */
|
||||
#undef sys_siglist
|
||||
|
||||
|
|
11
src/image.c
11
src/image.c
|
@ -1049,10 +1049,6 @@ free_image (struct frame *f, struct image *img)
|
|||
/* Free resources, then free IMG. */
|
||||
img->type->free (f, img);
|
||||
xfree (img);
|
||||
|
||||
/* As display glyphs may still be referring to the image ID, we
|
||||
must garbage the frame (Bug#6426). */
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1471,7 +1467,12 @@ uncache_image (struct frame *f, Lisp_Object spec)
|
|||
{
|
||||
struct image *img = search_image_cache (f, spec, sxhash (spec, 0));
|
||||
if (img)
|
||||
free_image (f, img);
|
||||
{
|
||||
free_image (f, img);
|
||||
/* As display glyphs may still be referring to the image ID, we
|
||||
must garbage the frame (Bug#6426). */
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
39
src/xfns.c
39
src/xfns.c
|
@ -519,12 +519,20 @@ x_real_positions (FRAME_PTR f, int *xptr, int *yptr)
|
|||
int real_x = 0, real_y = 0;
|
||||
int had_errors = 0;
|
||||
Window win = f->output_data.x->parent_desc;
|
||||
Atom actual_type;
|
||||
unsigned long actual_size, bytes_remaining;
|
||||
int i, rc, actual_format;
|
||||
struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
|
||||
long max_len = 400;
|
||||
Display *dpy = FRAME_X_DISPLAY (f);
|
||||
unsigned char *tmp_data = NULL;
|
||||
Atom target_type = XA_CARDINAL;
|
||||
|
||||
BLOCK_INPUT;
|
||||
|
||||
x_catch_errors (FRAME_X_DISPLAY (f));
|
||||
x_catch_errors (dpy);
|
||||
|
||||
if (win == FRAME_X_DISPLAY_INFO (f)->root_window)
|
||||
if (win == dpyinfo->root_window)
|
||||
win = FRAME_OUTER_WINDOW (f);
|
||||
|
||||
/* This loop traverses up the containment tree until we hit the root
|
||||
|
@ -609,6 +617,33 @@ x_real_positions (FRAME_PTR f, int *xptr, int *yptr)
|
|||
had_errors = x_had_errors_p (FRAME_X_DISPLAY (f));
|
||||
}
|
||||
|
||||
|
||||
if (dpyinfo->root_window == f->output_data.x->parent_desc)
|
||||
{
|
||||
/* Try _NET_FRAME_EXTENTS if our parent is the root window. */
|
||||
rc = XGetWindowProperty (dpy, win, dpyinfo->Xatom_net_frame_extents,
|
||||
0, max_len, False, target_type,
|
||||
&actual_type, &actual_format, &actual_size,
|
||||
&bytes_remaining, &tmp_data);
|
||||
|
||||
if (rc == Success && actual_type == target_type && !x_had_errors_p (dpy)
|
||||
&& actual_size == 4 && actual_format == 32)
|
||||
{
|
||||
int ign;
|
||||
Window rootw;
|
||||
long *fe = (long *)tmp_data;
|
||||
|
||||
XGetGeometry (FRAME_X_DISPLAY (f), win,
|
||||
&rootw, &real_x, &real_y, &ign, &ign, &ign, &ign);
|
||||
outer_x = -fe[0];
|
||||
outer_y = -fe[2];
|
||||
real_x -= fe[0];
|
||||
real_y -= fe[2];
|
||||
}
|
||||
}
|
||||
|
||||
if (tmp_data) XFree (tmp_data);
|
||||
|
||||
x_uncatch_errors ();
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
|
|
|
@ -10278,6 +10278,8 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
|
|||
= XInternAtom (dpyinfo->display, "_NET_WM_ICON_NAME", False);
|
||||
dpyinfo->Xatom_net_wm_name
|
||||
= XInternAtom (dpyinfo->display, "_NET_WM_NAME", False);
|
||||
dpyinfo->Xatom_net_frame_extents
|
||||
= XInternAtom (dpyinfo->display, "_NET_FRAME_EXTENTS", False);
|
||||
|
||||
dpyinfo->x_dnd_atoms_size = 8;
|
||||
dpyinfo->x_dnd_atoms_length = 0;
|
||||
|
|
|
@ -337,10 +337,10 @@ struct x_display_info
|
|||
Window net_supported_window;
|
||||
Atom Xatom_net_window_type, Xatom_net_window_type_tooltip;
|
||||
|
||||
/* Atoms dealing with maximization and fullscreen */
|
||||
/* Atoms dealing with EWMH (i.e. _NET_...) */
|
||||
Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen_atom,
|
||||
Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert,
|
||||
Xatom_net_wm_state_sticky;
|
||||
Xatom_net_wm_state_sticky, Xatom_net_frame_extents;
|
||||
|
||||
/* XSettings atoms and windows. */
|
||||
Atom Xatom_xsettings_sel, Xatom_xsettings_prop, Xatom_xsettings_mgr;
|
||||
|
|
Loading…
Add table
Reference in a new issue