diff options
author | Karoly Lorentey <karoly@lorentey.hu> | 2007-04-22 12:12:29 +0000 |
---|---|---|
committer | Karoly Lorentey <karoly@lorentey.hu> | 2007-04-22 12:12:29 +0000 |
commit | e18c709364b095ea0be8ecabe458ac9a642a252f (patch) | |
tree | efe814a842f932f387b3947c572bf43a548d17ef /lisp | |
parent | 81088e260b086fe28f36964f32b6338210ec6fd8 (diff) | |
parent | 9f25e707aaad5ed14a9448e9c5d345ff0bdbc5a7 (diff) | |
download | emacs-e18c709364b095ea0be8ecabe458ac9a642a252f.tar.gz |
Merged from emacs@sv.gnu.org
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-660
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-661
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-662
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-663
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-664
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-665
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-666
Fix read-only prompt problem in isearch
* emacs@sv.gnu.org/emacs--devo--0--patch-667
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-668
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-669
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-670
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-671
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-672
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-673
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-206
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-207
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-208
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-600
Diffstat (limited to 'lisp')
118 files changed, 2256 insertions, 1239 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 00b6865efa0..47b9b292aa7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,474 @@ +2007-03-21 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-process-filter): Cancel any pending isearch. + +2007-03-21 Ulf Jasper <ulf.jasper@web.de> + + * calendar/icalendar.el (icalendar-version): Increase to 0.15. + (icalendar--get-unfolded-buffer): Define actual arguments rather + than just using &rest. Check replace-in-string is fbound. + (icalendar-import-buffer): Doc fix. + (icalendar--convert-ical-to-diary): Set diary-file. + Check diary-file before inserting final newline. + (icalendar--add-diary-entry): Return diary-file. + +2007-03-21 Glenn Morris <rgm@gnu.org> + + * calendar/calendar.el (diary-set-maybe-redraw): Autoload it. + (diary-display-hook): Add custom :set function. + + * calendar/diary-lib.el (diary-header-line-flag): Doc fix. + Add custom :set function. + (diary-header-line-format): Doc fix. + (diary-set-maybe-redraw): New function. + (number-of-diary-entries): Change :set to use diary-set-maybe-redraw. + (diary-list-entries): Always run diary-mode. + +2007-03-20 David Kastrup <dak@gnu.org> + + * files.el (magic-mode-alist): Require literal "%!PS" string for + magic postscript file detection. + +2007-03-20 Richard Stallman <rms@gnu.org> + + * textmodes/ispell.el (ispell-call-process): New function. + Defends against bad `default-directory.' + (ispell-check-version, ispell-find-aspell-dictionaries) + (ispell-get-aspell-config-value, lookup-words): Call it. + (ispell-call-process-region): New function. + (ispell-send-string): Call it. + +2007-03-20 Andreas Schwab <schwab@suse.de> + + * Makefile.in (custom-deps): Depend on $(lisp)/subdirs.el. + (finder-data): Likewise. + (autoloads): Likewise. + +2007-03-20 Martin Rudalics <rudalics@gmx.at> + + * files.el (basic-save-buffer): Do not set visited filename when + the corresponding directory does not exist or the specified + filename is that of an existing directory. + +2007-03-20 Glenn Morris <rgm@gnu.org> + + * calendar/diary-lib.el (diary-live-p): New function. + (number-of-diary-entries): Add a :set function to redisplay diary + when necessary. + +2007-03-19 Nick Roberts <nickrob@snap.net.nz> + + * t-mouse.el (t-mouse-make-event-element): Use timestamp output + from client program, mev, to compute mouse event. + +2007-03-19 Chong Yidong <cyd@stupidchicken.com> + + * faces.el (momentary): Face removed; unused due to reversion of + 2007-01-04 changes by Kevin Rodgers. + + * mouse.el (mouse-drag-track): Remove spurious input-pending-p test. + Suggested by Johan Bockg,Ae(Brd. + +2007-03-19 Martin Rudalics <rudalics@gmx.at> + + * font-lock.el (lisp-font-lock-keywords-1): Highlight + define-globalized-minor-mode as a keyword. + +2007-03-19 Kim F. Storm <storm@cua.dk> + + * calc/calc-forms.el (math-std-daylight-savings) + (math-std-daylight-savings-old): Doc fix. + +2007-03-19 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/python.el (python-default-template): Doc fix. + (python-buffer): Fix typo in docstring. + + * isearchb.el (isearchb-follow-char): + * subr.el (def-edebug-spec): Fix typo in docstring. + +2007-03-19 Richard Stallman <rms@gnu.org> + + * files.el (default-directory): Mark safe. + (basic-save-buffer-2): Put proper dir name in error message. + + * simple.el (compose-mail): Run switch-function after + setting up the mail buffer. + + * startup.el (inhibit-splash-screen, initial-major-mode): Doc fixes. + +2007-03-18 Jay Belanger <belanger@truman.edu> + + * calc/calc-forms.el (math-parse-date): Fix a regular expression. + (math-std-daylight-savings-new): Rename from + `math-std-daylight-savings'. + (math-std-daylight-savings-old): Rename from old value of + `math-std-daylight-savings'. + (math-std-daylight-savings): Use `math-std-daylight-savings-new' or + `math-std-daylight-savings-old' depending on the year. + +2007-03-18 Detlev Zundel <dzu@gnu.org> + + * emacs-lisp/re-builder.el (reb-update-overlays): Do not mark + zero-width regexps as invalid but rather at least count them + correctly. + +2007-03-18 Thien-Thi Nguyen <ttn@gnu.org> + + * net/tls.el (open-tls-stream): In handshake-waiting loop, + don't wait more if there is output available to process. + +2007-03-18 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/compile.el (compilation-find-file): Revert change + from 2006-07-18 to allow completion of directory names. + Reported by John Carter <john.carter@tait.co.nz>. + +2007-03-18 Kim F. Storm <storm@cua.dk> + + * subr.el (when, unless): Doc fix. + +2007-03-17 Thien-Thi Nguyen <ttn@gnu.org> + + * net/tls.el (tls-program): Doc fix. + +2007-03-17 Denis Bueno <dbueno@gmail.com> (tiny change) + + * autorevert.el (auto-revert-tail-handler): + Call after-revert-hook. + +2007-03-17 Ryan Yeske <rcyeske@gmail.com> + + * simple.el (switch-to-completions): No error if search for \n\n fails. + +2007-03-17 Chong Yidong <cyd@stupidchicken.com> + + * simple.el (line-move-1): Respect + `inhibit-line-move-field-capture' property. + +2007-03-13 Chong Yidong <cyd@stupidchicken.com> + + * comint.el (comint-arguments): Mark backslash-escaped chars. + (comint-delim-arg): Don't treat them as delimiters. + +2007-03-12 Kim F. Storm <storm@cua.dk> + * ido.el (ido-init-completion-maps): Remap delete-backward-char. + +2007-03-12 Lawrence Mitchell <wence@gmx.li> (tiny change) + + * tempo.el (tempo-insert): Deal with 'r> if it appears + specified with a prompt argument. + +2007-03-12 Carsten Dominik <dominik@science.uva.nl> + + * textmodes/org.el (org-set-font-lock-defaults): + Handle narrow table columns correctly. + +2007-03-12 Mark A. Hershberger <mah@everybody.org> + + * xml.el (xml-parse-tag, xml-parse-string, xml-parse-attlist) + (xml-parse-dtd, xml-parse-elem-type, xml-substitute-special): + Return to use of the -no-properties variants. There was + consensus on emacs-devel that the speed of these variants was + prefered since we are usually parsing files (from the internet + or on disk) instead of XML created in Emacs. + + * eshell/esh-mode.el (eshell-handle-ansi-color): New function. + Add customize option. + +2007-03-12 Glenn Morris <rgm@gnu.org> + + * calc/calc-forms.el (math-std-daylight-savings): Switch to new + North American rule. Replace "daylight savings" with "daylight + saving" in doc. + + * calendar/cal-china.el,cal-dst.el,calendar.el,diary-lib.el: + * calendar/lunar.el,solar.el: Replace "daylight savings" with + "daylight saving" in text. + + * woman.el (woman-change-fonts): Tweak previous change by using + woman-request-regexp rather than "^\\.". + + * startup.el (command-line-1): Make insertion of + initial-scratch-message not depend on scratch being selected. + +2007-03-11 Juri Linkov <juri@jurta.org> + + * replace.el (match): Use yellow background on light-bg terminals. + +2007-03-11 Richard Stallman <rms@gnu.org> + + * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): + Correctly compute line number. + +2007-03-11 Guanpeng Xu <herberteuler@hotmail.com> + + * type-break.el (type-break-get-previous-count): + Repeat previous change here. + +2007-03-11 Dan Nicolaescu <dann@ics.uci.edu> + + * progmodes/grep.el (grep-find-ignored-directories): + Add .git and .bzr to list. + +2007-03-11 Andreas Schwab <schwab@suse.de> + + * diff-mode.el (diff-apply-hunk): Use proper format string for error. + +2007-03-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * mail/emacsbug.el (report-emacs-bug): Don't hard code the "X" name. + +2007-03-10 Chong Yidong <cyd@stupidchicken.com> + + * faces.el (face-set-after-frame-default): Recalculate face + customizations after applying X resources. + +2007-03-10 Ryan Yeske <rcyeske@gmail.com> + + * net/rcirc.el (rcirc-timeout-seconds): New variable. + (rcirc-keepalive-seconds): Remove variable. + (rcirc-server-name, rcirc-timeout-timer, rcirc-connecting) + (rcirc-process, rcirc-user-disconnect): New variables. + (rcirc-connect): Initalize new variables. + (rcirc-keepalive): Don't send keepalive pings before connection + is completed. + (rcirc-sentinel): Do mark all channels with activity when + connection is dropped. Run hook with process buffer local. + (rcirc-reschedule-timeout, rcirc-delete-process): New functions. + (rcirc-buffer-process): Return value of rcirc-process if + rcirc-server-buffer is nil. + (rcirc-server-name): Return the reported server name. + (rcirc-update-prompt): Simplify computation of the server name. + (rcirc-format-response-string): Likewise. + (rcirc-handler-001): Mark server as connected, record the reported + server name, and schedule a timeout. + (rcirc-track-nick): Add a spec for the tty class. + (rcirc-user-non-nick): Remove function. + (rcirc-nick-prefix-chars): Add variable. + (rcirc-user-nick): Use above variable. + +2007-03-10 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> + + * icomplete.el (icomplete-tidy, icomplete-exhibit): + Bind deactivate-mark to nil. + +2007-03-10 Martin Rudalics <rudalics@gmx.at> + + * complete.el (PC-do-completion): Bind dirlength to nil to avoid + that buffer contents get erased during completion. + +2007-03-10 Glenn Morris <rgm@gnu.org> + + * woman.el (woman-change-fonts): Add a hack to deal with + font-escape followed by "." at start of a line. + (woman2-IP): Add a hack to deal with consecutive requests. + (woman2-tagged-paragraph): Extend existing hack to handle "sp". + +2007-03-10 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-mode.el (c-before-change): Wrap in save-match-data. + +2007-03-09 Richard Stallman <rms@gnu.org> + + * abbrev.el (abbrev): Add `provide'. + +2007-03-09 Thien-Thi Nguyen <ttn@gnu.org> + + * net/ange-ftp.el (ange-ftp-try-passive-mode): Doc fix. + +2007-03-09 Martin Rudalics <rudalics@gmx.at> + + * complete.el (PC-try-completion): New function. + (PC-do-completion, read-file-name-internal): Use it instead of + try-completion. + +2007-03-08 Alan Mackenzie <acm@muc.de> + + Remove stale tokens from `c-found-types' cache. + + * progmodes/cc-mode.el (c-unfind-enclosing-token) + (c-unfind-coalesced-tokens, c-before-change): New functions. + (c-maybe-stale-found-type): New variable. + + * progmodes/cc-engine.el (c-partial-ws-p, c-unfind-type) + (c-trim-found-types): New functions. + +2007-03-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * smerge-mode.el (smerge-remove-props): Don't mark the buffer modified. + (debug-ignored-errors): Add entry from smerge-match-conflict. + +2007-03-08 J.D. Smith <jdsmith@as.arizona.edu> + + * progmodes/idlw-help.el (idlwave-do-context-help1): Don't visit + special help topics for keywords. + (idlwave-help-assistant-command): Include ".exe" for ms-dos + etc. Assistant command. + +2007-03-08 Chong Yidong <cyd@stupidchicken.com> + + * replace.el (occur-engine): Move buffer-undo-list binding... + (occur-1): ...to here. + + * complete.el (PC-bindings): Rebind M-TAB in read-expression-map. + + * simple.el (minibuffer-completing-symbol): New var. + (eval-expression): Use it. + (completion-setup-function): Don't bind completion-base-size when + completing a symbol in the minibuffer. + +2007-03-08 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gud.el (gdb): Pop up current GUD buffer if user + tries to start a second session in graphical mode. + +2007-03-07 Miles Bader <miles@gnu.org> + + * international/isearch-x.el + (isearch-process-search-multibyte-characters): + Strip text-properties from PROMPT to avoid an error from read-string. + +2007-03-07 Kim F. Storm <storm@cua.dk> + + * complete.el (PC-bindings): Remap lisp-complete-symbol to + PC-lisp-complete-symbol instead of binding M-TAB in global-map. + +2007-03-07 Micha,Ak(Bl Cadilhac <michael@cadilhac.name> + + * complete.el (PC-do-completion): Delete duplicates in the list of + possible completions. + +2007-03-07 Glenn Morris <rgm@gnu.org> + + * ses.el (ses-mode): Doc fix. + +2007-03-06 Kim F. Storm <storm@cua.dk> + + * isearch.el (isearch-message-prefix): Undo 2007-03-01 change. + +2007-03-06 Kenichi Handa <handa@m17n.org> + + * term/x-win.el (x-select-utf8-or-ctext): Improve the strategy. + +2007-03-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (completion-setup-function): Improve last fix so it doesn't + set it to a relative directory name either. + +2007-03-05 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * ps-print.el: Replace some (defvar VAR) by (defvar VAR nil). + +2007-03-05 Richard Stallman <rms@gnu.org> + + * emacs-lisp/re-builder.el (reb-re-syntax): Fix custom type. + + * files.el (find-file-noselect): No error if file no longer exists. + Display a message and avoid other questions. + +2007-03-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcomplete.el (pcomplete-show-completions): Improve last change, so + as not to use an invisible window and to create a window if none exist. + + * progmodes/python.el (python-send-command): Restart proc if necessary. + (python-proc): Simplify. + +2007-03-05 David Hansen <david.hansen@gmx.net> (tiny change) + + * pcomplete.el (pcomplete-show-completions): Search all frames for + completions buffer. + +2007-03-05 Chong Yidong <cyd@stupidchicken.com> + + * cus-edit.el (customize-save-variable): Clear customized-value + property (saved values are now put in theme-value property). + (customize-set-variable): Doc fix. + + * complete.el (PC-do-completion): If completion-ignore-case is + non-nil, replace field with completion string before exiting. + +2007-03-05 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-make-temp-file): New parameter FILENAME. + Append its extension to the resulting temporary file name. + (tramp-handle-file-local-copy, tramp-handle-write-region): Apply it. + + * net/tramp-smb.el (tramp-smb-handle-file-local-copy) + (tramp-smb-handle-write-region): Apply it. + +2007-03-05 Alin C. Soare <alinsoar@voila.fr> (tiny change) + + * emacs-lisp/lisp-mode.el (calculate-lisp-indent): + Redo previous change. + +2007-03-04 Kevin Rodgers <kevin.d.rodgers@gmail.com> (tiny change) + + * diff-mode.el (diff-mode): Doc fix. + +2007-03-05 Kenichi Handa <handa@m17n.org> + + * international/characters.el: Set category `l' (latin) + for more characters. + +2007-03-04 Kim F. Storm <storm@cua.dk> + + * emacs-lisp/authors.el (authors-aliases): Add alias. + +2007-03-04 Glenn Morris <rgm@gnu.org> + + * progmodes/hideshow.el (hs-minor-mode): Turn mode off and show + all when switching major mode. + (hs-minor-mode, hs-c-start-regexp, hs-block-start-regexp) + (hs-block-start-mdata-select, hs-block-end-regexp) + (hs-forward-sexp-func, hs-adjust-block-beginning): + Do not make these variables permanent-local. + +2007-03-04 Richard Stallman <rms@gnu.org> + + * progmodes/cperl-mode.el (cperl-mode): + Modify cperl-compilation-error-regexp-alist by appending. + + * emacs-lisp/edebug.el (edebug-kill-buffer): New function. + (edebug-mode): Add the hook. + (edebug-recursive-edit): Remove the hook on exiting. + + * type-break.el (type-break-get-previous-time): + Handle end-of-file errors specially + so they don't get reported wrong in .emacs. + + * startup.el (fancy-splash-text): Clarify text. + + * simple.el (beginning-of-buffer, end-of-buffer): + Avoid treating plain C-u like numeric arg. + + * simple.el (completion-setup-function): Don't set + default-directory to nil. + + * shell.el (shell-dirstack-query): Doc fix. + + * mouse.el (mouse-drag-mode-line-1, mouse-drag-vertical-line): + Don't select the window -- pass it to primitives instead. + + * faces.el (minibuffer-prompt): Use medium blue by default. + +2007-03-04 David Kastrup <dak@gnu.org> + + * jit-lock.el (jit-lock-stealth-time): Change default to nil. + Preserve 16 as default value for "seconds" when customizing. + +2007-03-04 Carsten Dominik <dominik@science.uva.nl> + + * textmodes/org.el (org-self-insert-command) + (orgtbl-self-insert-command, org-delete-char) + (org-delete-backward-char): Set the `flyspell-delayed' property. + +2007-03-03 Chong Yidong <cyd@stupidchicken.com> + + * international/mule.el (find-auto-coding): Don't search for + line-ending characters past the end of the tail. + 2007-03-03 Christopher Allan Webber <cwebber@dustycloud.org> (tiny change) * play/gamegrid.el (gamegrid-add-score-with-update-game-score-1): @@ -111,7 +582,8 @@ 2007-02-26 Andrey Zhdanov <susuman@hotmail.com> (tiny change) - (gud-pdb-marker-regexp): Add optional <module> keyword for Python 2.5. + * progmodes/gud.el (gud-pdb-marker-regexp): Add optional <module> + keyword for Python 2.5. 2007-02-26 Romain Francoise <romain@orebokech.com> @@ -149,32 +621,32 @@ (org-table-toggle-coordinate-overlays): New functions. (org-table-overlay-coordinates, org-table-coordinate-overlays): New variables. - (org-startup-with-deadline-check): Option removed. + (org-startup-with-deadline-check): Remove option. (org-mode): Remove deadline check on startup. - (org-table-limit-column-width): Option removed. - (org-table-formula-numbers-only): Option removed. - (org-link-style, org-link-format): Options removed. - (org-select-agenda-window, org-fit-agenda-window): Options removed. + (org-table-limit-column-width): Remove option. + (org-table-formula-numbers-only): Remove option. + (org-link-style, org-link-format): Remove options. + (org-select-agenda-window, org-fit-agenda-window): Remove options. (org-export-ascii-show-new-buffer) - (org-export-html-show-new-buffer): Options removed. - (org-activate-links): Camel option removed. - (org-file-link-context-use-camel-case): Option removed. - (org-camel-regexp): Veriable removed. - (org-activate-camels): Function removed. - (org-store-link): Removed Camel stuff. - (org-make-org-heading-camel): Function removed. - (org-open-at-point): Removed camel stuff. - (org-link-search): Removed camel stuff. + (org-export-html-show-new-buffer): Remove options. + (org-activate-links): Remove camel option. + (org-file-link-context-use-camel-case): Remove option. + (org-camel-regexp): Remove variable. + (org-activate-camels): Remove function. + (org-store-link): Remove Camel stuff. + (org-make-org-heading-camel): Remove function. + (org-open-at-point): Remove camel stuff. + (org-link-search): Remove camel stuff. (org-camel-to-words): Function removed. (org-get-agenda-file-buffer): Make sure we prepare the base buffers, not any indirect buffers. (org-sort-entries): Sort top-level when not on a headline, and no active region. (org-in-regexp): New function. - (org-search-not-self): Renamed from `org-search-not-link'. + (org-search-not-self): Rename from `org-search-not-link'. (org-open-link-marker): New variable. (org-open-at-point): Set `org-open-link-marker'. - (org-print-icalendar-entries): Fixed bug with excluding DONE + (org-print-icalendar-entries): Fixe bug with excluding DONE entries from the exported list. (org-edit-formula-lisp-indent): New command. (orgtbl-to-texinfo, orgtbl-to-html): New functions. @@ -190,7 +662,7 @@ (org-upgrade-old-links) (org-table-modify-formulas, org-table-replace-in-formulas) (org-table-find-dataline) - (org-table-get-vertical-vector): Functions removed. + (org-table-get-vertical-vector): Remove functions. (org-table-remove-rectangle-highlight) (org-time-stamp-format, org-toggle-log-option) (org-table-highlight-rectangle) @@ -223,17 +695,17 @@ (org-table-edit-scroll, org-table-edit-scroll-down) (org-set-frame-title, org-show-reference) (org-unhighlight-once, org-verify-change-for-undo): New functions. - (org-show-variable): Command removed. + (org-show-variable): Remove command. (org-add-log-maybe): New arguments STATE, FINDPOS - (org-table-sort-lines): Rewritten from scratch. + (org-table-sort-lines): Rewrite from scratch. (org-link-search): New argument AVOID-POS. - (org-print-icalendar-entries): Argument CATEGORY removed. - (org-run-agenda-series): Argument WONDOW removed. + (org-print-icalendar-entries): Remove argument CATEGORY. + (org-run-agenda-series): Remove argument WONDOW. (org-next-link, org-previous-link): New commands. (org-agenda-date-format): New option. (org-table-iterate): New command. (org-table-modify-formulas) - (org-table-replace-in-formulas): Functions removed. + (org-table-replace-in-formulas): Remove functions. (org-table-fix-formulas): New function. (org-table-insert-column, org-table-delete-column) (org-table-move-column): Use `org-table-fix-formulas'. @@ -254,8 +726,8 @@ (org-read-date): Accept "+N" as input for a date relative to the current date. (org-remove-subtree-entries-from-agenda): New function. - (org-agenda-archive, org-agenda-kill): Use - `org-remove-subtree-entries-from-agenda'. + (org-agenda-archive, org-agenda-kill): + Use `org-remove-subtree-entries-from-agenda'. (org-do-sort, org-sort-entries): New functions. (org-sort): New command. (org-table-sort-lines): Use `org-do-sort'. @@ -263,7 +735,7 @@ (org-table-number-regexp): Require 0x... to identify as number in tables. (org-startup-options): New keywords for note taking. - (org-upgrade-old-links): Function removed. + (org-upgrade-old-links): Remove function. (org-get-repeat): New function. (org-show-context): Also show siblings on current level. (org-show-siblings): New function. @@ -392,7 +864,7 @@ * pgg-gpg.el (pgg-gpg-process-region): Make USE-AGENT nil if PASSPHRASE is given. -2007-02-17 Chris Moore <dooglus@gmail.com> +2007-02-17 Chris Moore <dooglus@gmail.com> * jka-cmpr-hook.el (jka-compr-compression-info-list): Recognize backups of bz2 compressed files. @@ -1390,12 +1862,6 @@ * files.el (find-file-noselect-1, set-visited-file-name): Allow backup-enable-predicate to be nil. -2007-01-04 Kevin Rodgers <kevin.d.rodgers@gmail.com> - - * subr.el (momentary): New face. - (momentary-string-display): Display the string via a temporary - overlay using the new face, instead of inserting it in the buffer. - 2007-01-04 Andreas Schwab <schwab@suse.de> * progmodes/ebrowse.el (ebrowse-global-prefix-key): Fix typo in @@ -1407,8 +1873,7 @@ 2007-01-03 Alan Mackenzie <acm@muc.de> - * progmode/cc-cmds.el (c-mask-paragraph): Fix yesterday's buggy - patch. + * progmode/cc-cmds.el (c-mask-paragraph): Fix yesterday's buggy patch. 2007-01-03 Chris Moore <christopher.ian.moore@gmail.com> @@ -1579,7 +2044,7 @@ * international/mule-cmds.el (select-safe-coding-system-interactively): Fix message. -2006-12-30 Kevin Rodgers <kevin.d.rodgers@gmail.com> +2006-12-30 Kevin Rodgers <kevin.d.rodgers@gmail.com> (tiny change) * files.el (backup-buffer): Show entire backup file name in msg. @@ -2079,12 +2544,6 @@ * comint.el (comint-insert-input): Delete obsolete comment. -2006-12-08 Kevin Rodgers <ihs_4664@yahoo.com> - - * files.el (insert-file-1): Compare file size to - large-file-warning-threshold and request confirmation when - warranted. - 2006-12-08 Stefan Monnier <monnier@iro.umontreal.ca> * net/browse-url.el (browse-url): Set DISPLAY to the one of the @@ -11957,14 +12416,6 @@ * files.el (magic-mode-regexp-match-limit): New defvar. (set-auto-mode): Use it to limit magic-mode-alist matching. -2006-02-04 Kevin Rodgers <ihs_4664@yahoo.com> - - * simple.el (display-message-or-buffer): Compare the number of - characters to the frame width when determining whether a 1-line - message string will fit in the echo area. Count screen lines - instead of buffer lines when determining whether a multi-line - message will fit in the echo area/minibuffer window. - 2006-02-04 Eli Zaretskii <eliz@gnu.org> * info.el (Info-index, Info-mode): Improve the description of the @@ -12199,7 +12650,7 @@ English aspell dictionary is installed, use the first entry of ispell-dictionary-alist-1. -2006-01-27 Kevin Rodgers <ihs_4664@yahoo.com> +2006-01-27 Kevin Rodgers <ihs_4664@yahoo.com> (tiny change) * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): Doc fix. @@ -14221,7 +14672,7 @@ (hi-lock-find-patterns, hi-lock-font-lock-hook): Replace hi-lock-buffer-mode with hi-lock-mode. -2005-12-10 Kevin Rodgers <ihs_4664@yahoo.com> +2005-12-10 Kevin Rodgers <ihs_4664@yahoo.com> (tiny change) * emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the completion list, even after a partial completion has been @@ -15664,7 +16115,7 @@ * progmodes/cc-defs.el (c-emacs-features): Don't assume point-min==1. -2005-12-06 Nozomu Ando <nand@mac.com> (tiny patch) +2005-12-06 Nozomu Ando <nand@mac.com> * mail/smtpmail.el (smtpmail-try-auth-methods): Make password prompts work for AUTH PLAIN. Also reported by Steve Allan @@ -29227,7 +29678,7 @@ * progmodes/python.el (python-close-block-statement-p) (python-outdent-p, python-current-defun): Use symbol-end. -2005-03-25 Karl Chen <quarl@cs.berkeley.edu> (tiny change) +2005-03-25 Karl Chen <quarl@cs.berkeley.edu> * files.el (save-some-buffers): Doc fix. @@ -31912,7 +32363,7 @@ * electric.el (Electric-pop-up-window): Use fit-window-to-buffer instead of calculating the right size. -2005-01-02 Karl Chen <quarl@cs.berkeley.edu> (tiny change) +2005-01-02 Karl Chen <quarl@cs.berkeley.edu> * vc-svn.el (vc-svn-diff): Stay local if possible. diff --git a/lisp/ChangeLog.10 b/lisp/ChangeLog.10 index d7264dfb0b8..d6d69c52924 100644 --- a/lisp/ChangeLog.10 +++ b/lisp/ChangeLog.10 @@ -2972,7 +2972,7 @@ (rename-buffer): Use the `newname' arg as base. (create-file-buffer): Split the file name into base and dirname. -2003-05-09 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-05-09 Jesper Harder <harder@ifa.au.dk> * mail/smtpmail.el (smtpmail-send-queued-mail): Don't use kill-line. @@ -3275,7 +3275,7 @@ * filesets.el (filesets-data): Add another defvar. (filesets-verbosity): Doc fix. -2003-05-02 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) +2003-05-02 Tak Ota <Takaaki.Ota@am.sony.com> * recentf.el (recentf-cleanup): Swap tests for exclusion and accessibility. @@ -3492,10 +3492,10 @@ (Info-display-images-node): New functions for displaying images. (Info-select-node): Call Info-display-images-node. -2003-04-25 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> +2003-04-25 David Ponce <david.ponce@wanadoo.fr> * files.el (file-relative-name): Recognize "c:/foo" as absolute - file name. Tiny change from David PONCE <david.ponce@wanadoo.fr>. + file name. 2003-04-24 Sam Steingold <sds@gnu.org> @@ -5595,7 +5595,7 @@ beginning-of-defun to the non-existing command sh-beginning-of-compound-command. -2003-02-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) +2003-02-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> * files.el (find-alternate-file): Check whether `dired-directory' is bound. @@ -11971,7 +11971,7 @@ * calendar/appt.el (appt-delete): Use substring-no-properties. (appt-make-list): Don't use prin1-to-string; use the string unchanged. -2002-08-15 Jan Nieuwenhuizen <janneke@gnu.org> (tiny change) +2002-08-15 Jan Nieuwenhuizen <janneke@gnu.org> * server.el (server-process-filter): Simplify code. (server-goto-line-column): New function. @@ -12378,7 +12378,7 @@ * dired.el: Hide disabling of dired-find-alternate-file behind autoload-cookie. -2002-07-31 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) +2002-07-31 Tak Ota <Takaaki.Ota@am.sony.com> * makefile.w32-in: Revert some changes from 2002-07-23 because they don't work on MSVC/nmake builds. @@ -22919,13 +22919,14 @@ * startup.el: Document command line option --no-window-system instead of --no-windows. -2001-10-30 Stefan Monnier <monnier@cs.yale.edu> - - * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip. +2001-10-30 David Ponce <david.ponce@wanadoo.fr> * font-lock.el (java-font-lock-syntactic-face-function): New fun. (font-lock-defaults-alist): Use it. - From David Ponce <david.ponce@wanadoo.fr> + +2001-10-30 Stefan Monnier <monnier@cs.yale.edu> + + * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip. * progmodes/perl-mode.el (perl-indent-line): Use `eq' to compare output of `char-after'. diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11 index e9c752464f7..ac47f4eaeaa 100644 --- a/lisp/ChangeLog.11 +++ b/lisp/ChangeLog.11 @@ -4993,7 +4993,7 @@ * international/latin1-disp.el (latin1-char-displayable-p): Likewise. -2004-08-21 Peter Seibel <peter@javamonkey.com> (tiny patch) +2004-08-21 Peter Seibel <peter@javamonkey.com> (tiny change) * emacs-lisp/cl-indent.el (lisp-indent-defmethod): Correct indentation of DEFMETHODS with non-standard method @@ -6043,12 +6043,12 @@ * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. (ccl-untranslated-to-ucs): Fix typo. -2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) +2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> * progmodes/python.el (python-open-block-statement-p): Fix indentation after a block opening that contains a comment. -2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) +2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> * bindings.el (completion-ignored-extensions): Add file extensions of Python byte-compiled files. @@ -6982,7 +6982,7 @@ (byte-goto-log-buffer): Delete. (byte-compile-log-file): Call compilation-forget-errors. -2004-05-19 Takaaki Ota <Takaaki.Ota@am.sony.com> (tiny change) +2004-05-19 Takaaki Ota <Takaaki.Ota@am.sony.com> * net/ldap.el (ldap-search-internal): Avoid mixing standard error output messages into the search result. @@ -6996,7 +6996,7 @@ * international/characters.el: Fix syntax (open/close) of CJK chars. -2004-05-18 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) +2004-05-18 Karl Chen <quarl@hkn.eecs.berkeley.edu> * help-mode.el (help-go-back): Don't depend on position of back button. @@ -7121,7 +7121,7 @@ * calendar/appt.el (appt-disp-window): Use `calendar-set-mode-line' for a centered mode-line. -2004-05-13 Takaaki Ota <Takaaki.Ota@am.sony.com> (tiny change) +2004-05-13 Takaaki Ota <Takaaki.Ota@am.sony.com> * calendar/appt.el (appt-disp-window): Do not split window excessively when `split-height-threshold' is low. @@ -10484,12 +10484,12 @@ * loadhist.el (unload-feature): Doc fix. Rename flist to unload-hook-features-list. -2004-02-16 Jay Belanger <belanger@truman.edu> (tiny change) +2004-02-16 Jay Belanger <belanger@truman.edu> * calc/calc-embed.el (calc-do-embedded-activate): Add autoload cookie. Don't check if we are looking-at open-formula. -2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change) +2004-02-16 Jesper Harder <harder@ifa.au.dk> * subr.el (match-string-no-properties): Use substring-no-properties. @@ -10564,7 +10564,7 @@ * international/ccl.el (ccl-compile-write): Pass `left' to ccl-embed-code to generate correct code of write-expr-register. -2004-02-15 Dan Nicolaescu <dann@ics.uci.edu> (tiny change) +2004-02-15 Dan Nicolaescu <dann@ics.uci.edu> * progmodes/grep.el (grep-compute-defaults): Fix typos. @@ -10766,7 +10766,7 @@ * vc.el (with-vc-file): Fix unsafe uses of error. (vc-cancel-version): Likewise. -2004-02-08 Jan Nieuwenhuizen <jan.nieuwenhuizen@aspiratie.nl> (tiny change) +2004-02-08 Jan Nieuwenhuizen <jan.nieuwenhuizen@aspiratie.nl> * progmodes/gud.el (gud-jdb-marker-filter): Add period as optional thousands separator; fixes <class>:<line-number> regexp for @@ -11113,7 +11113,7 @@ * mail/smtpmail.el (smtpmail-send-data): Don't append spurious newline. -2004-01-18 David Ponce <david@dponce.com> (tiny change) +2004-01-18 David Ponce <david@dponce.com> * progmodes/which-func.el (which-function-mode): Don't cancel which-func-update-timer if not set. @@ -11322,7 +11322,7 @@ * subr.el (functionp): Doc fix. -2004-01-03 Jesper Harder <harder@ifa.au.dk> (tiny change) +2004-01-03 Jesper Harder <harder@ifa.au.dk> * progmodes/idlwave.el (idlwave-make-tags): * textmodes/flyspell.el (flyspell-large-region):. @@ -11525,7 +11525,7 @@ (table--put-cell-indicator-property): Put yank-handler property that indicates the yank handler for the table cell. -2003-12-29 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-12-29 Jesper Harder <harder@ifa.au.dk> * generic-x.el (etc-modules-conf-generic-mode): A more complete set of keywords. @@ -11583,7 +11583,7 @@ (ido-file-name-all-completions1): Return empty list for non-readable directory. (ido-exhibit): Print [Not readable] if directory is not readable. - (ido-expand-directory): New defun (based on tiny fix from Karl Chen). + (ido-expand-directory): New defun (based on fix from Karl Chen). (ido-read-file-name, ido-file-internal, ido-read-directory-name): Use it. @@ -11921,7 +11921,7 @@ (breakpoint-enabled-icon, breakpoint-disabled-icon): Set :ascent to 100 for icons to avoid increasing line height when shown. -2003-11-17 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-11-17 Jesper Harder <harder@ifa.au.dk> * newcomment.el (comment-normalize-vars): Initialize properly if comment-start was nil. @@ -11935,7 +11935,7 @@ * international/latin1-disp.el (latin1-display-ucs-per-lynx): Fix docstring. -2003-11-17 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-11-17 Jesper Harder <harder@ifa.au.dk> * international/latin1-disp.el (latin1-display): Fix docstring. @@ -12665,12 +12665,12 @@ * language/chinese.el ("Chinese-GB", "Chinese-BIG5"): Set up for using a Chinese tutorial. -2003-09-28 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-09-28 Jesper Harder <harder@ifa.au.dk> * mail/smtpmail.el (smtpmail-via-smtp): Don't insert a space between "MAIL FROM:" and "RCPT TO:" and the following address. -2003-09-28 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-09-28 Jesper Harder <harder@ifa.au.dk> * textmodes/text-mode.el (paragraph-indent-minor-mode): Doc fix. @@ -13685,7 +13685,7 @@ * international/fontset.el (setup-default-fontset): Change registry names of Akurti fonts. -2003-07-29 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-07-29 Jesper Harder <harder@ifa.au.dk> * comint.el (comint-read-noecho): Use `clear-string' instead of `fillarray'. @@ -13701,7 +13701,7 @@ (menu): Add gdb-restore-windows to menu. Make gdba specific menus only visible from gdba. -2003-07-28 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) +2003-07-28 Tak Ota <Takaaki.Ota@am.sony.com> * progmodes/compile.el (compilation-environment): New user variable. (compile-internal): Respect it. @@ -13930,7 +13930,7 @@ * desktop.el (desktop-buffer-dired-misc-data, desktop-buffer-dired): Handle `dired-directory' being a list. -2003-07-13 Jesper Harder <harder@ifa.au.dk> (tiny change) +2003-07-13 Jesper Harder <harder@ifa.au.dk> * mail/smtpmail.el (smtpmail-send-it): Create smtpmail-queue-dir if it doesn't exist. diff --git a/lisp/ChangeLog.3 b/lisp/ChangeLog.3 index 1fcfc5bd94a..c2379009c00 100644 --- a/lisp/ChangeLog.3 +++ b/lisp/ChangeLog.3 @@ -5091,7 +5091,7 @@ * holidays.el (calendar-holiday-function-sexp): New function. *calendar.el (calendar-holidays): Describe it and use it for daylight - savings. + saving. * calendar.el, cal-mayan.el, cal-french.el: Change names of all calendar-goto-next- or calendar-goto-previous- commands to diff --git a/lisp/ChangeLog.4 b/lisp/ChangeLog.4 index fc7318d8feb..872a39fa4b2 100644 --- a/lisp/ChangeLog.4 +++ b/lisp/ChangeLog.4 @@ -6131,7 +6131,7 @@ * cal-dst.el (calendar-time-zone-daylight-rules): Remove special case for Israel. Israel has changed its daylight - savings time rules. We don't know what the current rules are, + saving time rules. We don't know what the current rules are, but the special case was definitely incorrect. 1993-09-06 Roland McGrath (roland@churchy.gnu.ai.mit.edu) @@ -8087,7 +8087,7 @@ (general-holidays, calendar-holidays, hebrew-holidays, christian-holidays, islamic-holidays, solar-holidays): Rewritten to include require of cal-dst.el and to - show the time of the change to/from daylight savings time. + show the time of the change to/from daylight saving time. (calendar-current-time-zone, calendar-time-zone, calendar-daylight-time-offset, calendar-standard-time-zone-name, calendar-daylight-time-zone-name, calendar-daylight-savings-starts, @@ -8772,7 +8772,7 @@ (solar-time-string): Use calendar-daylight-time-offset instead of 1 hr, and use calendar-daylight-savings-switchover-time instead of midnight. Add an optional parameter to allow forcing the use of - standard or daylight savings time. Fix code so it works in + standard or daylight saving time. Fix code so it works in southern hemisphere (start of dst precedes end of dst in a calendar year) and when dst either starts or ends in a calendar year, but not both. diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5 index dbc9ddc6b04..10ac1321a35 100644 --- a/lisp/ChangeLog.5 +++ b/lisp/ChangeLog.5 @@ -989,7 +989,7 @@ * easymenu.el (easy-menu-do-define): Add autoload cookie. -1995-05-19 Kevin Rodgers <kevinr@ihs.com> +1995-05-19 Kevin Rodgers <kevinr@ihs.com> (tiny change) * mailalias.el (expand-mail-aliases): Expand aliases in From and Reply-to headers as well, plus the Resent- variants. @@ -8278,7 +8278,7 @@ * indent.el (move-to-tab-stop): Delete spurious multiple definition. -1994-07-11 Kevin Rodgers <kevinr@ihs.com> +1994-07-11 Kevin Rodgers <kevinr@ihs.com> (tiny change) * mailabbrev.el (define-mail-abbrev): Don't try to parse empty aliases. @@ -8906,7 +8906,7 @@ * faces.el (x-create-frame-with-faces): Set the cursor color last. -1994-06-17 Kevin Rodgers (kevinr@ihs.com) +1994-06-17 Kevin Rodgers (kevinr@ihs.com) (tiny change) * mailabbrev.el (build-mail-abbrevs): Pass a recursivep argument in recursive call. diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7 index d9923a02016..4124a1dd955 100644 --- a/lisp/ChangeLog.7 +++ b/lisp/ChangeLog.7 @@ -1297,7 +1297,7 @@ * language/misc-lang.el ("IPA"): Add coding-priority and coding-system. -1998-07-07 Kevin Rodgers <kevinr@ihs.com> +1998-07-07 Kevin Rodgers <kevinr@ihs.com> (tiny change) * vc.el (vc-finish-logentry): Only delete windows in the selected frame displaying the *VC-log* buffer, in case another @@ -2475,7 +2475,7 @@ * rsz-mini.el (resize-minibuffer-mode): * iswitchb.el (iswitchb-read-buffer): Add autoload cookie. -1998-06-03 Kevin Rodgers <kevinr@ihs.com> +1998-06-03 Kevin Rodgers <kevinr@ihs.com> (tiny change) * replace.el (esc-map): Bind C-M-% to query-replace-regexp. @@ -7508,7 +7508,7 @@ * avoid.el (mouse-avoidance-mode): Variable customized to automatically load the package. -1997-12-22 Kevin Rodgers <kevinr@ihs.com> +1997-12-22 Kevin Rodgers <kevinr@ihs.com> (tiny change) * simple.el (previous-matching-history-element): Bind case-fold-search to nil if REGEXP contains an uppercase letter. @@ -8260,7 +8260,7 @@ * cal-tex.el (cal-tex-cursor-week-iso): Delete spurious %. -1997-11-02 Kevin Rodgers <kevinr@airedale.ihs.com> +1997-11-02 Kevin Rodgers <kevinr@ihs.com> * emacs-lisp/byte-opt.el (byte-optimize-concat): New function. @@ -21588,7 +21588,7 @@ * time-stamp.el (time-stamp-dd/mm/yyyy): New function. -1996-11-04 Kevin Rodgers <evinr@ihs.com> +1996-11-04 Kevin Rodgers <kevinr@ihs.com> * compile.el (compile-highlight-display-limit): New variable. (compilation-handle-exit): Parse error messages here diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8 index d89de848b59..4dfb876c086 100644 --- a/lisp/ChangeLog.8 +++ b/lisp/ChangeLog.8 @@ -9846,7 +9846,7 @@ * gnus/gnus-start.el (gnus-save-newsrc-file): Bind coding-system-for-write before saving. -1998-08-26 Kevin Rodgers <kevinr@ihs.com> +1998-08-26 Kevin Rodgers <kevinr@ihs.com> (tiny change) * isearch.el (isearch-forward): Doc fix. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 3e155bf2b89..8adaa27e619 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -87,12 +87,12 @@ doit: $(lisp)/cus-load.el: touch $@ -custom-deps: $(lisp)/loaddefs.el $(lisp)/cus-load.el doit +custom-deps: $(lisp)/subdirs.el $(lisp)/loaddefs.el $(lisp)/cus-load.el doit wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ $(EMACS) $(EMACSOPT) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins -finder-data: $(lisp)/loaddefs.el doit +finder-data: $(lisp)/subdirs.el $(lisp)/loaddefs.el doit wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ $(EMACS) $(EMACSOPT) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins @@ -107,7 +107,7 @@ $(lisp)/loaddefs.el: echo ";; no-update-autoloads: t" >> $@ echo ";; End:" >> $@ echo ";;; loaddefs.el ends here" >> $@ -autoloads: $(lisp)/loaddefs.el doit +autoloads: $(lisp)/subdirs.el $(lisp)/loaddefs.el doit wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ $(EMACS) $(EMACSOPT) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 1363ccee561..83a3fbbe49d 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -363,5 +363,7 @@ A prefix argument means don't query; expand all abbrevs." (if (or noquery (y-or-n-p (format "Expand `%s'? " string))) (expand-abbrev))))))) +(provide 'abbrev) + ;; arch-tag: dbd6f3ae-dfe3-40ba-b00f-f9e3ff960df5 ;;; abbrev.el ends here diff --git a/lisp/autorevert.el b/lisp/autorevert.el index cb8821bb64c..bd9d6fe76e8 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -457,6 +457,7 @@ This is an internal function used by Auto-Revert Mode." (save-excursion (goto-char (point-max)) (insert-file-contents file nil auto-revert-tail-pos size))) + (run-mode-hooks 'after-revert-hook) (undo-boundary) (setq auto-revert-tail-pos size) (set-buffer-modified-p modified))) diff --git a/lisp/calc/calc-aent.el b/lisp/calc/calc-aent.el index e0727e17afb..988b0240067 100644 --- a/lisp/calc/calc-aent.el +++ b/lisp/calc/calc-aent.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-alg.el b/lisp/calc/calc-alg.el index e66be236782..2037ed099af 100644 --- a/lisp/calc/calc-alg.el +++ b/lisp/calc/calc-alg.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-arith.el b/lisp/calc/calc-arith.el index 0f6f6d6fbf0..6d56365fc9c 100644 --- a/lisp/calc/calc-arith.el +++ b/lisp/calc/calc-arith.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-bin.el b/lisp/calc/calc-bin.el index 7c82c5f1de8..07be863a99a 100644 --- a/lisp/calc/calc-bin.el +++ b/lisp/calc/calc-bin.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-comb.el b/lisp/calc/calc-comb.el index b47f3b3c222..eed8124494f 100644 --- a/lisp/calc/calc-comb.el +++ b/lisp/calc/calc-comb.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-cplx.el b/lisp/calc/calc-cplx.el index aa454b7454f..de2cfd8354c 100644 --- a/lisp/calc/calc-cplx.el +++ b/lisp/calc/calc-cplx.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el index 9313802ab86..eb35b8a7a4b 100644 --- a/lisp/calc/calc-embed.el +++ b/lisp/calc/calc-embed.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el index 2eeae51613d..22b366a04d9 100644 --- a/lisp/calc/calc-ext.el +++ b/lisp/calc/calc-ext.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-fin.el b/lisp/calc/calc-fin.el index 008e38a1e73..24516f65535 100644 --- a/lisp/calc/calc-fin.el +++ b/lisp/calc/calc-fin.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-forms.el b/lisp/calc/calc-forms.el index 00c43af7c59..3f368499395 100644 --- a/lisp/calc/calc-forms.el +++ b/lisp/calc/calc-forms.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -508,7 +508,7 @@ (defvar math-format-date-cache nil) -;; The variables math-fd-date, math-fd-dt, math-fd-year, +;; The variables math-fd-date, math-fd-dt, math-fd-year, ;; math-fd-month, math-fd-day, math-fd-weekday, math-fd-hour, ;; math-fd-minute, math-fd-second, math-fd-bc-flag are local ;; to math-format-date, but are used by math-format-date-part, @@ -533,7 +533,7 @@ (calc-group-digits nil) (calc-leading-zeros nil) (calc-number-radix 10) - math-fd-year math-fd-month math-fd-day math-fd-weekday + math-fd-year math-fd-month math-fd-day math-fd-weekday math-fd-hour math-fd-minute math-fd-second (math-fd-bc-flag nil) (fmt (apply 'concat (mapcar 'math-format-date-part @@ -570,7 +570,7 @@ math-fd-year (car math-fd-dt) math-fd-month (nth 1 math-fd-dt) math-fd-day (nth 2 math-fd-dt) - math-fd-weekday (math-mod + math-fd-weekday (math-mod (math-add (math-floor math-fd-date) 6) 7) math-fd-hour (nth 3 math-fd-dt) math-fd-minute (nth 4 math-fd-dt) @@ -727,8 +727,8 @@ (a nil) (b nil) (c nil) (bigyear nil) temp) ;; Extract the time, if any. - (if (or (string-match "\\([0-9][0-9]?\\):\\([0-9][0-9]?\\)\\(:\\([0-9][0-9]?\\(\\.[0-9]+\\)?\\)\\)? *\\([ap]m?\\|[ap]\\. *m\\.\\|noon\\|n\\>\\|midnight\\|mid\\>\\|m\\>\\)?" math-pd-str) - (string-match "\\([0-9][0-9]?\\)\\(\\)\\(\\(\\(\\)\\)\\) *\\([ap]m?\\|[ap]\\. *m\\.\\|noon\\|n\\>\\|midnight\\|mid\\>\\|m\\>\\)" math-pd-str)) + (if (or (string-match "\\([0-9][0-9]?\\):\\([0-9][0-9]?\\)\\(:\\([0-9][0-9]?\\(\\.[0-9]+\\)?\\)\\)? *\\([ap]\\>\\|[ap]m\\|[ap]\\. *m\\.\\|noon\\|n\\>\\|midnight\\|mid\\>\\|m\\>\\)?" math-pd-str) + (string-match "\\([0-9][0-9]?\\)\\(\\)\\(\\(\\(\\)\\)\\) *\\([ap]\\>\\|[ap]m\\|[ap]\\. *m\\.\\|noon\\|n\\>\\|midnight\\|mid\\>\\|m\\>\\)" math-pd-str)) (let ((ampm (math-match-substring math-pd-str 6))) (setq hour (string-to-number (math-match-substring math-pd-str 1)) minute (math-match-substring math-pd-str 2) @@ -784,7 +784,7 @@ (while (and (string-match "[-+]?0*[1-9][0-9][0-9][0-9][0-9]+" math-pd-str) (setq temp (concat (substring math-pd-str 0 (match-beginning 0)) (substring math-pd-str (match-end 0)))) - (string-match + (string-match "[4-9][0-9]\\|[0-9][0-9][0-9]\\|[-+][0-9]+[^-]*\\'" temp)) (setq math-pd-str temp)) @@ -1173,7 +1173,7 @@ ;;; Note: Longer names must appear before shorter names which are ;;; substrings of them. (defvar math-tzone-names - '(( "UTC" 0 0) + '(( "UTC" 0 0) ( "MEGT" -1 "MET" "METDST" ) ; Middle Europe ( "METDST" -1 -1 ) ( "MET" -1 0 ) ( "MEGZ" -1 "MEZ" "MESZ" ) ( "MEZ" -1 0 ) ( "MESZ" -1 -1 ) @@ -1312,9 +1312,42 @@ (calcFunc-unixtime (calcFunc-unixtime date z1) z2))) (defun math-std-daylight-savings (date dt zone bump) - "Standard North American daylight savings algorithm. -This implements the rules for the U.S. and Canada as of 1987. -Daylight savings begins on the first Sunday of April at 2 a.m., + "Standard North American daylight saving algorithm. +Before 2007, this uses `math-std-daylight-savings-old', where +daylight saving began on the first Sunday of April at 2 a.m., +and ended on the last Sunday of October at 2 a.m. +As of 2007, this uses `math-std-daylight-savings-new', where +daylight saving begins on the second Sunday of March at 2 a.m., +and ends on the first Sunday of November at 2 a.m." + (if (< (car dt) 2007) + (math-std-daylight-savings-old date dt zone bump) + (math-std-daylight-savings-new date dt zone bump))) + +(defun math-std-daylight-savings-new (date dt zone bump) + "Standard North American daylight saving algorithm as of 2007. +This implements the rules for the U.S. and Canada. +Daylight saving begins on the second Sunday of March at 2 a.m., +and ends on the first Sunday of November at 2 a.m." + (cond ((< (nth 1 dt) 3) 0) + ((= (nth 1 dt) 3) + (let ((sunday (math-prev-weekday-in-month date dt 14 0))) + (cond ((< (nth 2 dt) sunday) 0) + ((= (nth 2 dt) sunday) + (if (>= (nth 3 dt) (+ 3 bump)) -1 0)) + (t -1)))) + ((< (nth 1 dt) 11) -1) + ((= (nth 1 dt) 11) + (let ((sunday (math-prev-weekday-in-month date dt 7 0))) + (cond ((< (nth 2 dt) sunday) -1) + ((= (nth 2 dt) sunday) + (if (>= (nth 3 dt) (+ 2 bump)) 0 -1)) + (t 0)))) + (t 0))) + +(defun math-std-daylight-savings-old (date dt zone bump) + "Standard North American daylight saving algorithm before 2007. +This implements the rules for the U.S. and Canada. +Daylight saving begins on the first Sunday of April at 2 a.m., and ends on the last Sunday of October at 2 a.m." (cond ((< (nth 1 dt) 4) 0) ((= (nth 1 dt) 4) @@ -1817,7 +1850,7 @@ and ends on the last Sunday of October at 2 a.m." (math-make-intv 2 0 b))))) ;; The variables math-exp-str and math-exp-pos are local to -;; math-read-exprs in math-aent.el, but are used by +;; math-read-exprs in math-aent.el, but are used by ;; math-read-angle-brackets, which is called (indirectly) by ;; math-read-exprs. (defvar math-exp-str) diff --git a/lisp/calc/calc-frac.el b/lisp/calc/calc-frac.el index 8329d95e899..b30fcd1d145 100644 --- a/lisp/calc/calc-frac.el +++ b/lisp/calc/calc-frac.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-funcs.el b/lisp/calc/calc-funcs.el index e9b5ec97539..bd8aa753ddf 100644 --- a/lisp/calc/calc-funcs.el +++ b/lisp/calc/calc-funcs.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el index e7473fa57ca..734f7615329 100644 --- a/lisp/calc/calc-graph.el +++ b/lisp/calc/calc-graph.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index 6d3f072554f..90a89c079fa 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-incom.el b/lisp/calc/calc-incom.el index a32b6c09f85..5d1034cf2fc 100644 --- a/lisp/calc/calc-incom.el +++ b/lisp/calc/calc-incom.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-keypd.el b/lisp/calc/calc-keypd.el index 3e5fa194609..d044335e94c 100644 --- a/lisp/calc/calc-keypd.el +++ b/lisp/calc/calc-keypd.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el index fc584f2213f..5e91fe153af 100644 --- a/lisp/calc/calc-lang.el +++ b/lisp/calc/calc-lang.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-macs.el b/lisp/calc/calc-macs.el index 4db6d9752e1..692770030fc 100644 --- a/lisp/calc/calc-macs.el +++ b/lisp/calc/calc-macs.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-map.el b/lisp/calc/calc-map.el index 5fcaecd95e9..9ae9a9b5cfd 100644 --- a/lisp/calc/calc-map.el +++ b/lisp/calc/calc-map.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-math.el b/lisp/calc/calc-math.el index 96cfd6fc50d..32a3f0409c8 100644 --- a/lisp/calc/calc-math.el +++ b/lisp/calc/calc-math.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el index 0f3547ed06e..178734c1f1d 100644 --- a/lisp/calc/calc-misc.el +++ b/lisp/calc/calc-misc.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-mode.el b/lisp/calc/calc-mode.el index 14cb3c746d5..136ca2e91a9 100644 --- a/lisp/calc/calc-mode.el +++ b/lisp/calc/calc-mode.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-mtx.el b/lisp/calc/calc-mtx.el index 4d4201aee5a..012600f86ab 100644 --- a/lisp/calc/calc-mtx.el +++ b/lisp/calc/calc-mtx.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el index aef7a28efd4..31e026e4ffe 100644 --- a/lisp/calc/calc-poly.el +++ b/lisp/calc/calc-poly.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el index 41e9254ffd6..b0a0feccec8 100644 --- a/lisp/calc/calc-prog.el +++ b/lisp/calc/calc-prog.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-rewr.el b/lisp/calc/calc-rewr.el index 0159f50dc45..d1dc4a27f1c 100644 --- a/lisp/calc/calc-rewr.el +++ b/lisp/calc/calc-rewr.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-rules.el b/lisp/calc/calc-rules.el index 23ae04ac114..5053a0a9fa1 100644 --- a/lisp/calc/calc-rules.el +++ b/lisp/calc/calc-rules.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-sel.el b/lisp/calc/calc-sel.el index 01d8ec3fc30..61b0dd70bd8 100644 --- a/lisp/calc/calc-sel.el +++ b/lisp/calc/calc-sel.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-stat.el b/lisp/calc/calc-stat.el index 0631a823c5f..d1c481d16fd 100644 --- a/lisp/calc/calc-stat.el +++ b/lisp/calc/calc-stat.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el index 458a5ea9268..517106f9d7d 100644 --- a/lisp/calc/calc-store.el +++ b/lisp/calc/calc-store.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-stuff.el b/lisp/calc/calc-stuff.el index 6cb1a9b1974..cafe298fb0e 100644 --- a/lisp/calc/calc-stuff.el +++ b/lisp/calc/calc-stuff.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-trail.el b/lisp/calc/calc-trail.el index a6ed07f7612..2f3de0c5e28 100644 --- a/lisp/calc/calc-trail.el +++ b/lisp/calc/calc-trail.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-undo.el b/lisp/calc/calc-undo.el index 80259d4ee26..e1cec48abf5 100644 --- a/lisp/calc/calc-undo.el +++ b/lisp/calc/calc-undo.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index 5a010236226..750dc53a54a 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-vec.el b/lisp/calc/calc-vec.el index 1980ab7cc04..d2ec77ceab7 100644 --- a/lisp/calc/calc-vec.el +++ b/lisp/calc/calc-vec.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el index f957cf4cc14..17997c1f8e1 100644 --- a/lisp/calc/calc-yank.el +++ b/lisp/calc/calc-yank.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 43bddbfe2c8..75e1c83df03 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -10,20 +10,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calcalg2.el b/lisp/calc/calcalg2.el index 5443cc883bd..5bf388b7431 100644 --- a/lisp/calc/calcalg2.el +++ b/lisp/calc/calcalg2.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el index b4d1eee854e..f5053689fe7 100644 --- a/lisp/calc/calcalg3.el +++ b/lisp/calc/calcalg3.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calccomp.el b/lisp/calc/calccomp.el index 05ec4daf920..1bc844af481 100644 --- a/lisp/calc/calccomp.el +++ b/lisp/calc/calccomp.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calc/calcsel2.el b/lisp/calc/calcsel2.el index d0f982f1598..f28efba30b8 100644 --- a/lisp/calc/calcsel2.el +++ b/lisp/calc/calcsel2.el @@ -8,20 +8,20 @@ ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: diff --git a/lisp/calendar/cal-china.el b/lisp/calendar/cal-china.el index 1c08d553754..a838141db1c 100644 --- a/lisp/calendar/cal-china.el +++ b/lisp/calendar/cal-china.el @@ -83,8 +83,8 @@ UT+7:45:40 to UT+8." ; The correct value is as follows, but the Chinese calendrical ; authorities do NOT use DST in determining astronomical events: ; 60 - "*Number of minutes difference between daylight savings and standard time -for Chinese calendar. Default is for no daylight savings time." + "*Number of minutes difference between daylight saving and standard time +for Chinese calendar. Default is for no daylight saving time." :type 'integer :group 'chinese-calendar) @@ -99,7 +99,7 @@ at 1928-01-01 00:00:00 from `PMT' to `CST'." :group 'chinese-calendar) (defcustom chinese-calendar-daylight-time-zone-name "CDT" - "*Abbreviated name of daylight-savings time zone used for Chinese calendar." + "*Abbreviated name of daylight saving time zone used for Chinese calendar." :type 'string :group 'chinese-calendar) @@ -109,8 +109,8 @@ at 1928-01-01 00:00:00 from `PMT' to `CST'." ; '(cond ((< 1986 year) (calendar-nth-named-day 1 0 4 year 10)) ; ((= 1986 year) '(5 4 1986)) ; (t nil)) - "*Sexp giving the date on which daylight savings time starts for Chinese -calendar. Default is for no daylight savings time. See documentation of + "*Sexp giving the date on which daylight saving time starts for Chinese +calendar. Default is for no daylight saving time. See documentation of `calendar-daylight-savings-starts'." :type 'sexp :group 'chinese-calendar) @@ -119,21 +119,21 @@ calendar. Default is for no daylight savings time. See documentation of ; The correct value is as follows, but the Chinese calendrical ; authorities do NOT use DST in determining astronomical events: ; '(if (<= 1986 year) (calendar-nth-named-day 1 0 9 year 11)) - "*Sexp giving the date on which daylight savings time ends for Chinese -calendar. Default is for no daylight savings time. See documentation of + "*Sexp giving the date on which daylight saving time ends for Chinese +calendar. Default is for no daylight saving time. See documentation of `calendar-daylight-savings-ends'." :type 'sexp :group 'chinese-calendar) (defcustom chinese-calendar-daylight-savings-starts-time 0 - "*Number of minutes after midnight that daylight savings time starts for -Chinese calendar. Default is for no daylight savings time." + "*Number of minutes after midnight that daylight saving time starts for +Chinese calendar. Default is for no daylight saving time." :type 'integer :group 'chinese-calendar) (defcustom chinese-calendar-daylight-savings-ends-time 0 - "*Number of minutes after midnight that daylight savings time ends for -Chinese calendar. Default is for no daylight savings time." + "*Number of minutes after midnight that daylight saving time ends for +Chinese calendar. Default is for no daylight saving time." :type 'integer :group 'chinese-calendar) diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el index 928c42f9122..3aea69b8ccf 100644 --- a/lisp/calendar/cal-dst.el +++ b/lisp/calendar/cal-dst.el @@ -1,4 +1,4 @@ -;;; cal-dst.el --- calendar functions for daylight savings rules +;;; cal-dst.el --- calendar functions for daylight saving rules ;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, ;; 2006, 2007 Free Software Foundation, Inc. @@ -7,7 +7,7 @@ ;; Edward M. Reingold <reingold@cs.uiuc.edu> ;; Maintainer: Glenn Morris <rgm@gnu.org> ;; Keywords: calendar -;; Human-Keywords: daylight savings time, calendar, diary, holidays +;; Human-Keywords: daylight saving time, calendar, diary, holidays ;; This file is part of GNU Emacs. @@ -29,7 +29,7 @@ ;;; Commentary: ;; This collection of functions implements the features of calendar.el and -;; holiday.el that deal with daylight savings time. +;; holiday.el that deal with daylight saving time. ;; Comments, corrections, and improvements should be sent to ;; Edward M. Reingold Department of Computer Science @@ -46,7 +46,7 @@ "Non-nil means to check each year for DST transitions as needed. Otherwise assume the next two transitions found after the current date apply to all years. This is faster, but not always -correct, since the dates of Daylight Saving transitions sometimes +correct, since the dates of daylight saving transitions sometimes change." :type 'boolean :version "22.1" @@ -142,8 +142,8 @@ Return nil if no such transition can be found." (defun calendar-time-zone-daylight-rules (abs-date utc-diff) "Return daylight transition rule for ABS-DATE, UTC-DIFF sec offset from UTC. -ABS-DATE must specify a day that contains a daylight savings transition. -The result has the proper form for calendar-daylight-savings-starts'." +ABS-DATE must specify a day that contains a daylight saving transition. +The result has the proper form for `calendar-daylight-savings-starts'." (let* ((date (calendar-gregorian-from-absolute abs-date)) (weekday (% abs-date 7)) (m (extract-calendar-month date)) @@ -215,7 +215,7 @@ The result has the proper form for calendar-daylight-savings-starts'." ;; See thread ;; http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-11/msg00060.html (defun calendar-dst-find-data (&optional time) - "Find data on the first Daylight Saving Time transitions after TIME. + "Find data on the first daylight saving time transitions after TIME. TIME defaults to `current-time'. Return value is as described for `calendar-current-time-zone'." (let* ((t0 (or time (current-time))) @@ -228,9 +228,9 @@ for `calendar-current-time-zone'." (let* ((t1 (calendar-next-time-zone-transition t0)) (t2 (and t1 (calendar-next-time-zone-transition t1)))) (if (not t2) - ;; This locale does not have daylight savings time. + ;; This locale does not have daylight saving time. (list (/ t0-utc-diff 60) 0 t0-name t0-name nil nil 0 0) - ;; Use heuristics to find daylight savings parameters. + ;; Use heuristics to find daylight saving parameters. (let* ((t1-zone (current-time-zone t1)) (t1-utc-diff (car t1-zone)) (t1-name (car (cdr t1-zone))) @@ -254,14 +254,14 @@ for `calendar-current-time-zone'." ))))))))) (defvar calendar-dst-transition-cache nil - "Internal cal-dst variable storing date of Daylight Saving Time transitions. + "Internal cal-dst variable storing date of daylight saving time transitions. Value is a list with elements of the form (YEAR START END), where START and END are expressions that when evaluated return the start and end dates (respectively) for DST in YEAR. Used by the function `calendar-dst-find-startend'.") (defun calendar-dst-find-startend (year) - "Find the dates in YEAR on which Daylight Saving Time starts and ends. + "Find the dates in YEAR on which daylight saving time starts and ends. Returns a list (YEAR START END), where START and END are expressions that when evaluated return the start and end dates, respectively. This function first attempts to use pre-calculated @@ -288,16 +288,16 @@ system knows: UTC-DIFF is an integer specifying the number of minutes difference between standard time in the current time zone and Coordinated Universal Time (Greenwich Mean Time). A negative value means west of Greenwich. -DST-OFFSET is an integer giving the daylight savings time offset in minutes. +DST-OFFSET is an integer giving the daylight saving time offset in minutes. STD-ZONE is a string giving the name of the time zone when no seasonal time adjustment is in effect. DST-ZONE is a string giving the name of the time zone when there is a seasonal time adjustment in effect. DST-STARTS and DST-ENDS are sexps in the variable `year' giving the daylight - savings time start and end rules, in the form expected by + saving time start and end rules, in the form expected by `calendar-daylight-savings-starts'. DST-STARTS-TIME and DST-ENDS-TIME are integers giving the number of minutes - after midnight that daylight savings time starts and ends. + after midnight that daylight saving time starts and ends. If the local area does not use a seasonal time adjustment, STD-ZONE and DST-ZONE are equal, and all the DST-* integer variables are 0. @@ -308,7 +308,7 @@ it can't find." (unless calendar-current-time-zone-cache (setq calendar-current-time-zone-cache (calendar-dst-find-data)))) -;;; The following eight defvars relating to daylight savings time should NOT be +;;; The following eight defvars relating to daylight saving time should NOT be ;;; marked to go into loaddefs.el where they would be evaluated when Emacs is ;;; dumped. These variables' appropriate values depend on the conditions under ;;; which the code is INVOKED; so it's inappropriate to initialize them when @@ -324,9 +324,9 @@ example, -300 for New York City, -480 for Los Angeles.") (defvar calendar-daylight-time-offset (or (car (cdr calendar-current-time-zone-cache)) 60) - "*Number of minutes difference between daylight savings and standard time. + "*Number of minutes difference between daylight saving and standard time. -If the locale never uses daylight savings time, set this to 0.") +If the locale never uses daylight saving time, set this to 0.") (defvar calendar-standard-time-zone-name (or (car (nthcdr 2 calendar-current-time-zone-cache)) "EST") @@ -335,12 +335,12 @@ For example, \"EST\" in New York City, \"PST\" for Los Angeles.") (defvar calendar-daylight-time-zone-name (or (car (nthcdr 3 calendar-current-time-zone-cache)) "EDT") - "*Abbreviated name of daylight-savings time zone at `calendar-location-name'. + "*Abbreviated name of daylight saving time zone at `calendar-location-name'. For example, \"EDT\" in New York City, \"PDT\" for Los Angeles.") (defun calendar-dst-starts (year) - "Return the date of YEAR on which Daylight Saving Time starts. + "Return the date of YEAR on which daylight saving time starts. This function respects the value of `calendar-dst-check-each-year-flag'." (or (let ((expr (if calendar-dst-check-each-year-flag (cadr (calendar-dst-find-startend year)) @@ -351,7 +351,7 @@ This function respects the value of `calendar-dst-check-each-year-flag'." (calendar-nth-named-day 2 0 3 year)))) (defun calendar-dst-ends (year) - "Return the date of YEAR on which Daylight Saving Time ends. + "Return the date of YEAR on which daylight saving time ends. This function respects the value of `calendar-dst-check-each-year-flag'." (or (let ((expr (if calendar-dst-check-each-year-flag (nth 2 (calendar-dst-find-startend year)) @@ -366,13 +366,13 @@ This function respects the value of `calendar-dst-check-each-year-flag'." (put 'calendar-daylight-savings-starts 'risky-local-variable t) (defvar calendar-daylight-savings-starts '(calendar-dst-starts year) - "*Sexp giving the date on which daylight savings time starts. + "*Sexp giving the date on which daylight saving time starts. This is an expression in the variable `year' whose value gives the Gregorian -date in the form (month day year) on which daylight savings time starts. It is -used to determine the starting date of daylight savings time for the holiday +date in the form (month day year) on which daylight saving time starts. It is +used to determine the starting date of daylight saving time for the holiday list and for correcting times of day in the solar and lunar calculations. -For example, if daylight savings time is mandated to start on October 1, +For example, if daylight saving time is mandated to start on October 1, you would set `calendar-daylight-savings-starts' to '(10 1 year) @@ -381,35 +381,35 @@ If it starts on the first Sunday in April, you would set it to '(calendar-nth-named-day 1 0 4 year) -If the locale never uses daylight savings time, set this to nil.") +If the locale never uses daylight saving time, set this to nil.") ;;;###autoload (put 'calendar-daylight-savings-ends 'risky-local-variable t) (defvar calendar-daylight-savings-ends '(calendar-dst-ends year) - "*Sexp giving the date on which daylight savings time ends. + "*Sexp giving the date on which daylight saving time ends. This is an expression in the variable `year' whose value gives the Gregorian -date in the form (month day year) on which daylight savings time ends. It is -used to determine the starting date of daylight savings time for the holiday +date in the form (month day year) on which daylight saving time ends. It is +used to determine the starting date of daylight saving time for the holiday list and for correcting times of day in the solar and lunar calculations. -For example, if daylight savings time ends on the last Sunday in October: +For example, if daylight saving time ends on the last Sunday in October: '(calendar-nth-named-day -1 0 10 year) -If the locale never uses daylight savings time, set this to nil.") +If the locale never uses daylight saving time, set this to nil.") (defvar calendar-daylight-savings-starts-time (or (car (nthcdr 6 calendar-current-time-zone-cache)) 120) - "*Number of minutes after midnight that daylight savings time starts.") + "*Number of minutes after midnight that daylight saving time starts.") (defvar calendar-daylight-savings-ends-time (or (car (nthcdr 7 calendar-current-time-zone-cache)) calendar-daylight-savings-starts-time) - "*Number of minutes after midnight that daylight savings time ends.") + "*Number of minutes after midnight that daylight saving time ends.") (defun dst-in-effect (date) - "True if on absolute DATE daylight savings time is in effect. + "True if on absolute DATE daylight saving time is in effect. Fractional part of DATE is local standard time of day." (let* ((year (extract-calendar-year (calendar-gregorian-from-absolute (floor date)))) @@ -438,10 +438,10 @@ adjusted for `zone'; here `date' is a list (month day year), `adj-time' is a decimal fraction time, and `zone' is a string. Optional parameter STYLE forces the result time to be standard time when its -value is 'standard and daylight savings time (if available) when its value is +value is 'standard and daylight saving time (if available) when its value is 'daylight. -Conversion to daylight savings time is done according to +Conversion to daylight saving time is done according to `calendar-daylight-savings-starts', `calendar-daylight-savings-ends', `calendar-daylight-savings-starts-time', `calendar-daylight-savings-ends-time', and diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 711de4c1f28..fa7a68acd30 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -57,7 +57,7 @@ ;; appt.el Appointment notification ;; cal-china.el Chinese calendar ;; cal-coptic.el Coptic/Ethiopic calendars -;; cal-dst.el Daylight savings time rules +;; cal-dst.el Daylight saving time rules ;; cal-hebrew.el Hebrew calendar ;; cal-islam.el Islamic calendar ;; cal-bahai.el Baha'i calendar @@ -770,6 +770,8 @@ Can be used for appointment notification." :type 'hook :group 'diary) +(autoload 'diary-set-maybe-redraw "diary-lib") + ;;;###autoload (defcustom diary-display-hook nil "List of functions that handle the display of the diary. @@ -794,6 +796,8 @@ if that day is a holiday; if you want such days to be shown in the fancy diary buffer, set the variable `diary-list-include-blanks' to t." :type 'hook :options '(fancy-diary-display) + :initialize 'custom-initialize-default + :set 'diary-set-maybe-redraw :group 'diary) ;;;###autoload @@ -1160,7 +1164,7 @@ See the documentation for `calendar-holidays' for details." (funcall 'holiday-sexp calendar-daylight-savings-starts - '(format "Daylight Savings Time Begins %s" + '(format "Daylight Saving Time Begins %s" (if (fboundp 'atan) (solar-time-string (/ calendar-daylight-savings-starts-time (float 60)) @@ -1169,7 +1173,7 @@ See the documentation for `calendar-holidays' for details." (funcall 'holiday-sexp calendar-daylight-savings-ends - '(format "Daylight Savings Time Ends %s" + '(format "Daylight Saving Time Ends %s" (if (fboundp 'atan) (solar-time-string (/ calendar-daylight-savings-ends-time (float 60)) diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index a5644f7972d..72620a7f9bb 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -267,10 +267,12 @@ search." ;; This can be removed once the kill/yank treatment of invisible text ;; (see etc/TODO) is fixed. -- gm (defcustom diary-header-line-flag t - "If non-nil, `diary-simple-display' will show a header line. + "If non-nil, `simple-diary-display' will show a header line. The format of the header is specified by `diary-header-line-format'." :group 'diary :type 'boolean + :initialize 'custom-initialize-default + :set 'diary-set-maybe-redraw :version "22.1") (defvar diary-selective-display nil) @@ -282,7 +284,7 @@ The format of the header is specified by `diary-header-line-format'." before edit/copy" "Diary")) ?\s (frame-width))) - "Format of the header line displayed by `diary-simple-display'. + "Format of the header line displayed by `simple-diary-display'. Only used if `diary-header-line-flag' is non-nil." :group 'diary :type 'sexp @@ -290,6 +292,27 @@ Only used if `diary-header-line-flag' is non-nil." (defvar diary-saved-point) ; internal +(defun diary-live-p () + "Return non-nil if the diary is being displayed. +This is not the same as just visiting the `diary-file'." + (or (get-buffer fancy-diary-buffer) + (when diary-file + (let ((dbuff (find-buffer-visiting + (substitute-in-file-name diary-file)))) + (when dbuff + (with-current-buffer dbuff + diary-selective-display)))))) + +(defun diary-set-maybe-redraw (symbol value) + "Set SYMBOL's value to VALUE, and redraw the diary if necessary. +Redraws the diary if it is being displayed (note this is not the same as +just visiting the `diary-file'), and SYMBOL's value is to be changed." + (let ((oldvalue (eval symbol))) + (custom-set-default symbol value) + (and (not (equal value oldvalue)) + (diary-live-p) + ;; Note this assumes diary was called without prefix arg. + (diary)))) (defcustom number-of-diary-entries 1 "Specifies how many days of diary entries are to be displayed initially. @@ -300,10 +323,10 @@ entries will be displayed. If the value 2 is used, then both the current day's and the next day's entries will be displayed. The value can also be a vector such as [0 2 2 2 2 4 1]; this value -says to display no diary entries on Sunday, the display the entries -for the current date and the day after on Monday through Thursday, -display Friday through Monday's entries on Friday, and display only -Saturday's entries on Saturday. +says to display no diary entries on Sunday, the entries for +the current date and the day after on Monday through Thursday, +Friday through Monday's entries on Friday, and only Saturday's +entries on Saturday. This variable does not affect the diary display with the `d' command from the calendar; in that case, the prefix argument controls the @@ -317,6 +340,8 @@ number of days of diary entries displayed." (integer :tag "Thursday") (integer :tag "Friday") (integer :tag "Saturday"))) + :initialize 'custom-initialize-default + :set 'diary-set-maybe-redraw :group 'diary) @@ -410,7 +435,10 @@ If LIST-ONLY is non-nil don't modify or display the buffer, only return a list." (or (verify-visited-file-modtime diary-buffer) (revert-buffer t t)))) ;; Setup things like the header-line-format and invisibility-spec. - (when (eq major-mode default-major-mode) (diary-mode)) + ;; This used to only run if the major-mode was default-major-mode, + ;; but that meant eg changes to header-line-format did not + ;; take effect from one diary invocation to the next. + (diary-mode) ;; d-s-p is passed to the diary display function. (let ((diary-saved-point (point))) (save-excursion diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index cb9885fc125..7bbd12a436e 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el @@ -101,7 +101,7 @@ ;;; Code: -(defconst icalendar-version "0.14" +(defconst icalendar-version "0.15" "Version number of icalendar.el.") ;; ====================================================================== @@ -226,16 +226,17 @@ buffer." (replace-match "" nil nil))) unfolded-buffer)) -(defsubst icalendar--rris (&rest args) +(defsubst icalendar--rris (regexp rep string &optional fixedcase literal) "Replace regular expression in string. -Pass ARGS to `replace-regexp-in-string' (Emacs) or to -`replace-in-string' (XEmacs)." - (if (fboundp 'replace-regexp-in-string) - ;; Emacs: - (apply 'replace-regexp-in-string args) - ;; XEmacs: - (save-match-data ;; apparently XEmacs needs save-match-data - (apply 'replace-in-string args)))) +Pass arguments REGEXP REP STRING FIXEDCASE LITERAL to +`replace-regexp-in-string' (Emacs) or to `replace-in-string' (XEmacs)." + (cond ((fboundp 'replace-regexp-in-string) + ;; Emacs: + (replace-regexp-in-string regexp rep string fixedcase literal)) + ((fboundp 'replace-in-string) + ;; XEmacs: + (save-match-data ;; apparently XEmacs needs save-match-data + (replace-in-string string regexp rep literal))))) (defun icalendar--read-element (invalue inparams) "Recursively read the next iCalendar element in the current buffer. @@ -1472,8 +1473,8 @@ object, reads it and adds all VEVENT elements to the diary DIARY-FILE. It will ask for each appointment whether to add it to the diary -when DO-NOT-ASK is non-nil. When called interactively, -DO-NOT-ASK is set to t, so that you are asked fore each event. +unless DO-NOT-ASK is non-nil. When called interactively, +DO-NOT-ASK is nil, so that you are asked for each event. NON-MARKING determines whether diary events are created as non-marking. @@ -1669,8 +1670,11 @@ written into the buffer `*icalendar-errors*'." (concat diary-string " " (icalendar--format-ical-event e))) (if do-not-ask (setq summary nil)) - (icalendar--add-diary-entry diary-string diary-file - non-marking summary)) + ;; add entry to diary and store actual name of diary + ;; file (in case it was nil) + (setq diary-file + (icalendar--add-diary-entry diary-string diary-file + non-marking summary))) ;; event was not ok (setq found-error t) (setq error-string @@ -1684,13 +1688,15 @@ written into the buffer `*icalendar-errors*'." (setq error-string (format "%s\n%s\nCannot handle this event: %s" error-val error-string e)) (message "%s" error-string)))) + ;; insert final newline - (let ((b (find-buffer-visiting diary-file))) - (when b - (save-current-buffer - (set-buffer b) - (goto-char (point-max)) - (insert "\n")))) + (if diary-file + (let ((b (find-buffer-visiting diary-file))) + (when b + (save-current-buffer + (set-buffer b) + (goto-char (point-max)) + (insert "\n"))))) (if found-error (save-current-buffer (set-buffer (get-buffer-create "*icalendar-errors*")) @@ -1943,7 +1949,9 @@ the entry." (setq diary-file (read-file-name "Add appointment to this diary file: "))) ;; Note: make-diary-entry will add a trailing blank char.... :( - (make-diary-entry string non-marking diary-file)))) + (make-diary-entry string non-marking diary-file))) + ;; return diary-file in case it has been changed interactively + diary-file) (provide 'icalendar) diff --git a/lisp/calendar/lunar.el b/lisp/calendar/lunar.el index 95bcae3875a..33da7cef8e0 100644 --- a/lisp/calendar/lunar.el +++ b/lisp/calendar/lunar.el @@ -377,7 +377,7 @@ use when highlighting the day in the calendar." "Astronomical (Julian) day number of first new moon on or after astronomical \(Julian) day number d. The fractional part is the time of day. -The date and time are local time, including any daylight savings rules, +The date and time are local time, including any daylight saving rules, as governed by the values of calendar-daylight-savings-starts, calendar-daylight-savings-starts-time, calendar-daylight-savings-ends, calendar-daylight-savings-ends-time, calendar-daylight-time-offset, and diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el index f8112b3e896..c4a8352a8d8 100644 --- a/lisp/calendar/solar.el +++ b/lisp/calendar/solar.el @@ -507,7 +507,7 @@ Result is in julian centuries of ephemeris time." (defun solar-date-next-longitude (d l) "First moment on or after Julian day number D when sun's longitude is a multiple of L degrees at calendar-location-name with that location's -local time (including any daylight savings rules). +local time (including any daylight saving rules). L must be an integer divisor of 360. diff --git a/lisp/comint.el b/lisp/comint.el index 19ce168a02e..ee102c423b4 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -1347,7 +1347,11 @@ Quotes are single and double." (defun comint-delim-arg (arg) "Return a list of arguments from ARG. Break it up at the delimiters in `comint-delimiter-argument-list'. -Returned list is backwards." +Returned list is backwards. + +Characters with non-nil values of the text property `literal' are +assumed to have literal values (e.g., backslash-escaped +characters), and are not considered to be delimiters." (if (null comint-delimiter-argument-list) (list arg) (let ((args nil) @@ -1356,12 +1360,16 @@ Returned list is backwards." (while (< pos len) (let ((char (aref arg pos)) (start pos)) - (if (memq char comint-delimiter-argument-list) + (if (and (memq char comint-delimiter-argument-list) + ;; Ignore backslash-escaped characters. + (not (get-text-property pos 'literal arg))) (while (and (< pos len) (eq (aref arg pos) char)) (setq pos (1+ pos))) (while (and (< pos len) - (not (memq (aref arg pos) - comint-delimiter-argument-list))) + (not (and (memq (aref arg pos) + comint-delimiter-argument-list) + (not (get-text-property + pos 'literal arg))))) (setq pos (1+ pos)))) (setq args (cons (substring arg start pos) args)))) args))) @@ -1381,24 +1389,32 @@ Argument 0 is the command name." ;; The third matches '-quoted strings. ;; The fourth matches `-quoted strings. ;; This seems to fit the syntax of BASH 2.0. - (let* ((first (if (if (fboundp 'w32-shell-dos-semantics) - (w32-shell-dos-semantics)) - "[^ \n\t\"'`]+\\|" - "[^ \n\t\"'`\\]+\\|\\\\[\"'`\\ \t]+\\|")) + (let* ((backslash-escape (not (and (fboundp 'w32-shell-dos-semantics) + (w32-shell-dos-semantics)))) + (first (if backslash-escape + "[^ \n\t\"'`\\]\\|\\(\\\\.\\)\\|" + "[^ \n\t\"'`]+\\|")) (argpart (concat first "\\(\"\\([^\"\\]\\|\\\\.\\)*\"\\|\ '[^']*'\\|\ `[^`]*`\\)")) + (quote-subexpr (if backslash-escape 2 1)) (args ()) (pos 0) (count 0) beg str quotes) ;; Build a list of all the args until we have as many as we want. (while (and (or (null mth) (<= count mth)) (string-match argpart string pos)) + ;; Apply the `literal' text property to backslash-escaped + ;; characters, so that `comint-delim-arg' won't break them up. + (and backslash-escape + (match-beginning 1) + (put-text-property (match-beginning 1) (match-end 1) + 'literal t string)) (if (and beg (= pos (match-beginning 0))) ;; It's contiguous, part of the same arg. (setq pos (match-end 0) - quotes (or quotes (match-beginning 1))) + quotes (or quotes (match-beginning quote-subexpr))) ;; It's a new separate arg. (if beg ;; Put the previous arg, if there was one, onto ARGS. @@ -1406,7 +1422,7 @@ Argument 0 is the command name." args (if quotes (cons str args) (nconc (comint-delim-arg str) args)))) (setq count (length args)) - (setq quotes (match-beginning 1)) + (setq quotes (match-beginning quote-subexpr)) (setq beg (match-beginning 0)) (setq pos (match-end 0)))) (if beg diff --git a/lisp/complete.el b/lisp/complete.el index cc8f29356b6..ce5094d1aef 100644 --- a/lisp/complete.el +++ b/lisp/complete.el @@ -147,6 +147,8 @@ If nil, means use the colon-separated path in the variable $INCPATH instead." (cond ((not bind) ;; These bindings are the default bindings. It would be better to ;; restore the previous bindings. + (define-key read-expression-map "\e\t" 'lisp-complete-symbol) + (define-key completion-map "\t" 'minibuffer-complete) (define-key completion-map " " 'minibuffer-complete-word) (define-key completion-map "?" 'minibuffer-completion-help) @@ -157,8 +159,10 @@ If nil, means use the colon-separated path in the variable $INCPATH instead." (define-key must-match-map "\n" 'minibuffer-complete-and-exit) (define-key must-match-map "?" 'minibuffer-completion-help) - (define-key global-map "\e\t" 'complete-symbol)) + (define-key global-map [remap lisp-complete-symbol] nil)) (PC-default-bindings + (define-key read-expression-map "\e\t" 'PC-lisp-complete-symbol) + (define-key completion-map "\t" 'PC-complete) (define-key completion-map " " 'PC-complete-word) (define-key completion-map "?" 'PC-completion-help) @@ -181,7 +185,7 @@ If nil, means use the colon-separated path in the variable $INCPATH instead." (define-key must-match-map "\e\n" 'PC-complete-and-exit) (define-key must-match-map "\e?" 'PC-completion-help) - (define-key global-map "\e\t" 'PC-lisp-complete-symbol))))) + (define-key global-map [remap lisp-complete-symbol] 'PC-lisp-complete-symbol))))) ;;;###autoload (define-minor-mode partial-completion-mode @@ -383,6 +387,29 @@ of `minibuffer-completion-table' and the minibuffer contents.") (let ((completion-ignore-case nil)) (test-completion str table pred)))) +;; The following function is an attempt to work around two problems: + +;; (1) When complete.el was written, (try-completion "" '(("") (""))) used to +;; return the value "". With a change from 2002-07-07 it returns t which caused +;; `PC-lisp-complete-symbol' to fail with a "Wrong type argument: sequencep, t" +;; error. `PC-try-completion' returns STRING in this case. + +;; (2) (try-completion "" '((""))) returned t before the above-mentioned change. +;; Since `PC-chop-word' operates on the return value of `try-completion' this +;; case might have provoked a similar error as in (1). `PC-try-completion' +;; returns "" instead. I don't know whether this is a real problem though. + +;; Since `PC-try-completion' is not a guaranteed to fix these bugs reliably, you +;; should try to look at the following discussions when you encounter problems: +;; - emacs-pretest-bug ("Partial Completion" starting 2007-02-23), +;; - emacs-devel ("[address-of-OP: Partial completion]" starting 2007-02-24), +;; - emacs-devel ("[address-of-OP: EVAL and mouse selection in *Completions*]" +;; starting 2007-03-05). +(defun PC-try-completion (string alist &optional predicate) + "Like `try-completion' but return STRING instead of t." + (let ((result (try-completion string alist predicate))) + (if (eq result t) string result))) + (defun PC-do-completion (&optional mode beg end) (or beg (setq beg (minibuffer-prompt-end))) (or end (setq end (point-max))) @@ -390,7 +417,10 @@ of `minibuffer-completion-table' and the minibuffer contents.") (pred minibuffer-completion-predicate) (filename (funcall PC-completion-as-file-name-predicate)) (dirname nil) ; non-nil only if a filename is being completed - (dirlength 0) + ;; The following used to be "(dirlength 0)" which caused the erasure of + ;; the entire buffer text before `point' when inserting a completion + ;; into a buffer. + dirlength (str (buffer-substring beg end)) (incname (and filename (string-match "<\\([^\"<>]*\\)>?$" str))) (ambig nil) @@ -404,8 +434,15 @@ of `minibuffer-completion-table' and the minibuffer contents.") ;; Check if buffer contents can already be considered complete (if (and (eq mode 'exit) - (test-completion-ignore-case str table pred)) - 'complete + (test-completion str table pred)) + (progn + ;; If completion-ignore-case is non-nil, insert the + ;; completion string since that may have a different case. + (when completion-ignore-case + (setq str (PC-try-completion str table pred)) + (delete-region beg end) + (insert str)) + 'complete) ;; Do substitutions in directory names (and filename @@ -553,6 +590,9 @@ of `minibuffer-completion-table' and the minibuffer contents.") (setq poss (cons (car p) poss)))) (setq p (cdr p))))) + ;; If table had duplicates, they can be here. + (delete-dups poss) + ;; Handle completion-ignored-extensions (and filename (not (eq mode 'help)) @@ -623,8 +663,8 @@ of `minibuffer-completion-table' and the minibuffer contents.") ;; Check if next few letters are the same in all cases (if (and (not (eq mode 'help)) - (setq prefix (try-completion (PC-chunk-after basestr skip) - poss))) + (setq prefix (PC-try-completion + (PC-chunk-after basestr skip) poss))) (let ((first t) i) ;; Retain capitalization of user input even if ;; completion-ignore-case is set. @@ -662,7 +702,7 @@ of `minibuffer-completion-table' and the minibuffer contents.") (setq skip (concat skip (regexp-quote prefix) PC-ndelims-regex) - prefix (try-completion + prefix (PC-try-completion (PC-chunk-after ;; not basestr, because that does ;; not reflect insertions @@ -996,7 +1036,7 @@ absolute rather than relative to some directory on the SEARCH-PATH." (cond ((not completion-table) nil) ((eq action 'lambda) (test-completion str2 completion-table nil)) - ((eq action nil) (try-completion str2 completion-table nil)) + ((eq action nil) (PC-try-completion str2 completion-table nil)) ((eq action t) (all-completions str2 completion-table nil))))) ad-do-it)) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index c49328ac40d..d8fdf966374 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -938,9 +938,6 @@ VALUE is a Lisp object. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. -The `customized-value' property of the VARIABLE will be set to a list -with a quoted VALUE as its sole list member. - If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. @@ -971,9 +968,6 @@ Return VALUE. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. -The `customized-value' property of the VARIABLE will be set to a list -with a quoted VALUE as its sole list member. - If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. @@ -993,6 +987,8 @@ If given a prefix (or a COMMENT argument), also prompt for a comment." (comment (put variable 'variable-comment comment) (put variable 'saved-variable-comment comment))) + (put variable 'customized-value nil) + (put variable 'customized-variable-comment nil) (custom-save-all) value) diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index c4fac402dbf..543e1bd6a39 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -985,7 +985,9 @@ See `after-change-functions' for the meaning of BEG, END and LEN." (define-derived-mode diff-mode fundamental-mode "Diff" "Major mode for viewing/editing context diffs. Supports unified and context diffs as well as (to a lesser extent) -normal diffs. +normal diffs. If you edit the buffer manually, diff-mode will try +to update the hunk headers for you on-the-fly. + When the buffer is read-only, the ESC prefix is not necessary. If you edit the buffer manually, diff-mode will try to update the hunk headers for you on-the-fly. @@ -993,7 +995,12 @@ headers for you on-the-fly. You can also switch between context diff and unified diff with \\[diff-context->unified], or vice versa with \\[diff-unified->context] and you can also reverse the direction of a diff with \\[diff-reverse-direction]. -\\{diff-mode-map}" + +When the buffer is read-only, the Meta- modifier is not necessary +to run the Diff mode commands: + + \\{diff-mode-map}" + (set (make-local-variable 'font-lock-defaults) diff-font-lock-defaults) (set (make-local-variable 'outline-regexp) diff-outline-regexp) (set (make-local-variable 'imenu-generic-expression) @@ -1368,7 +1375,8 @@ With a prefix argument, REVERSE the hunk." (yes-or-no-p (format "Really apply this hunk to %s? " (file-name-nondirectory buffer-file-name))))))) - (error (substitute-command-keys + (error "%s" + (substitute-command-keys (format "Use %s\\[diff-apply-hunk] to apply it to the other file" (if (not reverse) "\\[universal-argument] "))))) ((and switched diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 5f70773444d..d93d80e0c8e 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -70,6 +70,7 @@ files.") ("Francesco Potort,Al(B" "Francesco Potorti" "Francesco Potorti`") ("Frederic Pierresteguy" "Fred Pierresteguy") ("Geoff Voelker" "voelker") + ("Gerd M,Av(Bllmann" "Gerd Moellmann") ("Hallvard B. Furuseth" "Hallvard B Furuseth") ("Hrvoje Nik,B9(Bi,Bf(B" "Hrvoje Niksic") (nil "(afs@hplb.hpl.hp.com)") @@ -102,6 +103,7 @@ files.") ("Kyle Jones" "Kyle E. Jones") ("Marcus G. Daniels" "Marcus Daniels") ("Mark D. Baushke" "Mark D Baushke") + ("Agust,Am(Bn Mart,Am(Bn" "Agustin Martin") ("Martin Lorentzon" "Martin Lorentzson") ("Matt Swift" "Matthew Swift") ("Michael R. Mauger" "Michael Mauger") diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 1d7cbfc422c..f74e48c4635 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -972,8 +972,10 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'." (pos (if (and byte-compile-current-file (integerp byte-compile-read-position)) (with-current-buffer byte-compile-current-buffer - (format "%d:%d:" (count-lines (point-min) - byte-compile-last-position) + (format "%d:%d:" + (save-excursion + (goto-char byte-compile-last-position) + (1+ (count-lines (point-min) (point-at-bol)))) (save-excursion (goto-char byte-compile-last-position) (1+ (current-column))))) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 5af676a5e86..2777ea775e9 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -2939,6 +2939,7 @@ MSG is printed after `::::} '." (edebug-overlay-arrow)) (setq buffer-read-only edebug-buffer-read-only) (use-local-map edebug-outside-map) + (remove-hook 'kill-buffer-hook 'edebug-kill-buffer t) ) ;; gotta have a buffer to let its buffer local variables be set (get-buffer-create " bogus edebug buffer")) @@ -3942,8 +3943,18 @@ edebug-on-signal edebug-unwrap-results edebug-global-break-condition " + ;; If the user kills the buffer in which edebug is currently active, + ;; exit to top level, because the edebug command loop can't usefully + ;; continue running in such a case. + (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t) (use-local-map edebug-mode-map)) +(defun edebug-kill-buffer () + "Used on `kill-buffer-hook' when Edebug is operating in a buffer of Lisp code." + (let (kill-buffer-hook) + (kill-buffer (current-buffer))) + (top-level)) + ;;; edebug eval list mode ;; A list of expressions and their evaluations is displayed in *edebug*. diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 5576a4882b0..09cb8436c89 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -909,34 +909,47 @@ is the buffer position of the start of the containing expression." (cond ((elt state 3) ;; Inside a string, don't change indentation. nil) - ((save-excursion - ;; test whether current line begins with a constant - (goto-char indent-point) - (skip-chars-forward " \t") - (looking-at ":")) - (let ((desired-indent - (save-excursion - (goto-char (1+ containing-sexp)) - (parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t) - (point))) - (parse-sexp-ignore-comments t)) - ;; Align a constant symbol under the last constant symbol - (goto-char calculate-lisp-indent-last-sexp) - (while (> (point) desired-indent) - (if (looking-at ":") - (setq desired-indent (point)) - (backward-sexp 1)))) - (current-column)) ((and (integerp lisp-indent-offset) containing-sexp) ;; Indent by constant offset (goto-char containing-sexp) (+ (current-column) lisp-indent-offset)) + ;; in this case calculate-lisp-indent-last-sexp is not nil + (calculate-lisp-indent-last-sexp + (or + ;; try to align the parameters of a known function + (and lisp-indent-function + (not retry) + (funcall lisp-indent-function indent-point state)) + ;; If the function has no special alignment + ;; or it does not apply to this argument, + ;; try to align a constant-symbol under the last + ;; preceding constant symbol, if there is such one of + ;; the last 2 preceding symbols, in the previous + ;; uncommented line. + (and (save-excursion + (goto-char indent-point) + (skip-chars-forward " \t") + (looking-at ":")) + (> calculate-lisp-indent-last-sexp + (save-excursion + (goto-char (1+ containing-sexp)) + (parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t) + (point))) + (let ((parse-sexp-ignore-comments t) + indent) + (goto-char calculate-lisp-indent-last-sexp) + (or (and (looking-at ":") + (setq indent (current-column))) + (and (< (save-excursion (beginning-of-line) (point)) + (prog2 (backward-sexp) (point))) + (looking-at ":") + (setq indent (current-column)))) + indent)) + ;; another symbols or constants not preceded by a constant + ;; as defined above. + normal-indent)) + ;; in this case calculate-lisp-indent-last-sexp is nil (desired-indent) - ((and (boundp 'lisp-indent-function) - lisp-indent-function - (not retry)) - (or (funcall lisp-indent-function indent-point state) - normal-indent)) (t normal-indent)))))) diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el index 08897bec72c..2d3b4832cda 100644 --- a/lisp/emacs-lisp/re-builder.el +++ b/lisp/emacs-lisp/re-builder.el @@ -130,14 +130,13 @@ (defcustom reb-re-syntax 'read "*Syntax for the REs in the RE Builder. -Can either be `read', `string', `sregex' or `lisp-re'." +Can either be `read', `string', `sregex', `lisp-re', `rx'." :group 're-builder :type '(choice (const :tag "Read syntax" read) (const :tag "String syntax" string) (const :tag "`sregex' syntax" sregex) (const :tag "`lisp-re' syntax" lisp-re) - (const :tag "`rx' syntax" rx) - (value: string))) + (const :tag "`rx' syntax" rx))) (defcustom reb-auto-match-limit 200 "*Positive integer limiting the matches for RE Builder auto updates. @@ -640,11 +639,13 @@ If SUBEXP is non-nil mark only the corresponding sub-expressions." (set-buffer reb-target-buffer) (reb-delete-overlays) (goto-char (point-min)) - (while (and (re-search-forward re (point-max) t) + (while (and (not (eobp)) + (re-search-forward re (point-max) t) (or (not reb-auto-match-limit) (< matches reb-auto-match-limit))) (if (= 0 (length (match-string 0))) - (error "Empty regular expression!")) + (unless (eobp) + (forward-char 1))) (let ((i 0) suffix max-suffix) (setq matches (1+ matches)) diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el index c185e88d8a8..c6abda631dc 100644 --- a/lisp/eshell/esh-mode.el +++ b/lisp/eshell/esh-mode.el @@ -1078,6 +1078,15 @@ This function could be in the list `eshell-output-filter-functions'." (custom-add-option 'eshell-output-filter-functions 'eshell-handle-control-codes) +(defun eshell-handle-ansi-color () + "Handle ANSI color codes." + (require 'ansi-color) + (ansi-color-apply-on-region eshell-last-output-start + eshell-last-output-end)) + +(custom-add-option 'eshell-output-filter-functions + 'eshell-handle-ansi-color) + ;;; Code: ;;; arch-tag: ec65bc2b-da14-4547-81d3-a32af3a4dc57 diff --git a/lisp/faces.el b/lisp/faces.el index 4c058ba1fd3..904db10efa5 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1805,7 +1805,11 @@ Initialize colors of certain faces from frame parameters." (face-spec-set face (face-user-default-spec face) frame) (internal-merge-in-global-face face frame) (if (memq (window-system frame) '(x w32 mac)) - (make-face-x-resource-internal face frame))) + (make-face-x-resource-internal face frame)) + ;; If the user has customized the face, don't let X + ;; resources override the customizations. + (if (get face 'theme-face) + (custom-theme-recalc-face face))) (error nil))) ;; Apply the attributes specified by frame parameters. This ;; rewrites parameters changed by make-face-x-resource-internal @@ -2195,18 +2199,12 @@ terminal type to a different value." :version "22.1" :group 'basic-faces) -(defface momentary - '((t (:inherit mode-line))) - "Face for momentarily displaying text in the current buffer." - :version "22.1" - :group 'basic-faces) - (defface minibuffer-prompt '((((background dark)) :foreground "cyan") ;; Don't use blue because many users of the MS-DOS port customize ;; their foreground color to be blue. (((type pc)) :foreground "magenta") - (t :foreground "dark blue")) + (t :foreground "medium blue")) "Face for minibuffer prompts. By default, Emacs automatically adds this face to the value of `minibuffer-prompt-properties', which is a list of text properties diff --git a/lisp/files.el b/lisp/files.el index 22c817993f9..f11c6d37834 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1474,11 +1474,12 @@ the various files." (error "Aborted")) (if buf ;; We are using an existing buffer. - (progn + (let (nonexistent) (or nowarn (verify-visited-file-modtime buf) (cond ((not (file-exists-p filename)) - (error "File %s no longer exists!" filename)) + (setq nonexistent t) + (message "File %s no longer exists!" filename)) ;; Certain files should be reverted automatically ;; if they have changed on disk and not in the buffer. ((and (not (buffer-modified-p buf)) @@ -1515,7 +1516,8 @@ the various files." ;; writable and vice versa, but if the buffer agrees ;; with the new state of the file, that is ok too. (let ((read-only (not (file-writable-p buffer-file-name)))) - (unless (or (eq read-only buffer-file-read-only) + (unless (or nonexistent + (eq read-only buffer-file-read-only) (eq read-only buffer-read-only)) (when (or nowarn (let ((question @@ -1528,6 +1530,7 @@ the various files." (when (and (not (eq (not (null rawfile)) (not (null find-file-literally)))) + (not nonexistent) ;; It is confusing to ask whether to visit ;; non-literally if they have the file in ;; hexl-mode. @@ -1697,16 +1700,6 @@ This function ensures that none of these modifications will take place." (if (file-directory-p filename) (signal 'file-error (list "Opening input file" "file is a directory" filename))) - ;; Check whether the file is uncommonly large (see find-file-noselect): - (let (size) - (when (and large-file-warning-threshold - (setq size (nth 7 (file-attributes filename))) - (> size large-file-warning-threshold) - (not (y-or-n-p - (format "File %s is large (%dMB), really insert? " - (file-name-nondirectory filename) - (/ size 1048576))))) - (error "Aborted"))) (let* ((buffer (find-buffer-visiting (abbreviate-file-name (file-truename filename)) #'buffer-modified-p)) (tem (funcall insert-func filename))) @@ -2144,7 +2137,7 @@ associated with that interpreter in `interpreter-mode-alist'.") (comment-re (concat "\\(?:!--" incomment-re "*-->[ \t\n]*<\\)"))) (concat "[ \t\n]*<" comment-re "*!DOCTYPE ")) . sgml-mode) - ("%![^V]" . ps-mode) + ("%!PS" . ps-mode) ("# xmcd " . conf-unix-mode)) "Alist of buffer beginnings vs. corresponding major mode functions. Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION). @@ -2443,6 +2436,7 @@ asking you for confirmation." (mapc (lambda (pair) (put (car pair) 'safe-local-variable (cdr pair))) '((buffer-read-only . booleanp) ;; C source code + (default-directory . stringp) ;; C source code (fill-column . integerp) ;; C source code (indent-tabs-mode . booleanp) ;; C source code (left-margin . integerp) ;; C source code @@ -3602,10 +3596,21 @@ Before and after saving the buffer, this function runs (let ((filename (expand-file-name (read-file-name "File to save in: ") nil))) - (and (file-exists-p filename) - (or (y-or-n-p (format "File `%s' exists; overwrite? " - filename)) - (error "Canceled"))) + (if (file-exists-p filename) + (if (file-directory-p filename) + ;; Signal an error if the user specified the name of an + ;; existing directory. + (error "%s is a directory" filename) + (unless (y-or-n-p (format "File `%s' exists; overwrite? " + filename)) + (error "Canceled"))) + ;; Signal an error if the specified name refers to a + ;; non-existing directory. + (let ((dir (file-name-directory filename))) + (unless (file-directory-p dir) + (if (file-exists-p dir) + (error "%s is not a directory" dir) + (error "%s: no such directory" dir))))) (set-visited-file-name filename))) (or (verify-visited-file-modtime (current-buffer)) (not (file-exists-p buffer-file-name)) @@ -3679,7 +3684,7 @@ Before and after saving the buffer, this function runs (if (not (file-directory-p dir)) (if (file-exists-p dir) (error "%s is not a directory" dir) - (error "%s: no such directory" buffer-file-name)) + (error "%s: no such directory" dir)) (if (not (file-exists-p buffer-file-name)) (error "Directory %s write-protected" dir) (if (yes-or-no-p diff --git a/lisp/font-lock.el b/lisp/font-lock.el index c398ca0a012..eb2a7964cec 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el @@ -2190,7 +2190,7 @@ other modes in which C preprocessor directives are used. e.g. `asm-mode' and "\\(advice\\|alias\\|generic\\|macro\\*?\\|method\\|" "setf\\|subst\\*?\\|un\\*?\\|" "ine-\\(condition\\|" - "\\(?:derived\\|\\(?:global-\\)?minor\\|generic\\)-mode\\|" + "\\(?:derived\\|\\(?:global\\(?:ized\\)?-\\)?minor\\|generic\\)-mode\\|" "method-combination\\|setf-expander\\|skeleton\\|widget\\|" "function\\|\\(compiler\\|modify\\|symbol\\)-macro\\)\\)\\|" ;; Variable declarations. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index d3354bd14eb..add0bb47c25 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -906,7 +906,7 @@ (spam-mark-junk-as-spam-routine): Use it. Allow to disable assigning the spam-mark to new messages. -2006-03-20 Adam Sj,Ax(Bgren <asjo@koldfront.dk> (tiny change) +2006-03-20 Adam Sj,Ax(Bgren <asjo@koldfront.dk> (spam-ham-copy-or-move-routine): Don't declare `todo' twice. @@ -1590,7 +1590,7 @@ * nnmail.el (nnmail-fancy-expiry-target): Protect against invalid date header. -2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny patch) +2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny change) * imap.el (imap-kerberos4-open): Ignore SSL stuff. @@ -2192,7 +2192,7 @@ (gnus-decode-header-function, gnus-newsgroup-name): * spam-stat.el (gnus-original-article-buffer): Add defvars. -2005-08-22 Karl Chen <quarl@cs.berkeley.edu> (tiny change) +2005-08-22 Karl Chen <quarl@cs.berkeley.edu> * gnus-art.el (gnus-treatment-function-alist): Move date-lapsed to the end of the date treatments. diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index 69794a18fa4..4dac2ac55ea 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 @@ -76,10 +76,10 @@ * smime.el (smime-crl-check): Doc fix. -2004-01-02 Edwin Steiner <edwin.steiner@gmx.net> +2004-01-02 Edwin Steiner <edwin.steiner@gmx.net> (tiny change) * gnus-nocem.el (gnus-nocem-enter-article): Use the real group - hashtb (tiny patch). + hashtb. 2004-01-02 Michael Albinus <Michael.Albinus@alcatel.de> @@ -463,12 +463,15 @@ * mml-smime.el (mml-smime-sign): Replace CRLF with LF in OpenSSL output. Reported by Arne J,Ax(Brgensen <arne@arnested.dk>. -2003-12-07 Simon Josefsson <jas@extundo.com> +2003-12-07 Lloyd Zusman <ljz@asfast.com> (tiny change) * pgg-gpg.el (pgg-gpg-recipient-arg): Add. - (pgg-gpg-encrypt-region): Use it. Tiny patch from Lloyd Zusman - <ljz@asfast.com>. - (pgg-gpg-recipient-argument): Doc fix. Renamed fro p-g-r-a. + (pgg-gpg-encrypt-region): Use it. + +2003-12-07 Simon Josefsson <jas@extundo.com> + + * pgg-gpg.el (pgg-gpg-recipient-argument): Doc fix. + Renamed from p-g-r-a. (pgg-gpg-encrypt-region): Update. 2003-12-07 Jesper Harder <harder@ifa.au.dk> @@ -907,10 +910,10 @@ * spam.el (spam-spamoracle): doc change, suggested by Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr> -2003-11-04 Katsumi Yamaoka <yamaoka@jpl.org> +2003-11-04 Norbert Koch <viteno@xemacs.org> (tiny change) * gnus-score.el (gnus-decay-score): Protect against arithmetic - errors. Tiny patch from Norbert Koch <viteno@xemacs.org>. + errors. 2003-10-31 Teodor Zlatanov <tzz@lifelogs.com> @@ -927,12 +930,14 @@ (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): change spam-log-processing-to-registry invocations appropriately -2003-10-31 Simon Josefsson <jas@extundo.com> +2003-10-31 Derek Atkins <warlord@MIT.EDU> (tiny change) * imap.el (imap-kerberos4-open): Ignore output from ATHENA imtest. - Tiny patch from Derek Atkins <warlord@MIT.EDU>. - (imap-process-connection-type): Improve docstring. Suggested by - Derek Atkins <warlord@MIT.EDU>. + +2003-10-31 Simon Josefsson <jas@extundo.com> + + * imap.el (imap-process-connection-type): Improve docstring. + Suggested by Derek Atkins <warlord@MIT.EDU>. 2003-10-31 Teodor Zlatanov <tzz@lifelogs.com> @@ -964,11 +969,14 @@ * message.el (message-forward-make-body-plain): Fix ARG=1 mode after separating m-f-m-b. -2003-10-29 Simon Josefsson <jas@extundo.com> +2003-10-29 Andre Srinivasan <andre@e2open.com> (tiny change) * message.el (message-forward-make-body-plain): Remove ignored - headers. Tiny patch from Andre Srinivasan <andre@e2open.com>. - (message-forward-make-body-plain): Fix ARG=1. + headers. + +2003-10-29 Simon Josefsson <jas@extundo.com> + + * message.el (message-forward-make-body-plain): Fix ARG=1. 2003-10-28 Jesper Harder <harder@ifa.au.dk> @@ -1582,7 +1590,7 @@ (mml-insert-mime-headers): Use it. Based on (tiny) patch from Lars Balker Rasmussen <lars@balker.org>. -2003-08-30 Gaute Strokkenes <gs234@srcf.ucam.org> (tiny change) +2003-08-30 Gaute B Strokkenes <gs234@srcf.ucam.org> (tiny change) * mail-source.el (mail-source-fetch-imap): Pass correct buffer to imap-open, reverts 2003-03-17 change. Reverse remove before @@ -1656,13 +1664,12 @@ * gnus-art.el (gnus-article-edit-done, gnus-article-edit-exit): Redisplay article after editing. -2003-08-20 Simon Josefsson <jas@extundo.com> +2003-08-20 Jari Aalto <jari.aalto@poboxes.com> * gnus.el (gnus-read-group): Added check to ask confirmation if Group name contains invalid character. You can use '/' in IMAP, but not in filenames. G m cannot know what the user is creating, so let user decide. See thread m2oeysiev3.fsf@naima.lensflare.org. - Tiny patch from letters@hotpop.com (Jari Aalto+mail.linux). 2003-08-13 Reiner Steib <Reiner.Steib@gmx.de> @@ -1715,7 +1722,7 @@ * gnus.el (gnus-refer-article-method): Ditto. * message.el (message-courtesy-message): Ditto. -2003-08-06 Chunyu Wang <spr@db.cs.hit.edu.cn> (tiny patch) +2003-08-06 Chunyu Wang <spr@db.cs.hit.edu.cn> (tiny change) * gnus-art.el (gnus-header-face-alist): Fix "Newsgroups" entry. @@ -1754,11 +1761,10 @@ * gnus-registry.el (gnus-registry-install): add an initial registry read to the loading when gnus-registry-install is set -2003-07-26 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> +2003-07-26 Mark Thomas <swoon@bellatlantic.net> (tiny change) * flow-fill.el (fill-flowed): Empty lines separate paragraphs - even if the preceding line ends with a soft break. Tiny patch - from Mark Thomas <swoon@bellatlantic.net>. + even if the preceding line ends with a soft break. 2003-07-25 Teodor Zlatanov <tzz@lifelogs.com> @@ -1843,7 +1849,7 @@ * imap.el (imap-arrival-filter): Fix test for missing process buffer. -2003-07-09 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny patch). +2003-07-09 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny change) * imap.el (imap-wait-for-tag): Clarify comment. Use timeout zero for second, after-process-has-died, accept-process-output. @@ -1899,7 +1905,7 @@ (message-canlock-generate) (message-generate-new-buffer-clone-locals): Docstring fixes. -2003-07-07 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny patch) +2003-07-07 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny change) * imap.el (imap-wait-for-tag): After the process has died, look for more output still pending. @@ -2421,11 +2427,10 @@ (rfc2047-syntax-table): Fix building table to work in Emacs 22. (rfc2047-unfold-region): Delete unused var `leading'. -2003-05-12 Simon Josefsson <jas@extundo.com> +2003-05-12 Ville Skytt,Ad(B <scop@xemacs.org> (tiny change) * pgg.el (pgg-temp-buffer-show-function): Reuse existing visible - output window if one is available. Tiny patch from Ville Skytt,Ad(B - <scop@xemacs.org>. + output window if one is available. 2003-05-11 Lars Magne Ingebrigtsen <larsi@gnus.org> @@ -4750,7 +4755,7 @@ * gnus-start.el (gnus-get-unread-articles-in-group): Make sure the entry for the group exists before we alter it. -2003-02-22 David S Goldberg <david.goldberg6@verizon.net> (tiny change) +2003-02-22 David S. Goldberg <david.goldberg6@verizon.net> (tiny change) * message.el (message-mode): MML tags separate paragraphs. @@ -5037,7 +5042,7 @@ code that only worked under Emacs. 2003-02-08 Satyaki Das <satyaki@chicory.stanford.edu> - + * pgg-gpg.el (pgg-gpg-process-region): Don't blink. 2003-02-08 Jesper Harder <harder@ifa.au.dk> @@ -5372,11 +5377,10 @@ * gnus.el: Oort Gnus v0.14 is released. -2003-01-24 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de> +2003-01-24 Mark Thomas <swoon@bellatlantic.net> (tiny change) * gnus-sum.el (gnus-summary-prepare-threads): Reset state for %B - before beginning. Tiny patch from Mark Thomas - <swoon@bellatlantic.net>. + before beginning. 2003-01-24 Teodor Zlatanov <tzz@lifelogs.com> @@ -13122,7 +13126,7 @@ * nnfolder.el (nnfolder-marks-changed-p): Ditto. -2001-10-20 David Z Maze <dmaze@MIT.EDU> +2001-10-20 David Z. Maze <dmaze@MIT.EDU> * nnml.el (nnml-marks-changed-p): Use `equal' when comparing conses. diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 3ee53a821bf..6599c1442bc 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -219,7 +219,8 @@ and `minibuffer-setup-hook'." (when (and icomplete-mode icomplete-eoinput) (unless (>= icomplete-eoinput (point-max)) - (let ((buffer-undo-list t)) ; prevent entry + (let ((buffer-undo-list t) ; prevent entry + deactivate-mark) (delete-region icomplete-eoinput (point-max)))) ;; Reestablish the safe value. @@ -256,7 +257,8 @@ and `minibuffer-setup-hook'." minibuffer-completion-table minibuffer-completion-predicate (not minibuffer-completion-confirm))))) - (buffer-undo-list t)) + (buffer-undo-list t) + deactivate-mark) ;; Do nothing if while-no-input was aborted. (if (consp text) (insert (car text)))))))) diff --git a/lisp/ido.el b/lisp/ido.el index 27abe9c9a8f..3eef048390e 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -1575,6 +1575,7 @@ With ARG, turn ido speed-up on if arg is positive, off otherwise." (define-key map [(meta down)] 'ido-next-work-directory) (define-key map [backspace] 'ido-delete-backward-updir) (define-key map "\d" 'ido-delete-backward-updir) + (define-key map [remap delete-backward-char] 'ido-delete-backward-updir) ; BS (define-key map [remap backward-kill-word] 'ido-delete-backward-word-updir) ; M-DEL (define-key map [(control backspace)] 'ido-up-directory) diff --git a/lisp/international/characters.el b/lisp/international/characters.el index 4ac067c2b3c..024333c4a88 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el @@ -913,10 +913,14 @@ (let ((tbl (standard-case-table)) c) - ;; Latin Extended-A, Latin Extended-B + ;; Latin Extended-A, Latin Extended-B, IPA (setq c #x0100) - (while (<= c #x0233) + (while (<= c #x02AF) (modify-category-entry (decode-char 'ucs c) ?l) + (setq c (1+ c))) + + (setq c #x0100) + (while (<= c #x0177) (and (or (<= c #x012e) (and (>= c #x014a) (<= c #x0177))) (zerop (% c 2)) diff --git a/lisp/international/isearch-x.el b/lisp/international/isearch-x.el index 76a33d2569e..b75a7cdaab3 100644 --- a/lisp/international/isearch-x.el +++ b/lisp/international/isearch-x.el @@ -103,6 +103,15 @@ (prompt (isearch-message-prefix)) (minibuffer-local-map isearch-minibuffer-local-map) str junk-hist) + + ;; PROMPT contains text-properties from + ;; `minibuffer-prompt-properties', and some of these can screw up + ;; its use in `read-string' below (specifically, a read-only + ;; property will cause it to signal an error), so strip them here; + ;; read-string will add the same properties itself anyway. + ;; + (set-text-properties 0 (length prompt) nil prompt) + (if isearch-input-method-function (let (;; Let input method work rather tersely. (input-method-verbose-flag nil)) diff --git a/lisp/international/mule.el b/lisp/international/mule.el index d2c83d75e06..fc7b0276a0f 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -1742,7 +1742,7 @@ If nothing is specified, the return value is nil." ;; is just "\r" and we can't use "^" nor "$" in regexp. (when (and tail-found (or (not coding-system) (not char-trans))) (goto-char tail-start) - (re-search-forward "[\r\n]\^L" nil t) + (re-search-forward "[\r\n]\^L" tail-end t) (if (re-search-forward "[\r\n]\\([^[\r\n]*\\)[ \t]*Local Variables:[ \t]*\\([^\r\n]*\\)[\r\n]" tail-end t) diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 340c035ca42..43251b3721e 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el @@ -1937,6 +1937,7 @@ Remaining args are for FUNC." (let ((default-enable-multibyte-characters enable-multibyte-characters)) (setq quail-completion-buf (get-buffer-create "*Quail Completions*"))) (with-current-buffer quail-completion-buf + (setq buffer-read-only t) (setq quail-overlay (make-overlay 1 1)) (overlay-put quail-overlay 'face 'highlight)))) @@ -2162,9 +2163,11 @@ are shown (at most to the depth specified `quail-completion-max-depth')." (minibuffer-scroll-window nil)) (scroll-other-window))) (setq quail-current-key key) - (erase-buffer) - (insert "Possible completion and corresponding characters are:\n") - (quail-completion-1 key map 1) + (let ((inhibit-read-only t)) + (erase-buffer) + (insert "Possible completion and corresponding characters are:\n") + (quail-completion-1 key map 1) + (set-buffer-modified-p nil)) (goto-char (point-min)) (display-buffer (current-buffer)) (setq require-update t))) diff --git a/lisp/isearch.el b/lisp/isearch.el index 8222d46338f..8c248dbc255 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1957,9 +1957,8 @@ If there is no completion possible, say so and continue searching." (concat " [" current-input-method-title "]: ") ": ") ))) - (apply 'propertize - (concat (upcase (substring m 0 1)) (substring m 1)) - minibuffer-prompt-properties))) + (propertize (concat (upcase (substring m 0 1)) (substring m 1)) + 'face 'minibuffer-prompt))) (defun isearch-message-suffix (&optional c-q-hack ellipsis) (concat (if c-q-hack "^Q" "") diff --git a/lisp/isearchb.el b/lisp/isearchb.el index 72a06fa687b..3d8af066395 100644 --- a/lisp/isearchb.el +++ b/lisp/isearchb.el @@ -165,7 +165,7 @@ Its purpose is to pass different call arguments to (define-key global-map (vector (list modifier i)) 'isearchb)))) (defun isearchb-follow-char () - "Function added to post-command-hook to handle the isearchb \"mode\"." + "Function added to `post-command-hook' to handle the isearchb \"mode\"." (let (keys) (if (not (and (memq last-command '(isearchb isearchb-activate)) (setq keys (this-command-keys)) diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 958bb679832..0471edb7891 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el @@ -74,14 +74,14 @@ This variable controls both display-time and stealth fontification." :group 'jit-lock) -(defcustom jit-lock-stealth-time 16 +(defcustom jit-lock-stealth-time nil "*Time in seconds to wait before beginning stealth fontification. Stealth fontification occurs if there is no input within this time. If nil, stealth fontification is never performed. The value of this variable is used when JIT Lock mode is turned on." :type '(choice (const :tag "never" nil) - (number :tag "seconds")) + (number :tag "seconds" :value 16)) :group 'jit-lock) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 923b309a1dd..f9dac3493f1 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -63,7 +63,7 @@ should return a grid vector array that is the new solution. ;;;*** -;;;### (autoloads nil "abbrev" "abbrev.el" (17888 32278)) +;;;### (autoloads nil "abbrev" "abbrev.el" (17963 19063)) ;;; Generated autoloads from abbrev.el (put 'abbrev-mode 'safe-local-variable 'booleanp) @@ -830,7 +830,7 @@ setup for auto-startup. ;;;*** ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" -;;;;;; "net/ange-ftp.el" (17888 36583)) +;;;;;; "net/ange-ftp.el" (17963 19063)) ;;; Generated autoloads from net/ange-ftp.el (defalias (quote ange-ftp-re-read-dir) (quote ange-ftp-reread-dir)) @@ -1611,7 +1611,7 @@ Calls `update-directory-autoloads' on the command line arguments. ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode ;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) -;;;;;; "autorevert" "autorevert.el" (17888 32278)) +;;;;;; "autorevert" "autorevert.el" (17963 19298)) ;;; Generated autoloads from autorevert.el (autoload (quote auto-revert-mode) "autorevert" "\ @@ -2687,7 +2687,7 @@ Also see `make-text-button'. ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile ;;;;;; compile-defun byte-compile-file byte-recompile-directory ;;;;;; byte-force-recompile byte-compile-warnings-safe-p) "bytecomp" -;;;;;; "emacs-lisp/bytecomp.el" (17888 36933)) +;;;;;; "emacs-lisp/bytecomp.el" (17963 19282)) ;;; Generated autoloads from emacs-lisp/bytecomp.el (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) @@ -2793,7 +2793,7 @@ and corresponding effects. ;;;*** -;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17888 32279)) +;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17963 19298)) ;;; Generated autoloads from calendar/cal-dst.el (put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t) @@ -2818,7 +2818,7 @@ from the cursor position. ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc ;;;;;; full-calc calc calc-dispatch calc-settings-file) "calc" "calc/calc.el" -;;;;;; (17888 32278)) +;;;;;; (17963 19309)) ;;; Generated autoloads from calc/calc.el (defvar calc-settings-file (convert-standard-filename "~/.calc.el") "\ @@ -2925,7 +2925,7 @@ See the documentation for `calculator-mode' for more information. ;;;;;; mark-holidays-in-calendar view-calendar-holidays-initially ;;;;;; calendar-remove-frame-by-deleting mark-diary-entries-in-calendar ;;;;;; view-diary-entries-initially calendar-offset) "calendar" -;;;;;; "calendar/calendar.el" (17888 32279)) +;;;;;; "calendar/calendar.el" (17963 20580)) ;;; Generated autoloads from calendar/calendar.el (defvar calendar-offset 0 "\ @@ -3322,7 +3322,7 @@ diary buffer will not show days for which there are no diary entries, even if that day is a holiday; if you want such days to be shown in the fancy diary buffer, set the variable `diary-list-include-blanks' to t.") -(custom-autoload (quote diary-display-hook) "calendar" t) +(custom-autoload (quote diary-display-hook) "calendar" nil) (defvar nongregorian-diary-listing-hook nil "\ List of functions called for listing diary file and included files. @@ -3457,7 +3457,7 @@ See the documentation for `calendar-holidays' for details.") (put (quote solar-holidays) (quote risky-local-variable) t) -(defvar solar-holidays (quote ((if (fboundp (quote atan)) (solar-equinoxes-solstices)) (if (progn (require (quote cal-dst)) t) (funcall (quote holiday-sexp) calendar-daylight-savings-starts (quote (format "Daylight Savings Time Begins %s" (if (fboundp (quote atan)) (solar-time-string (/ calendar-daylight-savings-starts-time (float 60)) calendar-standard-time-zone-name) ""))))) (funcall (quote holiday-sexp) calendar-daylight-savings-ends (quote (format "Daylight Savings Time Ends %s" (if (fboundp (quote atan)) (solar-time-string (/ calendar-daylight-savings-ends-time (float 60)) calendar-daylight-time-zone-name) "")))))) "\ +(defvar solar-holidays (quote ((if (fboundp (quote atan)) (solar-equinoxes-solstices)) (if (progn (require (quote cal-dst)) t) (funcall (quote holiday-sexp) calendar-daylight-savings-starts (quote (format "Daylight Saving Time Begins %s" (if (fboundp (quote atan)) (solar-time-string (/ calendar-daylight-savings-starts-time (float 60)) calendar-standard-time-zone-name) ""))))) (funcall (quote holiday-sexp) calendar-daylight-savings-ends (quote (format "Daylight Saving Time Ends %s" (if (fboundp (quote atan)) (solar-time-string (/ calendar-daylight-savings-ends-time (float 60)) calendar-daylight-time-zone-name) "")))))) "\ Sun-related holidays. See the documentation for `calendar-holidays' for details.") @@ -3523,7 +3523,7 @@ it fails. ;;;*** ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" -;;;;;; (17888 36644)) +;;;;;; (17963 19063)) ;;; Generated autoloads from progmodes/cc-engine.el (autoload (quote c-guess-basic-syntax) "cc-engine" "\ @@ -3535,7 +3535,7 @@ Return the syntactic context of the current line. ;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode ;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" -;;;;;; (17888 32281)) +;;;;;; (17963 19063)) ;;; Generated autoloads from progmodes/cc-mode.el (autoload (quote c-initialize-cc-mode) "cc-mode" "\ @@ -4483,7 +4483,7 @@ read/written by MS-DOS software, or for display on the MS-DOS terminal. ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" -;;;;;; (17888 37037)) +;;;;;; (17963 19298)) ;;; Generated autoloads from comint.el (defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\ @@ -4611,7 +4611,7 @@ on third call it again advances points to the next difference and so on. ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start ;;;;;; compile compilation-disable-input compile-command compilation-search-path ;;;;;; compilation-ask-about-save compilation-window-height compilation-mode-hook) -;;;;;; "compile" "progmodes/compile.el" (17888 32281)) +;;;;;; "compile" "progmodes/compile.el" (17963 19298)) ;;; Generated autoloads from progmodes/compile.el (defvar compilation-mode-hook nil "\ @@ -4773,7 +4773,7 @@ This is the value of `next-error-function' in Compilation buffers. ;;;*** ;;;### (autoloads (partial-completion-mode) "complete" "complete.el" -;;;;;; (17888 32279)) +;;;;;; (17963 19063)) ;;; Generated autoloads from complete.el (defvar partial-completion-mode nil "\ @@ -5275,7 +5275,7 @@ Insert a copyright by $ORGANIZATION notice at cursor. ;;;*** ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) -;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (17888 32281)) +;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (17963 19041)) ;;; Generated autoloads from progmodes/cperl-mode.el (autoload (quote cperl-mode) "cperl-mode" "\ @@ -5613,7 +5613,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. ;;;;;; customize-mode customize customize-save-variable customize-set-variable ;;;;;; customize-set-value custom-menu-sort-alphabetically custom-buffer-sort-alphabetically ;;;;;; custom-browse-sort-alphabetically) "cus-edit" "cus-edit.el" -;;;;;; (17888 37037)) +;;;;;; (17963 19047)) ;;; Generated autoloads from cus-edit.el (defvar custom-browse-sort-alphabetically nil "\ @@ -5652,9 +5652,6 @@ VALUE is a Lisp object. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. -The `customized-value' property of the VARIABLE will be set to a list -with a quoted VALUE as its sole list member. - If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. @@ -5672,9 +5669,6 @@ Return VALUE. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. -The `customized-value' property of the VARIABLE will be set to a list -with a quoted VALUE as its sole list member. - If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. @@ -6757,7 +6751,7 @@ Not documented ;;;*** ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" -;;;;;; "calendar/diary-lib.el" (17888 32279)) +;;;;;; "calendar/diary-lib.el" (17963 20580)) ;;; Generated autoloads from calendar/diary-lib.el (autoload (quote diary) "diary-lib" "\ @@ -6837,13 +6831,15 @@ With prefix arg, prompt for diff switches. ;;;*** ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el" -;;;;;; (17888 36650)) +;;;;;; (17963 19282)) ;;; Generated autoloads from diff-mode.el (autoload (quote diff-mode) "diff-mode" "\ Major mode for viewing/editing context diffs. Supports unified and context diffs as well as (to a lesser extent) -normal diffs. +normal diffs. If you edit the buffer manually, diff-mode will try +to update the hunk headers for you on-the-fly. + When the buffer is read-only, the ESC prefix is not necessary. If you edit the buffer manually, diff-mode will try to update the hunk headers for you on-the-fly. @@ -6851,7 +6847,11 @@ headers for you on-the-fly. You can also switch between context diff and unified diff with \\[diff-context->unified], or vice versa with \\[diff-unified->context] and you can also reverse the direction of a diff with \\[diff-reverse-direction]. -\\{diff-mode-map} + +When the buffer is read-only, the Meta- modifier is not necessary +to run the Diff mode commands: + + \\{diff-mode-map} \(fn)" t nil) @@ -8488,7 +8488,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form ;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" -;;;;;; "emacs-lisp/edebug.el" (17888 32279)) +;;;;;; "emacs-lisp/edebug.el" (17963 19041)) ;;; Generated autoloads from emacs-lisp/edebug.el (defvar edebug-all-defs nil "\ @@ -9059,7 +9059,7 @@ displayed. ;;;*** ;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" -;;;;;; (17888 32280)) +;;;;;; (17963 19063)) ;;; Generated autoloads from mail/emacsbug.el (autoload (quote report-emacs-bug) "emacsbug" "\ @@ -9657,8 +9657,8 @@ Add a file to `erc-xdcc-files'. ;;;*** -;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17888 -;;;;;; 32279)) +;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17963 +;;;;;; 19298)) ;;; Generated autoloads from eshell/esh-mode.el (autoload (quote eshell-mode) "esh-mode" "\ @@ -12670,7 +12670,7 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and ;;;### (autoloads (rgrep lgrep grep-find grep grep-mode grep-compute-defaults ;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command -;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17888 36935)) +;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17963 19282)) ;;; Generated autoloads from progmodes/grep.el (defvar grep-window-height nil "\ @@ -12824,7 +12824,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful. ;;;*** ;;;### (autoloads (gdb-script-mode jdb pdb perldb xdb dbx sdb gdb) -;;;;;; "gud" "progmodes/gud.el" (17963 18441)) +;;;;;; "gud" "progmodes/gud.el" (17963 19063)) ;;; Generated autoloads from progmodes/gud.el (autoload (quote gdb) "gud" "\ @@ -13536,7 +13536,7 @@ how the hiding is done: ;;;*** ;;;### (autoloads (hs-minor-mode) "hideshow" "progmodes/hideshow.el" -;;;;;; (17888 32281)) +;;;;;; (17963 19041)) ;;; Generated autoloads from progmodes/hideshow.el (defvar hs-special-modes-alist (quote ((c-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (c++-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (bibtex-mode ("^@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning))) "\ @@ -14431,7 +14431,7 @@ FORMATS is the value to use for `ibuffer-formats'. ;;;### (autoloads (icalendar-import-buffer icalendar-import-file ;;;;;; icalendar-export-region icalendar-export-file) "icalendar" -;;;;;; "calendar/icalendar.el" (17888 32279)) +;;;;;; "calendar/icalendar.el" (17963 20580)) ;;; Generated autoloads from calendar/icalendar.el (autoload (quote icalendar-export-file) "icalendar" "\ @@ -14469,8 +14469,8 @@ object, reads it and adds all VEVENT elements to the diary DIARY-FILE. It will ask for each appointment whether to add it to the diary -when DO-NOT-ASK is non-nil. When called interactively, -DO-NOT-ASK is set to t, so that you are asked fore each event. +unless DO-NOT-ASK is non-nil. When called interactively, +DO-NOT-ASK is nil, so that you are asked for each event. NON-MARKING determines whether diary events are created as non-marking. @@ -14483,8 +14483,8 @@ buffer `*icalendar-errors*'. ;;;*** -;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17888 -;;;;;; 32280)) +;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17963 +;;;;;; 19063)) ;;; Generated autoloads from icomplete.el (defvar icomplete-mode nil "\ @@ -14707,7 +14707,7 @@ The main features of this mode are ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window ;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17963 -;;;;;; 18439)) +;;;;;; 19298)) ;;; Generated autoloads from ido.el (defvar ido-mode nil "\ @@ -15783,7 +15783,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\" ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method ;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" -;;;;;; (17888 32280)) +;;;;;; (17963 19057)) ;;; Generated autoloads from international/isearch-x.el (autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\ @@ -15803,8 +15803,8 @@ Not documented ;;;*** -;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17888 -;;;;;; 36581)) +;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17963 +;;;;;; 19309)) ;;; Generated autoloads from isearchb.el (autoload (quote isearchb-activate) "isearchb" "\ @@ -15948,7 +15948,7 @@ Add submenus to the File menu, to convert to and from various formats. ;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell ;;;;;; ispell-help ispell-pdict-save ispell-word ispell-local-dictionary-alist ;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el" -;;;;;; (17888 36935)) +;;;;;; (17963 19313)) ;;; Generated autoloads from textmodes/ispell.el (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) @@ -17134,8 +17134,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).") ;;;*** -;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17888 -;;;;;; 32279)) +;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17963 +;;;;;; 19298)) ;;; Generated autoloads from calendar/lunar.el (autoload (quote phases-of-moon) "lunar" "\ @@ -19507,7 +19507,7 @@ The Custom feature is intended to make this obsolete. ;;;;;; org-remember-handler org-remember org-remember-apply-template ;;;;;; org-remember-annotation org-store-link orgtbl-mode turn-on-orgtbl ;;;;;; org-global-cycle org-cycle org-mode) "org" "textmodes/org.el" -;;;;;; (17963 18455)) +;;;;;; (17963 19299)) ;;; Generated autoloads from textmodes/org.el (autoload (quote org-mode) "org" "\ @@ -20161,8 +20161,8 @@ Completion for the `chgrp' command. ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list ;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete -;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17888 -;;;;;; 32280)) +;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17963 +;;;;;; 19047)) ;;; Generated autoloads from pcomplete.el (autoload (quote pcomplete) "pcomplete" "\ @@ -21466,7 +21466,7 @@ Not documented ;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces ;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type ;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (17963 -;;;;;; 18455)) +;;;;;; 19047)) ;;; Generated autoloads from ps-print.el (defvar ps-page-dimensions-database (list (list (quote a4) (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list (quote a3) (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list (quote letter) (* 72 8.5) (* 72 11.0) "Letter") (list (quote legal) (* 72 8.5) (* 72 14.0) "Legal") (list (quote letter-small) (* 72 7.68) (* 72 10.16) "LetterSmall") (list (quote tabloid) (* 72 11.0) (* 72 17.0) "Tabloid") (list (quote ledger) (* 72 17.0) (* 72 11.0) "Ledger") (list (quote statement) (* 72 5.5) (* 72 8.5) "Statement") (list (quote executive) (* 72 7.5) (* 72 10.0) "Executive") (list (quote a4small) (* 72 7.47) (* 72 10.85) "A4Small") (list (quote b4) (* 72 10.125) (* 72 14.33) "B4") (list (quote b5) (* 72 7.16) (* 72 10.125) "B5")) "\ @@ -21663,7 +21663,7 @@ If EXTENSION is any other symbol, it is ignored. ;;;*** ;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el" -;;;;;; (17963 18448)) +;;;;;; (17963 19313)) ;;; Generated autoloads from progmodes/python.el (add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode))) @@ -21761,7 +21761,7 @@ them into characters should be done separately. ;;;;;; quail-defrule quail-install-decode-map quail-install-map ;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout ;;;;;; quail-define-package quail-use-package quail-title) "quail" -;;;;;; "international/quail.el" (17888 36644)) +;;;;;; "international/quail.el" (17963 19309)) ;;; Generated autoloads from international/quail.el (autoload (quote quail-title) "quail" "\ @@ -22065,7 +22065,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. ;;;*** ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" -;;;;;; "net/rcirc.el" (17888 32280)) +;;;;;; "net/rcirc.el" (17963 19063)) ;;; Generated autoloads from net/rcirc.el (autoload (quote rcirc) "rcirc" "\ @@ -22110,7 +22110,7 @@ See \\[compile]. ;;;*** ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" -;;;;;; (17888 32279)) +;;;;;; (17963 19309)) ;;; Generated autoloads from emacs-lisp/re-builder.el (defalias (quote regexp-builder) (quote re-builder)) @@ -24065,7 +24065,7 @@ Like `mail' command, but display mail buffer in another frame. ;;;*** ;;;### (autoloads (server-save-buffers-kill-terminal server-mode -;;;;;; server-start) "server" "server.el" (17888 32281)) +;;;;;; server-start) "server" "server.el" (17963 20687)) ;;; Generated autoloads from server.el (autoload (quote server-start) "server" "\ @@ -24109,12 +24109,12 @@ only these files will be asked to be saved. ;;;*** -;;;### (autoloads (ses-mode) "ses" "ses.el" (17888 32281)) +;;;### (autoloads (ses-mode) "ses" "ses.el" (17963 19052)) ;;; Generated autoloads from ses.el (autoload (quote ses-mode) "ses" "\ Major mode for Simple Emacs Spreadsheet. -See \"ses-example.ses\" (in the etc data directory) for more info. +See \"ses-example.ses\" (in `data-directory') for more info. Key definitions: \\{ses-mode-map} @@ -24362,7 +24362,7 @@ Set up file shadowing. ;;;*** ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" -;;;;;; (17888 32281)) +;;;;;; (17963 19041)) ;;; Generated autoloads from shell.el (defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\ @@ -24445,7 +24445,7 @@ Turning on Sieve mode runs `sieve-mode-hook'. ;;;*** -;;;### (autoloads nil "simple" "simple.el" (17888 36936)) +;;;### (autoloads nil "simple" "simple.el" (17963 19313)) ;;; Generated autoloads from simple.el (put 'fill-prefix 'safe-local-variable 'string-or-null-p) @@ -24611,7 +24611,7 @@ symmetrical ones, and the same character twice for the others. ;;;*** ;;;### (autoloads (smerge-mode smerge-ediff) "smerge-mode" "smerge-mode.el" -;;;;;; (17888 32281)) +;;;;;; (17963 19063)) ;;; Generated autoloads from smerge-mode.el (autoload (quote smerge-ediff) "smerge-mode" "\ @@ -24718,7 +24718,7 @@ then `snmpv2-mode-hook'. ;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset calendar-location-name ;;;;;; calendar-longitude calendar-latitude calendar-time-display-form) -;;;;;; "solar" "calendar/solar.el" (17888 32279)) +;;;;;; "solar" "calendar/solar.el" (17963 19298)) ;;; Generated autoloads from calendar/solar.el (defvar calendar-time-display-form (quote (12-hours ":" minutes am-pm (if time-zone " (") time-zone (if time-zone ")"))) "\ @@ -25708,7 +25708,7 @@ Studlify-case the current buffer. ;;;*** -;;;### (autoloads (locate-library) "subr" "subr.el" (17888 36928)) +;;;### (autoloads (locate-library) "subr" "subr.el" (17963 19313)) ;;; Generated autoloads from subr.el (autoload (quote locate-library) "subr" "\ @@ -25762,7 +25762,7 @@ before, and `sc-post-hook' is run after the guts of this function. ;;;*** -;;;### (autoloads (t-mouse-mode) "t-mouse" "t-mouse.el" (17888 32281)) +;;;### (autoloads (t-mouse-mode) "t-mouse" "t-mouse.el" (17963 19313)) ;;; Generated autoloads from t-mouse.el (defvar t-mouse-mode nil "\ @@ -27972,7 +27972,7 @@ BUFFER defaults to `trace-buffer'. ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion ;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers ;;;;;; tramp-file-name-handler tramp-completion-file-name-regexp -;;;;;; tramp-file-name-regexp) "tramp" "net/tramp.el" (17963 18447)) +;;;;;; tramp-file-name-regexp) "tramp" "net/tramp.el" (17963 19047)) ;;; Generated autoloads from net/tramp.el (defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\ @@ -28308,7 +28308,7 @@ First column's text sSs Second column's text ;;;;;; type-break type-break-mode type-break-keystroke-threshold ;;;;;; type-break-good-break-interval type-break-good-rest-interval ;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el" -;;;;;; (17888 36583)) +;;;;;; (17963 19282)) ;;; Generated autoloads from type-break.el (defvar type-break-mode nil "\ @@ -30843,7 +30843,7 @@ With arg, turn Winner mode on if and only if arg is positive. ;;;*** ;;;### (autoloads (woman-find-file woman-dired-find-file woman) "woman" -;;;;;; "woman.el" (17888 32281)) +;;;;;; "woman.el" (17963 19299)) ;;; Generated autoloads from woman.el (autoload (quote woman) "woman" "\ @@ -30992,7 +30992,7 @@ The key bindings are: ;;;*** ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" -;;;;;; (17888 32281)) +;;;;;; (17963 19299)) ;;; Generated autoloads from xml.el (autoload (quote xml-parse-file) "xml" "\ @@ -31228,7 +31228,7 @@ Zone out, completely. ;;;;;; "url/url-vars.el" "url/vc-dav.el" "vc-hooks.el" "vcursor.el" ;;;;;; "version.el" "vms-patch.el" "vmsproc.el" "vt-control.el" ;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "widget.el" "window.el" -;;;;;; "x-dnd.el") (17963 18741 697794)) +;;;;;; "x-dnd.el") (17963 20717 345010)) ;;;*** diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 725934b63d8..1d5e735bd5d 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -139,7 +139,9 @@ usually do not have translators to read other languages for them.\n\n") (insert "\n\nIn " (emacs-version) "\n") (if (fboundp 'x-server-vendor) (condition-case nil - (insert "X server distributor `" (x-server-vendor) "', version " + ;; This is used not only for X11 but also W32 and others. + (insert "Windowing system distributor `" (x-server-vendor) + "', version " (mapconcat 'number-to-string (x-server-version) ".") "\n") (error t))) (if (and system-configuration-options @@ -281,5 +283,5 @@ and send the mail again using \\[mail-send-and-exit]."))) (provide 'emacsbug) -;;; arch-tag: 248b6523-c3b5-4fec-9a3f-0411fafa7d49 +;; arch-tag: 248b6523-c3b5-4fec-9a3f-0411fafa7d49 ;;; emacsbug.el ends here diff --git a/lisp/mouse.el b/lisp/mouse.el index ef0784d8973..8e9d931c15c 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -409,11 +409,6 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." should-enlarge-minibuffer event mouse y top bot edges wconfig growth) (track-mouse (progn - ;; enlarge-window only works on the selected window, so - ;; we must select the window where the start event originated. - ;; unwind-protect will restore the old selected window later. - (select-window start-event-window) - ;; if this is the bottommost ordinary window, then to ;; move its modeline the minibuffer must be enlarged. (setq should-enlarge-minibuffer @@ -421,7 +416,7 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." mode-line-p (not (one-window-p t)) (= (nth 1 (window-edges minibuffer)) - (nth 3 (window-edges))))) + (nth 3 (window-edges start-event-window))))) ;; loop reading events and sampling the position of ;; the mouse. @@ -459,7 +454,7 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." (t (setq y (cdr (cdr mouse)) - edges (window-edges) + edges (window-edges start-event-window) top (nth 1 edges) bot (nth 3 edges)) @@ -572,10 +567,6 @@ resized by dragging their header-line." (error "Attempt to drag leftmost scrollbar"))) (track-mouse (progn - ;; enlarge-window only works on the selected window, so - ;; we must select the window where the start event originated. - ;; unwind-protect will restore the old selected window later. - (select-window start-event-window) ;; loop reading events and sampling the position of ;; the mouse. (while (not done) @@ -611,9 +602,9 @@ resized by dragging their header-line." ;; If the scroll bar is on the window's left, ;; adjust the window on the left. (if (eq which-side 'right) - (selected-window) + start-event-window (mouse-drag-vertical-line-rightward-window - (selected-window))))) + start-event-window)))) (setq x (- (car (cdr mouse)) (if (eq which-side 'right) 0 2)) edges (window-edges window) @@ -1061,7 +1052,6 @@ should only be used by mouse-drag-region." (not (eq mouse-1-click-follows-link 'double)) (= click-count 0) (= (event-click-count event) 1) - (not (input-pending-p)) (or (not (integerp mouse-1-click-follows-link)) (let ((t0 (posn-timestamp (event-start start-event))) (t1 (posn-timestamp (event-end event)))) diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 08efbb1e107..ec76279c642 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -1005,7 +1005,7 @@ Don't use any other value." (const :tag "Allow" 1))) (defcustom ange-ftp-try-passive-mode nil - "It t, try to use passive mode in ftp, if the client program supports it." + "If t, try to use passive mode in ftp, if the client program supports it." :group 'ange-ftp :type 'boolean :version "21.1") diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index ac2c886a976..dc346695ce2 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -312,9 +312,8 @@ and the cdr part is used for encoding." "List of urls seen in the current buffer.") (put 'rcirc-urls 'permanent-local t) -(defvar rcirc-keepalive-seconds 60 - "Number of seconds between keepalive pings. -If nil, do not send keepalive pings.") +(defvar rcirc-timeout-seconds 60 + "Kill connection after this many seconds if there is no activity.") (defconst rcirc-id-string (concat "rcirc on GNU Emacs " emacs-version)) @@ -357,7 +356,12 @@ If ARG is non-nil, prompt for a server to connect to." (defvar rcirc-topic nil) (defvar rcirc-keepalive-timer nil) (defvar rcirc-last-server-message-time nil) -(defvar rcirc-server nil) +(defvar rcirc-server nil) ; server provided by server +(defvar rcirc-server-name nil) ; server name given by 001 response +(defvar rcirc-timeout-timer nil) +(defvar rcirc-user-disconnect nil) +(defvar rcirc-connecting nil) +(defvar rcirc-process nil) ;;;###autoload (defun rcirc-connect (&optional server port nick user-name full-name startup-channels) @@ -374,7 +378,7 @@ If ARG is non-nil, prompt for a server to connect to." (user-name (or user-name rcirc-default-user-name)) (full-name (or full-name rcirc-default-user-full-name)) (startup-channels startup-channels) - (process (open-network-stream server nil server port-number))) + (process (make-network-process :name server :host server :service port-number))) ;; set up process (set-process-coding-system process 'raw-text 'raw-text) (switch-to-buffer (rcirc-generate-new-buffer-name process nil)) @@ -382,8 +386,12 @@ If ARG is non-nil, prompt for a server to connect to." (rcirc-mode process nil) (set-process-sentinel process 'rcirc-sentinel) (set-process-filter process 'rcirc-filter) + (make-local-variable 'rcirc-process) + (setq rcirc-process process) (make-local-variable 'rcirc-server) (setq rcirc-server server) + (make-local-variable 'rcirc-server-name) + (setq rcirc-server-name server) ; update when we get 001 response (make-local-variable 'rcirc-buffer-alist) (setq rcirc-buffer-alist nil) (make-local-variable 'rcirc-nick-table) @@ -396,6 +404,12 @@ If ARG is non-nil, prompt for a server to connect to." (setq rcirc-startup-channels startup-channels) (make-local-variable 'rcirc-last-server-message-time) (setq rcirc-last-server-message-time (current-time)) + (make-local-variable 'rcirc-timeout-timer) + (setq rcirc-timeout-timer nil) + (make-local-variable 'rcirc-user-disconnect) + (setq rcirc-user-disconnect nil) + (make-local-variable 'rcirc-connecting) + (setq rcirc-connecting t) ;; identify (rcirc-send-string process (concat "NICK " nick)) @@ -404,10 +418,9 @@ If ARG is non-nil, prompt for a server to connect to." full-name)) ;; setup ping timer if necessary - (when rcirc-keepalive-seconds - (unless rcirc-keepalive-timer - (setq rcirc-keepalive-timer - (run-at-time 0 rcirc-keepalive-seconds 'rcirc-keepalive)))) + (unless rcirc-keepalive-timer + (setq rcirc-keepalive-timer + (run-at-time 0 (/ rcirc-timeout-seconds 2) 'rcirc-keepalive))) (message "Connecting to %s...done" server) @@ -430,12 +443,11 @@ Kill processes that have not received a server message since the last ping." (if (rcirc-process-list) (mapc (lambda (process) - (with-rcirc-process-buffer process - (if (> (cadr (time-since rcirc-last-server-message-time)) - rcirc-keepalive-seconds) - (kill-process process) - (rcirc-send-string process (concat "PING " rcirc-server))))) + (with-rcirc-process-buffer process + (when (not rcirc-connecting) + (rcirc-send-string process (concat "PING " (rcirc-server-name process)))))) (rcirc-process-list)) + ;; no processes, clean up timer (cancel-timer rcirc-keepalive-timer) (setq rcirc-keepalive-timer nil))) @@ -472,12 +484,12 @@ Functions are called with PROCESS and SENTINEL arguments.") (format "%s: %s (%S)" (process-name process) sentinel - (process-status process)) t) + (process-status process)) (not rcirc-target)) ;; remove the prompt from buffers (let ((inhibit-read-only t)) (delete-region rcirc-prompt-start-marker - rcirc-prompt-end-marker))))) - (run-hook-with-args 'rcirc-sentinel-hooks process sentinel))) + rcirc-prompt-end-marker)))) + (run-hook-with-args 'rcirc-sentinel-hooks process sentinel)))) (defun rcirc-process-list () "Return a list of rcirc processes." @@ -496,6 +508,7 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") (defun rcirc-filter (process output) "Called when PROCESS receives OUTPUT." (rcirc-debug process output) + (rcirc-reschedule-timeout process) (with-rcirc-process-buffer process (setq rcirc-last-server-message-time (current-time)) (setq rcirc-process-output (concat rcirc-process-output output)) @@ -506,6 +519,19 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") (split-string rcirc-process-output "[\n\r]" t)) (setq rcirc-process-output nil)))) +(defun rcirc-reschedule-timeout (process) + (with-rcirc-process-buffer process + (when (not rcirc-connecting) + (with-rcirc-process-buffer process + (when rcirc-timeout-timer (cancel-timer rcirc-timeout-timer)) + (setq rcirc-timeout-timer (run-at-time rcirc-timeout-seconds nil + 'rcirc-delete-process + process)))))) + +(defun rcirc-delete-process (process) + (message "delete process %S" process) + (delete-process process)) + (defvar rcirc-trap-errors-flag t) (defun rcirc-process-server-response (process text) (if rcirc-trap-errors-flag @@ -557,15 +583,16 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") (defun rcirc-buffer-process (&optional buffer) "Return the process associated with channel BUFFER. With no argument or nil as argument, use the current buffer." - (get-buffer-process (if buffer - (with-current-buffer buffer - rcirc-server-buffer) - rcirc-server-buffer))) + (or (get-buffer-process (if buffer + (with-current-buffer buffer + rcirc-server-buffer) + rcirc-server-buffer)) + rcirc-process)) (defun rcirc-server-name (process) "Return PROCESS server name, given by the 001 response." (with-rcirc-process-buffer process - (or rcirc-server rcirc-default-server))) + (or rcirc-server-name rcirc-default-server))) (defun rcirc-nick (process) "Return PROCESS nick." @@ -790,7 +817,7 @@ If ALL is non-nil, update prompts in all IRC buffers." (setq prompt (replace-regexp-in-string (car rep) (cdr rep) prompt))) (list (cons "%n" (rcirc-buffer-nick)) - (cons "%s" (with-rcirc-server-buffer (or rcirc-server ""))) + (cons "%s" (with-rcirc-server-buffer rcirc-server-name)) (cons "%t" (or rcirc-target "")))) (save-excursion (delete-region rcirc-prompt-start-marker rcirc-prompt-end-marker) @@ -1079,9 +1106,7 @@ is found by looking up RESPONSE in `rcirc-response-formats'." "%") ((or (eq key ?n) (eq key ?N)) ;; %n/%N -- nick - (let ((nick (concat (if (string= (with-rcirc-process-buffer - process - rcirc-server) + (let ((nick (concat (if (string= (rcirc-server-name process) sender) "" sender) @@ -1302,19 +1327,15 @@ record activity." (rcirc-cmd-join channel process))))) ;;; nick management +(defvar rcirc-nick-prefix-chars "~&@%+") (defun rcirc-user-nick (user) "Return the nick from USER. Remove any non-nick junk." (save-match-data - (if (string-match "^[@%+]?\\([^! ]+\\)!?" (or user "")) + (if (string-match (concat "^[" rcirc-nick-prefix-chars + "]?\\([^! ]+\\)!?") (or user "")) (match-string 1 user) user))) -(defun rcirc-user-non-nick (user) - "Return the non-nick portion of USER." - (if (string-match "^[@+]?[^! ]+!?\\(.*\\)" (or user "")) - (match-string 1 user) - user)) - (defun rcirc-nick-channels (process nick) "Return list of channels for NICK." (with-rcirc-process-buffer process @@ -2009,7 +2030,9 @@ in this buffer.") (rcirc-handler-generic process "001" sender args text) ;; set the real server name (with-rcirc-process-buffer process - (setq rcirc-server sender) + (setq rcirc-connecting nil) + (rcirc-reschedule-timeout process) + (setq rcirc-server-name sender) (setq rcirc-nick (car args)) (rcirc-update-prompt) (when rcirc-auto-authenticate-flag (rcirc-authenticate)) @@ -2419,7 +2442,8 @@ Passwords are stored in `rcirc-authinfo' (which see)." :group 'rcirc-faces) (defface rcirc-track-nick - '((t (:inverse-video t))) + '((((type tty)) (:inherit default)) + (t (:inverse-video t))) "The face used in the mode-line when your nick is mentioned." :group 'rcirc-faces) diff --git a/lisp/net/tls.el b/lisp/net/tls.el index 3a9f19c819c..9de74ca19d4 100644 --- a/lisp/net/tls.el +++ b/lisp/net/tls.el @@ -60,7 +60,7 @@ "openssl s_client -connect %h:%p -no_ssl2") "List of strings containing commands to start TLS stream to a host. Each entry in the list is tried until a connection is successful. -%s is replaced with server hostname, %p with port to connect to. +%h is replaced with server hostname, %p with port to connect to. The program should read input on stdin and write output to stdout. Also see `tls-success' for what the program should output after successful negotiation." @@ -146,8 +146,8 @@ Fourth arg PORT is an integer specifying a port to connect to." (set-buffer buffer) ;; XXX "blue moon" nntp.el bug (goto-char (point-min)) (not (setq done (re-search-forward tls-success nil t))))) - (accept-process-output process 1) - (sit-for 1)) + (unless (accept-process-output process 1) + (sit-for 1))) (message "Opening TLS connection with `%s'...%s" cmd (if done "done" "failed")) (if done diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index dfe6216043e..5d5d441193d 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -384,7 +384,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server." (save-excursion (let ((share (tramp-smb-get-share localname)) (file (tramp-smb-get-localname localname t)) - (tmpfil (tramp-make-temp-file))) + (tmpfil (tramp-make-temp-file filename))) (unless (file-exists-p filename) (error "Cannot make local copy of non-existing file `%s'" filename)) (tramp-message-for-buffer @@ -595,7 +595,7 @@ Catches errors for shares like \"C$/\", which are common in Microsoft Windows." (curbuf (current-buffer)) tmpfil) ;; Write region into a tmp file. - (setq tmpfil (tramp-make-temp-file)) + (setq tmpfil (tramp-make-temp-file filename)) ;; We say `no-message' here because we don't want the visited file ;; modtime data to be clobbered from the temp file. We call ;; `set-visited-file-modtime' ourselves later on. diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 602c6d25eaa..7ff9b2d956b 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3771,10 +3771,12 @@ This will break if COMMAND prints a newline, followed by the value of ;; File Editing. -(defsubst tramp-make-temp-file () - (funcall (if (fboundp 'make-temp-file) 'make-temp-file 'make-temp-name) - (expand-file-name tramp-temp-name-prefix - (tramp-temporary-file-directory)))) +(defsubst tramp-make-temp-file (filename) + (concat + (funcall (if (fboundp 'make-temp-file) 'make-temp-file 'make-temp-name) + (expand-file-name tramp-temp-name-prefix + (tramp-temporary-file-directory))) + (file-name-extension filename t))) (defun tramp-handle-file-local-copy (filename) "Like `file-local-copy' for tramp files." @@ -3794,7 +3796,7 @@ This will break if COMMAND prints a newline, followed by the value of (unless (file-exists-p filename) (error "Cannot make local copy of non-existing file `%s'" filename)) - (setq tmpfil (tramp-make-temp-file)) + (setq tmpfil (tramp-make-temp-file filename)) (cond ((tramp-method-out-of-band-p multi-method method user host) ;; `copy-file' handles out-of-band methods @@ -3846,7 +3848,7 @@ This will break if COMMAND prints a newline, followed by the value of (kill-buffer tmpbuf)) ;; If tramp-decoding-function is not defined for this ;; method, we invoke tramp-decoding-command instead. - (let ((tmpfil2 (tramp-make-temp-file))) + (let ((tmpfil2 (tramp-make-temp-file filename))) (write-region (point-min) (point-max) tmpfil2) (tramp-message 6 "Decoding remote file %s with command %s..." @@ -4053,7 +4055,7 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." ;; Write region into a tmp file. This isn't really needed if we ;; use an encoding function, but currently we use it always ;; because this makes the logic simpler. - (setq tmpfil (tramp-make-temp-file)) + (setq tmpfil (tramp-make-temp-file filename)) ;; Set current buffer. If connection wasn't open, `file-modes' has ;; changed it accidently. (set-buffer curbuf) diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el index 1ca617a08a5..c4840059f64 100644 --- a/lisp/pcomplete.el +++ b/lisp/pcomplete.el @@ -974,18 +974,20 @@ Typing SPC flushes the help buffer." (while (with-current-buffer (get-buffer "*Completions*") (setq event (pcomplete-read-event))) (cond - ((event-matches-key-specifier-p event ? ) + ((event-matches-key-specifier-p event ?\s) (set-window-configuration pcomplete-last-window-config) (setq pcomplete-last-window-config nil) (throw 'done nil)) ((or (event-matches-key-specifier-p event 'tab) ;; Needed on a terminal (event-matches-key-specifier-p event 9)) - (save-selected-window - (select-window (get-buffer-window "*Completions*")) - (if (pos-visible-in-window-p (point-max)) - (goto-char (point-min)) - (scroll-up))) + (let ((win (or (get-buffer-window "*Completions*" 0) + (display-buffer "*Completions*" + 'not-this-window)))) + (with-selected-window win + (if (pos-visible-in-window-p (point-max)) + (goto-char (point-min)) + (scroll-up)))) (message "")) (t (setq unread-command-events (list event)) diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index f69382c9d70..a901ee07454 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -1912,6 +1912,26 @@ comment at the start of cc-engine.el for more info." ))) +;; Other whitespace tools +(defun c-partial-ws-p (beg end) + ;; Is the region (beg end) WS, and is there WS (or BOB/EOB) next to the + ;; region? This is a "heuristic" function. ..... + ;; + ;; The motivation for the second bit is to check whether the removal of this + ;; space is to check whether removing this region would coalesce two + ;; symbols. + ;; + ;; FIXME!!! This function doesn't check virtual semicolons in any way. Be + ;; careful about using this function for, e.g. AWK. (2007/3/7) + (save-excursion + (let ((end+1 (min (1+ end) (point-max)))) + (or (progn (goto-char (max (point-min) (1- beg))) + (c-skip-ws-forward end) + (eq (point) end)) + (progn (goto-char beg) + (c-skip-ws-forward end+1) + (eq (point) end+1)))))) + ;; A system for finding noteworthy parens before the point. (defvar c-state-cache nil) @@ -2491,24 +2511,25 @@ comment at the start of cc-engine.el for more info." ;; Move to the beginning of the current token. Do not move if not ;; in the middle of one. BACK-LIMIT may be used to bound the ;; backward search; if given it's assumed to be at the boundary - ;; between two tokens. + ;; between two tokens. Return non-nil if the point is move, nil + ;; otherwise. ;; ;; This function might do hidden buffer changes. - (if (looking-at "\\w\\|\\s_") - (skip-syntax-backward "w_" back-limit) (let ((start (point))) - (when (< (skip-syntax-backward ".()" back-limit) 0) - (while (let ((pos (or (and (looking-at c-nonsymbol-token-regexp) - (match-end 0)) - ;; `c-nonsymbol-token-regexp' should always match - ;; since we've skipped backward over punctuator - ;; or paren syntax, but consume one char in case - ;; it doesn't so that we don't leave point before - ;; some earlier incorrect token. - (1+ (point))))) - (if (<= pos start) - (goto-char pos)) - (< pos start))))))) + (if (looking-at "\\w\\|\\s_") + (skip-syntax-backward "w_" back-limit) + (when (< (skip-syntax-backward ".()" back-limit) 0) + (while (let ((pos (or (and (looking-at c-nonsymbol-token-regexp) + (match-end 0)) + ;; `c-nonsymbol-token-regexp' should always match + ;; since we've skipped backward over punctuator + ;; or paren syntax, but consume one char in case + ;; it doesn't so that we don't leave point before + ;; some earlier incorrect token. + (1+ (point))))) + (if (<= pos start) + (goto-char pos)))))) + (< (point) start))) (defun c-end-of-current-token (&optional back-limit) ;; Move to the end of the current token. Do not move if not in the @@ -3957,6 +3978,9 @@ comment at the start of cc-engine.el for more info." ;; file, and we only use this as a last resort in ambiguous cases (see ;; `c-forward-decl-or-cast-1'). ;; +;; Not every type need be in this cache. However, things which have +;; ceased to be types must be removed from it. +;; ;; Template types in C++ are added here too but with the template ;; arglist replaced with "<>" in references or "<" for the one in the ;; primary type. E.g. the type "Foo<A,B>::Bar<C>" is stored as @@ -3990,6 +4014,10 @@ comment at the start of cc-engine.el for more info." (unintern (substring type 0 -1) c-found-types) (intern type c-found-types)))) +(defun c-unfind-type (name) + ;; Remove the "NAME" from c-found-types, if present. + (unintern name c-found-types)) + (defsubst c-check-type (from to) ;; Return non-nil if the given region contains a type in ;; `c-found-types'. @@ -4008,6 +4036,48 @@ comment at the start of cc-engine.el for more info." c-found-types) (sort type-list 'string-lessp))) +(defun c-trim-found-types (beg end old-len) + ;; An after change function which, in conjunction with the info in + ;; c-maybe-stale-found-type (set in c-before-change), removes a type + ;; from `c-found-types', should this type have become stale. For + ;; example, this happens to "foo" when "foo \n bar();" becomes + ;; "foo(); \n bar();". Such stale types, if not removed, foul up + ;; the fontification. + ;; + ;; Have we, perhaps, added non-ws characters to the front/back of a found + ;; type? + (when (> end beg) + (save-excursion + (when (< end (point-max)) + (goto-char end) + (if (and (c-beginning-of-current-token) ; only moves when we started in the middle + (progn (goto-char end) + (c-end-of-current-token))) + (c-unfind-type (buffer-substring-no-properties + end (point))))) + (when (> beg (point-min)) + (goto-char beg) + (if (and (c-end-of-current-token) ; only moves when we started in the middle + (progn (goto-char beg) + (c-beginning-of-current-token))) + (c-unfind-type (buffer-substring-no-properties + (point) beg)))))) + + (if c-maybe-stale-found-type ; e.g. (c-decl-id-start "foo" 97 107 " (* ooka) " "o") + (cond + ;; Changing the amount of (already existing) whitespace - don't do anything. + ((and (c-partial-ws-p beg end) + (or (= beg end) ; removal of WS + ; (string-match "\\s *\\'" (nth 5 c-maybe-stale-found-type)) + (string-match "^[ \t\n\r\f\v]*$" (nth 5 c-maybe-stale-found-type))))) + + ;; The syntactic relationship which defined a "found type" has been + ;; destroyed. + ((eq (car c-maybe-stale-found-type) 'c-decl-id-start) + (c-unfind-type (cadr c-maybe-stale-found-type))) +;; ((eq (car c-maybe-stale-found-type) 'c-decl-type-start) FIXME!!! + ))) + ;; Handling of small scale constructs like types and names. diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index e2891bde98d..1407b497305 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el @@ -412,8 +412,143 @@ preferably use the `c-mode-menu' language constant directly." ;; temporary changes in some font lock support modes, causing extra ;; unnecessary work and font lock glitches due to interactions between ;; various text properties. - -(defun c-after-change (beg end len) +;; +;; (2007-02-12): The macro `combine-after-change-calls' ISN'T used any +;; more. + +(defun c-unfind-enclosing-token (pos) + ;; If POS is wholly inside a token, remove that id from + ;; `c-found-types', should it be present. Return t if we were in an + ;; id, else nil. + (save-excursion + (let ((tok-beg (progn (goto-char pos) + (and (c-beginning-of-current-token) (point)))) + (tok-end (progn (goto-char pos) + (and (c-end-of-current-token) (point))))) + (when (and tok-beg tok-end) + (c-unfind-type (buffer-substring-no-properties tok-beg tok-end)) + t)))) + +(defun c-unfind-coalesced-tokens (beg end) + ;; unless the non-empty region (beg end) is entirely WS and there's at + ;; least one character of WS just before or after this region, remove + ;; the tokens which touch the region from `c-found-types' should they + ;; be present. + (or (c-partial-ws-p beg end) + (save-excursion + (progn + (goto-char beg) + (or (eq beg (point-min)) + (c-skip-ws-backward (1- beg)) + (/= (point) beg) + (= (c-backward-token-2) 1) + (c-unfind-type (buffer-substring-no-properties + (point) beg))) + (goto-char end) + (or (eq end (point-max)) + (c-skip-ws-forward (1+ end)) + (/= (point) end) + (progn (forward-char) (c-end-of-current-token) nil) + (c-unfind-type (buffer-substring-no-properties + end (point)))))))) + +;; c-maybe-stale-found-type records a place near the region being +;; changed where an element of `found-types' might become stale. It +;; is set in c-before-change and is either nil, or has the form: +;; +;; (c-decl-id-start "foo" 97 107 " (* ooka) " "o"), where +;; +;; o - `c-decl-id-start' is the c-type text property value at buffer +;; pos 96. +;; +;; o - 97 107 is the region potentially containing the stale type - +;; this is delimited by a non-nil c-type text property at 96 and +;; either another one or a ";", "{", or "}" at 107. +;; +;; o - " (* ooka) " is the (before change) buffer portion containing +;; the suspect type (here "ooka"). +;; +;; o - "o" is the buffer contents which is about to be deleted. This +;; would be the empty string for an insertion. +(defvar c-maybe-stale-found-type nil) +(make-variable-buffer-local 'c-maybe-stale-found-type) + +(defun c-before-change (beg end) + ;; Function to be put on `before-change-function'. Currently + ;; (2007-02) it is used only to remove stale entries from the + ;; `c-found-types' cache, and to record entries which a + ;; `c-after-change' function might confirm as stale. + ;; + ;; Note that this function must be FAST rather than accurate. Note + ;; also that it only has any effect when font locking is enabled. + ;; We exploit this by checking for font-lock-*-face instead of doing + ;; rigourous syntactic analysis. + + ;; If either change boundary is wholly inside an identifier, delete + ;; it/them from the cache. Don't worry about being inside a string + ;; or a comment - "wrongly" removing a symbol from `c-found-types' + ;; isn't critical. + (setq c-maybe-stale-found-type nil) + (save-restriction + (save-match-data + (widen) + (save-excursion + ;; Are we inserting/deleting stuff in the middle of an identifier? + (c-unfind-enclosing-token beg) + (c-unfind-enclosing-token end) + ;; Are we coalescing two tokens together, e.g. "fo o" -> "foo"? + (when (< beg end) + (c-unfind-coalesced-tokens beg end)) + ;; Are we (potentially) disrupting the syntactic context which + ;; makes a type a type? E.g. by inserting stuff after "foo" in + ;; "foo bar;", or before "foo" in "typedef foo *bar;"? + ;; + ;; We search for appropriate c-type properties "near" the change. + ;; First, find an appropriate boundary for this property search. + (let (lim + type type-pos + marked-id term-pos + (end1 + (if (eq (get-text-property end 'face) 'font-lock-comment-face) + (previous-single-property-change end 'face) + end))) + (when (>= end1 beg) ; Don't hassle about changes entirely in comments. + ;; Find a limit for the search for a `c-type' property + (while + (and (/= (skip-chars-backward "^;{}") 0) + (> (point) (point-min)) + (memq (c-get-char-property (1- (point)) 'face) + '(font-lock-comment-face font-lock-string-face)))) + (setq lim (max (point-min) (1- (point)))) + + ;; Look for the latest `c-type' property before end1 + (when (and (> end1 1) + (setq type-pos + (if (get-text-property (1- end1) 'c-type) + end1 + (previous-single-property-change end1 'c-type nil lim)))) + (setq type (get-text-property (max (1- type-pos) lim) 'c-type)) + + (when (memq type '(c-decl-id-start c-decl-type-start)) + ;; Get the identifier, if any, that the property is on. + (goto-char (1- type-pos)) + (setq marked-id + (when (looking-at "\\(\\sw\\|\\s_\\)") + (c-beginning-of-current-token) + (buffer-substring-no-properties (point) type-pos))) + + (goto-char end1) + (skip-chars-forward "^;{}") ; FIXME!!! loop for comment, maybe + (setq lim (point)) + (setq term-pos + (or (next-single-property-change end 'c-type nil lim) lim)) + (setq c-maybe-stale-found-type + (list type marked-id + type-pos term-pos + (buffer-substring-no-properties type-pos term-pos) + (buffer-substring-no-properties beg end))))))))))) + +(defun c-after-change (beg end old-len) ;; Function put on `after-change-functions' to adjust various caches ;; etc. Prefer speed to finesse here, since there will be an order ;; of magnitude more calls to this function than any of the @@ -441,6 +576,7 @@ preferably use the `c-mode-menu' language constant directly." (when (> beg end) (setq beg end))) + (c-trim-found-types beg end old-len) ; maybe we don't need all of these. (c-invalidate-sws-region-after beg end) (c-invalidate-state-cache beg) (c-invalidate-find-decl-cache beg) @@ -577,6 +713,8 @@ that requires a literal mode spec at compile time." ;; Install the functions that ensure that various internal caches ;; don't become invalid due to buffer changes. + (make-local-hook 'before-change-functions) + (add-hook 'before-change-functions 'c-before-change nil t) (make-local-hook 'after-change-functions) (add-hook 'after-change-functions 'c-after-change nil t)) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3039f614fb2..aa77caf0670 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1862,17 +1862,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user." (let* ((name (read-file-name (format "Find this %s in (default %s): " compilation-error filename) - spec-dir filename t nil - ;; Try to make sure the user can only select - ;; a valid answer. This predicate may be ignored, - ;; tho, so we still have to double-check afterwards. - ;; TODO: We should probably fix read-file-name so - ;; that it never ignores this predicate, even when - ;; using popup dialog boxes. - (lambda (name) - (if (file-directory-p name) - (setq name (expand-file-name filename name))) - (file-exists-p name)))) + spec-dir filename t nil)) (origname name)) (cond ((not (file-exists-p name)) diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 29f4cc372d3..0b8287503f8 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -1795,8 +1795,8 @@ or as help on variables `cperl-tips', `cperl-problems', ((boundp 'compilation-error-regexp-alist);; xmeacs 19.x (make-local-variable 'compilation-error-regexp-alist) (set 'compilation-error-regexp-alist - (cons cperl-compilation-error-regexp-alist - (symbol-value 'compilation-error-regexp-alist))))) + (append cperl-compilation-error-regexp-alist + (symbol-value 'compilation-error-regexp-alist))))) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults (cond diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index a0dd83fb974..fe2bbdec14e 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -157,7 +157,8 @@ The following place holders should be present in the string: :type 'alist :group 'grep) -(defcustom grep-find-ignored-directories '("CVS" ".svn" "{arch}" ".hg" "_darcs") +(defcustom grep-find-ignored-directories '("CVS" ".svn" "{arch}" ".hg" "_darcs" + ".git" ".bzr") "*List of names of sub-directories which `rgrep' shall not recurse into." :type '(repeat string) :group 'grep) diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 1662af1c924..8db7c28219e 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -690,7 +690,10 @@ session." (buffer-name gud-comint-buffer) (get-buffer-process gud-comint-buffer) (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))) - (error "Multiple debugging requires restarting in text command mode")) + (let ((same-window-regexps)) + (display-buffer gud-comint-buffer) + (error + "Multiple debugging requires restarting in text command mode"))) (gud-common-init command-line nil 'gud-gdb-marker-filter) (set (make-local-variable 'gud-minor-mode) 'gdb) diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el index 35ab0362613..3bc1c55cc7d 100644 --- a/lisp/progmodes/hideshow.el +++ b/lisp/progmodes/hideshow.el @@ -906,11 +906,18 @@ Key bindings: (if hs-minor-mode (progn (hs-grok-mode-type) + ;; Turn off this mode if we change major modes. + (add-hook 'change-major-mode-hook + (lambda () (hs-minor-mode -1)) + nil t) (easy-menu-add hs-minor-mode-menu) (set (make-local-variable 'line-move-ignore-invisible) t) (add-to-invisibility-spec '(hs . t))) (easy-menu-remove hs-minor-mode-menu) - (remove-from-invisibility-spec '(hs . t))) + (remove-from-invisibility-spec '(hs . t)) + ;; hs-show-all does nothing unless h-m-m is non-nil. + (let ((hs-minor-mode t)) + (hs-show-all))) (run-hooks 'hs-minor-mode-hook)) ;;--------------------------------------------------------------------------- @@ -945,7 +952,7 @@ Key bindings: (add-to-list 'minor-mode-map-alist (cons 'hs-minor-mode hs-minor-mode-map)) (add-to-list 'minor-mode-alist '(hs-minor-mode " hs") t) -;; make some variables permanently buffer-local +;; make some variables buffer-local (dolist (var '(hs-minor-mode hs-c-start-regexp hs-block-start-regexp @@ -953,8 +960,7 @@ Key bindings: hs-block-end-regexp hs-forward-sexp-func hs-adjust-block-beginning)) - (make-variable-buffer-local var) - (put var 'permanent-local t)) + (make-variable-buffer-local var)) ;;--------------------------------------------------------------------------- ;; that's it diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index a9ceccac6a0..030b785acdf 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el @@ -386,8 +386,7 @@ It collects and prints the diagnostics messages." (< beg (- end 4)))) module keyword cw mod1 mod2 mod3) (if (or arg - (and (not st-ass) - (not classtag) + (and (not classtag) (not structtag) (not (member (string-to-char this-word) '(?! ?.))))) ;; Need the module information @@ -408,7 +407,8 @@ It collects and prints the diagnostics messages." (arg (setq mod1 module)) ;; A special topic -- only system help - (st-ass (setq mod1 (list (cdr st-ass)))) + ((and st-ass (not (memq cw '(function-keyword procedure-keyword)))) + (setq mod1 (list (cdr st-ass)))) ;; A system variable -- only system help ((string-match @@ -1226,7 +1226,7 @@ Useful when source code is displayed as help. See the option ;; we must pass the -profile argument as well. (defvar idlwave-help-assistant-command (if (memq system-type '(ms-dos windows-nt)) - "bin/bin.x86/idl_assistant" + "bin/bin.x86/idl_assistant.exe" "bin/idl_assistant") "The command, rooted at idlwave-system-directory, which invokes the IDL assistant.") diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 38e846aa2cc..226d4bdc62d 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1150,7 +1150,7 @@ modified by the user. Additional arguments are added when the command is used by `run-python' et al.") (defvar python-buffer nil - "*The current python process buffer. + "*The current Python process buffer. Commands that send text from source buffers to Python processes have to choose a process to send to. This is determined by buffer-local @@ -1383,11 +1383,11 @@ buffer for a list of commands.)" COMMAND should be a single statement." ;; (assert (not (string-match "\n" command))) ;; (let ((end (marker-position (process-mark (python-proc))))) - (with-current-buffer python-buffer (goto-char (point-max))) + (with-current-buffer (process-buffer (python-proc)) + (goto-char (point-max)) (compilation-forget-errors) (python-send-string command) - (with-current-buffer python-buffer - (setq compilation-last-buffer (current-buffer))) + (setq compilation-last-buffer (current-buffer))) ;; No idea what this is for but it breaks the call to ;; compilation-fake-loc in python-send-region. -- Stef ;; Must wait until this has completed before re-setting variables below. @@ -1517,9 +1517,9 @@ See variable `python-buffer'. Starts a new process if necessary." ;; isn't one for `python-buffer'. (unless (comint-check-proc python-buffer) (run-python nil t)) - (get-buffer-process (or (if (derived-mode-p 'inferior-python-mode) - (current-buffer) - python-buffer)))) + (get-buffer-process (if (derived-mode-p 'inferior-python-mode) + (current-buffer) + python-buffer))) (defun python-set-proc () "Set the default value of `python-buffer' to correspond to this buffer. @@ -2088,7 +2088,7 @@ The default contents correspond to the elements of `python-skeletons'.") > _ \n) (defvar python-default-template "if" - "Default template to expand by `python-insert-template'. + "Default template to expand by `python-expand-template'. Updated on each expansion.") (defun python-expand-template (name) diff --git a/lisp/ps-print.el b/lisp/ps-print.el index 3f118474bb0..4762f5173c3 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el @@ -3966,7 +3966,7 @@ Note: No major/minor-mode is activated and no local variables are evaluated for filename)))) -(defvar ps-mark-code-directory) +(defvar ps-mark-code-directory nil) (defvar ps-print-prologue-0 "" "ps-print PostScript error handler.") @@ -3976,12 +3976,12 @@ Note: No major/minor-mode is activated and no local variables are evaluated for ;; Start Editing Here: -(defvar ps-source-buffer) +(defvar ps-source-buffer nil) (defvar ps-spool-buffer-name "*PostScript*") -(defvar ps-spool-buffer) +(defvar ps-spool-buffer nil) -(defvar ps-output-head) -(defvar ps-output-tail) +(defvar ps-output-head nil) +(defvar ps-output-tail nil) (defvar ps-page-postscript 0) ; page number (defvar ps-page-order 0) ; PostScript page counter @@ -3991,29 +3991,29 @@ Note: No major/minor-mode is activated and no local variables are evaluated for (defvar ps-page-n-up 0) ; n-up counter (defvar ps-lines-printed 0) ; total lines printed (defvar ps-showline-count 1) ; line number counter -(defvar ps-first-page) -(defvar ps-last-page) +(defvar ps-first-page nil) +(defvar ps-last-page nil) (defvar ps-print-page-p t) -(defvar ps-control-or-escape-regexp) -(defvar ps-n-up-on) +(defvar ps-control-or-escape-regexp nil) +(defvar ps-n-up-on nil) -(defvar ps-background-pages) -(defvar ps-background-all-pages) +(defvar ps-background-pages nil) +(defvar ps-background-all-pages nil) (defvar ps-background-text-count 0) (defvar ps-background-image-count 0) (defvar ps-current-font 0) -(defvar ps-default-foreground) -(defvar ps-default-background) -(defvar ps-default-color) -(defvar ps-current-color) -(defvar ps-current-bg) +(defvar ps-default-foreground nil) +(defvar ps-default-background nil) +(defvar ps-default-color nil) +(defvar ps-current-color nil) +(defvar ps-current-bg nil) -(defvar ps-zebra-stripe-full-p) +(defvar ps-zebra-stripe-full-p nil) (defvar ps-razchunk 0) -(defvar ps-color-p) +(defvar ps-color-p nil) (defvar ps-color-format (if (featurep 'xemacs) ;; XEmacs will have to make do with %s (princ) for floats. @@ -4042,20 +4042,20 @@ This is in units of points (1/72 inch).") (defmacro ps-page-dimensions-get-height (dims) `(nth 1 ,dims)) (defmacro ps-page-dimensions-get-media (dims) `(nth 2 ,dims)) -(defvar ps-landscape-page-height) +(defvar ps-landscape-page-height nil) -(defvar ps-print-width) -(defvar ps-print-height) +(defvar ps-print-width nil) +(defvar ps-print-height nil) -(defvar ps-height-remaining) -(defvar ps-width-remaining) +(defvar ps-height-remaining nil) +(defvar ps-width-remaining nil) -(defvar ps-font-size-internal) -(defvar ps-header-font-size-internal) -(defvar ps-header-title-font-size-internal) -(defvar ps-footer-font-size-internal) -(defvar ps-line-spacing-internal) -(defvar ps-paragraph-spacing-internal) +(defvar ps-font-size-internal nil) +(defvar ps-header-font-size-internal nil) +(defvar ps-header-title-font-size-internal nil) +(defvar ps-footer-font-size-internal nil) +(defvar ps-line-spacing-internal nil) +(defvar ps-paragraph-spacing-internal nil) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -4252,10 +4252,10 @@ If EXTENSION is any other symbol, it is ignored." message-log-max)) -(defvar ps-print-hook) -(defvar ps-print-begin-sheet-hook) -(defvar ps-print-begin-page-hook) -(defvar ps-print-begin-column-hook) +(defvar ps-print-hook nil) +(defvar ps-print-begin-sheet-hook nil) +(defvar ps-print-begin-page-hook nil) +(defvar ps-print-begin-column-hook nil) (defun ps-print-without-faces (from to &optional filename region-p) @@ -4832,10 +4832,10 @@ page-height == ((floor print-height ((th + ls) * zh)) * ((th + ls) * zh)) - th content (cdr content))) (nreverse str))) -(defvar ps-lh-cache) -(defvar ps-rh-cache) -(defvar ps-lf-cache) -(defvar ps-rf-cache) +(defvar ps-lh-cache nil) +(defvar ps-rh-cache nil) +(defvar ps-lf-cache nil) +(defvar ps-rf-cache nil) (defun ps-header-footer-string () (and ps-print-header @@ -6128,7 +6128,7 @@ XSTART YSTART are the relative position for the first page in a sheet.") (/ q-done (/ q-todo 100))) )))))) -(defvar ps-last-font) +(defvar ps-last-font nil) (defun ps-set-font (font) (setq ps-last-font (format "f%d" (setq ps-current-font font))) diff --git a/lisp/replace.el b/lisp/replace.el index 5b970681ea7..a42f4ff4b57 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -849,10 +849,12 @@ Compatibility function for \\[next-error] invocations." (defface match '((((class color) (min-colors 88) (background light)) - :background "Tan") + :background "yellow") (((class color) (min-colors 88) (background dark)) :background "RoyalBlue3") - (((class color) (min-colors 8)) + (((class color) (min-colors 8) (background light)) + :background "yellow" :foreground "black") + (((class color) (min-colors 8) (background dark)) :background "blue" :foreground "white") (((type tty) (class mono)) :inverse-video t) @@ -1049,7 +1051,9 @@ See also `multi-occur'." (with-current-buffer occur-buf (occur-mode) - (let ((inhibit-read-only t)) + (let ((inhibit-read-only t) + ;; Don't generate undo entries for creation of the initial contents. + (buffer-undo-list t)) (erase-buffer) (let ((count (occur-engine regexp active-bufs occur-buf @@ -1086,8 +1090,6 @@ See also `multi-occur'." title-face prefix-face match-face keep-props) (with-current-buffer out-buf (let ((globalcount 0) - ;; Don't generate undo entries for creation of the initial contents. - (buffer-undo-list t) (coding nil)) ;; Map over all the buffers (dolist (buf buffers) diff --git a/lisp/server.el b/lisp/server.el index e0465324e05..2e344084d0f 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -666,6 +666,16 @@ The following commands are accepted by the client: (run-with-timer 0 nil (lexical-let ((proc proc)) (lambda () (server-process-filter proc "")))) (top-level)) + (condition-case nil + ;; If we're running isearch, we must abort it to allow Emacs to + ;; display the buffer and switch to it. + (mapc #'(lambda (buffer) + (with-current-buffer buffer + (when (bound-and-true-p isearch-mode) + (isearch-cancel)))) + (buffer-list)) + ;; Signaled by isearch-cancel + (quit (message nil))) (let ((prev (process-get proc 'previous-string))) (when prev (setq string (concat prev string)) diff --git a/lisp/ses.el b/lisp/ses.el index ab92434bedb..2eec1b68e47 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -1485,7 +1485,7 @@ overlay, remove special text properties." ;;;###autoload (defun ses-mode () "Major mode for Simple Emacs Spreadsheet. -See \"ses-example.ses\" (in the etc data directory) for more info. +See \"ses-example.ses\" (in `data-directory') for more info. Key definitions: \\{ses-mode-map} diff --git a/lisp/shell.el b/lisp/shell.el index 008cd93c47b..a218981256a 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -336,7 +336,7 @@ Thus, this does not include the shell's current directory.") "Keep track of last directory for ksh `cd -' command.") (defvar shell-dirstack-query nil - "Command used by `shell-resync-dir' to query the shell.") + "Command used by `shell-resync-dirs' to query the shell.") (defvar shell-mode-map nil) (cond ((not shell-mode-map) diff --git a/lisp/simple.el b/lisp/simple.el index 1b998c9b27b..5901a1e3067 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -746,7 +746,7 @@ Don't use this command in Lisp programs! (/ size 10)) (/ (+ 10 (* size (prefix-numeric-value arg))) 10))) (point-min)))) - (if arg (forward-line 1))) + (if (and arg (not (consp arg))) (forward-line 1))) (defun end-of-buffer (&optional arg) "Move point to the end of the buffer; leave mark at previous position. @@ -773,7 +773,7 @@ Don't use this command in Lisp programs! (point-max)))) ;; If we went to a place in the middle of the buffer, ;; adjust it to the beginning of a line. - (cond (arg (forward-line 1)) + (cond ((and arg (not (consp arg))) (forward-line 1)) ((> (point) (window-end nil t)) ;; If the end of the buffer is not already on the screen, ;; then scroll specially to put it near, but not at, the bottom. @@ -993,6 +993,9 @@ in *Help* buffer. See also the command `describe-char'." (defvar read-expression-history nil) +(defvar minibuffer-completing-symbol nil + "Non-nil means completing a Lisp symbol in the minibuffer.") + (defcustom eval-expression-print-level 4 "Value for `print-level' while printing value in `eval-expression'. A value of nil means no limit." @@ -1044,9 +1047,10 @@ the echo area. If `eval-expression-debug-on-error' is non-nil, which is the default, this command arranges for all errors to enter the debugger." (interactive - (list (read-from-minibuffer "Eval: " - nil read-expression-map t - 'read-expression-history) + (list (let ((minibuffer-completing-symbol t)) + (read-from-minibuffer "Eval: " + nil read-expression-map t + 'read-expression-history)) current-prefix-arg)) (if (null eval-expression-debug-on-error) @@ -1894,14 +1898,11 @@ the contents are inserted into the buffer anyway. Optional arguments NOT-THIS-WINDOW and FRAME are as for `display-buffer', and only used if a buffer is displayed." - (cond ((and (stringp message) - (not (string-match "\n" message)) - (<= (length message) (frame-width))) + (cond ((and (stringp message) (not (string-match "\n" message))) ;; Trivial case where we can use the echo area (message "%s" message)) ((and (stringp message) - (= (string-match "\n" message) (1- (length message))) - (<= (1- (length message)) (frame-width))) + (= (string-match "\n" message) (1- (length message)))) ;; Trivial case where we can just remove single trailing newline (message "%s" (substring message 0 (1- (length message))))) (t @@ -3582,7 +3583,7 @@ Outline mode sets this." 'end-of-buffer) nil))) ;; Move by arg lines, but ignore invisible ones. - (let (done line-end) + (let (done) (while (and (> arg 0) (not done)) ;; If the following character is currently invisible, ;; skip all characters with that same `invisible' property value. @@ -3591,9 +3592,11 @@ Outline mode sets this." ;; Move a line. ;; We don't use `end-of-line', since we want to escape ;; from field boundaries ocurring exactly at point. - (let ((inhibit-field-text-motion t)) - (setq line-end (line-end-position))) - (goto-char (constrain-to-field line-end (point) t t)) + (goto-char (constrain-to-field + (let ((inhibit-field-text-motion t)) + (line-end-position)) + (point) t t + 'inhibit-line-move-field-capture)) ;; If there's no invisibility here, move over the newline. (cond ((eobp) @@ -4715,9 +4718,16 @@ SEND-ACTIONS is a list of actions to call when the message is sent. Each action has the form (FUNCTION . ARGS)." (interactive (list nil nil nil current-prefix-arg)) - (let ((function (get mail-user-agent 'composefunc))) - (funcall function to subject other-headers continue - switch-function yank-action send-actions))) + (let ((function (get mail-user-agent 'composefunc)) + result-buffer) + (if switch-function + (save-window-excursion + (prog1 + (funcall function to subject other-headers continue + nil yank-action send-actions) + (funcall switch-function (current-buffer)))) + (funcall function to subject other-headers continue + nil yank-action send-actions)))) (defun compose-mail-other-window (&optional to subject other-headers continue yank-action send-actions) @@ -5080,7 +5090,8 @@ of the minibuffer before point is always the common substring.)") ;; so it will get copied into the completion list buffer. (if minibuffer-completing-file-name (with-current-buffer mainbuf - (setq default-directory (file-name-directory mbuf-contents)))) + (setq default-directory + (file-name-directory (expand-file-name mbuf-contents))))) (with-current-buffer standard-output (completion-list-mode) (set (make-local-variable 'completion-reference-buffer) mainbuf) @@ -5100,6 +5111,7 @@ of the minibuffer before point is always the common substring.)") (save-excursion (skip-chars-backward completion-root-regexp) (- (point) (minibuffer-prompt-end))))) + (minibuffer-completing-symbol nil) ;; Otherwise, in minibuffer, the base size is 0. ((minibufferp mainbuf) 0))) (setq common-string-length @@ -5152,7 +5164,7 @@ select the completion near point.\n\n")))))) (when window (select-window window) (goto-char (point-min)) - (search-forward "\n\n") + (search-forward "\n\n" nil t) (forward-line 1)))) ;;; Support keyboard commands to turn on various modifiers. diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index bda569a1e05..8e239ab5a26 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el @@ -345,7 +345,9 @@ according to `smerge-match-conflict'.") ;; during font-locking so inhibit-modification-hooks is non-nil, so we ;; can't just modify the buffer and expect font-lock to be triggered as in: ;; (put-text-property beg end 'smerge-force-highlighting nil) - (remove-text-properties beg end '(fontified nil))) + (let ((modified (buffer-modified-p))) + (remove-text-properties beg end '(fontified nil)) + (restore-buffer-modified-p modified))) (defun smerge-popup-context-menu (event) "Pop up the Smerge mode context menu under mouse." @@ -558,6 +560,8 @@ An error is raised if not inside a conflict." t) (search-failed (error "Point not in conflict region"))))) +(add-to-list 'debug-ignored-errors "Point not in conflict region") + (defun smerge-conflict-overlay (pos) "Return the conflict overlay at POS if any." (let ((ols (overlays-at pos)) diff --git a/lisp/startup.el b/lisp/startup.el index faa8a0f4a7f..f1cc3e253ae 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -49,7 +49,7 @@ The value is nil if the selected frame is on a text-only-terminal.") (defcustom inhibit-splash-screen nil "Non-nil inhibits the startup screen. -It also inhibits display of the initial message in the *scratch* buffer. +It also inhibits display of the initial message in the `*scratch*' buffer. This is for use in your personal init file, once you are familiar with the contents of the startup screen." @@ -202,7 +202,7 @@ Emacs runs this hook after processing the command line arguments and loading the user's init file.") (defcustom initial-major-mode 'lisp-interaction-mode - "Major mode command symbol to use for the initial *scratch* buffer." + "Major mode command symbol to use for the initial `*scratch*' buffer." :type 'function :group 'initialization) @@ -1126,13 +1126,13 @@ regardless of the value of this variable." ;; If there is a specific tutorial for the current language ;; environment and it is not English, append its title. (concat - "Emacs Tutorial\tLearn how to use Emacs efficiently" + "Emacs Tutorial\t\tLearn how to use Emacs efficiently" (if (string= en tut) "" (concat " (" title ")")) "\n"))) :face variable-pitch "\ -Emacs FAQ\tFrequently asked questions and answers +Emacs FAQ\t\tFrequently asked questions and answers View Emacs Manual\tView the Emacs manual using Info Absence of Warranty\tGNU Emacs comes with " :face (variable-pitch :slant oblique) @@ -1142,12 +1142,13 @@ Absence of Warranty\tGNU Emacs comes with " Copying Conditions\tConditions for redistributing and changing Emacs Getting New Versions\tHow to obtain the latest version of Emacs More Manuals / Ordering Manuals Buying printed manuals from the FSF\n") - (:face (variable-pitch :weight bold) + (:face variable-pitch "To quit a partially entered command, type " :face default "Control-g" :face variable-pitch - "." + ".\n" + :face (variable-pitch :weight bold) "Useful File menu items:\n" :face variable-pitch "Exit Emacs\t\t(Or type " @@ -1279,8 +1280,7 @@ using the mouse.\n\n") :face 'variable-pitch "Type " :face 'default - (substitute-command-keys - "\\[recenter]") + "Control-l" :face 'variable-pitch " to begin editing" (if (equal (buffer-name fancy-splash-outer-buffer) @@ -1997,13 +1997,13 @@ With a prefix argument, any user input hides the splash screen." (with-no-warnings (setq menubar-bindings-done t)) - ;; If *scratch* is selected and it is empty, insert an - ;; initial message saying not to create a file there. - (when (and initial-scratch-message - (equal (buffer-name) "*scratch*") - (= 0 (buffer-size))) - (insert initial-scratch-message) - (set-buffer-modified-p nil)) + ;; If *scratch* exists and is empty, insert initial-scratch-message. + (and initial-scratch-message + (get-buffer "*scratch*") + (with-current-buffer "*scratch*" + (when (zerop (buffer-size)) + (insert initial-scratch-message) + (set-buffer-modified-p nil)))) ;; If user typed input during all that work, ;; abort the startup screen. Otherwise, display it now. diff --git a/lisp/subr.el b/lisp/subr.el index ce4a2507602..4b5c5e3f076 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -55,7 +55,7 @@ that complains if FORM ever does return differing values." (defmacro def-edebug-spec (symbol spec) "Set the `edebug-form-spec' property of SYMBOL according to SPEC. -Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol +Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol \(naming a function), or a list." `(put (quote ,symbol) 'edebug-form-spec (quote ,spec))) @@ -99,12 +99,20 @@ change the list." (list 'setq listname (list 'cdr listname))))) (defmacro when (cond &rest body) - "If COND yields non-nil, do BODY, else return nil." + "If COND yields non-nil, do BODY, else return nil. +When COND yields non-nil, eval BODY forms sequentially and return +value of last one, or nil if there are none. + +\(fn COND BODY ...)" (declare (indent 1) (debug t)) (list 'if cond (cons 'progn body))) (defmacro unless (cond &rest body) - "If COND yields nil, do BODY, else return nil." + "If COND yields nil, do BODY, else return nil. +When COND yields nil, eval BODY forms sequentially and return +value of last one, or nil if there are none. + +\(fn COND BODY ...)" (declare (indent 1) (debug t)) (cons 'if (cons cond (cons nil body)))) @@ -1895,21 +1903,32 @@ input (as a command if nothing else). Display MESSAGE (optional fourth arg) in the echo area. If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." (or exit-char (setq exit-char ?\s)) - (let ((momentary-overlay (make-overlay pos pos nil t))) - (overlay-put momentary-overlay 'before-string - (propertize string 'face 'momentary)) + (let ((inhibit-read-only t) + ;; Don't modify the undo list at all. + (buffer-undo-list t) + (modified (buffer-modified-p)) + (name buffer-file-name) + insert-end) (unwind-protect (progn - ;; If the message end is off screen, recenter now. - (if (< (window-end nil t) (+ pos (length string))) - (recenter (/ (window-height) 2))) - ;; If that pushed message start off the screen, - ;; scroll to start it at the top of the screen. (save-excursion + (goto-char pos) + ;; To avoid trouble with out-of-bounds position + (setq pos (point)) + ;; defeat file locking... don't try this at home, kids! + (setq buffer-file-name nil) + (insert-before-markers string) + (setq insert-end (point)) + ;; If the message end is off screen, recenter now. + (if (< (window-end nil t) insert-end) + (recenter (/ (window-height) 2))) + ;; If that pushed message start off the screen, + ;; scroll to start it at the top of the screen. (move-to-window-line 0) (if (> (point) pos) - (goto-char pos) - (recenter 0))) + (progn + (goto-char pos) + (recenter 0)))) (message (or message "Type %s to continue editing.") (single-key-description exit-char)) (let (char) @@ -1929,7 +1948,11 @@ If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." (or (eq char exit-char) (eq char (event-convert-list exit-char)) (setq unread-command-events (list char)))))) - (delete-overlay momentary-overlay)))) + (if insert-end + (save-excursion + (delete-region pos insert-end))) + (setq buffer-file-name name) + (set-buffer-modified-p modified)))) ;;;; Overlay operations diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el index 96e545aa11c..c8a7e9b6536 100644 --- a/lisp/t-mouse.el +++ b/lisp/t-mouse.el @@ -134,14 +134,19 @@ For example, \"2\" for /dev/tty2." (defun t-mouse-make-event-element (x-dot-y-avec-time) (let* ((x-dot-y (nth 0 x-dot-y-avec-time)) + (time (nth 1 x-dot-y-avec-time)) (x (car x-dot-y)) (y (cdr x-dot-y)) (w (window-at x y)) (ltrb (window-edges w)) (left (nth 0 ltrb)) - (top (nth 1 ltrb))) - (if w (posn-at-x-y (- x left) (- y top) w t) - (append (list nil 'menu-bar) (nthcdr 2 (posn-at-x-y x y w t)))))) + (top (nth 1 ltrb)) + (event (if w + (posn-at-x-y (- x left) (- y top) w t) + (append (list nil 'menu-bar) + (nthcdr 2 (posn-at-x-y x y w t)))))) + (setcar (nthcdr 3 event) time) + event)) ;;; This fun is partly Copyright (C) 1994 Per Abrahamsen <abraham@iesd.auc.dk> (defun t-mouse-make-event () diff --git a/lisp/tempo.el b/lisp/tempo.el index 64427d8ccf4..f12c126c349 100644 --- a/lisp/tempo.el +++ b/lisp/tempo.el @@ -266,6 +266,8 @@ The elements in ELEMENTS can be of several types: that you often should place this item after the text you want on the line. - `r>': Like `r', but it also indents the region. + - (r> PROMPT <NAME> <NOINSERT>): Like (r ...), but is also indents + the region. - `n>': Inserts a newline and indents line. - `o': Like `%' but leaves the point before the newline. - nil: It is ignored. @@ -352,6 +354,13 @@ possible." (goto-char tempo-region-stop) (tempo-insert-prompt-compat (cdr element)))) + ((and (consp element) + (eq (car element) 'r>)) (if on-region + (progn + (goto-char tempo-region-stop) + (indent-region (mark) (point) nil)) + (tempo-insert-prompt-compat + (cdr element)))) ((and (consp element) (eq (car element) 's)) (tempo-insert-named (car (cdr element)))) ((and (consp element) diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index d2978147ad1..834aa5f60d8 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -2207,11 +2207,12 @@ order until succeed.") ;; (1) If their lengthes are different, select the longer one. This ;; is because an X client may just cut off unsupported characters. ;; -;; (2) Otherwise, if the Nth character of CTEXT is an ASCII -;; character that is different from the Nth character of UTF8, -;; select UTF8. This is because an X client may replace unsupported -;; characters with some ASCII character (typically ` ' or `?') in -;; CTEXT. +;; (2) Otherwise, if they are different at Nth character, and that +;; of UTF8 is a Latin character and that of CTEXT belongs to a CJK +;; character set, select UTF8. Also select UTF8 if the Nth +;; character of UTF8 is non-ASCII where as that of CTEXT is ASCII. +;; This is because an X client may replace unsupported characters +;; with some ASCII character (typically ` ' or `?') in CTEXT. ;; ;; (3) Otherwise, select CTEXT. This is because legacy charsets are ;; better for the current Emacs, especially when the selection owner @@ -2226,10 +2227,16 @@ order until succeed.") (if (/= len-utf8 len-ctext) (if (> len-utf8 len-ctext) utf8 ctext) (let ((result (compare-strings utf8 0 len-utf8 ctext 0 len-ctext))) - (if (or (eq result t) - (>= (aref ctext (1- (abs result))) 128)) + (if (eq result t) ctext - utf8))))) + (let ((utf8-char (aref utf8 (1- (abs result)))) + (ctext-char (aref ctext (1- (abs result))))) + (if (or (and (aref (char-category-set utf8-char) ?l) + (aref (char-category-set ctext-char) ?C)) + (and (>= utf8-char 128) + (< ctext-char 128))) + utf8 + ctext))))))) ;; Get a selection value of type TYPE by calling x-get-selection with ;; an appropiate DATA-TYPE argument decidd by `x-select-request-type'. diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 73faea4e9c2..a3c9575d90c 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -766,9 +766,7 @@ Otherwise returns the library directory name, if that is defined." (if buf (kill-buffer buf))) (set-buffer (get-buffer-create " *ispell-tmp*")) (erase-buffer) - (unless (file-exists-p default-directory) - (setq default-directory (expand-file-name "~/"))) - (setq status (call-process + (setq status (ispell-call-process ispell-program-name nil t nil ;; aspell doesn't accept the -vv switch. (let ((case-fold-search @@ -827,6 +825,22 @@ Otherwise returns the library directory name, if that is defined." (kill-buffer (current-buffer))) result)) +(defun ispell-call-process (&rest args) + "Like `call-process' but defend against bad `default-directory'." + (let ((default-directory default-directory)) + (unless (and (file-directory-p default-directory) + (file-readable-p default-directory)) + (setq default-directory (expand-file-name "~/"))) + (apply 'call-process args))) + +(defun ispell-call-process-region (&rest args) + "Like `call-process-region' but defend against bad `default-directory'." + (let ((default-directory default-directory)) + (unless (and (file-directory-p default-directory) + (file-readable-p default-directory)) + (setq default-directory (expand-file-name "~/"))) + (apply 'call-process-region args))) + ;;; The preparation of the menu bar menu must be autoloaded @@ -895,7 +909,7 @@ and added as a submenu of the \"Edit\" menu.") (let* ((dictionaries (split-string (with-temp-buffer - (call-process ispell-program-name nil t nil "dicts") + (ispell-call-process ispell-program-name nil t nil "dicts") (buffer-string)))) ;; Search for the named dictionaries. (found @@ -928,7 +942,7 @@ and added as a submenu of the \"Edit\" menu.") "Return value of Aspell configuration option KEY. Assumes that value contains no whitespace." (with-temp-buffer - (call-process ispell-program-name nil t nil "config" key) + (ispell-call-process ispell-program-name nil t nil "config" key) (car (split-string (buffer-string))))) (defun ispell-aspell-find-dictionary (dict-name) @@ -1500,7 +1514,8 @@ This allows it to improve the suggestion list based on actual mispellings." (erase-buffer) (set-buffer session-buf) (setq status - (apply 'call-process-region (point-min) (point-max) + (apply 'ispell-call-process-region + (point-min) (point-max) ispell-program-name nil output-buf nil "-a" "-m" ispell-args)) @@ -2197,7 +2212,7 @@ Optional second argument contains the dictionary to use; the default is (while (search-backward "*" nil t) (insert ".")) (setq word (buffer-string)) (erase-buffer)) - (setq status (apply 'call-process prog nil t nil + (setq status (apply 'ispell-call-process prog nil t nil (nconc (if (and args (> (length args) 0)) (list args) (if look-p nil diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index bba5832b0e6..a727fa2df5a 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el @@ -3912,6 +3912,7 @@ between words." (if (memq 'radio lk) '(org-activate-target-links (0 'org-link t))) (if (memq 'date lk) '(org-activate-dates (0 'org-date t))) (if (memq 'tag lk) '(org-activate-tags (1 'org-tag prepend))) + '(org-hide-wide-columns (0 nil append)) ;; TODO lines (list (concat "^\\*+[ \t]*" org-not-done-regexp) '(1 'org-todo t)) @@ -18767,6 +18768,13 @@ because, in this case the deletion might narrow the column." (put 'org-delete-char 'delete-selection 'supersede) (put 'org-delete-backward-char 'delete-selection 'supersede) +;; Make `flyspell-mode' delay after some commands +(put 'org-self-insert-command 'flyspell-delayed t) +(put 'orgtbl-self-insert-command 'flyspell-delayed t) +(put 'org-delete-char 'flyspell-delayed t) +(put 'org-delete-backward-char 'flyspell-delayed t) + + ;; How to do this: Measure non-white length of current string ;; If equal to column width, we should realign. diff --git a/lisp/type-break.el b/lisp/type-break.el index 361670dbe6c..e065e32df54 100644 --- a/lisp/type-break.el +++ b/lisp/type-break.el @@ -562,9 +562,12 @@ Returns nil if the file is missing or if the time breaks with the (if file (timep ;; returns expected format, else nil (with-current-buffer (find-file-noselect file 'nowarn) - (save-excursion - (goto-char (point-min)) - (read (current-buffer)))))))) + (condition-case nil + (save-excursion + (goto-char (point-min)) + (read (current-buffer))) + (end-of-file + (error "End of file in `%s'" file)))))))) (defun type-break-get-previous-count () "Get previous keystroke count from `type-break-file-name'. @@ -576,10 +579,13 @@ integer." (setq file (with-current-buffer (find-file-noselect file 'nowarn) - (save-excursion - (goto-char (point-min)) - (forward-line 1) - (read (current-buffer))))))) + (condition-case nil + (save-excursion + (goto-char (point-min)) + (forward-line 1) + (read (current-buffer))) + (end-of-file + (error "End of file in `%s'" file))))))) file 0))) diff --git a/lisp/woman.el b/lisp/woman.el index 728bf347d9f..ffa0ea692ad 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -3284,7 +3284,7 @@ If optional arg CONCAT is non-nil then join arguments." ;; Find font requests, paragraph macros and font escapes: (re-search-forward "^[.'][ \t]*\\(\\(\\ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1) - (let (font beg notfont) + (let (font beg notfont fescape) ;; Match font indicator and leave point at end of sequence: (cond ((match-string 2) ;; .ft request found @@ -3299,7 +3299,8 @@ If optional arg CONCAT is non-nil then join arguments." (setq font 'default)) ((match-string 4) ;; \f escape found - (setq beg (match-beginning 0)) + (setq beg (match-beginning 0) + fescape t) (woman-match-name)) (t (setq notfont t))) (if notfont @@ -3321,6 +3322,13 @@ If optional arg CONCAT is non-nil then join arguments." ;; Delete font control line or escape sequence: (cond (beg (delete-region beg (point)) (if (eq font 'previous) (setq font previous-font)))) + ;; Deal with things like \fB.cvsrc\fR at the start of a line. + ;; After removing the font control codes, this would + ;; otherwise match woman-request-regexp. The "\\&" which is + ;; inserted to prevent this is removed by woman2-process-escapes. + (and fescape + (looking-at woman-request-regexp) + (insert "\\&")) (woman-set-face previous-pos (point) current-font) (if beg ;; Explicit font control @@ -3665,39 +3673,39 @@ expression in parentheses. Leaves point after the value." (unwind-protect (while ;; Find next control line: - (re-search-forward woman-request-regexp nil t) - (cond - ;; Construct woman function to call: - ((setq fn (intern-soft - (concat "woman2-" - (setq request (match-string 1))))) - ;; Delete request or macro name: - (woman-delete-match 0)) - ;; Unrecognised request: - ((prog1 nil - ;; (WoMan-warn ".%s request ignored!" request) - (WoMan-warn-ignored request "ignored!") - ;; (setq fn 'woman2-LP) - ;; AVOID LEAVING A BLANK LINE! - ;; (setq fn 'woman2-format-paragraphs) - )) - ;; .LP assumes it is at eol and leaves a (blank) line, - ;; so leave point at end of line before paragraph: - ((or (looking-at "[ \t]*$") ; no argument - woman-ignore) ; ignore all - ;; (beginning-of-line) (kill-line) - ;; AVOID LEAVING A BLANK LINE! - (beginning-of-line) (woman-delete-line 1)) - (t (end-of-line) (insert ?\n)) - ) - (if (not (or fn - (and (not (memq (following-char) '(?. ?'))) - (setq fn 'woman2-format-paragraphs)))) - () - ;; Find next control line: - (set-marker to (woman-find-next-control-line)) - ;; Call the appropriate function: - (funcall fn to))) + (re-search-forward woman-request-regexp nil t) + (cond + ;; Construct woman function to call: + ((setq fn (intern-soft + (concat "woman2-" + (setq request (match-string 1))))) + ;; Delete request or macro name: + (woman-delete-match 0)) + ;; Unrecognised request: + ((prog1 nil + ;; (WoMan-warn ".%s request ignored!" request) + (WoMan-warn-ignored request "ignored!") + ;; (setq fn 'woman2-LP) + ;; AVOID LEAVING A BLANK LINE! + ;; (setq fn 'woman2-format-paragraphs) + )) + ;; .LP assumes it is at eol and leaves a (blank) line, + ;; so leave point at end of line before paragraph: + ((or (looking-at "[ \t]*$") ; no argument + woman-ignore) ; ignore all + ;; (beginning-of-line) (kill-line) + ;; AVOID LEAVING A BLANK LINE! + (beginning-of-line) (woman-delete-line 1)) + (t (end-of-line) (insert ?\n)) + ) + (if (not (or fn + (and (not (memq (following-char) '(?. ?'))) + (setq fn 'woman2-format-paragraphs)))) + () + ;; Find next control line: + (set-marker to (woman-find-next-control-line)) + ;; Call the appropriate function: + (funcall fn to))) (if (not (eobp)) ; This should not happen, but ... (woman2-format-paragraphs (copy-marker (point-max) t) woman-left-margin)) @@ -4193,7 +4201,27 @@ If tag doesn't fit, place it on a separate line." (let ((i (woman2-get-prevailing-indent 'leave-eol))) (beginning-of-line) (woman-leave-blank-lines) ; must be here, - (woman2-tagged-paragraph to i)))) + ;; + ;; The cvs.1 manpage contains some (possibly buggy) syntax that + ;; confuses woman, although the man program displays it ok. + ;; Most problems are caused by IP followed by another request on + ;; the next line. Without the following hack, the second request + ;; gets displayed raw in the output. Note that + ;; woman2-tagged-paragraph also contains a hack for similar + ;; issues (eg IP followed by SP). + ;; + ;; i) For IP followed by one or more IPs, we ignore all but the + ;; last (mimic man). The hack in w-t-p would only work for two + ;; consecutive IPs, and would use the first. + ;; ii) For IP followed by SP followed by one or more requests, + ;; do nothing. At least in cvs.1, there is usually another IP in + ;; there somewhere. + (unless (or (looking-at "^\\.IP") + (and (looking-at "^\\.sp") + (save-excursion + (and (zerop (forward-line 1)) + (looking-at woman-request-regexp))))) + (woman2-tagged-paragraph to i))))) (defun woman-find-next-control-line-carefully () "Find and return start of next control line, even if already there!" @@ -4208,17 +4236,21 @@ Format paragraphs upto TO. Set prevailing indent to I." (if (not (looking-at "\\s *$")) ; non-empty tag (setq woman-leave-blank-lines nil)) - ;; Temporary hack for bash.1 and groff_mmse.7 until code is revised - ;; to process all requests uniformly: - (cond ((and (= (point) to) (looking-at "^[.'][ \t]*\\(PD\\|br\\|ta\\) *")) - (if (string= (match-string 1) "br") - (woman-delete-line 1) - (woman-delete-match 0) - (if (string= (match-string 1) "ta") ; for GetInt.3 - (woman2-ta to) - (woman-set-interparagraph-distance))) - (set-marker to (woman-find-next-control-line-carefully)) - )) + ;; Temporary hack for bash.1, cvs.1 and groff_mmse.7 until code is revised + ;; to process all requests uniformly. + ;; This hack deals with IP requests followed by other requests (eg + ;; SP) on the very next line. We skip over the SP, otherwise it gets + ;; inserted raw in the rendered output. + (cond ((and (= (point) to) + (looking-at "^[.'][ \t]*\\(PD\\|br\\|ta\\|sp\\) *")) + (if (member (match-string 1) '("br" "sp")) + (woman-delete-line 1) + (woman-delete-match 0) + (if (string= (match-string 1) "ta") ; for GetInt.3 + (woman2-ta to) + (woman-set-interparagraph-distance))) + (set-marker to (woman-find-next-control-line-carefully)) + )) (let ((tag (point))) (woman-reset-nospace) @@ -4274,6 +4306,7 @@ Delete line from point and eol unless LEAVE-EOL is non-nil." (let ((i (woman-get-numeric-arg))) (woman-delete-line) (or leave-eol (delete-char 1)) ;; i = 0 if the argument was not a number + ;; FIXME should this be >= 0? How else to reset to 0 indent? (if (> i 0) (setq woman-prevailing-indent i)))) woman-prevailing-indent) diff --git a/lisp/xml.el b/lisp/xml.el index 5b694d50f12..f7045779ca4 100644 --- a/lisp/xml.el +++ b/lisp/xml.el @@ -76,8 +76,12 @@ ;;; Code: -;; Note that {buffer-substring,match-string}-no-properties were -;; formerly used in several places, but that removes composition info. +;; Note that buffer-substring and match-string were formerly used in +;; several places, because the -no-properties variants remove +;; composition info. However, after some discussion on emacs-devel, +;; the consensus was that the speed of the -no-properties variants was +;; a worthwhile tradeoff especially since we're usually parsing files +;; instead of hand-crafted XML. ;;******************************************************************* ;;** @@ -406,7 +410,7 @@ Returns one of: (unless (search-forward "]]>" nil t) (error "XML: (Not Well Formed) CDATA section does not end anywhere in the document")) (concat - (buffer-substring pos (match-beginning 0)) + (buffer-substring-no-properties pos (match-beginning 0)) (xml-parse-string)))) ;; DTD for the document ((looking-at "<!DOCTYPE") @@ -427,7 +431,7 @@ Returns one of: (goto-char (match-end 1)) ;; Parse this node - (let* ((node-name (match-string 1)) + (let* ((node-name (match-string-no-properties 1)) ;; Parse the attribute list. (attrs (xml-parse-attlist xml-ns)) children pos) @@ -480,7 +484,7 @@ Returns one of: (nreverse children))) ;; This was an invalid start tag (Expected ">", but didn't see it.) (error "XML: (Well-Formed) Couldn't parse tag: %s" - (buffer-substring (- (point) 10) (+ (point) 1))))))) + (buffer-substring-no-properties (- (point) 10) (+ (point) 1))))))) (t ;; (Not one of PI, CDATA, Comment, End tag, or Start tag) (unless xml-sub-parser ; Usually, we error out. (error "XML: (Well-Formed) Invalid character")) @@ -495,7 +499,7 @@ Returns one of: (string (progn (if (search-forward "<" nil t) (forward-char -1) (goto-char (point-max))) - (buffer-substring pos (point))))) + (buffer-substring-no-properties pos (point))))) ;; Clean up the string. As per XML specifications, the XML ;; processor should always pass the whole string to the ;; application. But \r's should be replaced: @@ -516,7 +520,7 @@ Leave point at the first non-blank character after the tag." (while (looking-at (eval-when-compile (concat "\\(" xml-name-regexp "\\)\\s-*=\\s-*"))) (setq end-pos (match-end 0)) - (setq name (xml-maybe-do-ns (match-string 1) nil xml-ns)) + (setq name (xml-maybe-do-ns (match-string-no-properties 1) nil xml-ns)) (goto-char end-pos) ;; See also: http://www.w3.org/TR/2000/REC-xml-20001006#AVNormalize @@ -535,7 +539,7 @@ Leave point at the first non-blank character after the tag." ;; Multiple whitespace characters should be replaced with a single one ;; in the attributes - (let ((string (match-string 1)) + (let ((string (match-string-no-properties 1)) (pos 0)) (replace-regexp-in-string "\\s-\\{2,\\}" " " string) (let ((expansion (xml-substitute-special string))) @@ -575,7 +579,7 @@ This follows the rule [28] in the XML specifications." ;; Get the name of the document (looking-at xml-name-regexp) - (let ((dtd (list (match-string 0) 'dtd)) + (let ((dtd (list (match-string-no-properties 0) 'dtd)) type element end-pos) (goto-char (match-end 0)) @@ -590,18 +594,18 @@ This follows the rule [28] in the XML specifications." "\\='\\([[:space:][:alnum:]-()+,./:=?;!*#@$_%]*\\)'" nil t)) (error "XML: Missing Public ID")) - (let ((pubid (match-string 1))) + (let ((pubid (match-string-no-properties 1))) (skip-syntax-forward " ") (unless (or (re-search-forward "\\='\\([^']*\\)'" nil t) (re-search-forward "\\=\"\\([^\"]*\\)\"" nil t)) (error "XML: Missing System ID")) - (push (list pubid (match-string 1) 'public) dtd))) + (push (list pubid (match-string-no-properties 1) 'public) dtd))) ((looking-at "SYSTEM\\s-+") (goto-char (match-end 0)) (unless (or (re-search-forward "\\='\\([^']*\\)'" nil t) (re-search-forward "\\=\"\\([^\"]*\\)\"" nil t)) (error "XML: Missing System ID")) - (push (list (match-string 1) 'system) dtd))) + (push (list (match-string-no-properties 1) 'system) dtd))) (skip-syntax-forward " ") (if (eq ?> (char-after)) (forward-char) @@ -618,7 +622,7 @@ This follows the rule [28] in the XML specifications." ((looking-at "<!ELEMENT\\s-+\\([[:alnum:].%;]+\\)\\s-+\\([^>]+\\)>") - (setq element (match-string 1) + (setq element (match-string-no-properties 1) type (match-string-no-properties 2)) (setq end-pos (match-end 0)) @@ -629,7 +633,7 @@ This follows the rule [28] in the XML specifications." ((string-match "^ANY[ \t\n\r]*$" type) ;; any type of contents (setq type 'any)) ((string-match "^(\\(.*\\))[ \t\n\r]*$" type) ;; children ([47]) - (setq type (xml-parse-elem-type (match-string 1 type)))) + (setq type (xml-parse-elem-type (match-string-no-properties 1 type)))) ((string-match "^%[^;]+;[ \t\n\r]*$" type) ;; substitution nil) (t @@ -659,9 +663,9 @@ This follows the rule [28] in the XML specifications." ((looking-at (concat "<!ENTITY[ \t\n\r]*\\(" xml-name-re "\\)[ \t\n\r]*\\(" xml-entity-value-re "\\)[ \t\n\r]*>")) - (let ((name (match-string 1)) - (value (substring (match-string 2) 1 - (- (length (match-string 2)) 1)))) + (let ((name (match-string-no-properties 1)) + (value (substring (match-string-no-properties 2) 1 + (- (length (match-string-no-properties 2)) 1)))) (goto-char (match-end 0)) (setq xml-entity-alist (append xml-entity-alist @@ -681,9 +685,9 @@ This follows the rule [28] in the XML specifications." "\\|'[- \r\na-zA-Z0-9()+,./:=?;!*#@$_%]*'" "[ \t\n\r]+\\(\"[^\"]*\"\\|'[^']*'\\)" "[ \t\n\r]*>"))) - (let ((name (match-string 1)) - (file (substring (match-string 2) 1 - (- (length (match-string 2)) 1)))) + (let ((name (match-string-no-properties 1)) + (file (substring (match-string-no-properties 2) 1 + (- (length (match-string-no-properties 2)) 1)))) (goto-char (match-end 0)) (setq xml-entity-alist (append xml-entity-alist @@ -722,8 +726,8 @@ This follows the rule [28] in the XML specifications." (let (elem modifier) (if (string-match "(\\([^)]+\\))\\([+*?]?\\)" string) (progn - (setq elem (match-string 1 string) - modifier (match-string 2 string)) + (setq elem (match-string-no-properties 1 string) + modifier (match-string-no-properties 2 string)) (if (string-match "|" elem) (setq elem (cons 'choice (mapcar 'xml-parse-elem-type @@ -733,8 +737,8 @@ This follows the rule [28] in the XML specifications." (mapcar 'xml-parse-elem-type (split-string elem ","))))))) (if (string-match "[ \t\n\r]*\\([^+*?]+\\)\\([+*?]?\\)" string) - (setq elem (match-string 1 string) - modifier (match-string 2 string)))) + (setq elem (match-string-no-properties 1 string) + modifier (match-string-no-properties 2 string)))) (if (and (stringp elem) (string= elem "#PCDATA")) (setq elem 'pcdata)) @@ -765,19 +769,19 @@ This follows the rule [28] in the XML specifications." children end-point) (while (string-match "&\\([^;]*\\);" string point) (setq end-point (match-end 0)) - (let* ((this-part (match-string 1 string)) + (let* ((this-part (match-string-no-properties 1 string)) (prev-part (substring string point (match-beginning 0))) (entity (assoc this-part xml-entity-alist)) (expansion (cond ((string-match "#\\([0-9]+\\)" this-part) (let ((c (decode-char 'ucs - (string-to-number (match-string 1 this-part))))) + (string-to-number (match-string-no-properties 1 this-part))))) (if c (string c)))) ((string-match "#x\\([[:xdigit:]]+\\)" this-part) (let ((c (decode-char 'ucs - (string-to-number (match-string 1 this-part) 16)))) + (string-to-number (match-string-no-properties 1 this-part) 16)))) (if c (string c)))) (entity (cdr entity)) |