Subject: 24.3.50; Flymake get-real-name does not use customization
From: Oleg Sivokon <[email-masked]>
To: [email-masked]
Date: Sun, 25 Aug 2013 18:39:18 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

I believe that this is the bug in `flymake-get-real-file-name-function'
The function is very short, so I post it all here:

(defun flymake-get-real-file-name-function (file-name)
  (or (nth 4 (flymake-get-file-name-mode-and-masks file-name))
      'flymake-get-real-file-name))

(nth 4 ...) is always `nil' because the results
`flymake-get-file-name-mode-and-masks' returns are of the form:
(init-func cleanup-func? name-func?) - i.e. 3 top. In order for this
function to work properly it has to be (nth 2 ...)
Here's the example output of 
(flymake-get-file-name-mode-and-masks "/foo.js")
(flymake-jshint-init flymake-simple-cleanup flymake-get-real-file-name)

That's all, thanks in advance.

Oleg

In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4)
 of 2013-08-16 on wvxvvw-laptop
Bzr revision: 113919 [email-masked]
Windowing system distributor `Fedora Project', version 11.0.11303000
System Description:	Fedora release 18 (Spherical Cow)

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  elisp-slime-nav-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-hl-line-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
  jabber-activity-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  global-rudel-minor-mode: t
  display-time-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-w C-x o C-x b . h x <tab> <return> C-n C-n C-n C-n 
C-n C-n C-e z C-x o C-x o C-s r e a l <return> M-f 
M-f M-f M-f M-b C-b C-SPC M-f M-f M-f M-f M-f M-f M-f 
M-f M-f M-f M-f M-w C-x o C-x b <return> M-> <return> 
<backspace> " C-y " C-x C-x o C-/ C-x o C-n C-f C-f 
C-M-S-f M-w C-x o C-x o C-e <return> <return> C-y C-p 
C-p M-m C-k C-y C-n C-n M-b M-b C-y M-d M-d C-e C-j 
C-p C-p C-p C-p C-p C-p C-p C-p C-n M-f M-f M-f M-b 
C-SPC M-f M-f M-f M-f M-f M-w M-> <return> C-y C-j 
C-p C-e C-b C-b <return> C-b C-f C-f C-M-b C-k C-y 
C-M-S-SPC C-M-S-b M-q C-f C-M-f <return> C-M-f <return> 
C-M-f <return> C-M-f <return> C-M-f <return> C-M-f 
<return> C-M-f <return> C-M-f <return> C-M-f <return> 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-e C-k M-SPC C-n C-k M-SPC C-n C-k SPC 
C-n C-n C-e C-k SPC C-n <tab> C-n C-n C-n <tab> C-n 
C-n C-n <tab> C-/ C-e <tab> C-n C-n C-n C-e C-k SPC 
M-f M-f M-f M-f C-f <return> <tab> C-e C-k SPC M-f 
M-f M-f M-f M-f M-f M-f C-f <return> <tab> C-e C-k 
SPC M-f M-f M-f M-f C-f <return> <tab> C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p M-f M-f M-f 
M-f C-h v <return> q C-x o C-p M-. C-u C-SPC C-l C-p 
C-p M-m C-M-S-f M-w M-x e m a c s - b u g <tab> <M-backspace> 
<M-backspace> r e p o r t - b u g <tab> C-e <tab> 
<return>

Recent messages:
Main.hx: 0 error(s), 0 warning(s) in 0.09 second(s)
Mark saved where search started
Mark set [7 times]
file /home/wvxvw/Projects/haxe-doodles/src/org/babel/js/Main.hx, init=haxe-flymake-init
Auto-saving...
Mark set [6 times]
[yas] snippet expanded.
[yas] Snippet 0 exited.
Type "q" to restore previous buffer, M-x scroll-up to scroll help.
Searching for flymake-get-file-name-mode-and-masks...

