1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

merge trunk

This commit is contained in:
Kenichi Handa 2011-11-11 16:08:47 +09:00
commit 0756b0c3a6
57 changed files with 1185 additions and 1348 deletions

View file

@ -1,3 +1,7 @@
2011-11-07 Juanma Barranquero <lekktu@gmail.com>
* unidata/makefile.w32-in (clean): Remove bidimirror.h and biditype.h.
2011-10-31 David Engster <deng@randomsample.de>
* grammars/bovine-grammar.el: Avoid using old-style backquotes.

View file

@ -514,7 +514,7 @@
045A S-0790 # CYRILLIC SMALL LETTER NJE
045B S-0791 # CYRILLIC SMALL LETTER TSHE (Serbocroatian)
045C S-0792 # CYRILLIC SMALL LETTER KJE
045E S-0793 # CYRILLIC SMALL LETTER SHORT U (Byalorussian)
045E S-0793 # CYRILLIC SMALL LETTER SHORT U (Byelorussian)
045F S-0794 # CYRILLIC SMALL LETTER DZHE
2010 0-0130 1-0130 2-0130 # HYPHEN
2014 0-0129 1-0129 2-0129 # EM DASH

View file

@ -52,5 +52,5 @@ charprop-CMD: unidata-gen.elc unidata.txt
${DSTDIR}/charprop.el: charprop-$(SHELLTYPE)
clean:
- $(DEL) unidata-gen.elc unidata.txt biditype.h bidimirror.h
- $(DEL) unidata-gen.elc unidata.txt

View file

@ -1,3 +1,46 @@
2011-11-10 Glenn Morris <rgm@gnu.org>
* buffers.texi (Read Only Buffers): Expand a bit on why
toggle-read-only should only be used interactively. (Bug#7292)
2011-11-09 Chong Yidong <cyd@gnu.org>
* windows.texi (Window Sizes): Document window-pixel-edges,
window-inside-pixel-edges, window-absolute-pixel-edges, and
window-inside-absolute-pixel-edges.
(Resizing Windows): shrink-window-if-larger-than-buffer works on
non-full-width windows.
2011-11-09 Martin Rudalics <rudalics@gmx.at>
* windows.texi (Resizing Windows): Rewrite documentation of
window-resizable.
2011-11-09 Chong Yidong <cyd@gnu.org>
* windows.texi (Splitting Windows): Simplify example.
2011-11-08 Chong Yidong <cyd@gnu.org>
* windows.texi (Window Sizes): Copyedits. Document
window-text-height. Remove window-min-height and window-min-width
discussion, referring instead to Emacs manual.
(Splitting Windows, Resizing Windows): Add xref to Emacs manual.
(Resizing Windows): Simplify introduction. Don't document
enlarge-window, shrink-window, enlarge-window-horizontally, and
shrink-window-horizontally; they are no longer preferred for
calling from Lisp, and are already documented in the Emacs manual.
2011-11-07 Glenn Morris <rgm@gnu.org>
* windows.texi (Choosing Window): Fix keybinding typo.
2011-11-07 Martin Rudalics <rudalics@gmx.at>
* windows.texi (Resizing Windows, Splitting Windows)
(Window Configurations): Use "child window" instead of
"subwindow".
2011-11-06 Chong Yidong <cyd@gnu.org>
* windows.texi (Basic Windows): Clarify various definitions.
@ -1064,9 +1107,9 @@
* commands.texi (Misc Events): Add cross-references to where
POSITION of a mouse event is described in detail.
2010-08-08 Christoph <cschol2112@googlemail.com>
2010-08-08 Christoph Scholtes <cschol2112@googlemail.com>
* control.texi (Handling Errors) <error-message-string>: Fix arg name.
* control.texi (Handling Errors) <error-message-string>: Fix arg name.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>

View file

@ -748,10 +748,11 @@ of the list (comparison is done with @code{eq}).
@deffn Command toggle-read-only &optional arg
This command toggles whether the current buffer is read-only. It is
intended for interactive use; do not use it in programs. At any given
point in a program, you should know whether you want the read-only flag
on or off; so you can set @code{buffer-read-only} explicitly to the
proper value, @code{t} or @code{nil}.
intended for interactive use; do not use it in programs (it may have
side-effects, such as enabling View mode, and does not affect
read-only text properties). To change the read-only state of a buffer in
a program, explicitly set @code{buffer-read-only} to the proper value.
To temporarily ignore a read-only state, bind @code{inhibit-read-only}.
If @var{arg} is non-@code{nil}, it should be a raw prefix argument.
@code{toggle-read-only} sets @code{buffer-read-only} to @code{t} if

File diff suppressed because it is too large Load diff

View file

@ -64,13 +64,13 @@ It is a way for multiple applications to share a single configuration
@menu
* Overview:: Overview of the auth-source library.
* Help for users::
* Secret Service API::
* Help for developers::
* GnuPG and EasyPG Assistant Configuration::
* Index::
* Function Index::
* Variable Index::
* Help for users::
* Secret Service API::
* Help for developers::
* GnuPG and EasyPG Assistant Configuration::
* Index::
* Function Index::
* Variable Index::
@end menu
@end ifnottex
@ -182,7 +182,7 @@ Here's a mixed example using two sources:
If you don't customize @code{auth-sources}, you'll have to live with
the defaults: any host and any port are looked up in the netrc
file @code{~/.authinfo.gpg}, which is a GnuPG encrypted file
(@pxref{GnuPG and EasyPG Assistant Configuration}).
(@pxref{GnuPG and EasyPG Assistant Configuration}).
If that fails, the unencrypted netrc files @code{~/.authinfo} and
@code{~/.netrc} will be used.
@ -340,7 +340,7 @@ If you are using earlier versions of Emacs, you will need:
@end lisp
If you want your GnuPG passwords to be cached, set up @code{gpg-agent}
or EasyPG Assitant
or EasyPG Assistant
(@pxref{Caching Passphrases, , Caching Passphrases, epa}).
To quick start, here are some questions:

View file

@ -1001,7 +1001,7 @@ press @kbd{^} from the Group buffer to see it. In the Server buffer,
you can press @kbd{RET} on a defined server to see all the groups it
serves (subscribed or not!). You can also add or delete servers, edit
a foreign server's definition, agentize or de-agentize a server, and
do many other neat things. @xref{Server Buffer}.
do many other neat things. @xref{Server Buffer}.
@xref{Foreign Groups}. @xref{Agent Basics}.
@vindex gnus-select-method
@ -11805,7 +11805,7 @@ fit these criteria.
To use this, make sure that you have @code{w3m} and @code{curl}
installed. If you have, then Gnus should display @acronym{HTML}
automatically.
automatically.
@ -21078,8 +21078,8 @@ as well.
This chapter describes tools for searching groups and servers for
articles matching a query and then retrieving those articles. Gnus
provides a simpler mechanism for searching through articles in a summary buffer
to find those matching a pattern. @xref{Searching for Articles}.
provides a simpler mechanism for searching through articles in a summary buffer
to find those matching a pattern. @xref{Searching for Articles}.
@menu
* nnir:: Searching with various engines.
@ -21110,7 +21110,7 @@ interface.
The @code{nnimap} and @code{gmane} search engines should work with no
configuration. Other engines require a local index that needs to be
created and maintained outside of Gnus.
created and maintained outside of Gnus.
@node Basic Usage
@ -21150,7 +21150,7 @@ One more thing: individual search engines may have special search
features. You can access these special features by giving a prefix-arg
to @code{gnus-group-make-nnir-group}. If you are searching multiple
groups with different search engines you will be prompted for the
special search features for each engine separately.
special search features for each engine separately.
@node Setting up nnir
@ -21191,7 +21191,7 @@ named @code{home} you can use
@lisp
(setq gnus-secondary-select-methods
'((nnml "home"
'((nnml "home"
(nnimap-address "localhost")
(nnir-search-engine namazu))))
@end lisp
@ -21216,9 +21216,9 @@ could change this to
@node The imap Engine
@subsubsection The imap Engine
The @code{imap} engine requires no configuration.
The @code{imap} engine requires no configuration.
Queries using the @code{imap} engine follow a simple query language.
Queries using the @code{imap} engine follow a simple query language.
The search is always case-insensitive and supports the following
features (inspired by the Google search input language):
@ -21231,7 +21231,7 @@ operators must be written with all capital letters to be
recognised. Also preceding a term with a - sign is equivalent to NOT
term.
@item Automatic AND queries
@item Automatic AND queries
If you specify multiple words then they will be treated as an AND
expression intended to match all components.
@ -21264,7 +21264,7 @@ customize @code{nnir-imap-default-search-key}. For example to use
@node The gmane Engine
@subsubsection The gmane Engine
The @code{gmane} engine requires no configuration.
The @code{gmane} engine requires no configuration.
Gmane queries follow a simple query language:
@ -21278,11 +21278,11 @@ recognised.
@item Required and excluded terms
+ and - can be used to require or exclude terms, e.g. football -american
@item Unicode handling
@item Unicode handling
The search engine converts all text to utf-8, so searching should work
in any language.
@item Stopwords
@item Stopwords
Common English words (like 'the' and 'a') are ignored by default. You
can override this by prefixing such words with a + (e.g. +the) or
enclosing the word in quotes (e.g. "the").
@ -21345,7 +21345,7 @@ to get a group name. By default this is @code{$HOME/Mail}.
Using the namazu engine requires creating and maintaining index files.
One directory should contain all the index files, and nnir must be told
where to find them by setting the @code{nnir-namazu-index-directory}
variable.
variable.
To work correctly the @code{nnir-namazu-remove-prefix} variable must
also be correct. This is the prefix to remove from each file name
@ -21408,7 +21408,7 @@ this command periodically, say every four hours.
This engine is obsolete.
@node Customizations
@subsubsection Custimozations
@subsubsection Customizations
@table @code

View file

