From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Bozhidar Batsov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Nov 2013 12:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 15874@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.138425994518047 (code B ref -1); Tue, 12 Nov 2013 12:40:01 +0000 Received: (at submit) by debbugs.gnu.org; 12 Nov 2013 12:39:05 +0000 Received: from localhost ([127.0.0.1]:48299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgDFH-0004gr-8i for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:39:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:50485) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgDFD-0004fi-1t for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:39:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgDEz-0008G8-Pj for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:38:53 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:49039) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgDEz-0008G4-N0 for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:38:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52186) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgDEt-0000eV-04 for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 07:38:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgDEm-0008Eu-3E for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 07:38:38 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]:53853) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgDEl-0008Em-PM for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 07:38:32 -0500 Received: by mail-ee0-f44.google.com with SMTP id d51so1014468eek.3 for ; Tue, 12 Nov 2013 04:38:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-type; bh=pXofaE5p4U0M6Shh4EwoRm5mVDJy9/Lej8Qlqxz/bmE=; b=LaS7SZ1QcuRVrDlH52vYEU05fBnIynS4L5gosXZYybsB8pPUX+ZhRUgoNjgP7+YrI0 fUSp+KITGnlI28KWJYyffMJDGXgI66dnUXQyN8yxeHt1hOqXasDk7coe1JLpCrWlGb/s DUZz3VFxWtd7owcs1GDoXnJXLG3k1UbmhF8Tl8cqw6IfZQnPefPPxAfzE658FfMKWKqO nxA4H7MDXwMqsxytpfuw73ky/oOLsfO9Dm3OmsC72N9N3bf32heWnWD1WVkE3WT/uFu0 76aDWlVCBI0PQF3eLd4lsv+wVbHWvuIsHjpLpKAxLp8t7gbLOPQmvcHh7WTre7x9qCf6 mn7Q== X-Gm-Message-State: ALoCoQko/rUuTMQOS8/ypDtHGfqo17iKkjyw4eH1A1/gQKw9q9mc/oagMB0csZkUWnj4gHHg97gY X-Received: by 10.14.126.5 with SMTP id a5mr1278516eei.98.1384259910266; Tue, 12 Nov 2013 04:38:30 -0800 (PST) Received: from Bozhidars-MacBook-Pro.local ([95.87.231.111]) by mx.google.com with ESMTPSA id k7sm67376751eeg.13.2013.11.12.04.38.29 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 12 Nov 2013 04:38:29 -0800 (PST) Received: by Bozhidars-MacBook-Pro.local (Postfix, from userid 501) id 191F36991F86; Tue, 12 Nov 2013 14:38:29 +0200 (EET) From: Bozhidar Batsov Date: Tue, 12 Nov 2013 14:38:29 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) The built-in Kernel#exit! method is not properly font-locked. exit is font-locked with the built-in face, but the ! is font-locked with the default face. In GNU Emacs 24.3.50.1 (x86_64-apple-darwin13.0.0, NS apple-appkit-1265.00) of 2013-11-11 on Bozhidars-MacBook-Pro.local Windowing system distributor `Apple', version 10.3.1265 Configured using: `configure --prefix=/usr/local/Cellar/emacs/HEAD --without-dbus --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --without-gnutls --with-ns --disable-ns-self-contained' Important settings: locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Conf[Unix] Minor modes in effect: diff-auto-refine-mode: t erc-truncate-mode: t erc-spelling-mode: t erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-match-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-netsplit-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t global-flycheck-mode: t which-function-mode: t winner-mode: t global-undo-tree-mode: t undo-tree-mode: t global-anzu-mode: t anzu-mode: t projectile-global-mode: t projectile-mode: t flx-ido-mode: t ido-ubiquitous-mode: t shell-dirtrack-mode: t volatile-highlights-mode: t global-hl-line-mode: t recentf-mode: t savehist-mode: t show-smartparens-global-mode: t show-smartparens-mode: t global-auto-revert-mode: t delete-selection-mode: t prelude-global-mode: t prelude-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: M-> C-y C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-n C-n C-n C-n C-n C-n C-n C-l C-x C-s M-x e m a c s - r e p o r t r e p o r t e m a c s Recent messages: Tramp: Checking `vc-registered' for /sudo:root@localhost:/etc/postfix/main.cf...done Tramp: Inserting `/sudo:root@localhost:/etc/postfix/main.cf'...done Mark set [2 times] Saving file /sudo:root@localhost:/etc/postfix/main.cf... Renaming /sudo:root@localhost:/etc/postfix/main.cf to /var/folders/32/92h89tr96rs0s79j4ckhhm_r0000gn/T/!sudo:root@localhost:!etc!postfix!main.cf~...failed Cannot write backup file; backing up in ~/.emacs.d/%backup%~ Copying /sudo:root@localhost:/etc/postfix/main.cf to /Users/bozhidar/.emacs.d/%backup%~...done Copying /var/folders/32/92h89tr96rs0s79j4ckhhm_r0000gn/T/tramp.92769aBQ.cf to /sudo:root@localhost:/etc/postfix/main.cf...done Wrote /sudo:root@localhost:/etc/postfix/main.cf Load-path shadows: /Users/bozhidar/.emacs.d/elpa/flycheck-20131107.2307/.dir-locals hides /usr/local/Cellar/emacs/HEAD/share/emacs/24.3.50/lisp/gnus/.dir-locals Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils tramp-cmds tramp-sh conf-mode tramp-cache ffap url-parse url-vars crm misearch multi-isearch superword subword ruby-tools inf-ruby ruby-mode-expansions smartparens-ruby ruby-mode smie view magit-bisect magit-key-mode magit epa derived epg epg-config diff-mode git-rebase-mode git-commit-mode server log-edit pcvs-util add-log executable vc-git markdown-mode noutline outline rainbow-mode color rainbow-delimiters elisp-slime-nav guru-mode prelude-key-chord key-chord prelude-xml nxml-mode-expansions html-mode-expansions smartparens-html rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok prelude-web prelude-scss prelude-scheme prelude-ruby prelude-perl prelude-org prelude-js prelude-erc erc-truncate erc-autoaway erc-spelling erc-notify erc-log erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit erc-goodies erc erc-backend erc-compat prelude-emacs-lisp prelude-css prelude-common-lisp slime-autoloads prelude-clojure prelude-lisp prelude-c prelude-programming flycheck help-mode f which-func imenu prelude-osx exec-path-from-shell prelude-global-keybindings prelude-editor winner undo-tree diff esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups eshell esh-module esh-mode esh-util re-builder whitespace midnight ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff dired-x dired anzu projectile pkg-info find-func grep compile s bookmark pp expand-region text-mode-expansions er-basic-expansions expand-region-custom expand-region-core flyspell ispell smex flx-ido flx ido-ubiquitous warnings ido tramp tramp-compat auth-source gnus-util mm-util mail-prsvr password-cache tramp-loaddefs trampver shell pcomplete comint ansi-color format-spec etags ring volatile-highlights hl-line windmove recentf tree-widget wid-edit savehist saveplace uniquify diminish smartparens-config smartparens autorevert filenotify delsel prelude-mode easy-mmode edmacro kmacro prelude-core epl advice help-fns dash thingatpt prelude-ui zenburn-theme prelude-packages ack-and-a-half-autoloads clojure-mode-autoloads coffee-mode-autoloads diminish-autoloads elisp-slime-nav-autoloads erlang-autoloads exec-path-from-shell-autoloads expand-region-autoloads flx-ido-autoloads f-autoloads geiser-autoloads gist-autoloads finder-inf gh-autoloads eieio byte-opt bytecomp byte-compile cconv eieio-core gitconfig-mode-autoloads gitignore-mode-autoloads rx grizzl-autoloads guru-mode-autoloads helm-projectile-autoloads ido-ubiquitous-autoloads key-chord-autoloads logito-autoloads info easymenu git-rebase-mode-autoloads git-commit-mode-autoloads cl-macs gv markdown-mode-autoloads move-text-autoloads multiple-cursors-autoloads paredit-autoloads pcache-autoloads pkg-info-autoloads epl-autoloads puppet-mode-autoloads rainbow-delimiters-autoloads request-autoloads rubocop-autoloads ruby-tools-autoloads s-autoloads scss-mode-autoloads slim-mode-autoloads dash-autoloads undo-tree-autoloads volatile-highlights-autoloads yaml-mode-autoloads package cl cl-loaddefs cl-lib time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process cocoa ns multi-tty emacs) From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Dec 2013 18:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Bozhidar Batsov Cc: 15874@debbugs.gnu.org Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138618189621786 (code B ref 15874); Wed, 04 Dec 2013 18:32:02 +0000 Received: (at 15874) by debbugs.gnu.org; 4 Dec 2013 18:31:36 +0000 Received: from localhost ([127.0.0.1]:58335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoHEV-0005fK-Kk for submit@debbugs.gnu.org; Wed, 04 Dec 2013 13:31:35 -0500 Received: from mail-ee0-f45.google.com ([74.125.83.45]:41285) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoHES-0005fA-Ot for 15874@debbugs.gnu.org; Wed, 04 Dec 2013 13:31:33 -0500 Received: by mail-ee0-f45.google.com with SMTP id d49so2629509eek.32 for <15874@debbugs.gnu.org>; Wed, 04 Dec 2013 10:31:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=gdrBsCrHgr0xE4pH41K9vaBDoNeCClqODQqI0RmESjk=; b=dM0K+qPBx8ikbG4Jm3paJAP+GlbAXcCcmaYKR3xV5gw9qVG2jSfh7NCz8OeFFHYNCm AdEPyNgu9YZTai7oJXYl71NdeAe/ecvm1awuw2HI3bseRrZwb1V3TMREICfLv7BzDvoa 8UMXI7AxEjI1t6PO7ErC0CX4HKn4ObZTHtuixoYSRzv9fMea2zCAj4IZTGRXRHtOI4+b LbWytf4Pt0RVjDcbv4tcB/vx7QAe6AZuheF0IX3YWRdBxoCbToCgrSSnmSUESzIYLOzK oXKlJQ36FIuyrqHplwDwurvy0E7je2KWCcWEmiM2Cn0uMUdc9mgKhSI7Qg/qCzeaPE+T KSyQ== X-Received: by 10.14.219.4 with SMTP id l4mr8630023eep.94.1386181891971; Wed, 04 Dec 2013 10:31:31 -0800 (PST) Received: from axl (93-245-142.netrun.cytanet.com.cy. [93.109.245.142]) by mx.google.com with ESMTPSA id n1sm97426501eep.20.2013.12.04.10.31.29 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 04 Dec 2013 10:31:30 -0800 (PST) From: Dmitry Gutov References: Date: Wed, 04 Dec 2013 20:31:26 +0200 In-Reply-To: (Bozhidar Batsov's message of "Tue, 12 Nov 2013 14:38:29 +0200") Message-ID: <8761r4bh8h.fsf@yandex.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Bozhidar Batsov writes: > The built-in Kernel#exit! method is not properly font-locked. exit is > font-locked with the built-in face, but the ! is font-locked with the > default face. Any ideas for a regexp that matches (any) non-symbol character? http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00684.html I'm not sure we want to move `!' to the symbol syntax class. Maybe we even should move `?' back to punctuation. From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Dec 2013 19:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138618483226640 (code B ref 15874); Wed, 04 Dec 2013 19:21:02 +0000 Received: (at 15874) by debbugs.gnu.org; 4 Dec 2013 19:20:32 +0000 Received: from localhost ([127.0.0.1]:58395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoHzr-0006vb-M7 for submit@debbugs.gnu.org; Wed, 04 Dec 2013 14:20:31 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:39761) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoHzq-0006vU-5c for 15874@debbugs.gnu.org; Wed, 04 Dec 2013 14:20:30 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: At8KABK/CFFFxL6g/2dsb2JhbAA8CLs1glgEAnsXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IPAS-Result: At8KABK/CFFFxL6g/2dsb2JhbAA8CLs1glgEAnsXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="41141994" Received: from 69-196-190-160.dsl.teksavvy.com (HELO pastel.home) ([69.196.190.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Dec 2013 14:20:29 -0500 Received: by pastel.home (Postfix, from userid 20848) id 554F460045; Wed, 4 Dec 2013 14:20:29 -0500 (EST) From: Stefan Monnier Message-ID: References: <8761r4bh8h.fsf@yandex.ru> Date: Wed, 04 Dec 2013 14:20:29 -0500 In-Reply-To: <8761r4bh8h.fsf@yandex.ru> (Dmitry Gutov's message of "Wed, 04 Dec 2013 20:31:26 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > I'm not sure we want to move `!' to the symbol syntax class. How is the Ruby lexing done w.r.t identifiers and ! (and ?) ? Stefan From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Dec 2013 22:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138619639312657 (code B ref 15874); Wed, 04 Dec 2013 22:34:01 +0000 Received: (at 15874) by debbugs.gnu.org; 4 Dec 2013 22:33:13 +0000 Received: from localhost ([127.0.0.1]:58533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoL0L-0003I4-5m for submit@debbugs.gnu.org; Wed, 04 Dec 2013 17:33:13 -0500 Received: from mail-we0-f182.google.com ([74.125.82.182]:46783) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoL0I-0003Hv-Kd for 15874@debbugs.gnu.org; Wed, 04 Dec 2013 17:33:11 -0500 Received: by mail-we0-f182.google.com with SMTP id q59so15911074wes.13 for <15874@debbugs.gnu.org>; Wed, 04 Dec 2013 14:33:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=mrrpa2s/J6vS+Z+kUXMMzKlsm8nXpzbz08KUCSMQ5aI=; b=d1hXDo97exIoamJGVQwXx1mQiScbrKDGLjH8TIxKFU0l7/WVCRSr6/mzGr/FMyjOJN Mm42SSdxuOrYP3reNVhWXkr4tk7y/zVn8E+iEkh2jRRwNKqKoZTCuCmN2PPfMT4or1NP kkajy/GitiYvHmMc4lyJWSgw7fLwtT9JEIdTVMwJ0Fag7JZA7mhb3FYYmsa7a99XK6HQ 2MEghGP7Zl3ml8FvZ/FtnR7jvdvYFiRms6jsTOyJG2/0bHcjHp2xLg6f+CZlsn6Qc3Rb BH8iroFndGXm3SwfxdqGEXvgjN/HWkkbVF7muRJufXiF67VJO3S1nredeisJ7KOIu1R3 sh+A== X-Received: by 10.180.103.193 with SMTP id fy1mr9462142wib.10.1386196389765; Wed, 04 Dec 2013 14:33:09 -0800 (PST) Received: from [192.168.10.2] ([62.228.136.233]) by mx.google.com with ESMTPSA id uc18sm241434wib.11.2013.12.04.14.33.08 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 14:33:09 -0800 (PST) Message-ID: <529FADA2.8020106@yandex.ru> Date: Thu, 05 Dec 2013 00:33:06 +0200 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 References: <8761r4bh8h.fsf@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 04.12.2013 21:20, Stefan Monnier wrote: >> I'm not sure we want to move `!' to the symbol syntax class. > > How is the Ruby lexing done w.r.t identifiers and ! (and ?) ? There's no special handling: ? is considered a part of whatever token it's adjacent to (even when the token follows it, ex. "?wut"), and ! is considered a separate token. The former is usually harmless, as far as indentation and syntax highlighting are concerned (*), but not considering ! a part of preceding token makes us mishandle the (rare, to be sure) method names like "else!" and "end!". (*) Counterexample: irb(main):013:0> def foo? irb(main):014:1> 42 irb(main):015:1> end => nil irb(main):016:0> begin; foo?end => 42 We don't treat "end" in "begin; foo?end" as a keyword, but ideally, we should. From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Dec 2013 23:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138619894516502 (code B ref 15874); Wed, 04 Dec 2013 23:16:01 +0000 Received: (at 15874) by debbugs.gnu.org; 4 Dec 2013 23:15:45 +0000 Received: from localhost ([127.0.0.1]:58537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoLfU-0004I5-QU for submit@debbugs.gnu.org; Wed, 04 Dec 2013 18:15:45 -0500 Received: from mail-wg0-f44.google.com ([74.125.82.44]:53536) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoLfR-0004Ht-LF for 15874@debbugs.gnu.org; Wed, 04 Dec 2013 18:15:42 -0500 Received: by mail-wg0-f44.google.com with SMTP id a1so13684869wgh.11 for <15874@debbugs.gnu.org>; Wed, 04 Dec 2013 15:15:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=vHkHmUfQs/Hs98aPyok4qdV9rfo6pt42RXWxBAzxwuY=; b=ZeWMFAoNDYzmJmk9dDT2T0wN0zcprnH24zayO0yPQMCVzKH3xEbUV8XZ+c4W8rEAs4 KxQtYDhMbmNgDymjbl+7xJlCtMeJ8FdNq0HCIF8wbQXDONgCSZjse8mppzetQar/TPgL tHhks71O3ULA6P+hVJ0Z9nfYLIDZE/oMaZEMt112/gkXP9aH9Fgx+p9p0daom4jSF8WE ueH5vsYAYBTsQvjLms5dNadLi6E/YFn1R+K2DXpYFi9KAbQG6hdF9zVHhMyRW9gcFt+m b7WBi+mTxAW/225A3JZgbhLuRd6JXzZZRC3BdrW7jRwKxKhHM0mivw39sEGNfAOIe1Hu O81Q== X-Received: by 10.194.21.225 with SMTP id y1mr14544888wje.60.1386198940774; Wed, 04 Dec 2013 15:15:40 -0800 (PST) Received: from [192.168.10.2] ([62.228.136.233]) by mx.google.com with ESMTPSA id n6sm562664wix.3.2013.12.04.15.15.39 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 15:15:40 -0800 (PST) Message-ID: <529FB799.3000203@yandex.ru> Date: Thu, 05 Dec 2013 01:15:37 +0200 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 References: <8761r4bh8h.fsf@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 04.12.2013 21:20, Stefan Monnier wrote: >> I'm not sure we want to move `!' to the symbol syntax class. > > How is the Ruby lexing done w.r.t identifiers and ! (and ?) ? To answer your actual question: Ruby considers ! and ? parts of identifiers only in method names, and only when the name ends with one such a character. The names of local variables, as well as instance and global ones, can't use ? and !. We may want to handle this eventually: irb(main):001:0> @abc?1:2 => 2 irb(main):002:0> abc = 1 => 1 irb(main):003:0> abc?2:3 SyntaxError: (irb):3: syntax error, unexpected ':', expecting $end From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 02:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138621182310795 (code B ref 15874); Thu, 05 Dec 2013 02:51:02 +0000 Received: (at 15874) by debbugs.gnu.org; 5 Dec 2013 02:50:23 +0000 Received: from localhost ([127.0.0.1]:58677 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoP1C-0002o2-BK for submit@debbugs.gnu.org; Wed, 04 Dec 2013 21:50:22 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:54074) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoP1A-0002nu-BZ for 15874@debbugs.gnu.org; Wed, 04 Dec 2013 21:50:20 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFxL6g/2dsb2JhbAA8CLs1g1kXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IPAS-Result: Av8EABK/CFFFxL6g/2dsb2JhbAA8CLs1g1kXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="41174459" Received: from 69-196-190-160.dsl.teksavvy.com (HELO pastel.home) ([69.196.190.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Dec 2013 21:50:19 -0500 Received: by pastel.home (Postfix, from userid 20848) id 9123A60F5D; Wed, 4 Dec 2013 21:50:19 -0500 (EST) From: Stefan Monnier Message-ID: References: <8761r4bh8h.fsf@yandex.ru> <529FB799.3000203@yandex.ru> Date: Wed, 04 Dec 2013 21:50:19 -0500 In-Reply-To: <529FB799.3000203@yandex.ru> (Dmitry Gutov's message of "Thu, 05 Dec 2013 01:15:37 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > To answer your actual question: Ruby considers ! and ? parts of identifiers > only in method names, and only when the name ends with one such a character. Maybe a good way to handle them is via syntax-propertize, then, especially if we can come up with a good regexp that distinguishes "method name" from "local variable name"? Stefan From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 03:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138621494815893 (code B ref 15874); Thu, 05 Dec 2013 03:43:01 +0000 Received: (at 15874) by debbugs.gnu.org; 5 Dec 2013 03:42:28 +0000 Received: from localhost ([127.0.0.1]:58696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoPpb-00048G-Nz for submit@debbugs.gnu.org; Wed, 04 Dec 2013 22:42:27 -0500 Received: from mail-wg0-f54.google.com ([74.125.82.54]:47744) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoPpY-000486-Dl for 15874@debbugs.gnu.org; Wed, 04 Dec 2013 22:42:24 -0500 Received: by mail-wg0-f54.google.com with SMTP id n12so14663540wgh.21 for <15874@debbugs.gnu.org>; Wed, 04 Dec 2013 19:42:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=oRnYo0phcJ5BUwyrD6kV95uAHkqd7jkZ1u/eEcawPOY=; b=GZfIqRLbfOW8NuhWR5Pjm9a4LqYtYHm39PiDOh2c4JX0DUcxyh7vxyKLDIrO0yP2Ok QxtPKDJ5/U8BbvdX+SW/B1stve4WgceiWjvBfmexBTYGLcAsy/A3WqKhuQ8yPr9q2Gfz XxOVovfeL9zQBcjjLMUnjXUglxAqx/bYI04nKeoz+QeQpW1k7b+Ha0U99hRT2aj/R4Qw 5knwTnjmIzQK9Qzrbdo/4FbJcUoiJNO8D6Wi6l0OlTCEGuy8SVlEBKYFqvxbzv0jlB0t t8/o8Yls1kZ7Q0MGJxSHaxeVlhHU7kbeVA1XAbkFqRQcCpsw26qPjmF3kZEqOqmR+6pO 2L1g== X-Received: by 10.180.81.33 with SMTP id w1mr8524217wix.42.1386214943224; Wed, 04 Dec 2013 19:42:23 -0800 (PST) Received: from [192.168.10.2] ([62.228.136.233]) by mx.google.com with ESMTPSA id bk7sm2038186wib.10.2013.12.04.19.42.21 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 19:42:22 -0800 (PST) Message-ID: <529FF61B.4060709@yandex.ru> Date: Thu, 05 Dec 2013 05:42:19 +0200 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 References: <8761r4bh8h.fsf@yandex.ru> <529FB799.3000203@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05.12.2013 04:50, Stefan Monnier wrote: > Maybe a good way to handle them is via syntax-propertize, Huh yes, that's an approach I haven't considered. But it seems more performance-intensive than the other options, at least as long as Emacs regexps don't support lookbehind. If we could match "non-symbols", then the font-lock part of the problem would be solved, and appending "?" or "!" in the forward-token and backward-token functions would take negligible amount of time. Say, why don't we have a "non-symbol" matcher? I would think that in many cases the regexp engine performs unnecessary work when it sees "\\_<" or "\\_>" because we often know in advance that the character we've already matched, or will have to match next, is a symbol constituent. But the engine has to check. Most uses of `(regexp-opt '("boats" "boats" "boats") 'symbols)' would fall under this scenario. > then, especially > if we can come up with a good regexp that distinguishes "method name" > from "local variable name"? Not really. References to local variables, unlike instance and global ones, are indistinguishable from method calls if we judge only by name. We could backtrack until the beginning of block or method, look for assignments, etc, but that's a lot of work for marginal gain: we can just assume that each such reference is a method calls, because otherwise it would be syntax error. From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Kevin Rodgers Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 06:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 15874@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13862251964311 (code B ref -1); Thu, 05 Dec 2013 06:34:02 +0000 Received: (at submit) by debbugs.gnu.org; 5 Dec 2013 06:33:16 +0000 Received: from localhost ([127.0.0.1]:58827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoSUs-00017O-Os for submit@debbugs.gnu.org; Thu, 05 Dec 2013 01:33:15 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56776) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoSUp-00017F-6C for submit@debbugs.gnu.org; Thu, 05 Dec 2013 01:33:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoSUj-0002OO-Jw for submit@debbugs.gnu.org; Thu, 05 Dec 2013 01:33:10 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoSUj-0002OK-Gn for submit@debbugs.gnu.org; Thu, 05 Dec 2013 01:33:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58496) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoSUe-0006ce-Ej for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 01:33:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoSUY-0002Nk-Gj for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 01:33:00 -0500 Received: from plane.gmane.org ([80.91.229.3]:43742) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoSUY-0002NZ-AI for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 01:32:54 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VoSUT-00077E-KW for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 07:32:49 +0100 Received: from 70-59-41-30.hlrn.qwest.net ([70.59.41.30]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 05 Dec 2013 07:32:49 +0100 Received: from kevin.d.rodgers by 70-59-41-30.hlrn.qwest.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 05 Dec 2013 07:32:49 +0100 X-Injected-Via-Gmane: http://gmane.org/ From: Kevin Rodgers Date: Wed, 04 Dec 2013 23:34:35 -0700 Lines: 40 Message-ID: References: <8761r4bh8h.fsf@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 70-59-41-30.hlrn.qwest.net User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 In-Reply-To: <8761r4bh8h.fsf@yandex.ru> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) On 12/4/13 11:31 AM, Dmitry Gutov wrote: > Bozhidar Batsov writes: > >> The built-in Kernel#exit! method is not properly font-locked. exit is >> font-locked with the built-in face, but the ! is font-locked with the >> default face. > > Any ideas for a regexp that matches (any) non-symbol character? `\sCODE' matches any character whose syntax is CODE. Here CODE is a character that represents a syntax code: thus, `w' for word constituent, `-' for whitespace, `(' for open parenthesis, etc. To represent whitespace syntax, use either `-' or a space character. *Note Syntax Class Table::, for a list of syntax codes and the characters that stand for them. `\SCODE' matches any character whose syntax is not CODE. ... -- Syntax class: symbol constituent "Symbol constituents" (designated by `_') are the extra characters that are used in variable and command names along with word constituents. For example, the symbol constituents class is used in Lisp mode to indicate that certain characters may be part of symbol names even though they are not part of English words. These characters are `$&*+-_<>'. In standard C, the only non-word-constituent character that is valid in symbols is underscore (`_'). > http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00684.html > > I'm not sure we want to move `!' to the symbol syntax class. Maybe we > even should move `?' back to punctuation. -- Kevin Rodgers Denver, Colorado, USA From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 10:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Kevin Rodgers Cc: 15874@debbugs.gnu.org Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138624111429648 (code B ref 15874); Thu, 05 Dec 2013 10:59:02 +0000 Received: (at 15874) by debbugs.gnu.org; 5 Dec 2013 10:58:34 +0000 Received: from localhost ([127.0.0.1]:59059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoWdd-0007i7-KB for submit@debbugs.gnu.org; Thu, 05 Dec 2013 05:58:33 -0500 Received: from mail-ea0-f177.google.com ([209.85.215.177]:59223) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoWdb-0007hx-L0 for 15874@debbugs.gnu.org; Thu, 05 Dec 2013 05:58:32 -0500 Received: by mail-ea0-f177.google.com with SMTP id n15so11111200ead.8 for <15874@debbugs.gnu.org>; Thu, 05 Dec 2013 02:58:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=/h69iO6EEVgINNHp6NjEqBjmx6LBo5XP5hZJQJrUCKk=; b=jXWoi/EqRtcADmwLVUSHrnlRzr71fbq94r/WLBVRbMUjV0PhSGxpeD6yLaWYnZUd/2 hVsAeKtklIYF2xspDvAcaIL3R72wvehgzHZEny3ncTTYB5ukaGvqZAwCJtd43GuaOC7y OAFEBBWTCdQkxsat/CQ2sqeSggc6qKCL2b+UOKKS048bCFDNE/RHKAljvJ5GvpKLQ0jc 9x1g8RMdm0PKvxphMIKIBi42H8NK+jVorcXiHVeigtATj3MX59JvEGO70QHC7b1ByfkL ukHxlNrX+JS2pql3b+AONYOpQJgVqxvIixNr8icnqrHUwVgGsSvemz2JqAorb/2k84kS l5mQ== X-Received: by 10.14.203.6 with SMTP id e6mr26489689eeo.33.1386241110552; Thu, 05 Dec 2013 02:58:30 -0800 (PST) Received: from axl ([62.228.136.233]) by mx.google.com with ESMTPSA id h3sm79521015eem.15.2013.12.05.02.58.28 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 05 Dec 2013 02:58:29 -0800 (PST) From: Dmitry Gutov References: <8761r4bh8h.fsf@yandex.ru> Date: Thu, 05 Dec 2013 12:58:20 +0200 In-Reply-To: (Kevin Rodgers's message of "Wed, 04 Dec 2013 23:34:35 -0700") Message-ID: <87fvq7o983.fsf@yandex.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Kevin Rodgers writes: >> Any ideas for a regexp that matches (any) non-symbol character? > > `\sCODE' > `\SCODE' That doesn't really help, unless we want to enumerate all syntax classes that we can accept. Non-symbol character is a character that's not of class "symbol", nor of class "word". "\\S_" matches words. From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Kevin Rodgers Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 14:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 15874@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.138625498323470 (code B ref -1); Thu, 05 Dec 2013 14:50:02 +0000 Received: (at submit) by debbugs.gnu.org; 5 Dec 2013 14:49:43 +0000 Received: from localhost ([127.0.0.1]:59338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoaFK-00066T-DE for submit@debbugs.gnu.org; Thu, 05 Dec 2013 09:49:42 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47070) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoaFH-00066L-Dv for submit@debbugs.gnu.org; Thu, 05 Dec 2013 09:49:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoaF7-0005Px-I4 for submit@debbugs.gnu.org; Thu, 05 Dec 2013 09:49:38 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:56578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoaF7-0005Pt-Eu for submit@debbugs.gnu.org; Thu, 05 Dec 2013 09:49:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48747) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoaF0-0006si-3m for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 09:49:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoaEo-0005N3-J0 for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 09:49:22 -0500 Received: from plane.gmane.org ([80.91.229.3]:52130) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoaEo-0005Mm-Bt for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 09:49:10 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VoaEj-0002V0-8f for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 15:49:05 +0100 Received: from 70-59-41-30.hlrn.qwest.net ([70.59.41.30]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 05 Dec 2013 15:49:05 +0100 Received: from kevin.d.rodgers by 70-59-41-30.hlrn.qwest.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 05 Dec 2013 15:49:05 +0100 X-Injected-Via-Gmane: http://gmane.org/ From: Kevin Rodgers Date: Thu, 05 Dec 2013 07:50:49 -0700 Lines: 21 Message-ID: References: <8761r4bh8h.fsf@yandex.ru> <87fvq7o983.fsf@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 70-59-41-30.hlrn.qwest.net User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 In-Reply-To: <87fvq7o983.fsf@yandex.ru> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) On 12/5/13 3:58 AM, Dmitry Gutov wrote: > Kevin Rodgers writes: > >>> Any ideas for a regexp that matches (any) non-symbol character? >> >> `\sCODE' >> `\SCODE' > > That doesn't really help, unless we want to enumerate all syntax classes > that we can accept. > > Non-symbol character is a character that's not of class "symbol", nor of > class "word". "\\S_" matches words. [^[:symbol:][:word:]] if the [:symbol:] character class actually existed :-) -- Kevin Rodgers Denver, Colorado, USA From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 17:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Kevin Rodgers Cc: 15874@debbugs.gnu.org Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.13862643166259 (code B ref 15874); Thu, 05 Dec 2013 17:26:02 +0000 Received: (at 15874) by debbugs.gnu.org; 5 Dec 2013 17:25:16 +0000 Received: from localhost ([127.0.0.1]:60117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vocfr-0001ct-J1 for submit@debbugs.gnu.org; Thu, 05 Dec 2013 12:25:15 -0500 Received: from mail-ea0-f172.google.com ([209.85.215.172]:39166) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vocfp-0001cj-Qh for 15874@debbugs.gnu.org; Thu, 05 Dec 2013 12:25:14 -0500 Received: by mail-ea0-f172.google.com with SMTP id q10so11492734ead.31 for <15874@debbugs.gnu.org>; Thu, 05 Dec 2013 09:25:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:in-reply-to:references:user-agent:date :message-id:mime-version:content-type; bh=MB8EqUv0wlVYDMrA3emjxg2gEXbhOnEl9hTaZ+6XYXM=; b=BcUSAxIrizYlftKn1o2NVkLsBMDrQ/c9WPgBbcLMrqieKvFvy2sKk7BHej5cBwiR8j cWYSiUBwbqHXi6BE4EunVWqZ+IcwhN+/SoHrBcljwViBPEIfIMWPjN9OzdKdgJEkKYNd lPKR6ZTEXUgUPmo5mI/TzJK3e1DardqxztB7jbP3JC+kRNgFJmVO3xymBfjjr5BpVGal x3L4xrdfGLPAgXbrXju7TEk3Yg5Lzcl/iMQ60l+Se07zhk9PcjJNTlgu1haiWFtXYetK 63AN94ndElpMHFzY6oDPQbD95nms4aZealwmbmY+r/bKaNJDYeR6v2T+HJOHJRfI2OVW zFrA== X-Received: by 10.15.44.4 with SMTP id y4mr13686901eev.71.1386264312660; Thu, 05 Dec 2013 09:25:12 -0800 (PST) Received: from axl (93-245-142.netrun.cytanet.com.cy. [93.109.245.142]) by mx.google.com with ESMTPSA id e3sm71267016eeg.11.2013.12.05.09.25.10 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 05 Dec 2013 09:25:11 -0800 (PST) From: Dmitry Gutov In-Reply-To: (Kevin Rodgers's message of "Thu, 05 Dec 2013 07:50:49 -0700") References: <8761r4bh8h.fsf@yandex.ru> <87fvq7o983.fsf@yandex.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Date: Thu, 05 Dec 2013 19:25:04 +0200 Message-ID: <87mwkftdlb.fsf@yandex.ru> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Kevin Rodgers writes: > [^[:symbol:][:word:]] > > if the [:symbol:] character class actually existed :-) Yep, I like this non-existent feature, too. :) From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 19:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138627017816042 (code B ref 15874); Thu, 05 Dec 2013 19:03:01 +0000 Received: (at 15874) by debbugs.gnu.org; 5 Dec 2013 19:02:58 +0000 Received: from localhost ([127.0.0.1]:60310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoeCP-0004Af-JL for submit@debbugs.gnu.org; Thu, 05 Dec 2013 14:02:57 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:14470) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoeCM-0004AW-Mj for 15874@debbugs.gnu.org; Thu, 05 Dec 2013 14:02:55 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFxL6g/2dsb2JhbAA8CLs1g1kXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IPAS-Result: Av8EABK/CFFFxL6g/2dsb2JhbAA8CLs1g1kXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="41233109" Received: from 69-196-190-160.dsl.teksavvy.com (HELO pastel.home) ([69.196.190.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 05 Dec 2013 14:02:53 -0500 Received: by pastel.home (Postfix, from userid 20848) id 90B0560379; Thu, 5 Dec 2013 14:02:53 -0500 (EST) From: Stefan Monnier Message-ID: References: <8761r4bh8h.fsf@yandex.ru> <529FB799.3000203@yandex.ru> <529FF61B.4060709@yandex.ru> Date: Thu, 05 Dec 2013 14:02:53 -0500 In-Reply-To: <529FF61B.4060709@yandex.ru> (Dmitry Gutov's message of "Thu, 05 Dec 2013 05:42:19 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> Maybe a good way to handle them is via syntax-propertize, > Huh yes, that's an approach I haven't considered. The advantage is that it would also fix the sexp-movement operations. > But it seems more performance-intensive than the other options, at > least as long as Emacs regexps don't support lookbehind. I don't see why we'd need lookbehind. We can use a regexp like "\\(?:\\sw\\|\\s_\\)\\([!?]\\)" and then place the syntax-table property on the ? (or !) character. > Say, why don't we have a "non-symbol" matcher? I'd rather do something a bit more generic, then, like a \\S which can take a set of syntaxes to exclude. Or maybe extend the [:foo:] character classes to allow [:sw:], [:s_:], etc... so we could do [^[:sw:][:s_:]]. > I would think that in many cases the regexp engine performs > unnecessary work when it sees "\\_<" or "\\_>" because we often know > in advance that the character we've already matched, or will have to > match next, is a symbol constituent. But the engine has to check. It's not that big of a deal, tho. I doubt this would ever appear as a noticeable slowdown. And with [^[:sw:][:s_:]] you'd have the extra work of having to handle the EOB case, so you'd have \(\'\|[^[:sw:][:s_:]]). >> then, especially if we can come up with a good regexp that >> distinguishes "method name" from "local variable name"? > Not really. References to local variables, unlike instance and global ones, > are indistinguishable from method calls if we judge only by name. But you said that ! and ? are only allowed in method names. So somehow Ruby's parser/lexer distinguishes the two cases. Would a reference to a variable "foo?" simply always be parsed as "a reference to variable foo?" which would later trigger an error because there's no such variable (because there can't be any such variable)? Stefan From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 06 Dec 2013 02:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.13862979044101 (code B ref 15874); Fri, 06 Dec 2013 02:46:01 +0000 Received: (at 15874) by debbugs.gnu.org; 6 Dec 2013 02:45:04 +0000 Received: from localhost ([127.0.0.1]:60898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VolPa-000143-B2 for submit@debbugs.gnu.org; Thu, 05 Dec 2013 21:45:03 -0500 Received: from mail-ea0-f172.google.com ([209.85.215.172]:34701) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VolPX-00013O-JN for 15874@debbugs.gnu.org; Thu, 05 Dec 2013 21:45:00 -0500 Received: by mail-ea0-f172.google.com with SMTP id q10so32384ead.3 for <15874@debbugs.gnu.org>; Thu, 05 Dec 2013 18:44:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=45stOJskn1fYo/ItRGAq2GZbyMW+FMVhReqp/wlx3mQ=; b=WUzergeY45d57I9q2HFgSHFGmte8XM2Sh+HB2pAVxMT6aNClcjocy1NlfdGTM51bmy HK+BHKnjHEquMjBc/Se+38eeYt9e93xBeqHJ59YXZkRRRy8o7hrnubM1WyrxIueQIFlw 5GBkT74lLuOjmN7jGCbGO3N+caTrhYvVboSVdL11pBcvkTuwdbC7xZwwjqi2E4fqIq1t tbMPz880EVlBsjiPQMAc3233XVQF+5hxD5wNzTvR4OPjuMnDx2LDIe2OV/LBV7v1Z2iT jPYjRHJT8PE54KoL31gddrQU/kyjEhcZ6mDP/FmAWFGqPW/zwgvfR6Dysl9gKmlDWaT4 ZRHw== X-Received: by 10.15.53.193 with SMTP id r41mr691887eew.2.1386297898742; Thu, 05 Dec 2013 18:44:58 -0800 (PST) Received: from axl ([62.228.136.233]) by mx.google.com with ESMTPSA id j46sm112590970eew.18.2013.12.05.18.44.55 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 05 Dec 2013 18:44:57 -0800 (PST) From: Dmitry Gutov References: <8761r4bh8h.fsf@yandex.ru> <529FB799.3000203@yandex.ru> <529FF61B.4060709@yandex.ru> Date: Fri, 06 Dec 2013 04:44:49 +0200 In-Reply-To: (Stefan Monnier's message of "Thu, 05 Dec 2013 14:02:53 -0500") Message-ID: <87a9ge7l5q.fsf@yandex.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Stefan Monnier writes: > The advantage is that it would also fix the sexp-movement operations. Two birds with one stone, yes. > I don't see why we'd need lookbehind. Not mandatory, just good for performance, AFAICT. Instead of maching all identifiers that look like methods and then finding out that most of them don't end with ? or ! anyway, it would be faster to scan the buffer for ? or !, and then look a bit back and see if the text before such a character resembles a method name. > We can use a regexp like "\\(?:\\sw\\|\\s_\\)\\([!?]\\)" and then place > the syntax-table property on the ? (or !) character. Yes, something like that. > I'd rather do something a bit more generic, then, like a \\S which can > take a set of syntaxes to exclude. Or maybe extend the [:foo:] > character classes to allow [:sw:], [:s_:], etc... so we could do > [^[:sw:][:s_:]]. That looks good, but, like you mentioned later, if we had a dedicated backslash-sequence, it could also transparently handle the EOB case. I guess, the question is, would it see much use. `regexp-opt' seems to be the primary use case to me. > It's not that big of a deal, tho. I doubt this would ever appear as > a noticeable slowdown. That may be true. > But you said that ! and ? are only allowed in method names. So somehow > Ruby's parser/lexer distinguishes the two cases. Would a reference to > a variable "foo?" simply always be parsed as "a reference to variable > foo?" which would later trigger an error because there's no such > variable (because there can't be any such variable)? Eh, I guess whenever it sees ? or ! at the end of the identifier, the parser goes with the assumption that it is a method call, because otherwise it would be a syntax error. IOW, we only have to worry about @instance and $global variables. irb(main):022:0* def a irb(main):023:1> 42 irb(main):024:1> end => nil irb(main):025:0> a?1:2 SyntaxError: (irb):25: syntax error, unexpected ':', expecting $end a?1:2 ^ from /home/gutov/.rbenv/versions/1.9.3-p429/bin/irb:12:in `
' irb(main):026:0> a = 5 => 5 irb(main):027:0> a?3:4 SyntaxError: (irb):27: syntax error, unexpected ':', expecting $end a?3:4 ^ from /home/gutov/.rbenv/versions/1.9.3-p429/bin/irb:12:in `
' irb(main):028:0> $abc? irb(main):029:0* 2 SyntaxError: (irb):29: syntax error, unexpected $end, expecting ':' from /home/gutov/.rbenv/versions/1.9.3-p429/bin/irb:12:in `
' irb(main):030:0> $abc = 6 => 6 irb(main):031:0> $abc?1:2 => 1 From unknown Sat Jun 14 19:01:45 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Bozhidar Batsov Subject: bug#15874: closed (Re: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode) Message-ID: References: <52A15146.5060809@yandex.ru> X-Gnu-PR-Message: they-closed 15874 X-Gnu-PR-Package: emacs Reply-To: 15874@debbugs.gnu.org Date: Fri, 06 Dec 2013 04:24:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1386303842-13566-1" This is a multi-part message in MIME format... ------------=_1386303842-13566-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #15874: 24.3.50; exit! not properly font-locked in ruby-mode which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 15874@debbugs.gnu.org. --=20 15874: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15874 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1386303842-13566-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 15874-done) by debbugs.gnu.org; 6 Dec 2013 04:23:41 +0000 Received: from localhost ([127.0.0.1]:60991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vomx3-0003WB-BN for submit@debbugs.gnu.org; Thu, 05 Dec 2013 23:23:41 -0500 Received: from mail-wi0-f173.google.com ([209.85.212.173]:43234) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vomx1-0003W3-HO for 15874-done@debbugs.gnu.org; Thu, 05 Dec 2013 23:23:40 -0500 Received: by mail-wi0-f173.google.com with SMTP id hn9so307623wib.12 for <15874-done@debbugs.gnu.org>; Thu, 05 Dec 2013 20:23:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=b1YAJehhFf7gR+ji/ioXBBzao4wBKYDxT2lcKEx0Dcg=; b=B9kHtqDKWS3xAjT0WYDn9VXaU8FlBHHsyMEDiH2xuSqEJzlTjiFndptYh9x8ZfPeZZ xiusCDm5kkkQdjh/ARAZWVMMZ0M7UGLBfLLc51/QzYJLW3CKfhRlm0mvnSZL7+Q0tSOR TwBkQCGxSSp85UlHLifPlztX+WbRFUB+jMCiiRo82QV3r90owkwGnF2rcADL8IbNcc8r R0RAWuU/oK+tBY7Tha+pmwU9anYLedxk1Oj3xEHR6so8tMbD03nZx+v8zzRNd8zxdUoM baMPvVw7FwWK//KJDKV9YYqIY7X8x7TzF8B6Jb/Wq7GNEPybJBbE4J+Eg3Igc1TeL303 mfKQ== X-Received: by 10.180.83.1 with SMTP id m1mr517453wiy.9.1386303818746; Thu, 05 Dec 2013 20:23:38 -0800 (PST) Received: from [192.168.10.2] ([62.228.136.233]) by mx.google.com with ESMTPSA id fj8sm1073053wib.1.2013.12.05.20.23.36 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 05 Dec 2013 20:23:37 -0800 (PST) Message-ID: <52A15146.5060809@yandex.ru> Date: Fri, 06 Dec 2013 06:23:34 +0200 From: Dmitry Gutov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode References: <8761r4bh8h.fsf@yandex.ru> <529FB799.3000203@yandex.ru> <529FF61B.4060709@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15874-done Cc: 15874-done@debbugs.gnu.org, Bozhidar Batsov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Version: 24.4 Well, it was easier than expected. Stefan, thanks for the advice. ------------=_1386303842-13566-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 12 Nov 2013 12:39:05 +0000 Received: from localhost ([127.0.0.1]:48299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgDFH-0004gr-8i for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:39:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:50485) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgDFD-0004fi-1t for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:39:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgDEz-0008G8-Pj for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:38:53 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:49039) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgDEz-0008G4-N0 for submit@debbugs.gnu.org; Tue, 12 Nov 2013 07:38:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52186) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgDEt-0000eV-04 for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 07:38:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgDEm-0008Eu-3E for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 07:38:38 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]:53853) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgDEl-0008Em-PM for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 07:38:32 -0500 Received: by mail-ee0-f44.google.com with SMTP id d51so1014468eek.3 for ; Tue, 12 Nov 2013 04:38:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-type; bh=pXofaE5p4U0M6Shh4EwoRm5mVDJy9/Lej8Qlqxz/bmE=; b=LaS7SZ1QcuRVrDlH52vYEU05fBnIynS4L5gosXZYybsB8pPUX+ZhRUgoNjgP7+YrI0 fUSp+KITGnlI28KWJYyffMJDGXgI66dnUXQyN8yxeHt1hOqXasDk7coe1JLpCrWlGb/s DUZz3VFxWtd7owcs1GDoXnJXLG3k1UbmhF8Tl8cqw6IfZQnPefPPxAfzE658FfMKWKqO nxA4H7MDXwMqsxytpfuw73ky/oOLsfO9Dm3OmsC72N9N3bf32heWnWD1WVkE3WT/uFu0 76aDWlVCBI0PQF3eLd4lsv+wVbHWvuIsHjpLpKAxLp8t7gbLOPQmvcHh7WTre7x9qCf6 mn7Q== X-Gm-Message-State: ALoCoQko/rUuTMQOS8/ypDtHGfqo17iKkjyw4eH1A1/gQKw9q9mc/oagMB0csZkUWnj4gHHg97gY X-Received: by 10.14.126.5 with SMTP id a5mr1278516eei.98.1384259910266; Tue, 12 Nov 2013 04:38:30 -0800 (PST) Received: from Bozhidars-MacBook-Pro.local ([95.87.231.111]) by mx.google.com with ESMTPSA id k7sm67376751eeg.13.2013.11.12.04.38.29 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 12 Nov 2013 04:38:29 -0800 (PST) Received: by Bozhidars-MacBook-Pro.local (Postfix, from userid 501) id 191F36991F86; Tue, 12 Nov 2013 14:38:29 +0200 (EET) From: Bozhidar Batsov To: bug-gnu-emacs@gnu.org Subject: 24.3.50; exit! not properly font-locked in ruby-mode Date: Tue, 12 Nov 2013 14:38:29 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) The built-in Kernel#exit! method is not properly font-locked. exit is font-locked with the built-in face, but the ! is font-locked with the default face. In GNU Emacs 24.3.50.1 (x86_64-apple-darwin13.0.0, NS apple-appkit-1265.00) of 2013-11-11 on Bozhidars-MacBook-Pro.local Windowing system distributor `Apple', version 10.3.1265 Configured using: `configure --prefix=/usr/local/Cellar/emacs/HEAD --without-dbus --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --without-gnutls --with-ns --disable-ns-self-contained' Important settings: locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Conf[Unix] Minor modes in effect: diff-auto-refine-mode: t erc-truncate-mode: t erc-spelling-mode: t erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-match-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-netsplit-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t global-flycheck-mode: t which-function-mode: t winner-mode: t global-undo-tree-mode: t undo-tree-mode: t global-anzu-mode: t anzu-mode: t projectile-global-mode: t projectile-mode: t flx-ido-mode: t ido-ubiquitous-mode: t shell-dirtrack-mode: t volatile-highlights-mode: t global-hl-line-mode: t recentf-mode: t savehist-mode: t show-smartparens-global-mode: t show-smartparens-mode: t global-auto-revert-mode: t delete-selection-mode: t prelude-global-mode: t prelude-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: M-> C-y C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-n C-n C-n C-n C-n C-n C-n C-l C-x C-s M-x e m a c s - r e p o r t r e p o r t e m a c s Recent messages: Tramp: Checking `vc-registered' for /sudo:root@localhost:/etc/postfix/main.cf...done Tramp: Inserting `/sudo:root@localhost:/etc/postfix/main.cf'...done Mark set [2 times] Saving file /sudo:root@localhost:/etc/postfix/main.cf... Renaming /sudo:root@localhost:/etc/postfix/main.cf to /var/folders/32/92h89tr96rs0s79j4ckhhm_r0000gn/T/!sudo:root@localhost:!etc!postfix!main.cf~...failed Cannot write backup file; backing up in ~/.emacs.d/%backup%~ Copying /sudo:root@localhost:/etc/postfix/main.cf to /Users/bozhidar/.emacs.d/%backup%~...done Copying /var/folders/32/92h89tr96rs0s79j4ckhhm_r0000gn/T/tramp.92769aBQ.cf to /sudo:root@localhost:/etc/postfix/main.cf...done Wrote /sudo:root@localhost:/etc/postfix/main.cf Load-path shadows: /Users/bozhidar/.emacs.d/elpa/flycheck-20131107.2307/.dir-locals hides /usr/local/Cellar/emacs/HEAD/share/emacs/24.3.50/lisp/gnus/.dir-locals Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils tramp-cmds tramp-sh conf-mode tramp-cache ffap url-parse url-vars crm misearch multi-isearch superword subword ruby-tools inf-ruby ruby-mode-expansions smartparens-ruby ruby-mode smie view magit-bisect magit-key-mode magit epa derived epg epg-config diff-mode git-rebase-mode git-commit-mode server log-edit pcvs-util add-log executable vc-git markdown-mode noutline outline rainbow-mode color rainbow-delimiters elisp-slime-nav guru-mode prelude-key-chord key-chord prelude-xml nxml-mode-expansions html-mode-expansions smartparens-html rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok prelude-web prelude-scss prelude-scheme prelude-ruby prelude-perl prelude-org prelude-js prelude-erc erc-truncate erc-autoaway erc-spelling erc-notify erc-log erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit erc-goodies erc erc-backend erc-compat prelude-emacs-lisp prelude-css prelude-common-lisp slime-autoloads prelude-clojure prelude-lisp prelude-c prelude-programming flycheck help-mode f which-func imenu prelude-osx exec-path-from-shell prelude-global-keybindings prelude-editor winner undo-tree diff esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups eshell esh-module esh-mode esh-util re-builder whitespace midnight ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff dired-x dired anzu projectile pkg-info find-func grep compile s bookmark pp expand-region text-mode-expansions er-basic-expansions expand-region-custom expand-region-core flyspell ispell smex flx-ido flx ido-ubiquitous warnings ido tramp tramp-compat auth-source gnus-util mm-util mail-prsvr password-cache tramp-loaddefs trampver shell pcomplete comint ansi-color format-spec etags ring volatile-highlights hl-line windmove recentf tree-widget wid-edit savehist saveplace uniquify diminish smartparens-config smartparens autorevert filenotify delsel prelude-mode easy-mmode edmacro kmacro prelude-core epl advice help-fns dash thingatpt prelude-ui zenburn-theme prelude-packages ack-and-a-half-autoloads clojure-mode-autoloads coffee-mode-autoloads diminish-autoloads elisp-slime-nav-autoloads erlang-autoloads exec-path-from-shell-autoloads expand-region-autoloads flx-ido-autoloads f-autoloads geiser-autoloads gist-autoloads finder-inf gh-autoloads eieio byte-opt bytecomp byte-compile cconv eieio-core gitconfig-mode-autoloads gitignore-mode-autoloads rx grizzl-autoloads guru-mode-autoloads helm-projectile-autoloads ido-ubiquitous-autoloads key-chord-autoloads logito-autoloads info easymenu git-rebase-mode-autoloads git-commit-mode-autoloads cl-macs gv markdown-mode-autoloads move-text-autoloads multiple-cursors-autoloads paredit-autoloads pcache-autoloads pkg-info-autoloads epl-autoloads puppet-mode-autoloads rainbow-delimiters-autoloads request-autoloads rubocop-autoloads ruby-tools-autoloads s-autoloads scss-mode-autoloads slim-mode-autoloads dash-autoloads undo-tree-autoloads volatile-highlights-autoloads yaml-mode-autoloads package cl cl-loaddefs cl-lib time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process cocoa ns multi-tty emacs) ------------=_1386303842-13566-1-- From unknown Sat Jun 14 19:01:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15874: 24.3.50; exit! not properly font-locked in ruby-mode Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 06 Dec 2013 04:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15874 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 15874@debbugs.gnu.org, Bozhidar Batsov Received: via spool by 15874-submit@debbugs.gnu.org id=B15874.138630587316803 (code B ref 15874); Fri, 06 Dec 2013 04:58:01 +0000 Received: (at 15874) by debbugs.gnu.org; 6 Dec 2013 04:57:53 +0000 Received: from localhost ([127.0.0.1]:32792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VonU8-0004Mw-V7 for submit@debbugs.gnu.org; Thu, 05 Dec 2013 23:57:53 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:29396) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VonU7-0004Ml-1b for 15874@debbugs.gnu.org; Thu, 05 Dec 2013 23:57:51 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFxL6g/2dsb2JhbAA8CLs1g1kXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IPAS-Result: Av8EABK/CFFFxL6g/2dsb2JhbAA8CLs1g1kXc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtjRuDbwOIYZwZgV6DFQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="41276516" Received: from 69-196-190-160.dsl.teksavvy.com (HELO pastel.home) ([69.196.190.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 05 Dec 2013 23:57:50 -0500 Received: by pastel.home (Postfix, from userid 20848) id 13AAC603DC; Thu, 5 Dec 2013 23:57:49 -0500 (EST) From: Stefan Monnier Message-ID: References: <8761r4bh8h.fsf@yandex.ru> <529FB799.3000203@yandex.ru> <529FF61B.4060709@yandex.ru> <87a9ge7l5q.fsf@yandex.ru> Date: Thu, 05 Dec 2013 23:57:49 -0500 In-Reply-To: <87a9ge7l5q.fsf@yandex.ru> (Dmitry Gutov's message of "Fri, 06 Dec 2013 04:44:49 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Not mandatory, just good for performance, AFAICT. Instead of maching all > identifiers that look like methods and then finding out that most of > them don't end with ? or ! anyway, it would be faster to scan the buffer > for ? or !, and then look a bit back and see if the text before such a > character resembles a method name. We can also do that, using a "[?!]" regexp and then do the "look a bit back" in Elisp. > That looks good, but, like you mentioned later, if we had a dedicated > backslash-sequence, it could also transparently handle the EOB case. > I guess, the question is, would it see much use. But then it would be a lot more special cased. > `regexp-opt' seems to be the primary use case to me. I think the second arg to `regexp-opt' is a misfeature. > irb(main):026:0> a = 5 > => 5 > irb(main):027:0> a?3:4 > SyntaxError: (irb):27: syntax error, unexpected ':', expecting $end > a?3:4 > ^ > from /home/gutov/.rbenv/versions/1.9.3-p429/bin/irb:12:in `
' Good. Stefan