Load-path shadows:
~/.emacs.d/ensime/elisp/popup hides /home/wvxvw/.emacs.d/autocomplete/popup
~/.emacs.d/ensime/elisp/fuzzy hides /home/wvxvw/.emacs.d/autocomplete/fuzzy
~/.emacs.d/ensime/elisp/auto-complete hides /home/wvxvw/.emacs.d/autocomplete/auto-complete
/home/wvxvw/.emacs.d/w3m/w3m-bookmark hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-bookmark
/home/wvxvw/.emacs.d/w3m/w3m-form hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-form
/home/wvxvw/.emacs.d/w3m/w3m-cookie hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-cookie
/home/wvxvw/.emacs.d/w3m/w3m-bug hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-bug
/home/wvxvw/.emacs.d/w3m/w3m-mail hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-mail
/home/wvxvw/.emacs.d/w3m/w3m-weather hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-weather
/home/wvxvw/.emacs.d/w3m/w3m-dtree hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-dtree
/home/wvxvw/.emacs.d/w3m/w3m-favicon hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-favicon
/home/wvxvw/.emacs.d/w3m/w3m-proc hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-proc
/home/wvxvw/.emacs.d/w3m/w3m-perldoc hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-perldoc
/home/wvxvw/.emacs.d/w3m/w3m-rss hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-rss
/home/wvxvw/.emacs.d/w3m/w3m-fb hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-fb
/home/wvxvw/.emacs.d/w3m/w3m-tabmenu hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-tabmenu
/home/wvxvw/.emacs.d/w3m/w3m-symbol hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-symbol
/home/wvxvw/.emacs.d/w3m/bookmark-w3m hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/bookmark-w3m
/home/wvxvw/.emacs.d/w3m/w3m-namazu hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-namazu
/home/wvxvw/.emacs.d/w3m/w3m-search hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-search
/home/wvxvw/.emacs.d/w3m/w3m-image hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-image
/home/wvxvw/.emacs.d/w3m/w3m-session hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-session
/home/wvxvw/.emacs.d/w3m/w3m-lnum hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-lnum
/home/wvxvw/.emacs.d/w3m/w3m-filter hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-filter
/home/wvxvw/.emacs.d/w3m/w3m-util hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-util
/home/wvxvw/.emacs.d/w3m/w3m-ccl hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-ccl
/home/wvxvw/.emacs.d/w3m/w3m-antenna hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-antenna
/home/wvxvw/.emacs.d/w3m/w3m-hist hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-hist
/home/wvxvw/.emacs.d/w3m/w3m hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m
/home/wvxvw/.emacs.d/w3m/octet hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/octet
/home/wvxvw/.emacs.d/w3m/w3m-ems hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/w3m-ems
/home/wvxvw/.emacs.d/w3m/mime-w3m hides /home/wvxvw/.emacs.d/elpa/w3m-20121225.147/mime-w3m
/home/wvxvw/.emacs.d/elpa/magit-20130524.1906/.dir-locals hides /usr/local/share/emacs/24.3.50/lisp/gnus/.dir-locals