@ -621,6 +621,10 @@ view-diary-entries, list-diary-entries, show-all-diary-entries
inserted by the compilation filter function, when calling
compilation-filter-hook.
*** `compilation-error-screen-columns' is obeyed in the editing buffer.
So programming language modes can set it, whereas previously only the value
in the *compilation* buffer was used.
** Customize
*** Customize buffers now contain a search field.

View file

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 210 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 202 B

After

Width:  |  Height:  |  Size: 202 B

Before After
Before After

View file

@ -451,7 +451,7 @@ displays them, incorrectly, as separate from the modified glyphs.")
;; them, and the recipient's client is capable, they will get through,
;; though.
("_\"" "̈") ;; Centralised U+0308
("_\"" "̈") ;; Centralized U+0308
("_+" "̟") ;; Advanced U+031F
("_-" "̠") ;; Retracted U+0320
("_/" "ˇ") ;; Rising tone U+02C7

View file

@ -1,3 +1,120 @@
2011-11-11 Glenn Morris <rgm@gnu.org>
* subr.el (eval-after-load): If FILE is already loaded,
evaluate FORM before it gets wrapped in more stuff. (Bug#10009)
2011-11-10 Glenn Morris <rgm@gnu.org>
* vc/vc-svn.el (vc-svn-create-repo, vc-svn-modify-change-comment):
Call svn via vc-svn-command rather than vc-do-command.
(vc-svn-command): Add --non-interactive. (Bug#9993)
(vc-svn-update, vc-svn-merge-news): No need for --non-interactive.
* emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Add toggle-read-only. (Bug#7292)
* files.el (toggle-read-only): Mention that it should only
be used interactively. (Bug#10006)
2011-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Adjust regexp for OCaml warnings.
* electric.el (electric-pair-post-self-insert-function): Let user
turn it off buffer-locally (bug#9932).
* progmodes/python.el (python-beginning-of-statement):
Rewrite (bug#2703).
* progmodes/compile.el: Better handle TABs (bug#9749).
(compilation-internal-error-properties)
(compilation-next-error-function): Obey the target buffer's
compilation-error-screen-columns.
2011-11-09 Juanma Barranquero <lekktu@gmail.com>
* progmodes/meta-mode.el: Remove obsolete comments.
(meta-right-comment-regexp, meta-ignore-comment-regexp):
Fix typos in docstrings.
2011-11-09 Martin Rudalics <rudalics@gmx.at>
* window.el (window-size-fixed-p): Rewrite doc-string.
(window-resizable-p): Rename to window--resizable-p. Update callers.
(window--resizable): New function. Make all callers of
window-resizable call window--resizable instead.
(window-resizable): Rewrite in terms of window--resizable.
2011-11-08 Glenn Morris <rgm@gnu.org>
* progmodes/delphi.el (delphi-mode-syntax-table):
Let define-derived-mode define a proper syntax table. (Bug#9994)
2011-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
* window.el: Stay away from defsubst.
(window-list-no-nils): Remove.
(window-state-get-1, window-state-get): Use backquote instead.
2011-11-08 thierry <thierry.volpiatto@gmail.com>
* emacs-lisp/find-func.el (find-function-read):
Fix incorrect use of default argument in `completing-read'.
2011-11-08 Martin Rudalics <rudalics@gmx.at>
* window.el (display-buffer-function, special-display-function):
Mention display-buffer-record-window but do not mention
help-setup parameter in doc-strings.
(window-min-delta): Fix doc-string typo.
2011-11-08 Chong Yidong <cyd@gnu.org>
* window.el (window-total-height, window-total-width): Doc fix.
(window-body-size): Move from C.
(window-body-height, window-body-width): Move to C.
2011-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
* window.el: Make special-display like display-buffer-alist (bug#9532).
(display-buffer--special-action): New function, morphed
from display-buffer--special.
(display-buffer): Use it to handle special-display-buffers at higher
priority (just after display-buffer-alist).
(display-buffer-fallback-action, display-buffer--other-frame-action)
(pop-to-buffer-same-window): Remove display-buffer--special.
2011-11-07 Glenn Morris <rgm@gnu.org>
* calendar/cal-menu.el (cal-menu-set-date-title):
Do nothing if not in a calendar. (Bug#9976)
2011-11-07 Stefan Monnier <monnier@iro.umontreal.ca>
* files.el (find-file): Always use selected-window.
2011-11-07 Martin Rudalics <rudalics@gmx.at>
* window.el (window-combinations): Make WINDOW argument
mandatory. Rewrite doc-string.
(walk-window-subtree, window-atom-check, window-min-delta)
(window-max-delta, window--resize-this-window)
(window--resize-root-window-vertically, window-tree)
(balance-windows, window-state-put): Rewrite doc-strings as to
not mention the term "subwindow".
(window--resize-subwindows-skip-p): Rename to
window--resize-child-windows-skip-p.
(window--resize-subwindows-normal): Rename to
window--resize-child-windows-normal.
(window--resize-subwindows): Rename to
window--resize-child-windows.
(window-or-subwindow-p): Rename to window--in-subtree-p.
2011-11-07 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change)
* mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text):
Ensure that mbox format messages end in two newlines (Bug#9974).
2011-11-06 Chong Yidong <cyd@gnu.org>
* window.el (window-combination-p): Function deleted; its
@ -11,7 +128,7 @@
(window-size-ignore, window-state-get): Callers changed.
(window-normalize-window): Rename from window-normalize-any-window.
New arg LIVE-ONLY, replacing window-normalize-live-window.
(window-normalize-live-window): Deleted.
(window-normalize-live-window): Delete.
(window-combination-p, window-combined-p, window-combinations)
(walk-window-subtree, window-atom-root, window-min-size)
(window-sizable, window-sizable-p, window-size-fixed-p)

View file

@ -215,13 +215,15 @@ is non-nil."
;; but easymenu does not seem to allow this (?).
;; The ignore-errors is because `documentation' can end up calling
;; this in a non-calendar buffer where displayed-month is unbound. (Bug#3862)
;; This still has issues - bug#9976, so added derived-mode-p call.
(defun cal-menu-set-date-title (menu)
"Convert date of last event to title suitable for MENU."
(let ((date (ignore-errors (calendar-cursor-to-date nil last-input-event))))
(if date
(easy-menu-filter-return menu (calendar-date-string date t nil))
(message "Not on a date!")
nil)))
(when (derived-mode-p 'calendar-mode)
(let ((date (ignore-errors (calendar-cursor-to-date nil last-input-event))))
(if date
(easy-menu-filter-return menu (calendar-date-string date t nil))
(message "Not on a date!")
nil))))
(easy-menu-define cal-menu-context-mouse-menu nil
"Pop up mouse menu for selected date in the calendar window."

View file

@ -194,7 +194,7 @@ Any other value is treated as t."
:tag "Column Formating"
(const :tag "No Formating" nil)
(const :tag "Column Alignment" t)
(const :tag "Separator Aligment" separator)
(const :tag "Separator Alignment" separator)
(const :tag "Column Padding" padding))
:group 'columns)

View file

@ -284,6 +284,7 @@ This can be convenient for people who find it easier to hit ) than C-f."
(defun electric-pair-post-self-insert-function ()
(let* ((syntax (and (eq (char-before) last-command-event) ; Sanity check.
electric-pair-mode
(let ((x (assq last-command-event electric-pair-pairs)))
(cond
(x (if (eq (car x) (cdr x)) ?\" ?\())

View file

@ -355,7 +355,7 @@ else the global value will be modified."
(defvar byte-compile-interactive-only-functions
'(beginning-of-buffer end-of-buffer replace-string replace-regexp
insert-file insert-buffer insert-file-literally previous-line next-line
goto-line comint-run delete-backward-char)
goto-line comint-run delete-backward-char toggle-read-only)
"List of commands that are not meant to be called from Lisp.")
(defvar byte-compile-not-obsolete-vars nil

View file

@ -363,29 +363,23 @@ If TYPE is nil, insist on a symbol with a function definition.
Otherwise TYPE should be `defvar' or `defface'.
If TYPE is nil, defaults using `function-called-at-point',
otherwise uses `variable-at-point'."
(let ((symb (if (null type)
(function-called-at-point)
(if (eq type 'defvar)
(variable-at-point)
(variable-at-point t))))
(predicate (cdr (assq type '((nil . fboundp) (defvar . boundp)
(defface . facep)))))
(prompt (cdr (assq type '((nil . "function") (defvar . "variable")
(defface . "face")))))
(enable-recursive-minibuffers t)
val)
(if (equal symb 0)
(setq symb nil))
(setq val (completing-read
(concat "Find "
prompt
(if symb
(format " (default %s)" symb))
": ")
obarray predicate t nil))
(list (if (equal val "")
symb
(intern val)))))
(let* ((symb1 (cond ((null type) (function-called-at-point))
((eq type 'defvar) (variable-at-point))
(t (variable-at-point t))))
(symb (unless (eq symb1 0) symb1))
(predicate (cdr (assq type '((nil . fboundp)
(defvar . boundp)
(defface . facep)))))
(prompt-type (cdr (assq type '((nil . "function")
(defvar . "variable")
(defface . "face")))))
(prompt (concat "Find " prompt-type
(and symb (format " (default %s)" symb))
": "))
(enable-recursive-minibuffers t))
(list (intern (completing-read
prompt obarray predicate
t nil nil (and symb (symbol-name symb)))))))
(defun find-function-do-it (symbol type switch-fn)
"Find Emacs Lisp SYMBOL in a buffer and display it.

View file

@ -2484,7 +2484,7 @@ Argument GOLD-BINDING is the Emacs function to be bound to GOLD <KEY>."
F10: Cut Rectangle
G-F10: Paste Rectangle
F11: ESC
F12: Begining of Line +----------+----------+----------+----------+
F12: Beginning of Line +----------+----------+----------+----------+
G-F12: Delete Other Windows | GOLD | HELP | FNDNXT | DEL L |
F13: Delete to Begin of Word | (PF1) | (PF2) | (PF3) | (PF4) |
HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L |

View file

@ -1343,7 +1343,7 @@ automatically choosing a major mode, use \\[find-file-literally]."
(let ((value (find-file-noselect filename nil nil wildcards)))
(if (listp value)
(mapcar 'switch-to-buffer (nreverse value))
(switch-to-buffer value))))
(switch-to-buffer value nil 'force-same-window))))
(defun find-file-other-window (filename &optional wildcards)
"Edit file FILENAME, in another window.
@ -4686,7 +4686,15 @@ prints a message in the minibuffer. Instead, use `set-buffer-modified-p'."
"Change whether this buffer is read-only.
With prefix argument ARG, make the buffer read-only if ARG is
positive, otherwise make it writable. If buffer is read-only
and `view-read-only' is non-nil, enter view mode."
and `view-read-only' is non-nil, enter view mode.
This function is usually the wrong thing to use in a Lisp program.
It can have side-effects beyond changing the read-only status of a buffer
\(e.g., enabling view mode), and does not affect read-only regions that
are caused by text properties. To make a buffer read-only in Lisp code,
set `buffer-read-only'. To ignore read-only status (whether due to text
properties or buffer state) and make changes, temporarily bind
`inhibit-read-only'."
(interactive "P")
(if (and arg
(if (> (prefix-numeric-value arg) 0) buffer-read-only

View file

@ -1436,7 +1436,7 @@ like an INI file. You can add this hook to `find-file-hook'."
"REGDB_APPPATH"
"REGDB_BINARY"
"REGDB_ERR_CONNECTIONEXISTS"
"REGDB_ERR_CORRUPTEDREGSITRY"
"REGDB_ERR_CORRUPTEDREGISTRY"
"REGDB_ERR_INITIALIZATION"
"REGDB_ERR_INVALIDHANDLE"
"REGDB_ERR_INVALIDNAME"

View file

@ -18491,7 +18491,7 @@
2004-10-05 Jesper Harder <harder@ifa.au.dk>
* nnsoup.el (nnsoup-read-active-file): Use dolist, mapc or last
where approriate.
where appropriate.
* nnml.el (nnml-generate-active-info): do.

View file

@ -689,7 +689,7 @@ The following commands are available:
(dolist (key smime-keys)
(insert
(format "\t\t%s: %s\n" (car key) (cadr key))))
(insert "\nTrusted Certificate Authoritys:\n")
(insert "\nTrusted Certificate Authorities:\n")
(insert "\nKnown Certificates:\n"))))
(defun smime ()

View file

@ -22,7 +22,7 @@
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Comentary:
;;; Commentary:
;; Functionalities
;; ---------------

View file

@ -1721,10 +1721,12 @@ not be a new one). It returns non-nil if it got any new messages."
(setq all-files (cdr all-files)))
;; Put them back in their original order.
(setq files (nreverse files))
;; In case of brain damage caused by require-final-newline.
(goto-char (point-max))
(skip-chars-backward " \t\n")
(delete-region (point) (point-max))
;; Make sure we end with a blank line unless there are
;; no messages, as required by mbox format (Bug#9974).
(unless (bobp)
(while (not (looking-back "\n\n"))
(insert "\n")))
(setq found (or
(rmail-get-new-mail-1 file-name files delete-files)
found))))
@ -2024,22 +2026,12 @@ Value is the size of the newly read mail after conversion."
(rmail-unrmail-new-mail-maybe
tofile
(nth 1 (insert-file-contents tofile))))
;; Determine if a pair of newline message separators need
;; to be added to the new collection of messages. This is
;; the case for all new message collections added to a
;; non-empty mail file.
(unless (zerop size)
(save-restriction
(let ((start (point-min)))
(widen)
(unless (eq start (point-min))
(goto-char start)
(insert "\n\n")
(setq size (+ 2 size))))))
(goto-char (point-max))
(or (= (preceding-char) ?\n)
(zerop size)
(insert ?\n))
;; Make sure the read-in mbox data properly ends with a
;; blank line unless it is of size 0.
(unless (zerop size)
(while (not (looking-back "\n\n"))
(insert "\n")))
(if (not (and rmail-preserve-inbox (string= file tofile)))
(setq delete-files (cons tofile delete-files)))))
(message "")

