From fe239f0f512801c5cf6ada3fd4818023a829795e Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 15 Apr 2004 08:38:21 +0000 Subject: [PATCH 01/16] Rebuild. --- configure | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/configure b/configure index ce011807fb2..3e2bb4f6869 100755 --- a/configure +++ b/configure @@ -4193,6 +4193,54 @@ then fi +late_LDFLAGS=$LDFLAGS +if test $GCC = yes; then + LDFLAGS="$LDFLAGS -Wl,-znocombreloc" +else + LDFLAGS="$LDFLAGS -znocombreloc" +fi + +echo "$as_me:$LINENO: checking For -znocombreloc" >&5 +echo $ECHO_N "checking For -znocombreloc... $ECHO_C" >&6 + +cat >conftest.$ac_ext <<_ACEOF +main(){return 0;} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +LDFLAGS=$late_LDFLAGS + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 From 20b9ede85758f6983fac4dc6b39c242e9b09d857 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 15 Apr 2004 15:10:25 +0000 Subject: [PATCH 02/16] *** empty log message *** --- man/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/man/ChangeLog b/man/ChangeLog index 66ff49e2ced..44bb74b2061 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2004-04-15 Kim F. Storm + + * cmdargs.texi (Initial Options): Add -Q. + 2004-04-05 Kim F. Storm * custom.texi (File Variables): Add safe-local-eval-forms. From c6064be86a4660b76ec5645dad4f2758b903ba58 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 15 Apr 2004 15:11:15 +0000 Subject: [PATCH 03/16] (Initial Options): Add -Q. --- man/cmdargs.texi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/man/cmdargs.texi b/man/cmdargs.texi index 3daf96f0d00..f528b804c72 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi @@ -259,6 +259,13 @@ Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} and @samp{--batch} have no effect on the loading of this file---this is the only option that blocks it. +@item -Q +@opindex -Q +Start emacs with minimum customizations and window decorations. +This is like using @samp{-q} and @samp{--no-site-file}, but in +addition it also disables the menu-bar, the tool-bar, the scroll-bars, +tool tips, the blinking cursor, and the fancy startup screen. + @item --no-splash @opindex --no-splash @vindex inhibit-startup-message From 865f6a21473cf254700266450eea51f15f1d324e Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 15 Apr 2004 20:02:36 +0000 Subject: [PATCH 04/16] *** empty log message *** --- lisp/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8571f7edd19..187e65f5de4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2004-04-15 Nick Roberts + + * progmodes/gdb-ui.el (gdb-goto-info): New function. + + * progmodes/gud.el (gud-menu-map, gud-tool-bar-map): Add help button. + 2004-04-14 Stefan Monnier * emacs-lisp/bytecomp.el (batch-byte-compile-file): From 717e5022b7c3d082bb60dbf80c41ceb0902536f3 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 15 Apr 2004 20:03:37 +0000 Subject: [PATCH 05/16] (gdb-goto-info): New function. --- lisp/progmodes/gdb-ui.el | 46 ++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 5163471f47a..8446266b2f3 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -75,21 +75,32 @@ pops up the GUD buffer unless `gdb-show-main' is t. In this case it starts with two windows: one displaying the GUD buffer and the other with the source file with the main routine of the debugee. -If `gdb-many-windows' is t the layout below will appear -regardless of the value of `gdb-show-main' unless +If `gdb-many-windows' is t, regardless of the value of +`gdb-show-main', the layout below will appear unless `gdb-use-inferior-io-buffer' is nil when the source buffer occupies the full width of the frame. Keybindings are given in relevant buffer. +Watch expressions appear in the speedbar/slowbar. + +The following interactive lisp functions help control operation : + +`gdb-many-windows' - Toggle the number of windows gdb uses. +`gdb-restore-windows' - To restore the window layout. + +See Info node `(emacs)GDB Graphical Interface' for a more +detailed description of this mode. + + --------------------------------------------------------------------- GDB Toolbar --------------------------------------------------------------------- -GUD buffer (I/O of GDB) | Locals buffer + GUD buffer (I/O of GDB) | Locals buffer | | | --------------------------------------------------------------------- -Source buffer | Input/Output (of debugee) buffer + Source buffer | Input/Output (of debugee) buffer | (comint-mode) | | @@ -98,28 +109,12 @@ Source buffer | Input/Output (of debugee) buffer | | --------------------------------------------------------------------- -Stack buffer | Breakpoints buffer + Stack buffer | Breakpoints buffer RET gdb-frames-select | SPC gdb-toggle-breakpoint | RET gdb-goto-breakpoint | d gdb-delete-breakpoint --------------------------------------------------------------------- - -All the buffers share the toolbar and source should always display in the same -window e.g after typing g on a breakpoint in the breakpoints buffer. Breakpoint -icons are displayed both by setting a break with gud-break and by typing break -in the GUD buffer. - -This works best (depending on the size of your monitor) using most of the -screen. - -Displayed expressions appear in separate frames. Arrays may be displayed -as slices and visualised using the graph program from plotutils if installed. -Pointers in structures may be followed in a tree-like fashion. - -The following interactive lisp functions help control operation : - -`gdb-many-windows' - Toggle the number of windows gdb uses. -`gdb-restore-windows' - To restore the window layout." +" ;; (interactive (list (gud-query-cmdline 'gdba))) ;; @@ -224,6 +219,11 @@ speedbar." `(lambda () (gdb-var-create-handler ,expr)))))) (select-window (get-buffer-window gud-comint-buffer))) +(defun gdb-goto-info () + (interactive) + (select-frame (make-frame)) + (Info-goto-node "(emacs)GDB Graphical Interface")) + (defconst gdb-var-create-regexp "name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") @@ -1656,7 +1656,7 @@ the source buffer." (other-window 1)) (defcustom gdb-many-windows nil - "Nil (the default value) means just pops up the GUD buffer + "Nil (the default value) means just pop up the GUD buffer unless `gdb-show-main' is t. In this case it starts with two windows: one displaying the GUD buffer and the other with the source file with the main routine of the debugee. Non-nil means From adbb5567a81761c6625031c743e812cda1cdc8b6 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 15 Apr 2004 20:04:38 +0000 Subject: [PATCH 06/16] (gud-menu-map, gud-tool-bar-map): Add help button. --- lisp/progmodes/gud.el | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index a34b0bb2d48..4627f2ac639 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -92,7 +92,9 @@ If SOFT is non-nil, returns nil if the symbol doesn't already exist." Used to grey out relevant toolbar icons.") (easy-mmode-defmap gud-menu-map - '(([refresh] "Refresh" . gud-refresh) + '(([help] menu-item "Help" gdb-goto-info + :enable (eq gud-minor-mode 'gdba)) + ([refresh] "Refresh" . gud-refresh) ([run] menu-item "Run" gud-run :enable (and (not gud-running) (memq gud-minor-mode '(gdba gdb dbx jdb)))) @@ -116,20 +118,17 @@ Used to grey out relevant toolbar icons.") ([print] menu-item "Print Expression" gud-print :enable (not gud-running)) ([watch] menu-item "Watch Expression" gud-watch - :enable (and (not gud-running) - (eq gud-minor-mode 'gdba))) + :enable (and (not gud-running) (eq gud-minor-mode 'gdba))) ([finish] menu-item "Finish Function" gud-finish :enable (and (not gud-running) (memq gud-minor-mode '(gdba gdb xdb jdb pdb bashdb)))) ([stepi] menu-item "Step Instruction" gud-stepi :enable (and (not gud-running) - (memq gud-minor-mode - '(gdba gdb dbx)))) + (memq gud-minor-mode '(gdba gdb dbx)))) ([nexti] menu-item "Next Instruction" gud-nexti :enable (and (not gud-running) - (memq gud-minor-mode - '(gdba gdb dbx)))) + (memq gud-minor-mode '(gdba gdb dbx)))) ([step] menu-item "Step Line" gud-step :enable (not gud-running)) ([next] menu-item "Next Line" gud-next @@ -171,7 +170,8 @@ Used to grey out relevant toolbar icons.") (gud-stepi . "gud-si") (gud-nexti . "gud-ni") (gud-up . "gud-up") - (gud-down . "gud-down")) + (gud-down . "gud-down") + (gdb-goto-info . "help")) map) (tool-bar-local-item-from-menu (car x) (cdr x) map gud-minor-mode-map))))) From 9f0c286d22c49f88af21e00532e2fd232f748c99 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 15 Apr 2004 20:19:11 +0000 Subject: [PATCH 07/16] (smerge-match-conflict): Try to do something sensible for nested conflict markers. (smerge-find-conflict): Better handle errors in smerge-match-conflict. --- lisp/smerge-mode.el | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index bd4d8d04a6f..80547821343 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el @@ -477,6 +477,13 @@ An error is raised if not inside a conflict." ;; handle the various conflict styles (cond + ((save-excursion + (goto-char mine-start) + (re-search-forward smerge-begin-re nil end)) + ;; There's a nested conflict and we're after the the beginning + ;; of the outer one but before the beginning of the inner one. + (error "There is a nested conflict")) + ((re-search-backward smerge-base-re start t) ;; a 3-parts conflict (set (make-local-variable 'smerge-conflict-style) 'diff3-A) @@ -521,9 +528,11 @@ The submatches are the same as in `smerge-match-conflict'. Returns non-nil if a match is found between the point and LIMIT. The point is moved to the end of the conflict." (when (re-search-forward smerge-begin-re limit t) - (ignore-errors - (smerge-match-conflict) - (goto-char (match-end 0))))) + (condition-case err + (progn + (smerge-match-conflict) + (goto-char (match-end 0))) + (error (smerge-find-conflict limit))))) (defun smerge-diff (n1 n2) (smerge-match-conflict) @@ -673,5 +682,5 @@ buffer names." (provide 'smerge-mode) -;;; arch-tag: 605c8d1e-e43d-4943-a6f3-1bcc4333e690 +;; arch-tag: 605c8d1e-e43d-4943-a6f3-1bcc4333e690 ;;; smerge-mode.el ends here From 2a3d70d45ddd62ab9be588303f0ea4a087fdbdc3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 15 Apr 2004 20:46:54 +0000 Subject: [PATCH 08/16] (smerge-match-conflict): Fix last change. --- lisp/smerge-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index 80547821343..8194a7d8e21 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el @@ -479,7 +479,7 @@ An error is raised if not inside a conflict." (cond ((save-excursion (goto-char mine-start) - (re-search-forward smerge-begin-re nil end)) + (re-search-forward smerge-begin-re end t)) ;; There's a nested conflict and we're after the the beginning ;; of the outer one but before the beginning of the inner one. (error "There is a nested conflict")) From d8e18df75ccbb4eef287b98981c90c1dd7565e64 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 15 Apr 2004 21:02:33 +0000 Subject: [PATCH 09/16] (Ffile_attributes): Don't pass extra nil arg to file-handler. --- src/dired.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dired.c b/src/dired.c index f4102ff6edb..e833ceb216b 100644 --- a/src/dired.c +++ b/src/dired.c @@ -914,7 +914,13 @@ Elements of the attribute list are: call the corresponding file handler. */ handler = Ffind_file_name_handler (filename, Qfile_attributes); if (!NILP (handler)) - return call3 (handler, Qfile_attributes, filename, id_format); + { /* Only pass the extra arg if it is used to help backward compatibility + with old file handlers which do not implement the new arg. --Stef */ + if (NILP (id_format)) + return call2 (handler, Qfile_attributes, filename); + else + return call3 (handler, Qfile_attributes, filename, id_format); + } encoded = ENCODE_FILE (filename); From dc5dcc000ac0885938e06e80b5f653ed615cab8b Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Thu, 15 Apr 2004 23:13:16 +0000 Subject: [PATCH 10/16] (bookmark-send-edited-annotation): Fix docstring. (bookmark-edit-annotation-mode): Add mode name. --- lisp/ChangeLog | 22 +++++++--------------- lisp/bookmark.el | 6 ++++-- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 187e65f5de4..7f3ee667638 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2004-04-16 Juanma Barranquero + + * bookmark.el (bookmark-send-edited-annotation): Fix docstring. + (bookmark-edit-annotation-mode): Add mode name. + 2004-04-15 Nick Roberts * progmodes/gdb-ui.el (gdb-goto-info): New function. @@ -294,7 +299,7 @@ 2004-04-08 Nick Roberts - * progmodes/gdb-ui.el (gdb-source-window): Remove variable + * progmodes/gdb-ui.el (gdb-source-window): Remove variable. (gdb-goto-breakpoint, gdb-display-buffer) (gdb-display-source-buffer, gdb-view-source-function) (gdb-view-assembler, gdb-setup-windows, gdb-restore-windows) @@ -381,19 +386,6 @@ * help-mode.el (help-function-def, help-variable-def): Handle hyperrefs to C source files specially. -2004-04-07 Stefan Monnier - - * progmodes/compile.el: Require CL. - (compilation-mode-font-lock-keywords): Re-install the "line as - function" patch. - - * help-fns.el (help-C-source-directory): New var. - (help-subr-name, help-C-file-name, help-find-C-source): New funs. - (describe-function-1, describe-variable): Use them. - - * help-mode.el (help-function-def, help-variable-def): Handle hyperrefs - to C source files specially. - 2004-04-07 Jan Nieuwenhuizen * info.el (Info-hide-cookies-node): New function. @@ -673,7 +665,7 @@ * progmodes/gdb-ui.el (gdb-ann3, gdb-send-item) (gud-gdba-marker-filter): Log the process input and output, if - required. (from Stefan Monnier) + required. From Stefan Monnier. (gdb-debug-log, gdb-enable-debug-log): New variables. (gdb-post-prompt): Don't do gdb-var-update on Mac OS X. diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 67ae2c84865..3ed66f229a8 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -893,7 +893,8 @@ When you have finished composing, type \\[bookmark-send-annotation]. (make-local-variable 'bookmark-annotation-name) (setq bookmark-annotation-name bookmark) (use-local-map bookmark-edit-annotation-mode-map) - (setq major-mode 'bookmark-edit-annotation-mode) + (setq major-mode 'bookmark-edit-annotation-mode + mode-name "Edit Bookmark Annotation") (insert (funcall bookmark-read-annotation-text-func bookmark)) (let ((annotation (bookmark-get-annotation bookmark))) (if (and annotation (not (string-equal annotation ""))) @@ -902,7 +903,8 @@ When you have finished composing, type \\[bookmark-send-annotation]. (defun bookmark-send-edited-annotation () - "Use buffer contents (minus beginning with `#' as annotation for a bookmark." + "Use buffer contents as annotation for a bookmark. +Lines beginning with `#' are ignored." (interactive) (if (not (eq major-mode 'bookmark-edit-annotation-mode)) (error "Not in bookmark-edit-annotation-mode")) From cd9302563bacf6ef796f5e617eb7e7c474d38e68 Mon Sep 17 00:00:00 2001 From: Vinicius Jose Latorre Date: Fri, 16 Apr 2004 00:22:38 +0000 Subject: [PATCH 11/16] email fix --- lisp/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7f3ee667638..e8deedd9042 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1503,7 +1503,7 @@ * printing.el: Replace "As Is..." in PostScript file print/preview by "No Preprocessing...". Suggested by Colin Marquardt - . + <_marquardt_@zmd.de>. (pr-insert-section-4): Adjust buffer interface. 2004-02-29 Kai Grossjohann From 9a1120eaf937b43f1eb85bb16fc06666a654bca2 Mon Sep 17 00:00:00 2001 From: Masatake YAMATO Date: Fri, 16 Apr 2004 08:45:40 +0000 Subject: [PATCH 12/16] (completion-setup-function): Set an initial value to `element-common-end' before entering loop. Set a value to `element-common-end' at the end of loop. The bug is reported by Juri Linkov in emacs-devel list. --- lisp/ChangeLog | 8 ++++++++ lisp/simple.el | 30 ++++++++++++++++-------------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e8deedd9042..49a4c09050c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2004-04-16 Masatake YAMATO + + * simple.el (completion-setup-function): Set an initial value + to `element-common-end' before entering loop. Set a value + to `element-common-end' at the end of loop. + The bug is reported by Juri Linkov in emacs-devel + list. + 2004-04-16 Juanma Barranquero * bookmark.el (bookmark-send-edited-annotation): Fix docstring. diff --git a/lisp/simple.el b/lisp/simple.el index 6bc89ae1750..f894529e120 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -987,7 +987,7 @@ as an argument limits undo to changes within the current region." (undo-start)) ;; get rid of initial undo boundary (undo-more 1)) - ;; If we got this far, the next command should be a consecutive undo. + ;; If we got this far, the next command should be a consecutive undo. (setq this-command 'undo) ;; Check to see whether we're hitting a redo record, and if ;; so, ask the user whether she wants to skip the redo/undo pair. @@ -4116,12 +4116,12 @@ The completion list buffer is available as the value of `standard-output'.") ;; This function goes in completion-setup-hook, so that it is called ;; after the text of the completion list buffer is written. -(defface completion-emphasis +(defface completion-emphasis '((t (:inherit bold))) "Face put on the first uncommon character in completions in *Completions* buffer." :group 'completion) -(defface completion-de-emphasis +(defface completion-de-emphasis '((t (:inherit default))) "Face put on the common prefix substring in completions in *Completions* buffer." :group 'completion) @@ -4156,24 +4156,26 @@ The completion list buffer is available as the value of `standard-output'.") (setq completion-base-size 0)))) ;; Put emphasis and de-emphasis faces on completions. (when completion-base-size - (let ((common-string-length (length - (substring mbuf-contents - completion-base-size))) - (element-start (next-single-property-change - (point-min) - 'mouse-face)) - element-common-end) - (while element-start - (setq element-common-end (+ element-start common-string-length)) + (let* ((common-string-length (length + (substring mbuf-contents + completion-base-size))) + (element-start (next-single-property-change + (point-min) + 'mouse-face)) + (element-common-end (+ element-start common-string-length)) + (maxp (point-max))) + (while (and element-start (< element-common-end maxp)) (when (and (get-char-property element-start 'mouse-face) (get-char-property element-common-end 'mouse-face)) (put-text-property element-start element-common-end 'font-lock-face 'completion-de-emphasis) (put-text-property element-common-end (1+ element-common-end) 'font-lock-face 'completion-emphasis)) - (setq element-start (next-single-property-change + (setq element-start (next-single-property-change element-start - 'mouse-face))))) + 'mouse-face)) + (if element-start + (setq element-common-end (+ element-start common-string-length)))))) ;; Insert help string. (goto-char (point-min)) (if (display-mouse-p) From 6a4940b235bf20a374992406b8b5052b186e51cc Mon Sep 17 00:00:00 2001 From: Masatake YAMATO Date: Fri, 16 Apr 2004 08:57:51 +0000 Subject: [PATCH 13/16] (completions-common-part): Rename from completion-de-emphasis. (completions-first-difference): Rename from completion-emphasis. Suggested by RMS. --- etc/NEWS | 20 +++++++++++++------- lisp/ChangeLog | 3 +++ lisp/simple.el | 10 +++++----- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 6e8a5766e33..e7b2355b222 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1604,13 +1604,19 @@ candidate is a directory. to the text before point. If there is text in the buffer after point, it remains unchanged. -** Visual feedback of *Completions* buffer is enhanced. -Faces are put on the common prefix substrings and the first uncommon -charachters of each completion candidate in the *Completions* buffer. -`completion-de-emphasis' is put on the common prefix substrings as the -face; and `completion-emphasis' is put on the first uncommon -charachters. By default `completion-de-emphasis' is inherited from -`default' face. `completion-emphasis' is inherited from `bold' face. +** Enhanced visual feedback in *Completions* buffer. + +Completions lists use faces to highlight what all completions +have in common and where they begin to differ. + +The common prefix shared by all possible completions uses the face +`completions-common-part', while the first character that isn't the +same uses the face `completions-first-difference'. By default, +`completions-common-part' inherits from `default', and +`completions-first-difference' inherits from `bold'. The idea of +`completions-common-part' is that you can use it to make the common +parts less visible than normal, so that the rest of the differing +parts is, by contrast, slightly highlighted. +++ ** New user option `inhibit-startup-buffer-menu'. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 49a4c09050c..407c9db5a40 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -5,6 +5,9 @@ to `element-common-end' at the end of loop. The bug is reported by Juri Linkov in emacs-devel list. + (completions-common-part): Rename from completion-de-emphasis. + (completions-first-difference): Rename from completion-emphasis. + Suggested by RMS. 2004-04-16 Juanma Barranquero diff --git a/lisp/simple.el b/lisp/simple.el index f894529e120..6287090312c 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -4116,12 +4116,12 @@ The completion list buffer is available as the value of `standard-output'.") ;; This function goes in completion-setup-hook, so that it is called ;; after the text of the completion list buffer is written. -(defface completion-emphasis +(defface completions-first-difference '((t (:inherit bold))) "Face put on the first uncommon character in completions in *Completions* buffer." :group 'completion) -(defface completion-de-emphasis +(defface completions-common-part '((t (:inherit default))) "Face put on the common prefix substring in completions in *Completions* buffer." :group 'completion) @@ -4154,7 +4154,7 @@ The completion list buffer is available as the value of `standard-output'.") (save-match-data (if (minibufferp mainbuf) (setq completion-base-size 0)))) - ;; Put emphasis and de-emphasis faces on completions. + ;; Put faces on first uncommon characters and common parts. (when completion-base-size (let* ((common-string-length (length (substring mbuf-contents @@ -4168,9 +4168,9 @@ The completion list buffer is available as the value of `standard-output'.") (when (and (get-char-property element-start 'mouse-face) (get-char-property element-common-end 'mouse-face)) (put-text-property element-start element-common-end - 'font-lock-face 'completion-de-emphasis) + 'font-lock-face 'completions-common-part) (put-text-property element-common-end (1+ element-common-end) - 'font-lock-face 'completion-emphasis)) + 'font-lock-face 'completions-first-difference)) (setq element-start (next-single-property-change element-start 'mouse-face)) From a0fa8faddc760a5d7814062ec8582e7331adb6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Spiegel?= Date: Fri, 16 Apr 2004 10:21:24 +0000 Subject: [PATCH 14/16] (vc-print-log): Quote signal. --- lisp/vc.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/vc.el b/lisp/vc.el index 801cf6d5759..676b6bd6b88 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -7,7 +7,7 @@ ;; Maintainer: Andre Spiegel ;; Keywords: tools -;; $Id: vc.el,v 1.374 2004/03/28 22:00:19 monnier Exp $ +;; $Id: vc.el,v 1.375 2004/04/11 15:05:18 spiegel Exp $ ;; This file is part of GNU Emacs. @@ -2361,7 +2361,7 @@ If FOCUS-REV is non-nil, leave the point at that revision." (vc-find-backend-function (vc-backend file) 'print-log)))) (not (eq (caddr err) 2))) - (signal wrong-number-of-arguments err) + (signal 'wrong-number-of-arguments err) ;; for backward compatibility (vc-call print-log file) (set-buffer "*vc*")))) From c89d3cf581d3a0d5db54867774fc62f8297a4b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Spiegel?= Date: Fri, 16 Apr 2004 10:21:51 +0000 Subject: [PATCH 15/16] (vc-default-workfile-unchanged-p): Quote signal. --- lisp/vc-hooks.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index 80b9766caa0..e7278dcd2fa 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el @@ -6,7 +6,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-hooks.el,v 1.165 2004/03/28 17:38:03 monnier Exp $ +;; $Id: vc-hooks.el,v 1.166 2004/04/11 15:03:21 spiegel Exp $ ;; This file is part of GNU Emacs. @@ -475,7 +475,7 @@ Return non-nil if FILE is unchanged." (vc-find-backend-function (vc-backend file) 'diff)))) (not (eq (caddr err) 5))) - (signal wrong-number-of-arguments err) + (signal 'wrong-number-of-arguments err) (vc-call diff file)))))) (defun vc-workfile-version (file) From 3f0d8131f84963c112c2528a3b79760a2c8873fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Spiegel?= Date: Fri, 16 Apr 2004 10:26:02 +0000 Subject: [PATCH 16/16] # --- lisp/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 407c9db5a40..c4fd4341c89 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2004-04-16 Andre Spiegel + + * vc-hooks.el (vc-default-workfile-unchanged-p): Quote signal. + + * vc.el (vc-print-log): Likewise. + 2004-04-16 Masatake YAMATO * simple.el (completion-setup-function): Set an initial value