From 930f57b46e639926c205e0b807ccb5bf4619b0b7 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 17 Oct 2007 01:29:32 +0000 Subject: [PATCH 01/29] (Qcompletion_ignore_case): New external Lisp_Object. (Fread_coding_system): Ignore case of user input. --- src/coding.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/coding.c b/src/coding.c index 907521edd5c..1dc4cf8eeb9 100644 --- a/src/coding.c +++ b/src/coding.c @@ -372,6 +372,8 @@ Lisp_Object Qcall_process, Qcall_process_region; Lisp_Object Qstart_process, Qopen_network_stream; Lisp_Object Qtarget_idx; +extern Lisp_Object Qcompletion_ignore_case; + /* If a symbol has this property, evaluate the value to define the symbol as a coding system. */ Lisp_Object Qcoding_system_define_form; @@ -6558,16 +6560,22 @@ DEFUN ("read-non-nil-coding-system", Fread_non_nil_coding_system, DEFUN ("read-coding-system", Fread_coding_system, Sread_coding_system, 1, 2, 0, doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. -If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. */) +If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. +Ignores case when completing coding systems (all Emacs coding systems +are lower-case). */) (prompt, default_coding_system) Lisp_Object prompt, default_coding_system; { Lisp_Object val; + int count = SPECPDL_INDEX (); + if (SYMBOLP (default_coding_system)) default_coding_system = SYMBOL_NAME (default_coding_system); + specbind (Qcompletion_ignore_case, Qt); val = Fcompleting_read (prompt, Vcoding_system_alist, Qnil, Qt, Qnil, Qcoding_system_history, default_coding_system, Qnil); + unbind_to (count, Qnil); return (SCHARS (val) == 0 ? Qnil : Fintern (val, Qnil)); } From b46d7a8abb481bd07370466dc77624c6142fd7c0 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 17 Oct 2007 01:30:17 +0000 Subject: [PATCH 02/29] (Qcompletion_ignore_case): New Lisp_Object. (syms_of_minibuf): Add Qcompletion_ignore_case. --- src/minibuf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/minibuf.c b/src/minibuf.c index 0a1d737a793..bd07e2cdd36 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -117,6 +117,7 @@ Lisp_Object Vread_buffer_function; /* Nonzero means completion ignores case. */ int completion_ignore_case; +Lisp_Object Qcompletion_ignore_case; /* List of regexps that should restrict possible completions. */ @@ -2802,6 +2803,9 @@ syms_of_minibuf () minibuf_save_list = Qnil; staticpro (&minibuf_save_list); + Qcompletion_ignore_case = intern ("completion-ignore-case"); + staticpro (&Qcompletion_ignore_case); + Qread_file_name_internal = intern ("read-file-name-internal"); staticpro (&Qread_file_name_internal); From 0af8c48ee0f56ee43bd788b26f96713724810771 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 17 Oct 2007 01:30:59 +0000 Subject: [PATCH 03/29] (Qcompletion_ignore_case): Change to external. (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case. --- src/dired.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/dired.c b/src/dired.c index 1fb5387268a..09c72f69fdf 100644 --- a/src/dired.c +++ b/src/dired.c @@ -115,10 +115,10 @@ extern void filemodestring P_ ((struct stat *, char *)); #endif extern int completion_ignore_case; +extern Lisp_Object Qcompletion_ignore_case; extern Lisp_Object Vcompletion_regexp_list; Lisp_Object Vcompletion_ignored_extensions; -Lisp_Object Qcompletion_ignore_case; Lisp_Object Qdirectory_files; Lisp_Object Qdirectory_files_and_attributes; Lisp_Object Qfile_name_completion; @@ -1077,11 +1077,6 @@ syms_of_dired () defsubr (&Sfile_attributes); defsubr (&Sfile_attributes_lessp); -#ifdef VMS - Qcompletion_ignore_case = intern ("completion-ignore-case"); - staticpro (&Qcompletion_ignore_case); -#endif /* VMS */ - DEFVAR_LISP ("completion-ignored-extensions", &Vcompletion_ignored_extensions, doc: /* Completion ignores file names ending in any string in this list. It does not ignore them if all possible completions end in one of From 24eb74a313c5d6fade2cc96a33b2bf685dd95130 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 17 Oct 2007 01:32:41 +0000 Subject: [PATCH 04/29] (Qcompletion_ignore_case): New external Lisp_Object. (Fread_file_name): Use it rather than intern'ing. --- src/ChangeLog | 12 ++++++++++++ src/fileio.c | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 5a4c51c84d8..08fbd81d6fb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,15 @@ +2007-10-17 Glenn Morris + + * minibuf.c (Qcompletion_ignore_case): New Lisp_Object. + (syms_of_minibuf): Add Qcompletion_ignore_case. + * dired.c (Qcompletion_ignore_case): Change to external. + (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case. + * fileio.c (Qcompletion_ignore_case): New external Lisp_Object. + (Fread_file_name): Use it rather than intern'ing. + + * coding.c (Qcompletion_ignore_case): New external Lisp_Object. + (Fread_coding_system): Ignore case of user input. + 2007-10-16 YAMAMOTO Mitsuharu * xdisp.c (handle_display_prop): Ignore display specs after diff --git a/src/fileio.c b/src/fileio.c index ac5a4f56794..0f13c6535a0 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -6078,6 +6078,7 @@ then any auto-save counts as "recent". */) /* Reading and completing file names */ extern Lisp_Object Ffile_name_completion (), Ffile_name_all_completions (); +extern Lisp_Object Qcompletion_ignore_case; /* In the string VAL, change each $ to $$ and return the result. */ @@ -6383,7 +6384,7 @@ and `read-file-name-function'. */) } count = SPECPDL_INDEX (); - specbind (intern ("completion-ignore-case"), + specbind (Qcompletion_ignore_case, read_file_name_completion_ignore_case ? Qt : Qnil); specbind (intern ("minibuffer-completing-file-name"), Qt); specbind (intern ("read-file-name-predicate"), From 73d3c088b7fadcffe10513fad950eb15694b6838 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 17 Oct 2007 01:36:10 +0000 Subject: [PATCH 05/29] Add url. --- admin/FOR-RELEASE | 1 + lisp/ChangeLog | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 1f8d0fec762..dcc1ff08a82 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -58,6 +58,7 @@ http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-09/msg00055.html http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00385.html ** lekktu@gmail.com, Oct 11: frame-local variables weirdness +http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00519.html I proposed a patch, which fixed this and seemed right, but the patch caused other problems. They are being investigated now. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 60bd1af0adc..a61ea8afb5f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-10-17 Glenn Morris + + * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Tweak + regexp to avoid stack overflow. + 2007-10-16 Juanma Barranquero * bs.el (bs--window-config-coming-from): Revert 2006-11-09 change. From 41a962dd92097089fa8d3e31d39a7b8c4af472af Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 17 Oct 2007 01:36:24 +0000 Subject: [PATCH 06/29] (cc-imenu-c++-generic-expression): Tweak regexp to avoid overflow. --- lisp/progmodes/cc-menus.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el index 95359689b9f..eced014d4e6 100644 --- a/lisp/progmodes/cc-menus.el +++ b/lisp/progmodes/cc-menus.el @@ -106,7 +106,9 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.") (nil ,(concat "^\\<" ; line MUST start with word char - "[^()]*" ; no parentheses before + ;; \n added to prevent overflow in regexp matcher. + ;; http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-02/msg00021.html + "[^()\n]*" ; no parentheses before "[^" c-alnum "_:<>~]" ; match any non-identifier char "\\([" c-alpha "_][" c-alnum "_:<>~]*\\)" ; match function name "\\([ \t\n]\\|\\\\\n\\)*(" ; see above, BUT the arg list From e167a87628a2b922d03e8e1d3d51fdf435265003 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 17 Oct 2007 02:07:01 +0000 Subject: [PATCH 07/29] * eshell/esh-cmd.el (eshell-complex-commands): Add "ls". --- lisp/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a61ea8afb5f..96a68401627 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-10-22 John Wiegley + + * eshell/esh-cmd.el (eshell-complex-commands): Add "ls". + 2007-10-17 Glenn Morris * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Tweak From de9f59f6e1e43af5705ab7c592312c53b0ddb32e Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 17 Oct 2007 02:07:12 +0000 Subject: [PATCH 08/29] (eshell-complex-commands): Add "ls". --- lisp/eshell/esh-cmd.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index d3194f3625a..f999bdcdf6d 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el @@ -204,7 +204,7 @@ which may be modified directly. Any return value is ignored." :type 'hook :group 'eshell-cmd) -(defcustom eshell-complex-commands nil +(defcustom eshell-complex-commands '("ls") "*A list of commands names or functions, that determine complexity. That is, if a command is defined by a function named eshell/NAME, and NAME is part of this list, it is invoked as a complex command. From 5ac6bcb7b1ce46ffb1fda65f3fc195fcbcba1e5b Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 17 Oct 2007 02:08:48 +0000 Subject: [PATCH 09/29] Correct typo. --- lisp/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 96a68401627..cc26222dc81 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,4 +1,4 @@ -2006-10-22 John Wiegley +2007-10-17 John Wiegley * eshell/esh-cmd.el (eshell-complex-commands): Add "ls". From 2131e876197aa3168071a93b1dca45a5f1c9f7b7 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 17 Oct 2007 02:09:47 +0000 Subject: [PATCH 10/29] ** ams@gnu.org, 9 July: eshell and external commands Fixed. --- admin/FOR-RELEASE | 3 --- 1 file changed, 3 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index dcc1ff08a82..149c852d2f4 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -54,9 +54,6 @@ http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-09/msg00055.html * BUGS -** ams@gnu.org, 9 July: eshell and external commands -http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00385.html - ** lekktu@gmail.com, Oct 11: frame-local variables weirdness http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00519.html I proposed a patch, which fixed this and seemed right, but the patch From a457f2b8c411e796f7d73871bd68110369808c3b Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 17 Oct 2007 02:47:28 +0000 Subject: [PATCH 11/29] * longlines.el (longlines-wrap-follows-window-size): Integer value specifies wrapping margin. (longlines-mode, longlines-window-change-function): Set window-specific wrapping margin based on the above. --- lisp/ChangeLog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cc26222dc81..7d1bf357f06 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2007-10-17 Chong Yidong + + * longlines.el (longlines-wrap-follows-window-size): Integer value + specifies wrapping margin. + (longlines-mode, longlines-window-change-function): Set + window-specific wrapping margin based on the above. + 2007-10-17 John Wiegley * eshell/esh-cmd.el (eshell-complex-commands): Add "ls". From 71fdf0898e86112a57064b13852bd5d48677a9a2 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 17 Oct 2007 02:47:39 +0000 Subject: [PATCH 12/29] (longlines-wrap-follows-window-size): Integer value specifies wrapping margin. (longlines-mode, longlines-window-change-function): Set window-specific wrapping margin based on the above. --- lisp/longlines.el | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/lisp/longlines.el b/lisp/longlines.el index 07977910a22..c820150c27a 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -55,7 +55,11 @@ when the file is saved to disk." "Non-nil means wrapping and filling happen at the edge of the window. Otherwise, `fill-column' is used, regardless of the window size. This does not work well when the buffer is displayed in multiple windows -with differing widths." +with differing widths. + +If the value is an integer, that specifies the distance from the +right edge of the window at which wrapping occurs. For any other +non-nil value, wrapping occurs 2 characters from the right edge." :group 'longlines :type 'boolean) @@ -117,8 +121,14 @@ are indicated with a symbol." 'longlines-search-function) (add-to-list 'buffer-substring-filters 'longlines-encode-string) (when longlines-wrap-follows-window-size - (set (make-local-variable 'fill-column) - (- (window-width) window-min-width)) + (let ((dw (if (and (integerp longlines-wrap-follows-window-size) + (>= longlines-wrap-follows-window-size 0) + (< longlines-wrap-follows-window-size + (window-width))) + longlines-wrap-follows-window-size + 2))) + (set (make-local-variable 'fill-column) + (- (window-width) dw))) (add-hook 'window-configuration-change-hook 'longlines-window-change-function nil t)) (let ((buffer-undo-list t) @@ -415,9 +425,14 @@ This is called by `post-command-hook' after each command." (defun longlines-window-change-function () "Re-wrap the buffer if the window width has changed. This is called by `window-configuration-change-hook'." - (when (/= fill-column (- (window-width) window-min-width)) - (setq fill-column (- (window-width) window-min-width)) - (longlines-wrap-region (point-min) (point-max)))) + (let ((dw (if (and (integerp longlines-wrap-follows-window-size) + (>= longlines-wrap-follows-window-size 0) + (< longlines-wrap-follows-window-size (window-width))) + longlines-wrap-follows-window-size + 2))) + (when (/= fill-column (- (window-width) dw)) + (setq fill-column (- (window-width) dw)) + (longlines-wrap-region (point-min) (point-max))))) ;; Isearch From be8fdb628bd992f3ceefcbfcbe38e403f47739cb Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Wed, 17 Oct 2007 07:53:36 +0000 Subject: [PATCH 13/29] (Diary): Fix directive. --- man/ChangeLog | 4 ++++ man/calendar.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/man/ChangeLog b/man/ChangeLog index d329e0dfd72..29d286668d3 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2007-10-17 Juanma Barranquero + + * calendar.texi (Diary): Fix directive. + 2007-10-16 Richard Stallman * calendar.texi (Diary): Clarify text about diary file example. diff --git a/man/calendar.texi b/man/calendar.texi index 12d5b68a371..c111eac354f 100644 --- a/man/calendar.texi +++ b/man/calendar.texi @@ -1008,7 +1008,7 @@ April 15, 1989 Income tax due. @noindent This format is essentially the same as the one used by the system's -@program{calendar} utility. This example uses extra spaces to align +@command{calendar} utility. This example uses extra spaces to align the event descriptions of most of the entries. Such formatting is purely a matter of taste. From e080d1308132cda5934ed273d9481e7b187799fe Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Wed, 17 Oct 2007 08:48:07 +0000 Subject: [PATCH 14/29] (Source Buffers): Use "key binding" consistently. --- man/building.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/building.texi b/man/building.texi index 3fedbfed674..28ea5ec3dc3 100644 --- a/man/building.texi +++ b/man/building.texi @@ -907,7 +907,7 @@ places. @c @findex gdb-mouse-set-clear-breakpoint @c @findex gdb-mouse-toggle-breakpoint -Many GDB commands can be entered using keybindings or the tool bar but +Many GDB commands can be entered using key bindings or the tool bar but sometimes it is quicker to use the fringe. These commands either manipulate breakpoints or control program execution. When there is no fringe, you can use the margin but this is only present when the From 6c2ba6b1584e0367ca2868fe385c144fb3c30f19 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Wed, 17 Oct 2007 08:48:54 +0000 Subject: [PATCH 15/29] (Init Non-ASCII): Use "key binding" consistently. --- man/custom.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/custom.texi b/man/custom.texi index d496ab84b19..8ce0ef9f487 100644 --- a/man/custom.texi +++ b/man/custom.texi @@ -2504,7 +2504,7 @@ Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}. @strong{Warning:} if you change the keyboard encoding, or change between multibyte and unibyte mode, or anything that would alter which -code @kbd{C-q} would insert for that character, this keybinding may +code @kbd{C-q} would insert for that character, this key binding may stop working. It is therefore advisable to use one and only one coding system, for your init file as well as the files you edit. For example, don't mix the @samp{latin-1} and @samp{latin-9} coding From 6a67719802fa70c908cbd4755962dcfc0dba3b9f Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Wed, 17 Oct 2007 08:51:04 +0000 Subject: [PATCH 16/29] (Glossary): Use "key binding" consistently. --- man/ChangeLog | 6 ++++++ man/glossary.texi | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/man/ChangeLog b/man/ChangeLog index 29d286668d3..f966d73dd7a 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,9 @@ +2007-10-17 Aaron S. Hawley + + * building.texi (Source Buffers): + * custom.texi (Init Non-ASCII): + * glossary.texi (Glossary): Use "key binding" consistently. + 2007-10-17 Juanma Barranquero * calendar.texi (Diary): Fix directive. diff --git a/man/glossary.texi b/man/glossary.texi index f289c2ca1cb..a9109de667b 100644 --- a/man/glossary.texi +++ b/man/glossary.texi @@ -658,7 +658,7 @@ Justification means adding extra spaces within lines of text to make them extend exactly to a specified width. @xref{Format Justification}. -@item Keybinding +@item Key Binding See `binding.' @item Keyboard Macro From f0761de82c0318ae8de61ac3c833ef48edb678c5 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Wed, 17 Oct 2007 08:59:54 +0000 Subject: [PATCH 17/29] *** empty log message *** --- man/ChangeLog | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/man/ChangeLog b/man/ChangeLog index f966d73dd7a..9f162ab2186 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,8 +1,8 @@ 2007-10-17 Aaron S. Hawley - * building.texi (Source Buffers): - * custom.texi (Init Non-ASCII): - * glossary.texi (Glossary): Use "key binding" consistently. + * building.texi (Source Buffers): + * custom.texi (Init Non-ASCII): + * glossary.texi (Glossary): Use "key binding" consistently. 2007-10-17 Juanma Barranquero From 2e03898b123fcc4754aef8280a6369b14db2f6a0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 17 Oct 2007 19:21:36 +0000 Subject: [PATCH 18/29] Fix wording of the SPC non-completion of file names entry. --- etc/NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/NEWS b/etc/NEWS index d1651756c53..ae7872c4534 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -324,7 +324,7 @@ need to quote the space with a C-q. The underlying changes in the keymaps that are active in the minibuffer are described below under "New keymaps for typing file names". -If you want the old behavior back, put these two key bindings to your +If you want the old behavior back, add these two key bindings to your ~/.emacs init file: (define-key minibuffer-local-filename-completion-map From 63b9e28d052daf33d872a4df06b1fa880c7a3549 Mon Sep 17 00:00:00 2001 From: Vinicius Jose Latorre Date: Wed, 17 Oct 2007 21:10:34 +0000 Subject: [PATCH 19/29] Display message when tutorial position is not saved --- lisp/ChangeLog | 5 +++++ lisp/tutorial.el | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7d1bf357f06..d875705e63e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-10-17 Aaron Hawley + + * tutorial.el (tutorial--save-tutorial): Display message when tutorial + position is not saved. + 2007-10-17 Chong Yidong * longlines.el (longlines-wrap-follows-window-size): Integer value diff --git a/lisp/tutorial.el b/lisp/tutorial.el index bfa7f42d8ab..a7f239d7499 100644 --- a/lisp/tutorial.el +++ b/lisp/tutorial.el @@ -656,7 +656,8 @@ position where the display of changed bindings was inserted." ;; This runs in a hook so protect it: (condition-case err (if (y-or-n-p "Save your position in the tutorial? ") - (tutorial--save-tutorial-to (tutorial--saved-file))) + (tutorial--save-tutorial-to (tutorial--saved-file)) + (message "Tutorial position not saved")) (error (message "Error saving tutorial state: %s" (error-message-string err))))) From 9f1bc31f0ae1f386f44a1dad2eb5a8b09d37ef12 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Wed, 17 Oct 2007 22:27:24 +0000 Subject: [PATCH 20/29] display-world-time does not work on Windows. --- etc/PROBLEMS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 72e5a7afa76..76753c38066 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -2198,6 +2198,13 @@ month names with consistent widths for some locales on some versions of Windows. This is caused by a deficiency in the underlying system library function. +The functions set-time-zone-rule, and display-time-world (which uses it) +do not work on Windows. Fixing this is difficult, since Windows uses +localtime for the system clock, and any attempt to change the timezone +would have to be accompanied by a clock change for the results to remain +consistent. The way in which these functions are used is not intended to +cause such system-wide disruption. + Files larger than 4GB cause overflow in the size (represented as a 32-bit integer) reported by `file-attributes'. This affects Dired as well, since the Windows port uses a Lisp emulation of `ls' that relies From 3f8f71448069af3788742afd51f2e5f19a748e0e Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Wed, 17 Oct 2007 23:14:15 +0000 Subject: [PATCH 21/29] Include COPYING in top level directory of all distributed archives. --- admin/nt/makedist.bat | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat index 5afef00e9b3..db9446db36e 100755 --- a/admin/nt/makedist.bat +++ b/admin/nt/makedist.bat @@ -35,8 +35,8 @@ copy %3\README.W32 emacs-%1\README.W32 rem Info-ZIP zip seems to be broken on Windows. rem It always writes to zip.zip and treats the zipfile argument as one rem of the files to go in it. -rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS -7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim emacs-%1/site-lisp +rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS +7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim emacs-%1/site-lisp del emacs-%1\README.W32 if not (%4) == () goto end @@ -49,8 +49,8 @@ copy %3\dump.bat emacs-%1\bin\dump.bat rem Info-ZIP zip seems to be broken on Windows. rem It always writes to zip.zip and treats the zipfile argument as one rem of the files to go in it. -rem zip -9 -r %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X -7z a -tZIP -mx=9 %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X +rem zip -9 -r %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING +7z a -tZIP -mx=9 %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING del emacs-%1\README.W32 if not (%4) == () goto end From 65d306e2b720c8b7d0be34fd55dc9087a2db66e9 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Thu, 18 Oct 2007 00:56:59 +0000 Subject: [PATCH 22/29] *** empty log message *** --- nt/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nt/ChangeLog b/nt/ChangeLog index b85b743937f..88cddd2643e 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2007-10-18 Jason Rumney + + * makefile.w32-in (install): Install COPYING in top-level and bin dirs. + 2007-09-27 Jason Rumney * gmake.defs (COMCTL32): New system library. From da3ef617bfe45566bba433287e8fd93aa6025eee Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Thu, 18 Oct 2007 00:57:12 +0000 Subject: [PATCH 23/29] (install): Install COPYING in top-level and bin dirs. --- nt/makefile.w32-in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 05e9a665879..c8b94a639a0 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -211,6 +211,8 @@ install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE) $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF) - $(CP_DIR) icons $(INSTALL_DIR)/etc $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF) + $(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF) + - $(CP) ../COPYING $(INSTALL_DIR)/bin - $(DEL) ../same-dir.tst - $(DEL) $(INSTALL_DIR)/same-dir.tst From 760e92066843914ff043086bf496e5088f7e6257 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 18 Oct 2007 04:41:52 +0000 Subject: [PATCH 24/29] *** empty log message *** --- lisp/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d875705e63e..0054a7d08ca 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2007-10-18 Glenn Morris + + * ibuf-ext.el (ibuffer-saved-filter-groups): Doc fix. + 2007-10-17 Aaron Hawley * tutorial.el (tutorial--save-tutorial): Display message when tutorial From eca4dc4453a190b0c698fbc7c40e730d63536fe3 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 18 Oct 2007 04:43:01 +0000 Subject: [PATCH 25/29] (ibuffer-saved-filter-groups): Doc fix. --- lisp/ibuf-ext.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 7847bed6f2d..2c39b736097 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -180,8 +180,8 @@ QUALIFIERS is a list of the same form as See also the variables `ibuffer-filter-groups', `ibuffer-filtering-qualifiers', `ibuffer-filtering-alist', and the -functions `ibuffer-switch-to-saved-filter-group', -`ibuffer-save-filter-group'." +functions `ibuffer-switch-to-saved-filter-groups', +`ibuffer-save-filter-groups'." :type '(repeat sexp) :group 'ibuffer) From a80859d4d11603a264341d6376d3fc3ecdeca12a Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Thu, 18 Oct 2007 08:12:59 +0000 Subject: [PATCH 26/29] (Quitting): Fix typo. --- man/ChangeLog | 4 ++++ man/trouble.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/man/ChangeLog b/man/ChangeLog index 9f162ab2186..aa61bec2868 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2007-10-18 Martin Rudalics + + * trouble.texi (Quitting): Fix typo. + 2007-10-17 Aaron S. Hawley * building.texi (Source Buffers): diff --git a/man/trouble.texi b/man/trouble.texi index ea494445a4e..494637c8eeb 100644 --- a/man/trouble.texi +++ b/man/trouble.texi @@ -84,7 +84,7 @@ waiting for the operating system to do something, quitting is impossible unless special pains are taken for the particular system call within Emacs where the waiting occurs. We have done this for the system calls that users are likely to want to quit from, but it's -possible you will a case not handled. In one very common +possible you will encounter a case not handled. In one very common case---waiting for file input or output using NFS---Emacs itself knows how to quit, but many NFS implementations simply do not allow user programs to stop waiting for NFS when the NFS server is hung. From efffe5a38f345b0d2f1df8ab1b684affe3d80faf Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Thu, 18 Oct 2007 13:35:16 +0000 Subject: [PATCH 27/29] (fill-individual-paragraphs): Doc fix. (adaptive-fill-function): Doc fix. Remove * from docstring. --- lisp/ChangeLog | 13 +++++++++---- lisp/textmodes/fill.el | 8 ++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0054a7d08ca..d76b474164e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-10-18 Juanma Barranquero + + * textmodes/fill.el (fill-individual-paragraphs): Doc fix. + (adaptive-fill-function): Doc fix. Remove * from docstring. + 2007-10-18 Glenn Morris * ibuf-ext.el (ibuffer-saved-filter-groups): Doc fix. @@ -11,8 +16,8 @@ * longlines.el (longlines-wrap-follows-window-size): Integer value specifies wrapping margin. - (longlines-mode, longlines-window-change-function): Set - window-specific wrapping margin based on the above. + (longlines-mode, longlines-window-change-function): + Set window-specific wrapping margin based on the above. 2007-10-17 John Wiegley @@ -20,8 +25,8 @@ 2007-10-17 Glenn Morris - * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Tweak - regexp to avoid stack overflow. + * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): + Tweak regexp to avoid stack overflow. 2007-10-16 Juanma Barranquero diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 88a4286aad2..36167f599f4 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -117,8 +117,8 @@ if it would act as a paragraph-starter on the second line." :group 'fill) (defcustom adaptive-fill-function nil - "*Function to call to choose a fill prefix for a paragraph, or nil. -nil means the function has not determined the fill prefix." + "Function to call to choose a fill prefix for a paragraph, or nil. +A nil value means the function has not determined the fill prefix." :type '(choice (const nil) function) :group 'fill) @@ -1350,8 +1350,8 @@ These lines are filled together. When calling from a program, pass the range to fill as the first two arguments. -Optional third and fourth arguments JUSTIFY and MAIL-FLAG: -JUSTIFY to justify paragraphs (prefix arg), +Optional third and fourth arguments JUSTIFY and CITATION-REGEXP: +JUSTIFY to justify paragraphs (prefix arg). When filling a mail message, pass a regexp for CITATION-REGEXP which will match the prefix of a line which is a citation marker plus whitespace, but no other kind of prefix. From aecedc825df99e5c2f9b81b6514bef0e9a041e1e Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Thu, 18 Oct 2007 13:51:21 +0000 Subject: [PATCH 28/29] (unload-feature-special-hooks): Update list of special hooks. --- lisp/ChangeLog | 3 +++ lisp/loadhist.el | 18 +++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d76b474164e..481e889db9f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2007-10-18 Juanma Barranquero + * loadhist.el (unload-feature-special-hooks): + Update list of special hooks. + * textmodes/fill.el (fill-individual-paragraphs): Doc fix. (adaptive-fill-function): Doc fix. Remove * from docstring. diff --git a/lisp/loadhist.el b/lisp/loadhist.el index 4e9ee480d65..0ae1a3260b0 100644 --- a/lisp/loadhist.el +++ b/lisp/loadhist.el @@ -126,15 +126,19 @@ from a file." (defvaralias 'loadhist-hook-functions 'unload-feature-special-hooks) (defvar unload-feature-special-hooks - '(after-change-functions - after-insert-file-functions auto-fill-function - before-change-functions blink-paren-function - buffer-access-fontify-functions command-line-functions - comment-indent-function kill-buffer-query-functions - kill-emacs-query-functions lisp-indent-function - mouse-position-function + '(after-change-functions after-insert-file-functions + after-make-frame-functions auto-fill-function before-change-functions + blink-paren-function buffer-access-fontify-functions command-line-functions + comment-indent-function compilation-finish-functions + disabled-command-function find-file-not-found-functions + font-lock-beginning-of-syntax-function font-lock-fontify-buffer-function + font-lock-fontify-region-function font-lock-mark-block-function + font-lock-syntactic-face-function font-lock-unfontify-buffer-function + font-lock-unfontify-region-function kill-buffer-query-functions + kill-emacs-query-functions lisp-indent-function mouse-position-function redisplay-end-trigger-functions temp-buffer-show-function window-scroll-functions window-size-change-functions + write-contents-functions write-file-functions write-region-annotate-functions) "A list of special hooks from Info node `(elisp)Standard Hooks'. From 9ccbb53dcf9e9e5ce794ca11a14e58dc2b8fd03d Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Thu, 18 Oct 2007 21:00:43 +0000 Subject: [PATCH 29/29] Add Image Support section. --- admin/nt/README.W32 | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/admin/nt/README.W32 b/admin/nt/README.W32 index 4b2cc4edc98..4c74f12f96c 100644 --- a/admin/nt/README.W32 +++ b/admin/nt/README.W32 @@ -64,6 +64,32 @@ (non-windowed) mode of operation is most useful if you have a telnet server on your machine, allowing you to run Emacs remotely. +* Image support + + Emacs has built in support for XBM and PPM/PGM/PBM images, and the + libXpm library is bundled, providing XPM support (required for color + toolbar icons and splash screen). + + Emacs can also support some other image formats with appropriate + libraries. These libraries are all available as part of GTK, or from + gnuwin32.sourceforge.net. Emacs will find them if the directory they + are installed in is on the PATH. + + PNG: requires the PNG reference library 1.2 or later, which will + be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll + or libpng.dll. LibPNG requires zlib, which should come from the same + source as you got libpng. + + JPEG: requires the Independant JPEG Group's libjpeg 6b or later, + which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll. + + TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll + or libtiff.dll. + + GIF: requires libungif or giflib 4.1 or later, which will be + called giflib4.dll, libungif4.dll or libungif.dll. + + * Uninstalling Emacs If you should need to uninstall Emacs, simply delete all the files and