Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 100473. ------------------------------------------------------------ revno: 100473 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-28 22:18:47 +0300 message: * image-dired.el (image-dired-dired-toggle-marked-thumbs): Replace LOCALP arg of `dired-get-filename' 'no-dir with nil. (Bug#5270) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-28 14:48:56 +0000 +++ lisp/ChangeLog 2010-05-28 19:18:47 +0000 @@ -1,3 +1,9 @@ +2010-05-28 Juri Linkov + + * image-dired.el (image-dired-dired-toggle-marked-thumbs): + Replace LOCALP arg of `dired-get-filename' 'no-dir with nil. + (Bug#5270) + 2010-05-28 Michael Albinus * net/tramp.el (tramp-debug-message): Add `tramp-compat-funcall' === modified file 'lisp/image-dired.el' --- lisp/image-dired.el 2010-05-25 17:43:58 +0000 +++ lisp/image-dired.el 2010-05-28 19:18:47 +0000 @@ -642,7 +642,7 @@ (interactive "P") (dired-map-over-marks (let* ((image-pos (dired-move-to-filename)) - (image-file (dired-get-filename 'no-dir t)) + (image-file (dired-get-filename nil t)) thumb-file overlay) (when (and image-file (string-match-p (image-file-name-regexp) image-file)) ------------------------------------------------------------ revno: 100472 committer: Michael Albinus branch nick: trunk timestamp: Fri 2010-05-28 16:57:11 +0200 message: * fileio.c (Fdelete_file): Pass TRASH arg to handler call. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-28 06:45:43 +0000 +++ src/ChangeLog 2010-05-28 14:57:11 +0000 @@ -1,3 +1,7 @@ +2010-05-28 Michael Albinus + + * fileio.c (Fdelete_file): Pass TRASH arg to handler call. + 2010-05-28 Kenichi Handa * font.c (font_delete_unmatched): Check Vface_ignored_fonts. === modified file 'src/fileio.c' --- src/fileio.c 2010-05-27 23:30:11 +0000 +++ src/fileio.c 2010-05-28 14:57:11 +0000 @@ -1925,7 +1925,7 @@ If PRESERVE-UID-GID is non-nil, we try to transfer the uid and gid of FILE to NEWNAME. -If PRESERVE-SELINUX-CONTEXT is non-nil and SELinux is enabled +If PRESERVE-SELINUX-CONTEXT is non-nil and SELinux is enabled on the system, we copy the SELinux context of FILE to NEWNAME. */) (file, newname, ok_if_already_exists, keep_time, preserve_uid_gid, preserve_selinux_context) Lisp_Object file, newname, ok_if_already_exists, keep_time; @@ -2221,7 +2221,7 @@ handler = Ffind_file_name_handler (filename, Qdelete_file); if (!NILP (handler)) - return call2 (handler, Qdelete_file, filename); + return call3 (handler, Qdelete_file, filename, trash); if (delete_by_moving_to_trash && !NILP (trash)) return call1 (Qmove_file_to_trash, filename); ------------------------------------------------------------ revno: 100471 committer: Michael Albinus branch nick: trunk timestamp: Fri 2010-05-28 16:48:56 +0200 message: * net/tramp.el (tramp-debug-message): Add `tramp-compat-funcall' to ignored backtrace functions. (with-progress-reporter): Expand docstring. (tramp-handle-delete-file): Implement TRASH argument. (tramp-get-remote-trash): New defun. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-28 13:28:36 +0000 +++ lisp/ChangeLog 2010-05-28 14:48:56 +0000 @@ -1,5 +1,13 @@ 2010-05-28 Michael Albinus + * net/tramp.el (tramp-debug-message): Add `tramp-compat-funcall' + to ignored backtrace functions. + (with-progress-reporter): Expand docstring. + (tramp-handle-delete-file): Implement TRASH argument. + (tramp-get-remote-trash): New defun. + +2010-05-28 Michael Albinus + * net/tramp-compat.el (tramp-compat-delete-file): Use `symbol-value' for backward compatibility. === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2010-05-28 13:28:36 +0000 +++ lisp/net/tramp.el 2010-05-28 14:48:56 +0000 @@ -2121,7 +2121,7 @@ (setq fn (symbol-name btf)) (unless (and (string-match "^tramp" fn) (not (string-match - "^tramp\\(-debug\\)?\\(-message\\|-error\\)$" + "^tramp\\(-debug\\)?\\(-message\\|-error\\|-compat-funcall\\)$" fn))) (setq fn nil))) (setq btn (1+ btn)))) @@ -2290,7 +2290,10 @@ (funcall 'progress-reporter-update reporter value)))) (defmacro with-progress-reporter (vec level message &rest body) - "Executes BODY, spinning a progress reporter with MESSAGE." + "Executes BODY, spinning a progress reporter with MESSAGE. +If LEVEL does not fit for visible messages, or if this is a +nested call of the macro, there are only traces without a visible +progress reporter." `(let (pr tm) (tramp-message ,vec ,level "%s..." ,message) ;; We start a pulsing progress reporter after 3 seconds. Feature @@ -2304,7 +2307,9 @@ (run-at-time 3 0.1 'tramp-progress-reporter-update pr))) (error nil))) (unwind-protect - ;; Execute the body. + ;; Execute the body. Unset `tramp-message-show-message' when + ;; the timer object is created, in order to suppress + ;; concurrent timers. (let ((tramp-message-show-message (and tramp-message-show-message (not tm)))) ,@body) @@ -4114,15 +4119,16 @@ (defun tramp-handle-delete-file (filename &optional trash) "Like `delete-file' for Tramp files." - ;; TRASH needs to be implemented. See `move-file-to-trash'. (setq filename (expand-file-name filename)) (with-parsed-tramp-file-name filename nil (tramp-flush-file-property v (file-name-directory localname)) (tramp-flush-file-property v localname) - (unless (zerop (tramp-send-command-and-check - v - (format "rm -f %s" - (tramp-shell-quote-argument localname)))) + (unless + (zerop + (tramp-send-command-and-check + v (format "%s %s" + (or (and trash (tramp-get-remote-trash v)) "rm -f") + (tramp-shell-quote-argument localname)))) (tramp-error v 'file-error "Couldn't delete %s" filename)))) ;; Dired. @@ -8417,6 +8423,11 @@ (error nil)))) result)))) +(defun tramp-get-remote-trash (vec) + (with-connection-property vec "trash" + (tramp-message vec 5 "Finding a suitable `trash' command") + (tramp-find-executable vec "trash" (tramp-get-remote-path vec)))) + (defun tramp-get-remote-id (vec) (with-connection-property vec "id" (tramp-message vec 5 "Finding POSIX `id' command") ------------------------------------------------------------ revno: 100470 committer: Michael Albinus branch nick: trunk timestamp: Fri 2010-05-28 15:28:36 +0200 message: * net/tramp-compat.el (tramp-compat-delete-file): Use `symbol-value' for backward compatibility. * net/tramp.el (tramp-handle-make-symbolic-link) (tramp-handle-load) (tramp-do-copy-or-rename-file-via-buffer) (tramp-do-copy-or-rename-file-directly) (tramp-do-copy-or-rename-file-out-of-band) (tramp-handle-process-file, tramp-handle-call-process-region) (tramp-handle-shell-command, tramp-handle-file-local-copy) (tramp-handle-insert-file-contents, tramp-handle-write-region) (tramp-delete-temp-file-function): Use `delete-file' instead of `tramp-compat-delete-file'. * net/tramp-fish.el (tramp-fish-handle-delete-directory) (tramp-fish-handle-make-symbolic-link) (tramp-fish-handle-process-file): Use `delete-file' instead of `tramp-compat-delete-file'. * net/tramp-ftp.el (tramp-ftp-file-name-handler): Use `delete-file' instead of `tramp-compat-delete-file'. * net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg. (tramp-gvfs-handle-write-region): Use `delete-file' instead of `tramp-compat-delete-file'. * net/tramp-imap.el (tramp-imap-do-copy-or-rename-file): Use `delete-file' instead of `tramp-compat-delete-file'. * net/tramp-smb.el (tramp-smb-handle-copy-file) (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) (tramp-smb-handle-write-region): Use `delete-file' instead of `tramp-compat-delete-file'. (tramp-smb-handle-delete-directory): Use 'trash as arg. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-27 23:30:11 +0000 +++ lisp/ChangeLog 2010-05-28 13:28:36 +0000 @@ -1,3 +1,40 @@ +2010-05-28 Michael Albinus + + * net/tramp-compat.el (tramp-compat-delete-file): Use + `symbol-value' for backward compatibility. + + * net/tramp.el (tramp-handle-make-symbolic-link) + (tramp-handle-load) + (tramp-do-copy-or-rename-file-via-buffer) + (tramp-do-copy-or-rename-file-directly) + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-handle-process-file, tramp-handle-call-process-region) + (tramp-handle-shell-command, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-write-region) + (tramp-delete-temp-file-function): Use `delete-file' instead + of `tramp-compat-delete-file'. + + * net/tramp-fish.el (tramp-fish-handle-delete-directory) + (tramp-fish-handle-make-symbolic-link) + (tramp-fish-handle-process-file): Use `delete-file' instead + of `tramp-compat-delete-file'. + + * net/tramp-ftp.el (tramp-ftp-file-name-handler): Use + `delete-file' instead of `tramp-compat-delete-file'. + + * net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg. + (tramp-gvfs-handle-write-region): Use `delete-file' instead of + `tramp-compat-delete-file'. + + * net/tramp-imap.el (tramp-imap-do-copy-or-rename-file): Use + `delete-file' instead of `tramp-compat-delete-file'. + + * net/tramp-smb.el (tramp-smb-handle-copy-file) + (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) + (tramp-smb-handle-write-region): Use `delete-file' instead of + `tramp-compat-delete-file'. + (tramp-smb-handle-delete-directory): Use 'trash as arg. + 2010-05-27 Chong Yidong * dired.el (dired-delete-file): New arg TRASH. === modified file 'lisp/net/tramp-compat.el' --- lisp/net/tramp-compat.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp-compat.el 2010-05-28 13:28:36 +0000 @@ -343,7 +343,7 @@ (wrong-number-of-arguments (let ((delete-by-moving-to-trash (and (boundp 'delete-by-moving-to-trash) - delete-by-moving-to-trash + (symbol-value 'delete-by-moving-to-trash) trash))) (delete-file filename))))) === modified file 'lisp/net/tramp-fish.el' --- lisp/net/tramp-fish.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp-fish.el 2010-05-28 13:28:36 +0000 @@ -326,14 +326,14 @@ (lambda (file) (if (file-directory-p file) (tramp-compat-delete-directory file recursive) - (tramp-compat-delete-file file))) + (delete-file file))) ;; We do not want to delete "." and "..". (directory-files directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) (with-parsed-tramp-file-name - (directory-file-name (expand-file-name directory)) nil - (tramp-flush-directory-property v localname) - (tramp-fish-send-command-and-check v (format "#RMD %s" localname))))) + (directory-file-name (expand-file-name directory)) nil + (tramp-flush-directory-property v localname) + (tramp-fish-send-command-and-check v (format "#RMD %s" localname))))) (defun tramp-fish-handle-delete-file (filename &optional trash) "Like `delete-file' for Tramp files." @@ -660,7 +660,7 @@ localname))))) (tramp-error v 'file-already-exists "File %s already exists" localname) - (tramp-compat-delete-file linkname))) + (delete-file linkname))) ;; If FILENAME is a Tramp name, use just the localname component. (when (tramp-tramp-file-p filename) @@ -839,8 +839,8 @@ ;; Provide error file. (when tmpstderr (rename-file tmpstderr (cadr destination) t)) ;; Cleanup. - (when tmpinput (tramp-compat-delete-file tmpinput)) - (when tmpoutput (tramp-compat-delete-file tmpoutput)) + (when tmpinput (delete-file tmpinput)) + (when tmpoutput (delete-file tmpoutput)) ;; Return exit status. ret))) === modified file 'lisp/net/tramp-ftp.el' --- lisp/net/tramp-ftp.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp-ftp.el 2010-05-28 13:28:36 +0000 @@ -182,7 +182,7 @@ (unwind-protect (rename-file tmpfile newname (car args)) ;; Cleanup. - (ignore-errors (tramp-compat-delete-file tmpfile))))) + (ignore-errors (delete-file tmpfile))))) ;; Normally, the handlers must be discarded. ;; `inhibit-file-name-handlers' isn't sufficient, because the === modified file 'lisp/net/tramp-gvfs.el' --- lisp/net/tramp-gvfs.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp-gvfs.el 2010-05-28 13:28:36 +0000 @@ -533,9 +533,9 @@ (tramp-compat-delete-directory (tramp-gvfs-fuse-file-name directory) recursive)) -(defun tramp-gvfs-handle-delete-file (filename &optional tramp) +(defun tramp-gvfs-handle-delete-file (filename &optional trash) "Like `delete-file' for Tramp files." - (tramp-compat-delete-file (tramp-gvfs-fuse-file-name filename) tramp)) + (tramp-compat-delete-file (tramp-gvfs-fuse-file-name filename) trash)) (defun tramp-gvfs-handle-directory-files (directory &optional full match nosort) @@ -742,7 +742,7 @@ "gvfs-save" tmpfile (tramp-get-buffer v) nil (tramp-gvfs-url-file-name filename))) (signal (car err) (cdr err))) - (tramp-compat-delete-file tmpfile))))) + (delete-file tmpfile))))) ;; Set file modification time. (when (or (eq visit t) (stringp visit)) === modified file 'lisp/net/tramp-imap.el' --- lisp/net/tramp-imap.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp-imap.el 2010-05-28 13:28:36 +0000 @@ -267,8 +267,7 @@ (insert-file-contents filename) (write-region (point-min) (point-max) newname))))) - (when (eq op 'rename) - (tramp-compat-delete-file filename)))) + (when (eq op 'rename) (delete-file filename)))) ;; TODO: revise this much (defun tramp-imap-handle-expand-file-name (name &optional dir) === modified file 'lisp/net/tramp-smb.el' --- lisp/net/tramp-smb.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp-smb.el 2010-05-28 13:28:36 +0000 @@ -345,7 +345,7 @@ (condition-case err (rename-file tmpfile newname ok-if-already-exists) ((error quit) - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (signal (car err) (cdr err)))) ;; Remote newname. @@ -382,7 +382,7 @@ (lambda (file) (if (file-directory-p file) (tramp-compat-delete-directory file recursive) - (tramp-compat-delete-file file t))) + (tramp-compat-delete-file file 'trash))) ;; We do not want to delete "." and "..". (directory-files directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) @@ -611,7 +611,7 @@ v (format "get \"%s\" \"%s\"" (tramp-smb-get-localname v) tmpfile)) ;; Oops, an error. We shall cleanup. - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (tramp-error v 'file-error "Cannot make local copy of file `%s'" filename))) tmpfile))) @@ -861,7 +861,7 @@ (condition-case err (rename-file tmpfile newname ok-if-already-exists) ((error quit) - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (signal (car err) (cdr err)))) ;; Remote newname. @@ -882,7 +882,7 @@ filename (tramp-smb-get-localname v))) (tramp-error v 'file-error "Cannot rename `%s'" filename))))) - (tramp-compat-delete-file filename))) + (delete-file filename))) (defun tramp-smb-handle-set-file-modes (filename mode) "Like `set-file-modes' for Tramp files." @@ -946,7 +946,7 @@ v (format "put %s \"%s\"" tmpfile (tramp-smb-get-localname v))) (tramp-error v 'file-error "Cannot write `%s'" filename)) - (tramp-compat-delete-file tmpfile))) + (delete-file tmpfile))) (unless (equal curbuf (current-buffer)) (tramp-error === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2010-05-27 23:30:11 +0000 +++ lisp/net/tramp.el 2010-05-28 13:28:36 +0000 @@ -2544,7 +2544,7 @@ l-localname))))) (tramp-error l 'file-already-exists "File %s already exists" l-localname) - (tramp-compat-delete-file linkname))) + (delete-file linkname))) ;; If FILENAME is a Tramp name, use just the localname component. (when (tramp-tramp-file-p filename) @@ -2593,7 +2593,7 @@ ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil. (unwind-protect (load local-copy noerror t t) - (tramp-compat-delete-file local-copy))))) + (delete-file local-copy))))) t))) ;; Localname manipulation functions that grok Tramp localnames... @@ -3769,7 +3769,7 @@ ;; Set the mode. (set-file-modes newname (tramp-default-file-modes filename)) ;; If the operation was `rename', delete the original file. - (unless (eq op 'copy) (tramp-compat-delete-file filename))) + (unless (eq op 'copy) (delete-file filename))) (defun tramp-do-copy-or-rename-file-directly (op filename newname ok-if-already-exists keep-date preserve-uid-gid) @@ -3924,7 +3924,7 @@ ;; Save exit. (condition-case nil - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (error))))))))) ;; Set the time and mode. Mask possible errors. @@ -3964,7 +3964,7 @@ (if dir-flag (tramp-compat-delete-directory (expand-file-name ".." tmpfile) 'recursive) - (tramp-compat-delete-file tmpfile)) + (delete-file tmpfile)) (error)))) ;; Expand hops. Might be necessary for gateway methods. @@ -4082,7 +4082,7 @@ ;; If the operation was `rename', delete the original file. (unless (eq op 'copy) (if (file-regular-p filename) - (tramp-compat-delete-file filename) + (delete-file filename) (tramp-compat-delete-directory filename 'recursive)))))) (defun tramp-handle-make-directory (dir &optional parents) @@ -4114,6 +4114,7 @@ (defun tramp-handle-delete-file (filename &optional trash) "Like `delete-file' for Tramp files." + ;; TRASH needs to be implemented. See `move-file-to-trash'. (setq filename (expand-file-name filename)) (with-parsed-tramp-file-name filename nil (tramp-flush-file-property v (file-name-directory localname)) @@ -4629,7 +4630,7 @@ ;; Cleanup. We remove all file cache values for the connection, ;; because the remote process could have changed them. - (when tmpinput (tramp-compat-delete-file tmpinput)) + (when tmpinput (delete-file tmpinput)) ;; `process-file-side-effects' has been introduced with GNU ;; Emacs 23.2. If set to `nil', no remote file will be changed @@ -4666,7 +4667,7 @@ (when delete (delete-region start end)) (unwind-protect (apply 'call-process program tmpfile buffer display args) - (tramp-compat-delete-file tmpfile)))) + (delete-file tmpfile)))) (defun tramp-handle-shell-command (command &optional output-buffer error-buffer) @@ -4731,7 +4732,7 @@ (when (listp buffer) (with-current-buffer error-buffer (insert-file-contents (cadr buffer))) - (tramp-compat-delete-file (cadr buffer))) + (delete-file (cadr buffer))) (if current-buffer-p ;; This is like exchange-point-and-mark, but doesn't ;; activate the mark. It is cleaner to avoid activation, @@ -4813,7 +4814,7 @@ (unwind-protect (tramp-call-local-coding-command loc-dec tmpfile2 tmpfile) - (tramp-compat-delete-file tmpfile2))))) + (delete-file tmpfile2))))) ;; Set proper permissions. (set-file-modes tmpfile (tramp-default-file-modes filename)) @@ -4826,7 +4827,7 @@ ;; Error handling. ((error quit) - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (signal (car err) (cdr err)))) (run-hooks 'tramp-handle-file-local-copy-hook) @@ -4961,9 +4962,9 @@ (set-buffer-modified-p nil)) (when (and (stringp local-copy) (or remote-copy (null tramp-temp-buffer-file-name))) - (tramp-compat-delete-file local-copy)) + (delete-file local-copy)) (when (stringp remote-copy) - (tramp-compat-delete-file + (delete-file (tramp-make-tramp-file-name method user host remote-copy)))))) ;; Result. @@ -5154,7 +5155,7 @@ (list start end tmpfile append 'no-message lockname confirm)) ((error quit) (setq tramp-temp-buffer-file-name nil) - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (signal (car err) (cdr err)))) ;; Now, `last-coding-system-used' has the right value. Remember it. @@ -5198,13 +5199,13 @@ (copy-file tmpfile filename t) ((error quit) (setq tramp-temp-buffer-file-name nil) - (tramp-compat-delete-file tmpfile) + (delete-file tmpfile) (signal (car err) (cdr err))))) (setq tramp-temp-buffer-file-name nil) ;; Don't rename, in order to keep context in SELinux. (unwind-protect (copy-file tmpfile filename t) - (tramp-compat-delete-file tmpfile)))) + (delete-file tmpfile)))) ;; Use inline file transfer. (rem-dec @@ -5289,7 +5290,7 @@ filename rem-dec))))) ;; Save exit. - (tramp-compat-delete-file tmpfile))) + (delete-file tmpfile))) ;; That's not expected. (t @@ -6372,7 +6373,7 @@ "Remove temporary files related to current buffer." (when (stringp tramp-temp-buffer-file-name) (condition-case nil - (tramp-compat-delete-file tramp-temp-buffer-file-name) + (delete-file tramp-temp-buffer-file-name) (error nil)))) (add-hook 'kill-buffer-hook 'tramp-delete-temp-file-function) ------------------------------------------------------------ revno: 100469 [merge] committer: Kenichi Handa branch nick: trunk timestamp: Fri 2010-05-28 15:46:28 +0900 message: Handle face-ignored-fonts diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-28 03:29:09 +0000 +++ src/ChangeLog 2010-05-28 06:45:43 +0000 @@ -1,3 +1,10 @@ +2010-05-28 Kenichi Handa + + * font.c (font_delete_unmatched): Check Vface_ignored_fonts. + Don't sheck SPEC if it is nil. + (font_list_entities): Call font_delete_unmatched if + Vface_ignored_fonts is non-nil. + 2010-05-28 Glenn Morris * Makefile.in (LIBES): Remove $LOADLIBES, it is never set. === modified file 'src/font.c' --- src/font.c 2010-05-14 03:47:38 +0000 +++ src/font.c 2010-05-28 06:42:43 +0000 @@ -2821,6 +2821,14 @@ static Lisp_Object scratch_font_spec, scratch_font_prefer; +/* Check each font-entity in VEC, and return a list of font-entities + that satisfy this condition: + (1) matches with SPEC and SIZE if SPEC is not nil, and + (2) doesn't match with any regexps in Vface_ignored_fonts (if non-nil). +*/ + +extern Lisp_Object Vface_ignored_fonts; + Lisp_Object font_delete_unmatched (vec, spec, size) Lisp_Object vec, spec; @@ -2833,6 +2841,29 @@ for (val = Qnil, i = ASIZE (vec) - 1; i >= 0; i--) { entity = AREF (vec, i); + if (! NILP (Vface_ignored_fonts)) + { + char name[256]; + Lisp_Object tail, regexp; + + if (font_unparse_xlfd (entity, 0, name, 256) >= 0) + { + for (tail = Vface_ignored_fonts; CONSP (tail); tail = XCDR (tail)) + { + regexp = XCAR (tail); + if (STRINGP (regexp) + && fast_c_string_match_ignore_case (regexp, name) >= 0) + break; + } + if (CONSP (tail)) + continue; + } + } + if (NILP (spec)) + { + val = Fcons (entity, val); + continue; + } for (prop = FONT_WEIGHT_INDEX; prop < FONT_SIZE_INDEX; prop++) if (INTEGERP (AREF (spec, prop)) && ((XINT (AREF (spec, prop)) >> 8) @@ -2932,8 +2963,10 @@ ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); } - if (ASIZE (val) > 0 && need_filtering) - val = font_delete_unmatched (val, spec, size); + if (ASIZE (val) > 0 + && (need_filtering + || ! NILP (Vface_ignored_fonts))) + val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size); if (ASIZE (val) > 0) list = Fcons (val, list); } ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.