Features:
(shadow sort mail-extr emacsbug dabbrev debug misearch multi-isearch
flymake-cursor dired-aux vc-dispatcher bookmark elisp-slime-nav etags
undo-tree diff hide-region ensime ensime-ui ensime-semantic-highlight
ensime-doc ensime-scalex url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf ensime-search ensime-undo
ensime-refactor ensime-builder ensime-debug ensime-inf ensime-sbt
ensime-comint-utils ensime-auto-complete ensime-config scala-mode2
scala-mode2-map scala-mode2-fontlock scala-mode2-indent
scala-mode2-paragraph scala-mode2-syntax scala-mode2-lib haxe-mode
ede/haxe-speedbar ede/haxe ede/speedbar ede/files ede ede/base ede/auto
ede/source custom/create-project haxe-completion haxe-compiler-mode
haxe-project haxe-log haxe-help haxe-utils ehelp electric cc-langs
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs cc-bytecomp formatting i-iterate hl-line 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 pp jabber jabber-awesome jabber-osd jabber-wmii
jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison
jabber-screen jabber-socks5 jabber-ft-server jabber-si-server
jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar mailcap jabber-activity jabber-watch jabber-modeline
jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-browse jabber-search
jabber-register jabber-roster jabber-presence jabber-muc jabber-newdisco
jabber-widget jabber-disco jabber-chat ewoc jabber-history
jabber-chatbuffer jabber-alert jabber-iq jabber-keymap jabber-core
jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon
jabber-conn srv dns starttls tls jabber-xml xml jabber-menu
jabber-autoloads jabber-util smtpmail sendmail nnir gnus-sum gnus-group
gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range
message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
gnus-win gnus gnus-ems nnoo nnheader mail-utils w3m browse-url doc-view
jka-compr image-mode timezone w3m-hist w3m-fb bookmark-w3m w3m-ems
w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util ecb ecb-symboldef
ecb-analyse ecb-compatibility ecb-winman-support ecb-autogen autoload
lisp-mnt ecb-tod ecb-cycle ecb-eshell ecb-help ecb-jde
ecb-method-browser hideshow ecb-semantic ecb-file-browser ecb-speedbar
ecb-layout ecb-create-layout ecb-compilation ecb-common-browser assoc
ecb-navigate ecb-mode-line ecb-face tree-buffer ecb-upgrade
ecb-cedet-wrapper semantic/db-mode semantic/db-find semantic/db-ref
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/db semantic/format semantic/tag-ls semantic/find semantic/ctxt
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local cedet ecb-util thingatpt scheme flymake-jshint
js-comint flymake compile yasnippet dropdown-list derived help-mode
auto-complete-config auto-complete popup ropemacs pymacs tron-dark-theme
dired org-redmine anything org-location-google-maps org-agenda
google-maps google-maps-static url-util url-parse auth-source gnus-util
mm-util mail-prsvr password-cache url-vars google-maps-geocode
google-maps-base json org ob-tangle ob-ref ob-lob ob-table org-footnote
org-src ob-comint ob-keys org-pcomplete pcomplete comint ansi-color ring
org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs find-func
cal-menu calendar cal-loaddefs edmacro kmacro slime-autoloads
ac-js2-autoloads ac-slime-autoloads actionscript-mode-autoloads
anything-autoloads auctex-autoloads tex-site bash-completion-autoloads
bbdb-autoloads csharp-mode-autoloads cyberpunk-theme-autoloads
dic-lookup-w3m-autoloads dsvn-autoloads elisp-slime-nav-autoloads
elnode-autoloads db-autoloads creole-autoloads erlang-autoloads
expand-region-autoloads fakir-autoloads dash-autoloads
flymake-cursor-autoloads google-maps-autoloads impatient-mode-autoloads
htmlize-autoloads kv-autoloads linear-undo-autoloads magit-autoloads
minimap-autoloads noflet-autoloads paredit-autoloads psvn-autoloads
redo+-autoloads scala-mode2-autoloads skewer-mode-autoloads
js2-mode-autoloads simple-httpd-autoloads stem-autoloads
tuareg-autoloads caml-autoloads undo-tree-autoloads w3m-autoloads info
web-autoloads rudel-obby-display rudel-obby rudel-protocol rudel-tls
format-spec rudel-socket rudel-transport rudel-mode advice help-fns
rudel-display rudel rudel-icons rudel-interactive rudel-compat
rudel-hooks rudel-operators rudel-overlay rudel-operations
rudel-session-initiation rudel-backend warnings rudel-util rudel-errors
eieio-speedbar speedbar sb-image ezimage dframe eieio-custom wid-edit
eieio-base eieio byte-opt bytecomp byte-compile cconv eieio-core
easymenu easy-mmode cl-macs gv cl cl-loaddefs cl-lib vc-svn package
server time time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd 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
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)