Subject: bug#1593: closed (Re: bug#1593: ruby-mode: problems with font-lock)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 04 Oct 2011 22:04:02 +0000

Your bug report

#1593: ruby-mode: problems with font-lock

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 [email-masked].

-- 
1593: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1593
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#1593: ruby-mode: problems with font-lock
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Tue, 04 Oct 2011 18:01:44 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Vesion: 24.1

"Pietro Giorgianni" wrote:

> The syntax  %{#{'?'}} , while legal (it is equivalent to '?'), makes
> all the following text appear in font-lock-string-face.
>
> The same happens with %{#{"?"}} , and seems to rise from the ?" or ?'
> part: if I put a space (or whatever) after the ? , things work.

I see this in Emacs 23.3, but not in the current trunk, so it seems to
have been fixed.

The other stuff mentioned in your update seems to be the subject of
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6286

Subject: ruby-mode: problems with font-lock
From: "Pietro Giorgianni" <[email-masked]>
To: [email-masked]
Date: Tue, 16 Dec 2008 12:06:43 +0100

The syntax  %{#{'?'}} , while legal (it is equivalent to '?'), makes
all the following text appear in font-lock-string-face.

The same happens with %{#{"?"}} , and seems to rise from the ?" or ?'
part: if I put a space (or whatever) after the ? , things work.

Real life example (from the sources of rubyonrails):

self.class_eval %{
  def self.#{method_id}(*args)
    guard_protected_attributes = false

    if args[0].is_a?(Hash)
      guard_protected_attributes = true
      attributes = args[0].with_indifferent_access
      find_attributes = attributes.slice(*[:#{attribute_names.join(',:')}])
    else
      find_attributes = attributes =
construct_attributes_from_arguments([:#{attribute_names.join(',:')}],
args)
    end

    options = { :conditions => find_attributes }
    set_readonly_option!(options)

    record = find_initial(options)

     if record.nil?
      record = self.new { |r| r.send(:attributes=, attributes,
guard_protected_attributes) }
      #{'yield(record) if block_given?'}
      #{'record.save' if instantiator == :create}
      record
    else
      record
    end
  end
}, __FILE__, __LINE__

---

In GNU Emacs 22.3.1 (i386-mingw-nt5.1.2600)
 of 2008-09-06 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ITA
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t

Major mode: Ruby

Minor modes in effect:
  erc-log-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-highlight-nicknames-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-readonly-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  display-time-mode: t
  encoded-kbd-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Recent input:
c e n s o r e d

Recent messages:
censored...
Loading emacsbug...done