View file

@ -774,7 +774,7 @@ to their attributes."
(cons
(1+ (length "password"))
(mapcar
;; Atribute names have a leading ":", which will be suppressed.
;; Attribute names have a leading ":", which will be suppressed.
(lambda (attribute) (length (symbol-name (car attribute))))
attributes)))))
(cons

View file

@ -764,7 +764,7 @@ because you will take care of it on the day when scheduled."
:group 'org-agenda-skip
:group 'org-agenda-daily/weekly
:type '(choice
(const :tag "Alwas show prewarning" nil)
(const :tag "Always show prewarning" nil)
(const :tag "Remove prewarning if entry is scheduled" t)
(integer :tag "Restart prewarning N days before deadline")))
@ -1388,13 +1388,13 @@ When nil, such items are sorted as 0 minutes effort."
(tags . " %i %-12:c")
(search . " %i %-12:c"))
"Format specifications for the prefix of items in the agenda views.
An alist with five entries, each for the different agenda types. The
keys of the sublists are `agenda', `timeline', `todo', `search' and `tags'.
An alist with five entries, each for the different agenda types. The
keys of the sublists are `agenda', `timeline', `todo', `search' and `tags'.
The values are format strings.
This format works similar to a printf format, with the following meaning:
%c the category of the item, \"Diary\" for entries from the diary,
%c the category of the item, \"Diary\" for entries from the diary,
or as given by the CATEGORY keyword or derived from the file name
%i the icon category of the item, see `org-agenda-category-icon-alist'
%T the last tag of the item (ignore inherited tags, which come first)
@ -1408,10 +1408,10 @@ contain two additional characters: a question mark just after the `%'
and a whitespace/punctuation character just before the final letter.
If the first character after `%' is a question mark, the entire field
will only be included if the corresponding value applies to the current
entry. This is useful for fields which should have fixed width when
present, but zero width when absent. For example, \"%?-12t\" will
result in a 12 character time field if a time of the day is specified,
will only be included if the corresponding value applies to the current
entry. This is useful for fields which should have fixed width when
present, but zero width when absent. For example, \"%?-12t\" will
result in a 12 character time field if a time of the day is specified,
but will completely disappear in entries which do not contain a time.
If there is punctuation or whitespace character just before the final
@ -1420,7 +1420,7 @@ the value is not empty. For example, the format \"%-12:c\" leads to
\"Diary: \" if the category is \"Diary\". If the category were be
empty, no additional colon would be inserted.
The default value for the agenda sublist is \" %-12:c%?-12t% s\",
The default value for the agenda sublist is \" %-12:c%?-12t% s\",
which means:
- Indent the line with two space characters
@ -1697,7 +1697,7 @@ For example, this value makes those two functions available:
(?C bulk-cut))
With selected entries in an agenda buffer, `B R' will call
the custom function `set-category' on the selected entries.
the custom function `set-category' on the selected entries.
Note that functions in this alist don't need to be quoted."
:type 'alist
:group 'org-agenda)
@ -5003,9 +5003,9 @@ See also the user option `org-agenda-clock-consistency-checks'."
"\\(-\\{1,3\\}\\(\\[.*?\\]\\)\\)?")) ; group 3 is second
(tlstart 0.)
(tlend 0.)
(maxtime (org-hh:mm-string-to-minutes
(maxtime (org-hh:mm-string-to-minutes
(or (plist-get pl :max-duration) "24:00")))
(mintime (org-hh:mm-string-to-minutes
(mintime (org-hh:mm-string-to-minutes
(or (plist-get pl :min-duration) 0)))
(maxgap (org-hh:mm-string-to-minutes
;; default 30:00 means never complain

View file

@ -157,7 +157,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
(python-tracebacks-and-caml
"^[ \t]*File \\(\"?\\)\\([^,\" \n\t<>]+\\)\\1, lines? \\([0-9]+\\)-?\\([0-9]+\\)?\\(?:$\\|,\
\\(?: characters? \\([0-9]+\\)-?\\([0-9]+\\)?:\\)?\\([ \n]Warning:\\)?\\)"
\\(?: characters? \\([0-9]+\\)-?\\([0-9]+\\)?:\\)?\\([ \n]Warning\\(?: [0-9]+\\)?:\\)?\\)"
2 (3 . 4) (5 . 6) (7))
(comma
@ -1056,7 +1056,7 @@ FMTS is a list of format specs for transforming the file name.
(cadr (compilation--file-struct->loc-tree file-struct)))
(marker
(if marker-line (compilation--loc->marker (cadr marker-line))))
(compilation-error-screen-columns compilation-error-screen-columns)
(screen-columns compilation-error-screen-columns)
end-marker loc end-loc)
(if (not (and marker (marker-buffer marker)))
(setq marker nil) ; no valid marker for this file
@ -1064,16 +1064,21 @@ FMTS is a list of format specs for transforming the file name.
(catch 'marker ; find nearest loc, at least one exists
(dolist (x (cddr (compilation--file-struct->loc-tree
file-struct))) ; Loop over remaining lines.
(if (> (car x) loc) ; still bigger
(if (> (car x) loc) ; Still bigger.
(setq marker-line x)
(if (> (- (or (car marker-line) 1) loc)
(- loc (car x))) ; current line is nearer
(- loc (car x))) ; Current line is nearer.
(setq marker-line x))
(throw 'marker t))))
(setq marker (compilation--loc->marker (cadr marker-line))
marker-line (or (car marker-line) 1))
(with-current-buffer (marker-buffer marker)
(save-excursion
(let ((screen-columns
;; Obey the compilation-error-screen-columns of the target
;; buffer if its major mode set it buffer-locally.
(if (local-variable-p 'compilation-error-screen-columns)
compilation-error-screen-columns screen-columns)))
(save-excursion
(save-restriction
(widen)
(goto-char (marker-position marker))
@ -1081,17 +1086,15 @@ FMTS is a list of format specs for transforming the file name.
(beginning-of-line (- (or end-line line) marker-line -1))
(if (or (null end-col) (< end-col 0))
(end-of-line)
(compilation-move-to-column
end-col compilation-error-screen-columns))
(compilation-move-to-column end-col screen-columns))
(setq end-marker (point-marker)))
(beginning-of-line (if end-line
(- line end-line -1)
(- loc marker-line -1)))
(if col
(compilation-move-to-column
col compilation-error-screen-columns)
(compilation-move-to-column col screen-columns)
(forward-to-indentation 0))
(setq marker (point-marker))))))
(setq marker (point-marker)))))))
(setq loc (compilation-assq line (compilation--file-struct->loc-tree
file-struct)))
@ -2266,7 +2269,7 @@ This is the value of `next-error-function' in Compilation buffers."
(interactive "p")
(when reset
(setq compilation-current-error nil))
(let* ((columns compilation-error-screen-columns) ; buffer's local value
(let* ((screen-columns compilation-error-screen-columns)
(last 1)
(msg (compilation-next-error (or n 1) nil
(or compilation-current-error
@ -2301,29 +2304,34 @@ This is the value of `next-error-function' in Compilation buffers."
marker
(caar (compilation--loc->file-struct loc))
(cadr (car (compilation--loc->file-struct loc))))
(save-restriction
(widen)
(goto-char (point-min))
;; Treat file's found lines in forward order, 1 by 1.
(dolist (line (reverse (cddr (compilation--loc->file-struct loc))))
(when (car line) ; else this is a filename w/o a line#
(beginning-of-line (- (car line) last -1))
(setq last (car line)))
;; Treat line's found columns and store/update a marker for each.
(dolist (col (cdr line))
(if (compilation--loc->col col)
(if (eq (compilation--loc->col col) -1)
;; Special case for range end.
(end-of-line)
(compilation-move-to-column (compilation--loc->col col)
columns))
(beginning-of-line)
(skip-chars-forward " \t"))
(if (compilation--loc->marker col)
(set-marker (compilation--loc->marker col) (point))
(setf (compilation--loc->marker col) (point-marker)))
;; (setf (compilation--loc->timestamp col) timestamp)
)))))
(let ((screen-columns
;; Obey the compilation-error-screen-columns of the target
;; buffer if its major mode set it buffer-locally.
(if (local-variable-p 'compilation-error-screen-columns)
compilation-error-screen-columns screen-columns)))
(save-restriction
(widen)
(goto-char (point-min))
;; Treat file's found lines in forward order, 1 by 1.
(dolist (line (reverse (cddr (compilation--loc->file-struct loc))))
(when (car line) ; else this is a filename w/o a line#
(beginning-of-line (- (car line) last -1))
(setq last (car line)))
;; Treat line's found columns and store/update a marker for each.
(dolist (col (cdr line))
(if (compilation--loc->col col)
(if (eq (compilation--loc->col col) -1)
;; Special case for range end.
(end-of-line)
(compilation-move-to-column (compilation--loc->col col)
screen-columns))
(beginning-of-line)
(skip-chars-forward " \t"))
(if (compilation--loc->marker col)
(set-marker (compilation--loc->marker col) (point))
(setf (compilation--loc->marker col) (point-marker)))
;; (setf (compilation--loc->timestamp col) timestamp)
))))))
(compilation-goto-locus marker (compilation--loc->marker loc)
(compilation--loc->marker end-loc))
(setf (compilation--loc->visited loc) t)))

View file

@ -6481,7 +6481,7 @@ are CPerl, PerlStyle, GNU, K&R, BSD, C++ and Whitesmith.
The current value of style is memorized (unless there is a memorized
data already), may be restored by `cperl-set-style-back'.
Chosing \"Current\" style will not change style, so this may be used for
Choosing \"Current\" style will not change style, so this may be used for
side-effect of memorizing only. Examples in `cperl-style-examples'."
(interactive
(let ((list (mapcar (function (lambda (elt) (list (car elt))))

View file

@ -1959,10 +1959,6 @@ comment block. If not in a // comment, just does a normal newline."
kmap)
"Keymap used in Delphi mode.")
(defvar delphi-mode-syntax-table nil
"Delphi mode's syntax table. It is just a standard syntax table.
This is ok since we do our own keyword/comment/string face coloring.")
;;;###autoload
(define-derived-mode delphi-mode prog-mode "Delphi"
"Major mode for editing Delphi code. \\<delphi-mode-map>

View file

@ -1965,7 +1965,7 @@ Sets `gdb-thread-number' to new id."
(setq gud-running t)
;; GDB doesn't seem to respond to -thread-info before first stop or
;; thread exit (even in non-stop mode), so this is useless.
;; Behaviour may change in the future.
;; Behavior may change in the future.
(gdb-emit-signal gdb-buf-publisher 'update-threads))
;; -break-insert -t didn't give a reason before gdb 6.9

View file

@ -2155,7 +2155,7 @@ during jdb initialization depending on the value of
string
(concat "[ \t\n\r,\"" path-separator "]+")))))
;; See comentary for other debugger's marker filters - there you will find
;; See commentary for other debugger's marker filters - there you will find
;; important notes about STRING.
(defun gud-jdb-marker-filter (string)

View file

@ -27,53 +27,17 @@
;;
;; This Emacs Lisp package provides a major mode for editing Metafont
;; or MetaPost sources. It includes all the necessary code to set up
;; a major mode including an approriate syntax table, keymap, and a
;; a major mode including an appropriate syntax table, keymap, and a
;; mode-specific pull-down menu. It also provides a sophisticated set
;; of font-lock patterns, a fancy indentation function adapted from
;; AUCTeX's latex.el, and some basic mode-specific editing functions
;; such as functions to move to the beginning or end of the enclosing
;; environment, or to mark, re-indent, or comment-out environments.
;; On the other hand, it doesn't yet provide any functionality for
;; running Metafont or MetaPost in a shell buffer form within Emacs,
;; running Metafont or MetaPost in a shell buffer from within Emacs,
;; but such functionality might be added later, either as part of this
;; package or as a separate Emacs Lisp package.
;; Installation:
;;
;; An interface to running Metafont or MetaPost as a shell process
;; from within Emacs is currently under development as a separate
;; Emacs Lisp package (meta-buf.el). In order to have that package
;; loaded automatically when first entering Metafont or MetaPost mode,
;; you might use the load-hook provided in this package by adding
;; these lines to your startup file:
;;
;; (add-hook 'meta-mode-load-hook
;; (lambda () (require 'meta-buf)))
;;
;; The add-on package loaded this way may in turn make use of the
;; mode-hooks provided in this package to activate additional features
;; when entering Metafont or MetaPost mode.
;; Font Lock Support:
;;
;; If you are using global-font-lock-mode (introduced in Emacs 19.31),
;; fontification in Metafont and/or MetaPost mode will be activated
;; automatically. To speed up fontification for the rather complex
;; patterns used in these modes, it may be a good idea to activate
;; lazy-lock as a font-lock-support-mode (introduced in Emacs 19.32)
;; by adding these lines to your startup file:
;;
;; (global-font-lock-mode t)
;; (setq font-lock-support-mode 'lazy-lock-mode)
;;
;; If you are using an older version of Emacs, which doesn't provide
;; global-font-lock-mode or font-lock-support-mode, you can also
;; activate fontification in Metafont and/or MetaPost mode by adding
;; the following lines to your startup file:
;;
;; (add-hook 'meta-common-mode-hook 'turn-on-font-lock)
;; (add-hook 'meta-common-mode-hook 'turn-on-lazy-lock)
;; Customization:
;;
;; Following the usual Emacs Lisp coding conventions, the major modes
@ -88,10 +52,6 @@
;; Availability:
;;
;; This package is currently available via my "TeX Software" WWW page:
;;
;; http://www.thphy.uni-duesseldorf.de/~vieth/subjects/tex/software.html
;;
;; As of this version 1.0, this package will be uploaded to CTAN
;; archives, where it shall find a permanent home, presumably in
;; tex-archive/support/emacs-modes. It will also be submitted for
@ -104,7 +64,7 @@
;; v 0.2 -- 1997/02/03 UV Improved and debugged font-lock patterns.
;; Added indent-line-function for TAB.
;; v 0.3 -- 1997/02/17 UV Improved font-lock patterns and syntax table.
;; Improved and debbuged indentation function.
;; Improved and debugged indentation function.
;; v 0.4 -- 1997/02/18 UV Added functions to indent regions for M-C-q,
;; also added a preliminary mode-specific menu.
;; v 0.5 -- 1997/02/19 UV Added functions to skip to next or previous
@ -513,13 +473,13 @@ If the list was changed, sort the list and remove duplicates first."
:group 'meta-font)
(defcustom meta-right-comment-regexp nil
"Regexp matching comments that should be placed to the right margin."
"Regexp matching comments that should be placed on the right margin."
:type '(choice regexp
(const :tag "None" nil))
:group 'meta-font)
(defcustom meta-ignore-comment-regexp "%[^%]"
"Regexp matching comments that whose indentation should not be touched."
"Regexp matching comments whose indentation should not be touched."
:type 'regexp
:group 'meta-font)

View file

@ -948,22 +948,12 @@ Finds end of innermost nested class or method definition."
"Go to start of current statement.
Accounts for continuation lines, multi-line strings, and
multi-line bracketed expressions."
(beginning-of-line)
(python-beginning-of-string)
(let (point)
(while (and (python-continuation-line-p)
(if point
(< (point) point)
t))
(beginning-of-line)
(while
(if (python-backslash-continuation-line-p)
(progn
(forward-line -1)
(while (python-backslash-continuation-line-p)
(forward-line -1)))
(python-beginning-of-string)
(python-skip-out))
(setq point (point))))
(progn (forward-line -1) t)
(beginning-of-line)
(or (python-beginning-of-string)
(python-skip-out))))
(back-to-indentation))
(defun python-skip-out (&optional forward syntax)
@ -971,6 +961,7 @@ multi-line bracketed expressions."
Skip forward if FORWARD is non-nil, else backward.
If SYNTAX is non-nil it is the state returned by `syntax-ppss' at point.
Return non-nil if and only if skipping was done."
;; FIXME: Use syntax-ppss-toplevel-pos.
(let ((depth (syntax-ppss-depth (or syntax (syntax-ppss))))
(forward (if forward -1 1)))
(unless (zerop depth)

View file

@ -3510,7 +3510,7 @@ STRING are replaced by `-' and substrings are converted to lower case."
menu-list))
(setq comp-alist (cdr comp-alist)))
(setq menu-list (nreverse menu-list))
(vhdl-menu-split menu-list "Compler")))
(vhdl-menu-split menu-list "Compiler")))
["Use Local Error Regexp"
(customize-set-variable 'vhdl-compile-use-local-error-regexp
(not vhdl-compile-use-local-error-regexp))

View file

@ -32,7 +32,7 @@
;; This hack is mainly to show off the char table stuff.
;;
;; New entry points, `rot13', `rot13-string', and `rot13-region' that
;; performs Ceasar cipher encrypt/decrypt on buffers and strings, was
;; performs Caesar cipher encrypt/decrypt on buffers and strings, was
;; added by Simon Josefsson.
;;; Code:

View file

@ -1797,30 +1797,29 @@ This function makes or adds to an entry on `after-load-alist'."
(push elt after-load-alist))
;; Make sure `form' is evalled in the current lexical/dynamic code.
(setq form `(funcall ',(eval `(lambda () ,form) lexical-binding)))
(when (symbolp regexp-or-feature)
;; For features, the after-load-alist elements get run when `provide' is
;; called rather than at the end of the file. So add an indirection to
;; make sure that `form' is really run "after-load" in case the provide
;; call happens early.
(setq form
`(when load-file-name
(let ((fun (make-symbol "eval-after-load-helper")))
(fset fun `(lambda (file)
(if (not (equal file ',load-file-name))
nil
(remove-hook 'after-load-functions ',fun)
,',form)))
(add-hook 'after-load-functions fun)))))
;; Add FORM to the element unless it's already there.
(unless (member form (cdr elt))
(nconc elt (purecopy (list form))))
;; Is there an already loaded file whose name (or `provide' name)
;; matches FILE?
(if (if (stringp file)
(load-history-filename-element regexp-or-feature)
(featurep file))
(eval form))))
(prog1 (if (if (stringp file)
(load-history-filename-element regexp-or-feature)
(featurep file))
(eval form))
(when (symbolp regexp-or-feature)
;; For features, the after-load-alist elements get run when `provide' is
;; called rather than at the end of the file. So add an indirection to
;; make sure that `form' is really run "after-load" in case the provide
;; call happens early.
(setq form
`(when load-file-name
(let ((fun (make-symbol "eval-after-load-helper")))
(fset fun `(lambda (file)
(if (not (equal file ',load-file-name))
nil
(remove-hook 'after-load-functions ',fun)
,',form)))
(add-hook 'after-load-functions fun)))))
;; Add FORM to the element unless it's already there.
(unless (member form (cdr elt))
(nconc elt (purecopy (list form)))))))
(defvar after-load-functions nil
"Special hook run after loading a file.

View file

@ -443,7 +443,7 @@ of master file."
(defvar test-dummy)
(defun reftex-index-info (file)
;; Return an index entry for the current match.
;; Carefull: This function expects the match-data to be still in place!
;; Careful: This function expects the match-data to be still in place!
(catch 'exit
(let* ((macro (reftex-match-string 10))
(bom (match-beginning 10))

View file

@ -476,8 +476,8 @@ for modes derived from Text mode, like Mail mode."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Section Decoration Adjusment
;; ============================
;; Section Decoration Adjustment
;; =============================
;;
;; The following functions implement a smart automatic title sectioning feature.
;; The idea is that with the cursor sitting on a section title, we try to get as

View file

@ -257,7 +257,7 @@ request.")
(if (not (equal extra-headers ""))
(setq extra-headers (concat extra-headers "\r\n")))
;; This was done with a call to `format'. Concatting parts has
;; This was done with a call to `format'. Concatenating parts has
;; the advantage of keeping the parts of each header together and
;; allows us to elide null lines directly, at the cost of making
;; the layout less clear.

View file

@ -263,8 +263,8 @@ RESULT is a list of conses (FILE . STATE) for directory DIR."
(defun vc-svn-create-repo ()
"Create a new SVN repository."
(vc-do-command "*vc*" 0 "svnadmin" '("create" "SVN"))
(vc-do-command "*vc*" 0 vc-svn-program '(".")
"checkout" (concat "file://" default-directory "SVN")))
(vc-svn-command "*vc*" 0 "." "checkout"
(concat "file://" default-directory "SVN")))
(defun vc-svn-register (files &optional rev comment)
"Register FILES into the SVN version-control system.
@ -334,7 +334,6 @@ This is only possible if SVN is responsible for FILE's directory.")
;; Check out a particular version (or recreate the file).
(vc-file-setprop file 'vc-working-revision nil)
(apply 'vc-svn-command nil 0 file
"--non-interactive" ; bug#4280
"update"
(cond
((null rev) "-rBASE")
@ -373,7 +372,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
(message "Merging changes into %s..." file)
;; (vc-file-setprop file 'vc-working-revision nil)
(vc-file-setprop file 'vc-checkout-time 0)
(vc-svn-command nil 0 file "--non-interactive" "update") ; see bug#7152
(vc-svn-command nil 0 file "update")
;; Analyze the merge result reported by SVN, and set
;; file properties accordingly.
(with-current-buffer (get-buffer "*vc*")
@ -425,7 +424,7 @@ This is only supported if the repository access method is either file://
or svn+ssh://."
(let (tempfile host remotefile directory fileurl-p)
(with-temp-buffer
(vc-do-command (current-buffer) 0 vc-svn-program nil "info")
(vc-svn-command (current-buffer) 0 nil "info")
(goto-char (point-min))
(unless (re-search-forward "Repository Root: \\(file://\\(/.*\\)\\)\\|\\(svn\\+ssh://\\([^/]+\\)\\(/.*\\)\\)" nil t)
(error "Repository information is unavailable"))
@ -581,12 +580,19 @@ NAME is assumed to be a URL."
(defun vc-svn-command (buffer okstatus file-or-list &rest flags)
"A wrapper around `vc-do-command' for use in vc-svn.el.
The difference to vc-do-command is that this function always invokes `svn',
and that it passes `vc-svn-global-switches' to it before FLAGS."
(apply 'vc-do-command (or buffer "*vc*") okstatus vc-svn-program file-or-list
(if (stringp vc-svn-global-switches)
and that it passes \"--non-interactive\" and `vc-svn-global-switches' to
it before FLAGS."
;; Might be nice if svn defaulted to non-interactive if stdin not tty.
;; http://svn.haxx.se/dev/archive-2008-05/0762.shtml
;; http://svn.haxx.se/dev/archive-2009-04/0094.shtml
;; Maybe newer ones do?
(or (member "--non-interactive"
(setq flags (if (stringp vc-svn-global-switches)
(cons vc-svn-global-switches flags)
(append vc-svn-global-switches
flags))))
(append vc-svn-global-switches flags))))
(setq flags (cons "--non-interactive" flags)))
(apply 'vc-do-command (or buffer "*vc*") okstatus vc-svn-program file-or-list
flags))
(defun vc-svn-repository-hostname (dirname)
(with-temp-buffer

File diff suppressed because it is too large Load diff

View file

@ -1440,7 +1440,7 @@ The cdr of each alist element is the path-index / filename."
files))
(setq path-index (1+ path-index)))
;; Uniquefy topics:
;; Concate all lists with a single nconc call to
;; Concatenate all lists with a single nconc call to
;; avoid retraversing the first lists repeatedly -- dak
(woman-topic-all-completions-merge
(apply #'nconc files))))

View file

@ -3,6 +3,74 @@
* xdisp.c (fill_composite_glyph_string): Always set s->face, to
avoid a crash (bug#9496).
2011-11-09 Chong Yidong <cyd@gnu.org>
* window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
(Fwindow_inside_absolute_pixel_edges): Only allow live windows.
2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
* s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
Avoid some portability problems by eschewing 'extern inline' functions.
The trivial performance wins aren't worth the portability hassles; see
<http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>
et seq.
* dispextern.h (window_box, window_box_height, window_text_bottom_y)
(window_box_width, window_box_left, window_box_left_offset)
(window_box_right, window_box_right_offset): Undo previous change,
by removing the "extern"s.
* intervals.c (adjust_intervals_for_insertion)
(adjust_intervals_for_deletion): Undo previous change,
making these static again.
(offset_intervals, temp_set_point_both, temp_set_point)
(copy_intervals_to_string): No longer inline.
* xdisp.c (window_text_bottom_y, window_box_width)
(window_box_height, window_box_left_offset)
(window_box_right_offset, window_box_left, window_box_right)
(window_box): No longer inline.
2011-11-08 Chong Yidong <cyd@gnu.org>
* window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
(Fwindow_body_height, Fwindow_body_width): Move from Lisp. Signal
an error if not a live window.
(Fwindow_total_width, Fwindow_total_height): Move from Lisp.
(Fwindow_total_size, Fwindow_body_size): Move to Lisp.
2011-11-07 Juanma Barranquero <lekktu@gmail.com>
* lisp.h (syms_of_abbrev): Remove declaration.
Reported by CHENG Gao <chenggao@royau.me>.
2011-11-07 Eli Zaretskii <eliz@gnu.org>
* w32.c (check_windows_init_file): Don't look for term/w32-win.el
if Vpurify_flag is non-nil. Fixes a crash when running w32 build
of temacs in GUI mode.
2011-11-07 Martin Rudalics <rudalics@gmx.at>
* window.h: Declare delete_all_child_windows instead of
delete_all_subwindows.
* window.c (Fwindow_nest, Fset_window_nest)
(Fset_window_new_total, Fset_window_new_normal)
(Fwindow_resize_apply): Don't use term subwindow in doc-strings.
(delete_all_subwindows): Rename to delete_all_child_windows.
(Fdelete_other_windows_internal, Fset_window_configuration):
Call delete_all_child_windows instead of delete_all_subwindows.
* frame.c (delete_frame): Call delete_all_child_windows instead
of delete_all_subwindows.
2011-11-07 Paul Eggert <eggert@cs.ucla.edu>
* alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
This is also needed for porting to any host where GC_MARK_STACK is
not GC_MAKE_GCPROS_NOOPS.
(which_symbols): Use it.
2011-11-07 Kenichi Handa <handa@m17n.org>
* coding.c (coding_set_destination): Check coding->src_pos only

View file

@ -315,6 +315,7 @@ static POINTER_TYPE *lisp_malloc (size_t, enum mem_type);
on free lists recognizable in O(1). */
static Lisp_Object Vdead;
#define DEADP(x) EQ (x, Vdead)
#ifdef GC_MALLOC_CHECK
@ -411,6 +412,10 @@ static void check_gcpros (void);
#endif /* GC_MARK_STACK || GC_MALLOC_CHECK */
#ifndef DEADP
# define DEADP(x) 0
#endif
/* Recording what needs to be marked for gc. */
struct gcpro *gcprolist;
@ -6261,7 +6266,7 @@ which_symbols (Lisp_Object obj, EMACS_INT find_max)
int gc_count = inhibit_garbage_collection ();
Lisp_Object found = Qnil;
if (!EQ (obj, Vdead))
if (! DEADP (obj))
{
for (sblk = symbol_block; sblk; sblk = sblk->next)
{

View file

@ -429,7 +429,7 @@ static Lisp_Object Vccl_program_table;
#define CCL_Extension 0x1F /* Extended CCL code
1:ExtendedCOMMNDRrrRRRrrrXXXXX
2:ARGUEMENT
2:ARGUMENT
3:...
------------------------------
extended_command (rrr,RRR,Rrr,ARGS)

View file

@ -3006,14 +3006,14 @@ int resize_mini_window (struct window *, int);
void set_vertical_scroll_bar (struct window *);
#endif
int try_window (Lisp_Object, struct text_pos, int);
extern void window_box (struct window *, int, int *, int *, int *, int *);
extern int window_box_height (struct window *);
extern int window_text_bottom_y (struct window *);
extern int window_box_width (struct window *, int);
extern int window_box_left (struct window *, int);
extern int window_box_left_offset (struct window *, int);
extern int window_box_right (struct window *, int);
extern int window_box_right_offset (struct window *, int);
void window_box (struct window *, int, int *, int *, int *, int *);
int window_box_height (struct window *);
int window_text_bottom_y (struct window *);
int window_box_width (struct window *, int);
int window_box_left (struct window *, int);
int window_box_left_offset (struct window *, int);
int window_box_right (struct window *, int);
int window_box_right_offset (struct window *, int);
int estimate_mode_line_height (struct frame *, enum face_id);
void pixel_to_glyph_coords (struct frame *, int, int, int *, int *,
NativeRectangle *, int);

View file

@ -162,7 +162,7 @@ static struct font_driver_list *font_driver_list;
/* Creaters of font-related Lisp object. */
/* Creators of font-related Lisp object. */
static Lisp_Object
font_make_spec (void)

View file

@ -1320,7 +1320,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
/* Mark all the windows that used to be on FRAME as deleted, and then
remove the reference to them. */
delete_all_subwindows (f->root_window);
delete_all_child_windows (f->root_window);
f->root_window = Qnil;
Vframe_list = Fdelq (frame, Vframe_list);

View file

@ -52,11 +52,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define TMEM(sym, set) (CONSP (set) ? ! NILP (Fmemq (sym, set)) : ! NILP (set))
extern INTERVAL adjust_intervals_for_insertion (INTERVAL,
EMACS_INT, EMACS_INT);
extern void adjust_intervals_for_deletion (struct buffer *,
EMACS_INT, EMACS_INT);
static Lisp_Object merge_properties_sticky (Lisp_Object, Lisp_Object);
static INTERVAL merge_interval_right (INTERVAL);
static INTERVAL reproduce_tree (INTERVAL, INTERVAL);
@ -803,7 +798,7 @@ update_interval (register INTERVAL i, EMACS_INT pos)
and check the hungry bits of both. Then add the length going back up
to the root. */
INTERVAL
static INTERVAL
adjust_intervals_for_insertion (INTERVAL tree, EMACS_INT position,
EMACS_INT length)
{
@ -864,7 +859,7 @@ adjust_intervals_for_insertion (INTERVAL tree, EMACS_INT position,
interval. Another possibility would be to create a new interval for
this text, and make it have the merged properties of both ends. */
INTERVAL
static INTERVAL
adjust_intervals_for_insertion (INTERVAL tree,
EMACS_INT position, EMACS_INT length)
{
@ -1374,7 +1369,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from,
text. The deletion is effected at position START (which is a
buffer position, i.e. origin 1). */
void
static void
adjust_intervals_for_deletion (struct buffer *buffer,
EMACS_INT start, EMACS_INT length)
{
@ -1430,7 +1425,7 @@ adjust_intervals_for_deletion (struct buffer *buffer,
compiler that does not allow calling a static function (here,
adjust_intervals_for_deletion) from a non-static inline function. */
inline void
void
offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length)
{
if (NULL_INTERVAL_P (BUF_INTERVALS (buffer)) || length == 0)
@ -1882,7 +1877,7 @@ lookup_char_property (Lisp_Object plist, register Lisp_Object prop, int textprop
/* Set point in BUFFER "temporarily" to CHARPOS, which corresponds to
byte position BYTEPOS. */
inline void
void
temp_set_point_both (struct buffer *buffer,
EMACS_INT charpos, EMACS_INT bytepos)
{
@ -1902,7 +1897,7 @@ temp_set_point_both (struct buffer *buffer,
/* Set point "temporarily", without checking any text properties. */
inline void
void
temp_set_point (struct buffer *buffer, EMACS_INT charpos)
{
temp_set_point_both (buffer, charpos,
@ -2391,7 +2386,7 @@ copy_intervals (INTERVAL tree, EMACS_INT start, EMACS_INT length)
/* Give STRING the properties of BUFFER from POSITION to LENGTH. */
inline void
void
copy_intervals_to_string (Lisp_Object string, struct buffer *buffer,
EMACS_INT position, EMACS_INT length)
{

View file

@ -3155,10 +3155,6 @@ extern void syms_of_fileio (void);
extern Lisp_Object make_temp_name (Lisp_Object, int);
extern Lisp_Object Qdelete_file;
/* Defined in abbrev.c */
extern void syms_of_abbrev (void);
/* Defined in search.c */
extern void shrink_regexp_cache (void);
EXFUN (Fstring_match, 3);

View file

@ -44,3 +44,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif /* !_IO_STDIO_H */
#endif /* emacs */
/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS

View file

@ -5784,7 +5784,10 @@ check_windows_init_file (void)
it cannot find the Windows installation file. If this file does
not exist in the expected place, tell the user. */
if (!noninteractive && !inhibit_window_system)
if (!noninteractive && !inhibit_window_system
/* Vload_path is not yet initialized when we are loading
loadup.el. */
&& NILP (Vpurify_flag))
{
Lisp_Object objs[2];
Lisp_Object full_load_path;

View file

@ -504,8 +504,8 @@ DEFUN ("window-nest", Fwindow_nest, Swindow_nest, 0, 1, 0,
doc: /* Return nest status of window WINDOW.
If WINDOW is omitted or nil, it defaults to the selected window.
If the return value is nil, subwindows of WINDOW can be recombined with
WINDOW's siblings. A return value of non-nil means that subwindows of
If the return value is nil, child windows of WINDOW can be recombined with
WINDOW's siblings. A return value of non-nil means that child windows of
WINDOW are never \(re-)combined with WINDOW's siblings. */)
(Lisp_Object window)
{
@ -516,8 +516,8 @@ DEFUN ("set-window-nest", Fset_window_nest, Sset_window_nest, 2, 2, 0,
doc: /* Set nest status of window WINDOW to STATUS; return STATUS.
If WINDOW is omitted or nil, it defaults to the selected window.
If STATUS is nil, subwindows of WINDOW can be recombined with WINDOW's
siblings. STATUS non-nil means that subwindows of WINDOW are never
If STATUS is nil, child windows of WINDOW can be recombined with WINDOW's
siblings. STATUS non-nil means that child windows of WINDOW are never
\(re-)combined with WINDOW's siblings. */)
(Lisp_Object window, Lisp_Object status)
{
@ -539,27 +539,34 @@ selected one. */)
return decode_window (window)->use_time;
}
DEFUN ("window-total-size", Fwindow_total_size, Swindow_total_size, 0, 2, 0,
doc: /* Return the total number of lines of window WINDOW.
DEFUN ("window-total-height", Fwindow_total_height, Swindow_total_height, 0, 1, 0,
doc: /* Return the total height, in lines, of window WINDOW.
If WINDOW is omitted or nil, it defaults to the selected window.
The return value includes WINDOW's mode line and header line, if any.
If WINDOW is internal, the return value is the sum of the total number
of lines of WINDOW's child windows if these are vertically combined
and the height of WINDOW's first child otherwise.
The return value includes the mode line and header line, if any.
If WINDOW is an internal window, the total height is the height
of the screen areas spanned by its children.
Optional argument HORIZONTAL non-nil means return the total number of
columns of WINDOW. In this case the return value includes any vertical
dividers or scrollbars of WINDOW. If WINDOW is internal, the return
value is the sum of the total number of columns of WINDOW's child
windows if they are horizontally combined and the width of WINDOW's
first child otherwise. */)
(Lisp_Object window, Lisp_Object horizontal)
On a graphical display, this total height is reported as an
integer multiple of the default character height. */)
(Lisp_Object window)
{
if (NILP (horizontal))
return decode_any_window (window)->total_lines;
else
return decode_any_window (window)->total_cols;
return decode_any_window (window)->total_lines;
}
DEFUN ("window-total-width", Fwindow_total_width, Swindow_total_width, 0, 1, 0,
doc: /* Return the total width, in columns, of window WINDOW.
If WINDOW is omitted or nil, it defaults to the selected window.
The return value includes any vertical dividers or scroll bars
belonging to WINDOW. If WINDOW is an internal window, the total width
is the width of the screen areas spanned by its children.
On a graphical display, this total width is reported as an
integer multiple of the default character width. */)
(Lisp_Object window)
{
return decode_any_window (window)->total_cols;
}
DEFUN ("window-new-total", Fwindow_new_total, Swindow_new_total, 0, 1, 0,
@ -592,6 +599,10 @@ If WINDOW is omitted or nil, it defaults to the selected window. */)
DEFUN ("window-left-column", Fwindow_left_column, Swindow_left_column, 0, 1, 0,
doc: /* Return left column of window WINDOW.
This is the distance, in columns, between the left edge of WINDOW and
the left edge of the frame's window area. For instance, the return
value is 0 if there is no window to the left of WINDOW.
If WINDOW is omitted or nil, it defaults to the selected window. */)
(Lisp_Object window)
{
@ -600,6 +611,10 @@ If WINDOW is omitted or nil, it defaults to the selected window. */)
DEFUN ("window-top-line", Fwindow_top_line, Swindow_top_line, 0, 1, 0,
doc: /* Return top line of window WINDOW.
This is the distance, in lines, between the top of WINDOW and the top
of the frame's window area. For instance, the return value is 0 if
there is no window above WINDOW.
If WINDOW is omitted or nil, it defaults to the selected window. */)
(Lisp_Object window)
{
@ -655,34 +670,34 @@ window_body_cols (struct window *w)
return width;
}
DEFUN ("window-body-size", Fwindow_body_size, Swindow_body_size, 0, 2, 0,
doc: /* Return the number of lines or columns of WINDOW's body.
WINDOW must be a live window and defaults to the selected one.
DEFUN ("window-body-height", Fwindow_body_height, Swindow_body_height, 0, 1, 0,
doc: /* Return the height, in lines, of WINDOW's text area.
If WINDOW is omitted or nil, it defaults to the selected window.
Signal an error if the window is not live.
If the optional argument HORIZONTAL is omitted or nil, the function
returns the number of WINDOW's lines, excluding the mode line and
header line, if any.
If HORIZONTAL is non-nil, the function returns the number of columns
excluding any vertical dividers or scroll bars owned by WINDOW. On a
window-system the return value also excludes the number of columns
used for WINDOW's fringes or display margins.
Note that the return value is measured in canonical units, i.e. for
the default frame's face. If the window shows some characters with
non-default face, e.g., if the font of some characters is larger or
smaller than the default font, the value returned by this function
will not match the actual number of lines or characters per line
shown in the window. To get the actual number of columns and lines,
use `posn-at-point'. */)
(Lisp_Object window, Lisp_Object horizontal)
The returned height does not include the mode line or header line.
On a graphical display, the height is expressed as an integer multiple
of the default character height. If a line at the bottom of the text
area is only partially visible, that counts as a whole line; to
exclude partially-visible lines, use `window-text-height'. */)
(Lisp_Object window)
{
struct window *w = decode_any_window (window);
struct window *w = decode_window (window);
return make_number (window_body_lines (w));
}
if (NILP (horizontal))
return make_number (window_body_lines (w));
else
return make_number (window_body_cols (w));
DEFUN ("window-body-width", Fwindow_body_width, Swindow_body_width, 0, 1, 0,
doc: /* Return the width, in columns, of WINDOW's text area.
If WINDOW is omitted or nil, it defaults to the selected window.
Signal an error if the window is not live.
The return value does not include any vertical dividers, fringe or
marginal areas, or scroll bars. On a graphical display, the width is
expressed as an integer multiple of the default character width. */)
(Lisp_Object window)
{
struct window *w = decode_window (window);
return make_number (window_body_cols (w));
}
DEFUN ("window-hscroll", Fwindow_hscroll, Swindow_hscroll, 0, 1, 0,
@ -844,7 +859,7 @@ The inside edges do not include the space used by the WINDOW's scroll
bar, display margins, fringes, header line, and/or mode line. */)
(Lisp_Object window)
{
register struct window *w = decode_any_window (window);
register struct window *w = decode_window (window);
return list4 (make_number (WINDOW_BOX_LEFT_EDGE_COL (w)
+ WINDOW_LEFT_MARGIN_COLS (w)
@ -859,9 +874,9 @@ bar, display margins, fringes, header line, and/or mode line. */)
}
DEFUN ("window-inside-pixel-edges", Fwindow_inside_pixel_edges, Swindow_inside_pixel_edges, 0, 1, 0,
doc: /* Return a list of the edge pixel coordinates of WINDOW.
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at
the top left corner of the frame.
doc: /* Return a list of the edge pixel coordinates of WINDOW's text area.
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to (0,0)
at the top left corner of the frame's window area.
RIGHT is one more than the rightmost x position of WINDOW's text area.
BOTTOM is one more than the bottommost y position of WINDOW's text area.
@ -869,7 +884,7 @@ The inside edges do not include the space used by WINDOW's scroll bar,
display margins, fringes, header line, and/or mode line. */)
(Lisp_Object window)
{
register struct window *w = decode_any_window (window);
register struct window *w = decode_window (window);
return list4 (make_number (WINDOW_BOX_LEFT_EDGE_X (w)
+ WINDOW_LEFT_MARGIN_WIDTH (w)
@ -886,9 +901,9 @@ display margins, fringes, header line, and/or mode line. */)
DEFUN ("window-inside-absolute-pixel-edges",
Fwindow_inside_absolute_pixel_edges,
Swindow_inside_absolute_pixel_edges, 0, 1, 0,
doc: /* Return a list of the edge pixel coordinates of WINDOW.
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at
the top left corner of the display.
doc: /* Return a list of the edge pixel coordinates of WINDOW's text area.
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to (0,0)
at the top left corner of the frame's window area.
RIGHT is one more than the rightmost x position of WINDOW's text area.
BOTTOM is one more than the bottommost y position of WINDOW's text area.
@ -896,7 +911,7 @@ The inside edges do not include the space used by WINDOW's scroll bar,
display margins, fringes, header line, and/or mode line. */)
(Lisp_Object window)
{
register struct window *w = decode_any_window (window);
register struct window *w = decode_window (window);
int add_x, add_y;
calc_absolute_offset (w, &add_x, &add_y);
@ -2571,9 +2586,9 @@ DEFUN ("delete-other-windows-internal", Fdelete_other_windows_internal,
Only the frame WINDOW is on is affected. WINDOW may be any window and
defaults to the selected one.
Optional argument ROOT, if non-nil, must specify an internal window
containing WINDOW as a subwindow. If this is the case, replace ROOT by
WINDOW and leave alone any windows not contained in ROOT.
Optional argument ROOT, if non-nil, must specify an internal window such
that WINDOW is in its window subtree. If this is the case, replace ROOT
by WINDOW and leave alone any windows not part of ROOT's subtree.
When WINDOW is live try to reduce display jumps by keeping the text
previously visible in WINDOW in the same place on the frame. Doing this
@ -2637,10 +2652,10 @@ window-start value is reasonable when this function is called. */)
}
else
{
/* See if the frame's selected window is a subwindow of WINDOW, by
finding all the selected window's parents and comparing each
one with WINDOW. If it isn't we need a new selected window for
this frame. */
/* See if the frame's selected window is a part of the window
subtree rooted at WINDOW, by finding all the selected window's
parents and comparing each one with WINDOW. If it isn't we
need a new selected window for this frame. */
swindow = FRAME_SELECTED_WINDOW (f);
while (1)
{
@ -2676,7 +2691,7 @@ window-start value is reasonable when this function is called. */)
if (NILP (w->buffer))
{
/* Resize subwindows vertically. */
/* Resize child windows vertically. */
XSETINT (delta, XINT (r->total_lines) - XINT (w->total_lines));
w->top_line = r->top_line;
resize_root_window (window, delta, Qnil, Qnil);
@ -2691,7 +2706,7 @@ window-start value is reasonable when this function is called. */)
resize_failed = 1;
}
/* Resize subwindows horizontally. */
/* Resize child windows horizontally. */
if (!resize_failed)
{
w->left_col = r->left_col;
@ -2740,15 +2755,15 @@ window-start value is reasonable when this function is called. */)
XWINDOW (w->parent)->hchild = sibling;
}
/* Delete ROOT and all subwindows of ROOT. */
/* Delete ROOT and all child windows of ROOT. */
if (!NILP (r->vchild))
{
delete_all_subwindows (r->vchild);
delete_all_child_windows (r->vchild);
r->vchild = Qnil;
}
else if (!NILP (r->hchild))
{
delete_all_subwindows (r->hchild);
delete_all_child_windows (r->hchild);
r->hchild = Qnil;
}
@ -3349,7 +3364,7 @@ Return SIZE.
Optional argument ADD non-nil means add SIZE to the new total size of
WINDOW and return the sum.
Note: This function does not operate on any subwindows of WINDOW. */)
Note: This function does not operate on any child windows of WINDOW. */)
(Lisp_Object window, Lisp_Object size, Lisp_Object add)
{
struct window *w = decode_any_window (window);
@ -3367,7 +3382,7 @@ DEFUN ("set-window-new-normal", Fset_window_new_normal, Sset_window_new_normal,
doc: /* Set new normal size of WINDOW to SIZE.
Return SIZE.
Note: This function does not operate on any subwindows of WINDOW. */)
Note: This function does not operate on any child windows of WINDOW. */)
(Lisp_Object window, Lisp_Object size)
{
struct window *w = decode_any_window (window);
@ -3378,7 +3393,7 @@ Note: This function does not operate on any subwindows of WINDOW. */)
/* Return 1 if setting w->total_lines (w->total_cols if HORFLAG is
non-zero) to w->new_total would result in correct heights (widths)
for window W and recursively all subwindows of W.
for window W and recursively all child windows of W.
Note: This function does not check any of `window-fixed-size-p',
`window-min-height' or `window-min-width'. It does check that window
@ -3393,7 +3408,7 @@ window_resize_check (struct window *w, int horflag)
{
c = XWINDOW (w->vchild);
if (horflag)
/* All subwindows of W must have the same width as W. */
/* All child windows of W must have the same width as W. */
{
while (c)
{
@ -3405,8 +3420,8 @@ window_resize_check (struct window *w, int horflag)
return 1;
}
else
/* The sum of the heights of the subwindows of W must equal W's
height. */
/* The sum of the heights of the child windows of W must equal
W's height. */
{
int sum_of_sizes = 0;
while (c)
@ -3424,7 +3439,7 @@ window_resize_check (struct window *w, int horflag)
{
c = XWINDOW (w->hchild);
if (horflag)
/* The sum of the widths of the subwindows of W must equal W's
/* The sum of the widths of the child windows of W must equal W's
width. */
{
int sum_of_sizes = 0;
@ -3438,7 +3453,7 @@ window_resize_check (struct window *w, int horflag)
return (sum_of_sizes == XINT (w->new_total));
}
else
/* All subwindows of W must have the same height as W. */
/* All child windows of W must have the same height as W. */
{
while (c)
{
@ -3458,9 +3473,9 @@ window_resize_check (struct window *w, int horflag)
}
/* Set w->total_lines (w->total_cols if HORIZONTAL is non-zero) to
w->new_total for window W and recursively all subwindows of W. Also
calculate and assign the new vertical (horizontal) start positions of
each of these windows.
w->new_total for window W and recursively all child windows of W.
Also calculate and assign the new vertical (horizontal) start
positions of each of these windows.
This function does not perform any error checks. Make sure you have
run window_resize_check on W before applying this function. */
@ -3534,8 +3549,8 @@ Optional argument HORIZONTAL omitted or nil means apply requested height
values. HORIZONTAL non-nil means apply requested width values.
This function checks whether the requested values sum up to a valid
window layout, recursively assigns the new sizes of all subwindows and
calculates and assigns the new start positions of these windows.
window layout, recursively assigns the new sizes of all child windows
and calculates and assigns the new start positions of these windows.
Note: This function does not check any of `window-fixed-size-p',
`window-min-height' or `window-min-width'. All these checks have to
@ -3931,12 +3946,12 @@ Signal an error when WINDOW is the only window on its frame. */)
if (!NILP (w->vchild))
{
delete_all_subwindows (w->vchild);
delete_all_child_windows (w->vchild);
w->vchild = Qnil;
}
else if (!NILP (w->hchild))
{
delete_all_subwindows (w->hchild);
delete_all_child_windows (w->hchild);
w->hchild = Qnil;
}
else if (!NILP (w->buffer))
@ -5218,10 +5233,10 @@ and redisplay normally--don't erase and redraw the frame. */)
DEFUN ("window-text-height", Fwindow_text_height, Swindow_text_height,
0, 1, 0,
doc: /* Return the height in lines of the text display area of WINDOW.
WINDOW defaults to the selected window.
If WINDOW is omitted or nil, it defaults to the selected window.
The return value does not include the mode line, any header line, nor
any partial-height lines in the text display area. */)
The returned height does not include the mode line, any header line,
nor any partial-height lines at the bottom of the text area. */)
(Lisp_Object window)
{
struct window *w = decode_window (window);
@ -5515,7 +5530,7 @@ the return value is nil. Otherwise the value is t. */)
Save their current buffers in their height fields, since we may
need it later, if a buffer saved in the configuration is now
dead. */
delete_all_subwindows (FRAME_ROOT_WINDOW (f));
delete_all_child_windows (FRAME_ROOT_WINDOW (f));
for (k = 0; k < saved_windows->header.size; k++)
{
@ -5729,10 +5744,10 @@ the return value is nil. Otherwise the value is t. */)
}
/* Delete all subwindows reachable via the next, vchild, and hchild
slots of WINDOW. */
/* Recursively delete all child windows reachable via the next, vchild,
and hchild slots of WINDOW. */
void
delete_all_subwindows (Lisp_Object window)
delete_all_child_windows (Lisp_Object window)
{
register struct window *w;
@ -5740,18 +5755,18 @@ delete_all_subwindows (Lisp_Object window)
if (!NILP (w->next))
/* Delete WINDOW's siblings (we traverse postorderly). */
delete_all_subwindows (w->next);
delete_all_child_windows (w->next);
w->total_lines = w->buffer; /* See Fset_window_configuration for excuse. */
if (!NILP (w->vchild))
{
delete_all_subwindows (w->vchild);
delete_all_child_windows (w->vchild);
w->vchild = Qnil;
}
else if (!NILP (w->hchild))
{
delete_all_subwindows (w->hchild);
delete_all_child_windows (w->hchild);
w->hchild = Qnil;
}
else if (!NILP (w->buffer))
@ -6583,14 +6598,16 @@ function `window-nest' and altered by the function `set-window-nest'. */);
defsubr (&Swindow_use_time);
defsubr (&Swindow_top_line);
defsubr (&Swindow_left_column);
defsubr (&Swindow_total_size);
defsubr (&Swindow_total_height);
defsubr (&Swindow_total_width);
defsubr (&Swindow_normal_size);
defsubr (&Swindow_new_total);
defsubr (&Swindow_new_normal);
defsubr (&Sset_window_new_total);
defsubr (&Sset_window_new_normal);
defsubr (&Swindow_resize_apply);
defsubr (&Swindow_body_size);
defsubr (&Swindow_body_height);
defsubr (&Swindow_body_width);
defsubr (&Swindow_hscroll);
defsubr (&Sset_window_hscroll);
defsubr (&Swindow_redisplay_end_trigger);

View file

@ -824,7 +824,7 @@ extern Lisp_Object window_from_coordinates (struct frame *, int, int,
enum window_part *, int);
EXFUN (Fwindow_dedicated_p, 1);
extern void resize_frame_windows (struct frame *, int, int);
extern void delete_all_subwindows (Lisp_Object);
extern void delete_all_child_windows (Lisp_Object);
extern void freeze_window_starts (struct frame *, int);
extern void grow_mini_window (struct window *, int);
extern void shrink_mini_window (struct window *);

View file

@ -954,7 +954,7 @@ static int coords_in_mouse_face_p (struct window *, int, int);
This is the height of W minus the height of a mode line, if any. */
inline int
int
window_text_bottom_y (struct window *w)
{
int height = WINDOW_TOTAL_HEIGHT (w);
@ -968,7 +968,7 @@ window_text_bottom_y (struct window *w)
means return the total width of W, not including fringes to
the left and right of the window. */
inline int
int
window_box_width (struct window *w, int area)
{
int cols = XFASTINT (w->total_cols);
@ -1007,7 +1007,7 @@ window_box_width (struct window *w, int area)
/* Return the pixel height of the display area of window W, not
including mode lines of W, if any. */
inline int
int
window_box_height (struct window *w)
{
struct frame *f = XFRAME (w->frame);
@ -1054,7 +1054,7 @@ window_box_height (struct window *w)
area AREA of window W. AREA < 0 means return the left edge of the
whole window, to the right of the left fringe of W. */
inline int
int
window_box_left_offset (struct window *w, int area)
{
int x;
@ -1086,7 +1086,7 @@ window_box_left_offset (struct window *w, int area)
area AREA of window W. AREA < 0 means return the right edge of the
whole window, to the left of the right fringe of W. */
inline int
int
window_box_right_offset (struct window *w, int area)
{
return window_box_left_offset (w, area) + window_box_width (w, area);
@ -1096,7 +1096,7 @@ window_box_right_offset (struct window *w, int area)
area AREA of window W. AREA < 0 means return the left edge of the
whole window, to the right of the left fringe of W. */
inline int
int
window_box_left (struct window *w, int area)
{
struct frame *f = XFRAME (w->frame);
@ -1116,7 +1116,7 @@ window_box_left (struct window *w, int area)
area AREA of window W. AREA < 0 means return the right edge of the
whole window, to the left of the right fringe of W. */
inline int
int
window_box_right (struct window *w, int area)
{
return window_box_left (w, area) + window_box_width (w, area);
@ -1129,7 +1129,7 @@ window_box_right (struct window *w, int area)
coordinates of the upper-left corner of the box. Return in
*BOX_WIDTH, and *BOX_HEIGHT the pixel width and height of the box. */
inline void
void
window_box (struct window *w, int area, int *box_x, int *box_y,
int *box_width, int *box_height)
{

View file

@ -71,7 +71,7 @@
;; caml
("File \"foobar.ml\", lines 5-8, characters 20-155: blah blah"
1 (19 . 155) (5 . 8) "foobar.ml")
("File \"F:\\ocaml\\sorting.ml\", line 65, characters 2-145:"
("File \"F:\\ocaml\\sorting.ml\", line 65, characters 2-145:\nWarning 26: unused variable equ."
1 (1 . 145) 65 "F:\\ocaml\\sorting.ml")
("File \"/usr/share/gdesklets/display/TargetGauge.py\", line 41, in add_children"
1 nil 41 "/usr/share/gdesklets/display/TargetGauge.py")