Merge from emacs-23

This commit is contained in:
Stefan Monnier 2010-11-09 15:07:10 -05:00
commit d607b96bc2
32 changed files with 586 additions and 465 deletions

View file

@ -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")

View file

@ -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.

708
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -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 &&

View file

@ -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.

View file

@ -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

View file

@ -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,

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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" "\

View file

@ -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" "\

View file

@ -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.

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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))

View file

@ -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 " "))

View file

@ -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)))

View file

@ -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,

View file

@ -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.

View file

@ -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)

View 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>.

View file

@ -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;

View file

@ -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;

View file

@ -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.

View file

@ -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

View file

@ -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);
}
}

View file

@ -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;

View file

@ -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;

View file

@ -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;